
원본 출처:@protolambda의 트윗
"Block"에서 "Blob"까지 의미는 심오합니다.
"Block"에서 "Blob"까지 의미는 심오합니다.
"교차 링크"가 있는 실행 가능한 "샤드 체인"이 출시되었습니다: 비콘 체인의 EVM 구현, "데이터 가용성 샘플링"을 사용하는 롤업 중심 이더리움 로드맵, 응용 프로그램 환경의 복잡성을 증가시키지 않고 이더리움 기본 계층을 확장합니다. 그러나 블록 메타데이터 없이 샤드 콘텐츠를 어떻게 호출합니까?
글쎄, 이것은 "blobs"가 유용한 곳입니다. "Blobspace"는 좋은 이름입니다!
이더리움 샤딩 설계의 일부 역사를 공유하겠습니다.
샤딩(또는 "1단계")은 이전 계획대로 "2단계"(비콘 체인 실행 환경)에서 시작하기로 되어 있었습니다. 그러나 "단계 0"(비콘 체인 출시) 전에는 메인넷 EVM이 우선 순위가 있는 반면 "단계 2" 실행 계층(ewasm?)의 롤아웃은 보이지 않습니다.
"1단계" 사양은 비콘 체인 이전에 여러 번 재작성되었습니다.
샤드 감소(1024 -> 64)
이상적인 교차 샤드 통신(교차 링크)으로 무료 탑승
새로운 에스크로 증거 설계(희귀한 의도적 증거 손실을 위해 에스크로 부분 제거)
초기 샤딩 연구 작업은 말할 것도 없고, 솔직히 말해서 이러한 연구는 도메인 간 메시지 전달, ewasm을 사용한 실행 환경, 상태 비저장 동적 액세스, 샤딩 위원회 등 매우 추상적이고 야심적입니다. L1은 더 복잡해집니다. 그리고 L1이 골화되기 시작했습니다.
그러나 L1이 데이터 문제 해결에만 집중한다면 위에서 언급한 대부분의 문제는 L2 개발 문제로 해석됩니다. 그리고 샘플링(sampling)은 L1 데이터 문제를 해결할 뿐입니다. 네트워크 계층에서 추가 기능을 지원할 수 있다면...?
그래서 2020년 10월 14일 개발자들은 "1단계 네트워크 연결 문제(네트워킹)"에 대한 컨퍼런스 콜을 가졌습니다. 토론 후 결론을 내릴 수 있습니다. gossipsub는 매우 뜨겁고 DHT는 느린 것 같습니다. 그러나 그 당시에는 초창기였습니다. 모든 웹 개발자는 여전히 비콘 체인 출시(12월 1일!)를 준비하느라 바빴고 당시 최신 개발로 인해 네트워크 계층에 명백한 격차가 편향되었습니다.
당시의 편견:
Gossipsub = 핫, 메인넷 준비됨(일부 DoS 문제를 제외하고는 큰 문제가 없음. 그리고 이러한 문제도 메인넷 출시 전에 발견/공개됨)
Discv5 = 불완전, 메인넷 출시 전에 5.0 -> 5.1에서 실시간 네트워크 마이그레이션 필요
(https://github.com/protolambda/discv5-catdog)
그러나 방향은 분명해 보입니다. L1 복잡성을 줄이고 비콘 체인은 이미 충분히 복잡합니다. 데이터를 통해서만 확장성을 높이고 장기적으로 "데이터 가용성 샘플링" 체계를 사용하고 L2 확장 솔루션을 수용하십시오. 따라서 Vitalik은 "롤업 중심의 이더리움 로드맵"(중국어 버전)이라고 설명했습니다.
그러나 구현자가 비콘 체인의 릴리스로 바쁜 동안 연구자들은 이미 출시 후 작업으로 바빴습니다. Vitalik/Dankrad는 구현자가 원리를 더 쉽게 이해할 수 있도록 하기 위해 일부 초기 데이터 가용성 설계 초안을 작업하고 있었습니다.
동시에 Zinken, Toledo 및 Pyrmont 테스트넷을 출시하고 더 많은 출시 항목을 확인했습니다(버그 확인 등). 그리고 우리는 연구를 따라잡고 네트워크 계층에 있는 것들에 대한 설계 문서를 추가하기 시작했습니다. 당시에는 이러한 문제에 집중하기에는 너무 이르지만 DAS(Data Availability Sampling)는 무시하기에는 너무 좋았습니다.
gossipsub의 일부 내용을 기반으로 DAS에 사용하기 위한 몇 가지 아이디어를 작성했습니다. 지금 돌이켜보면 초기 배포를 제외하고는 DHT가 Gossipsub보다 DAS에 더 적합하다고 생각합니다.
당시 나는 일부 DAS 사양이 구현되고 시뮬레이션될 것으로 예상했습니다. "blob"이 언급된 것은 이번이 처음인 것 같은데요? 우리는 "샤딩된 데이터 블롭"과 같은 맥락에서 그것을 사용했고, 그 용어는 그 당시 샤딩에 대한 사양에 나타나지 않았습니다.
비콘 체인이 출시된 후 시간이 더 있었고 Vitalik과 Dankrad가 작성한 샘플링 사양 초안에 더 많은 타이핑 및 네트워크 계층 콘텐츠를 추가한 초안을 작성했습니다. 블롭 명명을 샤드 사양으로 가져오세요 :)
2021년에 몇 가지 변경 사항이 있습니다. 이를 위해 설계된 이상적인 p2p 구조가 너무 복잡했기 때문에 대신 도구를 제공하고(go-kzg) 초기 병합 작업에 참여했습니다(rayonism). 그런 다음 여름에 Altair/London 업그레이드 개발 작업 대신 샤딩 연구 작업에 다시 참여하십시오.
Blob이 이번에는 더 PBS와 유사한 구조로 다시 등장합니다. Blob-builder 및 blob-proposer의 BLS 서명을 집계합니다. 여전히 너무 복잡합니다. 따라서 샤딩 설계는 주로 "비콘 제안자 중심"으로 발전하여 네트워크 계층 문제인 "단지"입니다.
이것은 어떤 면에서 샤딩을 위한 다섯 번째 디자인과 같은 것입니까? 미니멀리즘은 많은 것을 포기하는 것이지만 그 결과는 아름답고 강력합니다. 더 많은 모듈식 디자인, 패키징 및 선택적인 복잡성이 있습니다. 롤업, 특히 Optimism이 제 관심을 끌었습니다.
2022년 말, EIP 4488(혼동하지 마세요, 4844가 아닙니다!) 및 4490: 사람들은 참을성이 없어지기 시작했고, 경쟁력을 유지하려면 통화 데이터 비용을 빨리 내려야 합니다! 이러한 주제에 대한 토론은 런던에서 업그레이드한 후 All Core devs에서도 활발해졌습니다. 하지만 calldata에는 L2가 필요로 하지 않는 레거시 오버헤드가 있기 때문에 이것은 제 생각에는 지속 불가능합니다.
한편 Vitalik과 Dankrad는 비콘 체인 중심, 데이터를 통해서만 확장, 샘플링 체계에 중점을 둔 몇 가지 새로운 샤딩 설계 작업을 계속하고 있습니다. "danksharding"이 정말 21년 말/22년 초에 나온 것 같아요? 첫 번째 버전이 무엇인지 확실하지 않은 Dankrad는 샤딩 작업을 해왔습니다.
22 초기에 Vitalik은 샘플링을 사용하지 않고 전체 다크샤딩을 향해 개발할 수 있는 두 가지 방법인 단순 버전과 복합 버전을 제안했습니다. 제 생각에는 이것이 실제로 "무거운 EL(실행 계층)"과 "보다 쉽고 미래의 호환성을 위한 EL과 CL의 분리"의 차이점입니다.
나는 두 번째 옵션을 좋아하고 EthDenver 2022에서 EIP-4844를 구현했습니다: 저와 @lightclients는 Geth에서 작업하고, @asn_d6은 KZG를 돕고, @adietrichs는 수수료 시장에서 작업하고, 둘 다 Vitalik/Dankrad Draft는 EIP를 사용합니다. Prysm 팀은 최초의 CL 프로토타입을 제작했습니다.
4844는 이제 이름이 지정되었습니다."proto-danksharding": 완전한 샤딩을 달성하기 위한 전제조건. 그러나 "blobspace"는 진정한 밈입니다. 샤딩의 많은 디자인 반복 후에 이것은 다른 어떤 샤딩 디자인보다 Ethereum의 비전에 더 가까운 버전입니다.
나에게 Serenity의 이 단계는 PoS와 샤드 설계 및 반복 업데이트에 관한 것입니다. 우리는 비콘 체인과 오프 프로토콜 PBS와 같은 개발에서 약간의 진전을 이루어 PoS에서 좋은 출발을 할 수 있었습니다. 첫 샤드 업그레이드: 4844를 할 때가 된 것 같습니다!
미래의 다크샤딩을 위한 몇 가지 핫스팟도 있습니다.
L1 데이터 포함 대기 시간이 L2에 미치는 영향은 과대 평가되었습니다.
설계 공간 트레이드 오프는 데이터 가용성을 위한 더 많은 대역폭에 대해 가치가 있습니다.
Gossip 및 TCP DHT는 나쁘고 UDP DHT 클래스 적용 범위는 좋습니다. 라이트 노드를 세는 것이 전부입니다(discv5는 언제 확장됩니까?).
danksharding의 더 많은 핫스팟:
샘플링은 좋은 동료에 크게 의존하며 더 많은 점수 우선이지만 견고한 디자인을 보고 싶습니다.
p2p보다 검증자 프라이버시가 부족한 것보다 가벼운 커뮤니케이션과 더 많은 Sybil을 선호합니다.
ZK는 미래의 p2p 안티 마녀 기술이 될 수 있지만, 지금은 멀어진 것 같습니다.