Foresight Ventures: Phân tích toàn diện về EIP-4844, bước đầu tiên của Ethereum hướng tới Full sharding
tiêu đề cấp đầu tiên
Overview
Ethereum
EIP-4844 ;
Proto-danksharding;
Danksharding;
KZG Commitment;
KZG Ceremony;
Dynamic state sharding;
Gần đây, Lễ KZG vượt quá tiêu chuẩn cộng đồng tham gia đã bị quẹt, Lễ này đang làm gì?
tiêu đề cấp đầu tiên
1. Sharding: Giải pháp dài hạn để mở rộng Ethereum
Sharding mở rộng từ góc độ sẵn có của dữ liệu, trong khi rollup chủ yếu mở rộng từ cấp độ thực thi để giảm bớt vấn đề tắc nghẽn của mạng chính; Tôi nghĩ rằng sharding có thể là một nỗ lực để vượt qua tam giác bất khả thi của chuỗi khối.
Ethereum

Do sự phức tạp và cân nhắc về bảo mật của quá trình triển khai, nhóm phát triển Ethereum đã chia sharding thành nhiều giai đoạn, bao gồm proto-danksharding và danksharding được đề cập gần đây. Toàn bộ quá trình sẽ là một bản cập nhật sẽ mất vài năm;
tiêu đề cấp đầu tiên
2. EIP-4844: Lợi nhuận cao trong ngắn hạn, một phiên bản Sharding hợp lý hóa
EIP-4844 = Proto-Danksharding;
Proto xuất phát từ tên của một nhà nghiên cứu Ethereum
tiêu đề phụ

1. Tổng quan về Proto-danksharding
Proto-Danksharding chủ yếu giới thiệu một loại giao dịch mới, đó là giao dịch blob-carry. Cho đến nay, dữ liệu Tổng số được truyền đến lớp 1 với chi phí thấp hơn ở dạng đốm màu và được lưu trữ không vĩnh viễn. Đồng thời, blob lớn hơn nhiều so với calldata hiện tại, có thể hỗ trợ tốt hơn TPS cao khi cuộn lên.
Về các đốm màu:
Mỗi giao dịch có thể treo tối đa 2 đốm màu;
Mỗi khối lý tưởng chứa 8 đốm màu, tức là khoảng 1 MB và có thể chứa tới 16 đốm màu, tức là khoảng 2 MB;
Blob không cần được lưu trữ vĩnh viễn dưới dạng nhật ký lịch sử như calldata;
So với danksharding, các nút vẫn cần xác minh DA hoàn chỉnh.
2. Diễn giải giao dịch mang theo Blob
Ethereum
tác dụng
trị giá
trị giá
Data blobs ban đầu được thiết kế để hỗ trợ rollup giao dịch thông lượng cao. So với calldata có cùng kích thước (sử dụng lưu trữ trên chuỗi), chi phí của blobs sẽ thấp hơn nhiều (không yêu cầu lưu trữ vĩnh viễn). Do đó, mức gas chi cho tổng số để duy trì tính khả dụng của dữ liệu sẽ thấp hơn đáng kể so với trước đây.
dung tích
Mỗi blob có kích thước khoảng 125 kB (thực tế: kích thước khối trung bình hiện tại chỉ ~90 kB).
3. Giá trị và thách thức của giao dịch Blob-carry
giá trị
Blob có thể được coi là một loại bộ đệm và dữ liệu giao dịch do tổng số gửi tồn tại ở dạng bộ đệm kể từ bây giờ. Giảm yêu cầu phần cứng lưu trữ, cung cấp khả năng mở rộng dữ liệu bổ sung cho Ethereum và giảm chi phí gas.
Thách thức: Yêu cầu đối với hiệu suất phần cứng nút Ethereum
Kích thước khối trung bình hiện tại của Ethereum chỉ ~90 kB, nhưng một blob là ~125 kB
Theo thiết kế của EIP-4844, thông thường mỗi khe có dung lượng khoảng 1 MB nên lượng dữ liệu tăng thêm mỗi năm là: 1 MB/khối * 5 khối/phút * 43200 phút/tháng * 12 tháng/năm = 2,47 TB mỗi năm
giải pháp
giải pháp
Từ hiệu ứng mở rộng ngắn hạn, do mỗi nút vẫn cần lưu trữ toàn bộ lượng dữ liệu lịch sử, trong khi triển khai EIP-4844, đối với các đốm màu ngoài khoảng thời gian (thời gian giới hạn cụ thể chưa được chốt, có thể là 1 tháng hoặc 1 năm) để thực hiệntự động xóa;
Từ góc độ lợi ích lâu dài của sharding, EIP-4444 được triển khai, nghĩa là các nút không cần lưu trữ toàn bộ lượng dữ liệu lịch sử mà chỉ cần tham khảo lịch sử hết hạn để lưu trữ dữ liệu sau một thời gian cụ thể;
Hai giải pháp này làm giảm bớt sự đánh đổi của giao dịch blob-carry trong không gian lưu trữ ở các mức độ khác nhau.
4. KZG Commitment
Cam kết KZG là một sơ đồ cam kết đa thức được áp dụng trong EIP-4844
Phân tích cam kết KZG
Ethereum
Đề cập đến sơ đồ trong bài phát biểu của Dankrad Feist, gốc KZG tương tự như gốc Merkle, điểm khác biệt là gốc KZG hứa hẹn một đa thức, nghĩa là tất cả các vị trí đều nằm trên đa thức này. Dựa trên kịch bản proto-danksharding, KZG root hứa hẹn một loạt dữ liệu, bất kỳ dữ liệu nào trong số đó đều có thể được xác minh là thuộc về toàn bộ.
Đây là lý do tại sao KZG cam kết thân thiện hơn với việc triển khai DAS sau này về mặt tương thích.
Quy trình cam kết của KZG như sau:
Người chứng minh: Cung cấp chứng minh và tính toán cam kết của dữ liệu. Người chứng minh không thể thay đổi đa thức đã cho và cam kết được sử dụng để chứng minh chỉ có giá trị đối với đa thức hiện tại;
Người xác minh: Nhận và xác minh giá trị cam kết được gửi bởi người minh chứng để đảm bảo rằng người minh chứng cung cấp bằng chứng hợp lệ.
Ưu điểm của Cam kết KZG
trị giá
trị giá
Cam kết KZG có các đặc điểm xác minh nhanh, độ phức tạp và đơn giản tương đối thấp;
Không cần nộp thêm giấy tờ chứng minh nên chi phí thấp hơn và tiết kiệm được băng thông;
Sự an toàn
Sự an toàn
Giả sử xảy ra lỗi, nó sẽ chỉ ảnh hưởng đến dữ liệu trong blob tương ứng với cam kết mà không có tác động sâu rộng nào khác.
tương thích hơn
Nhìn tổng thể giải pháp sharding, KZG cam kết tương thích với giải pháp DAS, tránh phát sinh chi phí phát triển lặp lại.
5. KZG Ceremony(trusted setup)
Lễ KZG là một thiết lập tin cậy cho Cam kết của KZGEthereum
Gần đây, Lễ KZG, rất hào hứng với sự tham gia của cộng đồng, cung cấp thiết lập niềm tin cho cam kết KZG được thông qua bởi EIP-4844;
Ethereum
Tham khảo lưu đồ của Vitalik, bất kỳ ai cũng có thể đóng góp một bí mật với tư cách là người tham gia và trộn nó với kết quả trước đó để tạo ra kết quả mới, v.v., để có được SRS cuối cùng ở dạng búp bê lồng nhau và hỗ trợ hoàn thành thiết lập niềm tin của cam kết KZG
trust setup
Một thiết lập tin cậy nhiều bên tham gia phổ biến, cụ thể là quyền hạn của tau, được thông qua trong EIP-4844;
Theo mô hình đáng tin cậy 1 trên N, bất kể có bao nhiêu người tham gia vào quy trình thiết lập tạo, miễn là một người không tiết lộ phương pháp tạo của riêng mình, thì quá trình khởi tạo đáng tin cậy vẫn hợp lệ;
sự cần thiết
Thiết lập tin cậy của cam kết KZG có thể được hiểu đơn giản là: tạo một tham số cần được dựa vào mỗi khi giao thức mật mã được thực thi, tương tự như zk-snark yêu cầu khởi tạo tin cậy;
Khi Nhà cung cấp cung cấp bằng chứng, cam kết KZG C = f(s)g 1 . Trong số đó, f là chức năng đánh giá và s là bí mật cuối cùng mà thiết lập đáng tin cậy KZG thu được;
Có thể thấy rằng bí mật cuối cùng là tham số cốt lõi để tạo ra các cam kết đa thức và là một quy trình đáng tin cậy để có được tham số cốt lõi này, Lễ KZG này rất quan trọng để hiện thực hóa toàn bộ sharding.
6. Những thay đổi do EIP-4844 mang lại
Rollup
Đề cập đến sơ đồ được đưa ra trên ethresear, rollup cần bao gồm trạng thái delta và hàm băm được phiên bản của cam kết KZG trong calldata để gửi (zk-rollup cũng cần gửi bằng chứng zk)
Có thể thấy rằng sự khác biệt là calldata chỉ chứa một số dữ liệu nhỏ, chẳng hạn như trạng thái delta, cam kết KZG và lô giao dịch chứa một lượng lớn dữ liệu giao dịch được đặt trong blob.
Giảm chi phí hiệu quả, rất tốn kém khi đưa nó vào calldata;
sự an toàn
sự an toàn
Tính khả dụng của dữ liệu: Các đốm màu được lưu trữ trên chuỗi đèn hiệu, tương đương với bảo mật lớp 1;
trị giá
trị giá
Proto-Danksharding giới thiệu một loại giao dịch mới. Việc bổ sung blob định dạng dữ liệu chi phí thấp chắc chắn sẽ tiếp tục giảm chi phí triển khai. Tùy thuộc vào ứng dụng thực tế và tiến độ triển khai trên chuỗi, chi phí cho việc triển khai tối ưu hóa có thể giảm x 10 hoặc chẵn x 50;
Đồng thời, EIP-4844 đã giới thiệu phí blob;
Gas và blob sẽ có giới hạn và giá gas có thể điều chỉnh tương ứng;
Đơn vị sạc của blob vẫn là gas và lượng gas thay đổi theo lưu lượng, để duy trì mục tiêu trung bình 8 đốm màu trên mỗi khối (giới hạn lượng dữ liệu bổ sung)
Thực hiện biên dịch trước
Bản thân dữ liệu trong blob không thể truy cập trực tiếp và EVM chỉ có thể nhận được cam kết của blob dữ liệu. Do đó, tổng số cần cung cấp tiền biên dịch để xác minh tính hợp lệ của cam kết.
Phần sau phân tích hai thuật toán tiền biên dịch được đề cập trong EIP-4844
Precompile đánh giá điểm (dành cho các bạn quan tâm đến nguyên lý toán học, tham khảo bài phân tích của Vitalik)
Chứng minh rằng nhiều cam kết trỏ đến cùng một dữ liệu;
Chủ yếu cho zk-rollup, rollup cần cung cấp 2 loại cam kết: 1. Cam kết KZG, 2. Cam kết riêng của zk-rollup;
Để tổng hợp lạc quan, hầu hết trong số họ đã áp dụng cơ chế chứng minh gian lận nhiều vòng và lượng dữ liệu cần thiết cho bằng chứng gian lận vòng cuối cùng là nhỏ. Do đó, sử dụng tiền biên dịch đánh giá điểm có thể đạt được chi phí thấp hơn
Blob verification precompile
Chứng minh rằng hàm băm và blob được phiên bản tương ứng một cách hiệu quả;
Bản tổng hợp lạc quan cần quyền truy cập vào toàn bộ lượng dữ liệu khi gửi bằng chứng gian lận, vì vậy, trước tiên hãy xác minh rằng hàm băm và blob được phiên bản là hợp pháp, sau đó thực hiện xác minh bằng chứng gian lận
3. Danksharding: một bước quan trọng để tiến tới bảo vệ hoàn toàn
Danksharding được đặt theo tên của nhà nghiên cứu Ethereum Dankrad Feist
1. Mở rộng dung lượng: mở rộng thêm dung lượng bộ đệm của Rollup
Sau khi proto-danksharding được triển khai, trung bình mỗi khối có thể nhận được thêm 1 MB dung lượng bộ đệm do giới thiệu các đốm màu trong định dạng giao dịch mới. Sau khi Danksharking được triển khai, thêm 16 MB cho mỗi khối, với mức tối đa cho phép là 32 MB.
2. Tính khả dụng của dữ liệu: chiến lược lưu trữ và xác minh hiệu quả hơn
So với proto-danksharding, yêu cầu tất cả các nút tải xuống toàn bộ lượng dữ liệu, sau khi Danksharking được triển khai, các nút Ethereum chỉ cần lấy mẫu các đốm màu. Dữ liệu sau khi lấy mẫu sẽ được phân phối trong các nút của toàn mạng và có thể tạo thành một đốm dữ liệu hoàn chỉnh.
DAS: Kiểm tra lấy mẫu hiệu quả
Thông qua mã vướng víu (mã xóa) giúp các nút trong toàn mạng tìm ra xác suất mất dữ liệu gốc dễ dàng hơn khi tải xuống một phần dữ liệu, từ đó nâng cao tính bảo mật
3. Bảo mật: về cơ bản không thay đổi
Vì mỗi nút không còn lưu toàn bộ lượng dữ liệu lịch sử, từ góc độ sẵn có của dữ liệu, sao lưu và kiểm tra lấy mẫu, bảo mật sẽ thay đổi từ ít nhất một nút lưu trữ toàn bộ lượng dữ liệu thành nhiều nút lưu trữ một phần dữ liệu và cuối cùng là khôi phục toàn bộ dữ liệu.
Mặc dù thoạt nhìn, sự phụ thuộc vào một điểm an toàn hơn nhiều so với sự phụ thuộc vào nhiều điểm, nhưng số lượng nút trong mạng Ethereum đủ lớn để đảm bảo đầy đủ nhu cầu sao lưu dữ liệu, do đó tính bảo mật sẽ không thay đổi nhiều.
4. Thách thức mới: tăng yêu cầu đối với người xây dựng khối
Ethereum
Dưới đây là phần giới thiệu ngắn gọn về PBS (phân tách người đề xuất/người xây dựng), hãy tham khảo sơ đồ ứng dụng của PBS trong sơ đồ darksharding do Dankrad đưa ra:
Chia vai trò của người phụ trách sản xuất khối thành người đề xuất và người xây dựng. Ban đầu nó là một đề xuất cho thiết kế chống MEV, nhằm giảm yêu cầu băng thông cho việc tạo khối trong thiết kế danksharding.
4. Các giải pháp sharding khác: sharding động của Shardeum
Lợi thế

1. Dynamic state sharding
Lợi thế
Ưu điểm trực quan nhất mà Dynamic state sharding mang lại là quy mô tuyến tính. Các nút được kết nối với mạng có thể được nhóm động theo thuật toán sharding rất hiệu quả và phản hồi nhanh chóng, cải thiện TPS của mạng blockchain. Trong thiết kế của phân đoạn trạng thái động, mỗi nút sẽ bao gồm các địa chỉ thuộc các phạm vi khác nhau và vùng phủ sóng sẽ có một thiết kế dự phòng để đảm bảo bảo mật và bảo mật hiệu quả.
Thực hiện trong cảnh
Bất kể sự phức tạp của hệ sinh thái, từ góc độ triển khai hai công nghệ, phân đoạn trạng thái động khó hơn phân đoạn tĩnh. Có thể thấy rằng đội ngũ kỹ thuật của Shardeum đã có sự tích lũy sâu sắc về trình độ kỹ thuật của sharding. Nghiên cứu và phát triển trước đây của nhóm về công nghệ Shardus cũng đã đóng góp rất lớn cho công nghệ cơ bản của chuỗi công khai này, ngay cả trong giai đoạn đầu của chuỗi dự án. Đã chứng minh quy mô tuyến tính do sharding trạng thái động mang lại.
sản phẩm
sản phẩm
đội
đội
công nghệ
công nghệ
lịch trình
lịch trình
Nó sẽ ra mắt betanet vào ngày 2023-02-02, điều này rất đáng được chú ý.
5. Suy nghĩ và triển vọng của sharding
Sharding là một kế hoạch dài hạn để mở rộng Ethereum, đồng thời đây cũng là một kế hoạch dài hạn có giá trị to lớn và ý nghĩa sâu rộng. Trong quá trình triển khai sharding, tất cả các giải pháp hiện có có thể được lặp lại liên tục, bao gồm proto-danksharding, danksharding, v.v. hiện được đề cập, đáng được quan tâm liên tục;
Hiểu được định hướng chung của sharding là rất quan trọng, nhưng các giải pháp kỹ thuật (PBS, DAS, thị trường phí đa chiều) được mỗi đề xuất áp dụng trong quá trình triển khai sharding đầy đủ cũng đáng được quan tâm và tôi tin rằng nhiều nhóm và dự án xuất sắc có liên quan sẽ xuất hiện ;
Sharding là một thuật ngữ chung cho một loại công nghệ mở rộng, nhưng không chỉ có một giải pháp cụ thể. Cần phải nhận ra rằng các chuỗi công khai khác nhau có các giải pháp bảo vệ phù hợp với các kịch bản của riêng họ. Ví dụ: một số thiết kế trong danksharding chỉ phù hợp với mạng Ethereum và sự cân bằng bảo mật đòi hỏi một số lượng lớn các nút để bù đắp;
Sự kết hợp hợp lý giữa Sharding và các giải pháp mở rộng khác có thể cải thiện khả năng mở rộng 1+ 1>2. Danksharding hiện tại không phải là một giải pháp mở rộng khép kín, nhưng bổ sung cho các triển khai khác của hệ sinh thái Ethereum. Ví dụ: Danksharding và rollup phối hợp với nhau để đạt được kết quả tốt hơn cho việc mở rộng Ethereum.


