Chiến lược mở rộng của Ethereum ban đầu có hai loại: phân đoạn và giao thức Layer2. Phân đoạn cho phép mỗi nút chỉ cần xác minh và lưu trữ một phần giao dịch, trong khi Layer2 xây dựng mạng trên Ethereum. Hai chiến lược này cuối cùng đã hợp nhất, tạo thành lộ trình tập trung vào Rollup, đến nay vẫn là chiến lược mở rộng của Ethereum.
Lộ trình tập trung vào Rollup đưa ra sự phân công đơn giản: Ethereum L1 tập trung vào việc trở thành một lớp cơ sở mạnh mẽ và phi tập trung, trong khi L2 đảm nhiệm nhiệm vụ giúp hệ sinh thái mở rộng. Mô hình này tồn tại phổ biến trong xã hội, như hệ thống tòa án (L1) bảo vệ hợp đồng và quyền sở hữu tài sản, các doanh nhân (L2) thì xây dựng dựa trên nền tảng này.
Năm nay, lộ trình tập trung vào Rollup đã đạt được những thành tựu quan trọng: EIP-4844 blobs đã tăng đáng kể băng thông dữ liệu của Ethereum L1, nhiều Rollup máy ảo Ethereum đã bước vào giai đoạn đầu tiên. Mỗi L2 tồn tại như một "mảnh" với các quy tắc và logic riêng, sự đa dạng và đa dạng trong cách thực hiện các mảnh đã trở thành hiện thực. Nhưng con đường này cũng đối mặt với một số thách thức độc đáo. Nhiệm vụ hiện tại của chúng ta là hoàn thành lộ trình tập trung vào Rollup, giải quyết các vấn đề này, đồng thời duy trì tính vững chắc và phi tập trung của Ethereum L1.
The Surge:Mục tiêu chính
Trong tương lai, Ethereum có thể đạt trên 100.000 TPS thông qua L2;
Giữ cho L1 có tính phi tập trung và độ bền vững;
Ít nhất một số L2 hoàn toàn kế thừa các thuộc tính cốt lõi của Ethereum ( để tin tưởng, mở, chống kiểm duyệt );
Ethereum nên cảm thấy như một hệ sinh thái thống nhất, chứ không phải 34 blockchain khác nhau.
Tóm tắt nội dung
Tam giác nghịch lý về khả năng mở rộng
Tiến triển thêm về việc lấy mẫu khả năng dữ liệu
Nén dữ liệu
Plasma tổng quát
Hệ thống chứng minh L2 trưởng thành
Cải tiến khả năng tương tác giữa các L2
Mở rộng thực thi trên L1
Nghịch lý tam giác mở rộng
Tam giác nghịch lý khả năng mở rộng cho rằng có sự mâu thuẫn giữa ba đặc điểm của blockchain: phi tập trung ( chi phí chạy nút thấp ), khả năng mở rộng ( xử lý nhiều giao dịch ) và tính bảo mật ( kẻ tấn công cần phải phá hủy một tỷ lệ lớn nút để khiến một giao dịch đơn lẻ thất bại ).
Nghịch lý tam giác không phải là định lý, bài viết giới thiệu nó cũng không kèm theo chứng minh toán học. Nó đưa ra lập luận trực giác: nếu các nút thân thiện phi tập trung có thể xác minh N giao dịch mỗi giây, bạn có một chuỗi xử lý k*N giao dịch mỗi giây, thì: (i) mỗi giao dịch chỉ có thể được nhìn thấy bởi 1/k nút, kẻ tấn công chỉ cần phá hủy một số nút để thực hiện giao dịch độc hại, hoặc (ii) nút của bạn sẽ trở nên mạnh mẽ, chuỗi sẽ không phi tập trung. Bài viết không muốn chứng minh rằng việc phá vỡ nghịch lý tam giác là không thể, mà chỉ chỉ ra rằng điều này rất khó, cần phải thoát khỏi khung tư duy tiềm ẩn trong lập luận đó.
Trong nhiều năm qua, một số chuỗi hiệu suất cao tuyên bố đã giải quyết được nghịch lý ba chiều mà không thay đổi cấu trúc cơ bản, thường thông qua các kỹ thuật kỹ thuật phần mềm để tối ưu hóa nút. Điều này luôn gây hiểu lầm, việc chạy nút trên những chuỗi này khó hơn nhiều so với trên Ethereum. Bài viết này sẽ khám phá lý do tại sao như vậy, và tại sao chỉ với kỹ thuật phần mềm của L1 client cũng không thể mở rộng Ethereum.
Tuy nhiên, việc kết hợp mẫu khả dụng dữ liệu với SNARKs thực sự giải quyết được nghịch lý tam giác: nó cho phép khách hàng chỉ tải xuống một lượng dữ liệu nhỏ và thực hiện rất ít phép toán, vẫn có thể xác minh một lượng dữ liệu nhất định khả dụng và một số bước tính toán nhất định được thực hiện đúng. SNARKs không cần tin tưởng. Mẫu khả dụng dữ liệu có mô hình tin tưởng tinh tế few-of-N, nhưng vẫn giữ được đặc tính cơ bản của chuỗi không thể mở rộng, ngay cả khi cuộc tấn công 51% cũng không thể buộc khối xấu được mạng chấp nhận.
Một phương pháp khác để giải quyết ba khó khăn là kiến trúc Plasma, nó khéo léo đẩy trách nhiệm giám sát tính khả dụng của dữ liệu lên người dùng. Từ năm 2017 đến 2019, khi chúng ta chỉ có chứng minh gian lận để mở rộng khả năng tính toán, Plasma đã bị hạn chế trong việc thực hiện an toàn, nhưng với sự phổ biến của SNARKs, kiến trúc Plasma trở nên khả thi cho nhiều trường hợp sử dụng hơn.
Tiến triển hơn nữa trong việc lấy mẫu khả năng truy cập dữ liệu
Chúng tôi đang giải quyết vấn đề gì?
Vào ngày 13 tháng 3 năm 2024, khi bản nâng cấp Dencun được triển khai, mỗi slot của chuỗi khối Ethereum sẽ có 3 blob khoảng 125 kB mỗi 12 giây, tức là băng thông dữ liệu khả dụng mỗi slot khoảng 375 kB. Giả sử dữ liệu giao dịch được phát hành trực tiếp trên chuỗi, chuyển khoản ERC20 khoảng 180 byte, thì TPS tối đa của Rollup trên Ethereum sẽ là: 375000 / 12 / 180 = 173,6 TPS
Giá trị tối đa lý thuyết của calldata Ethereum (: mỗi slot 30 triệu Gas / mỗi byte 16 gas = mỗi slot 1.875.000 byte ), do đó trở thành 607 TPS. Sử dụng PeerDAS, số lượng blob có thể tăng lên 8-16, điều này sẽ cung cấp cho calldata 463-926 TPS.
Đây là một cải tiến lớn đối với Ethereum L1, nhưng vẫn chưa đủ. Chúng tôi muốn có nhiều khả năng mở rộng hơn. Mục tiêu trung hạn là mỗi slot 16 MB, kết hợp với cải tiến nén dữ liệu Rollup, sẽ mang lại ~58000 TPS.
Nó là gì? Nó hoạt động như thế nào?
PeerDAS là một triển khai tương đối đơn giản của "1D sampling". Trong Ethereum, mỗi blob là đa thức bậc 4096 trên trường số nguyên tố 253. Chúng tôi phát sóng các chia sẻ của đa thức, mỗi chia sẻ chứa 16 giá trị đánh giá từ 16 tọa độ liền kề trong tổng số 8192 tọa độ. Trong 8192 giá trị đánh giá này, bất kỳ 4096 cái nào ( theo tham số đề xuất hiện tại: bất kỳ 64 cái nào trong 128 mẫu khả thi ) đều có thể khôi phục blob.
Cách hoạt động của PeerDAS là cho phép mỗi khách hàng lắng nghe một số subnet nhỏ, subnet thứ i phát sóng mẫu thứ i của bất kỳ blob nào, và bằng cách hỏi các đối tác peer trong mạng p2p toàn cầu ( ai sẽ lắng nghe các subnet khác ) để yêu cầu blob cần thiết trên các subnet khác. Phiên bản bảo thủ hơn là SubnetDAS chỉ sử dụng cơ chế subnet, không có thêm yêu cầu từ lớp peer. Đề xuất hiện tại cho phép các nút tham gia bằng chứng cổ phần sử dụng SubnetDAS, các nút khác ( tức là khách hàng ) sử dụng PeerDAS.
Về lý thuyết, chúng ta có thể mở rộng quy mô "1D sampling" rất lớn: nếu tăng số lượng blob tối đa lên 256( mục tiêu 128), chúng ta có thể đạt được mục tiêu 16MB, trong khi mẫu khả dụng dữ liệu trong mỗi nút là 16 mẫu * 128 blob * mỗi blob mỗi mẫu 512 byte = mỗi slot 1 MB băng thông dữ liệu. Đây chỉ vừa đủ trong phạm vi chấp nhận: khả thi, nhưng có nghĩa là băng thông bị giới hạn, khách hàng không thể lấy mẫu. Chúng ta có thể tối ưu hóa bằng cách giảm số lượng blob và tăng kích thước blob, nhưng điều này sẽ làm tăng chi phí tái tạo.
Do đó, chúng tôi cuối cùng muốn tiến xa hơn, thực hiện lấy mẫu 2D, nó không chỉ trong blob mà còn lấy mẫu ngẫu nhiên giữa các blob. Sử dụng thuộc tính tuyến tính của cam kết KZG, mở rộng tập hợp blob trong một khối bằng cách thông qua một tập hợp blob ảo mới, những blob ảo này mã hóa dư thừa thông tin giống nhau.
Điều quan trọng là, việc mở rộng cam kết tính toán không cần có blob, do đó phương án này về cơ bản thân thiện với việc xây dựng khối phân tán. Các nút thực hiện việc xây dựng khối chỉ cần có cam kết KZG blob, chúng có thể dựa vào việc lấy mẫu khả dụng dữ liệu để xác minh khả dụng của các khối dữ liệu. Việc lấy mẫu khả dụng dữ liệu một chiều về cơ bản cũng thân thiện với việc xây dựng khối phân tán.
Còn cần làm gì nữa? Có những sự cân nhắc nào?
Tiếp theo là hoàn thành việc triển khai và ra mắt PeerDAS. Sau đó, sẽ gia tăng số lượng blob trên PeerDAS, đồng thời theo dõi mạng một cách cẩn thận và cải tiến phần mềm để đảm bảo an toàn, đây là một quá trình dần dần. Đồng thời, chúng tôi hy vọng có nhiều công trình học thuật hơn để quy định về PeerDAS và các phiên bản DAS khác cũng như sự tương tác của chúng với các vấn đề an toàn như quy tắc chọn nhánh.
Trong giai đoạn xa hơn trong tương lai, chúng ta cần nhiều công việc hơn để xác định phiên bản lý tưởng của 2D DAS và chứng minh các thuộc tính an toàn của nó. Chúng tôi cũng hy vọng cuối cùng có thể chuyển từ KZG sang các giải pháp thay thế an toàn với lượng tử và không cần thiết lập đáng tin cậy. Hiện tại vẫn không rõ có những ứng cử viên nào thân thiện với việc xây dựng blockchain phân tán. Ngay cả khi sử dụng công nghệ "brute force" đắt đỏ, tức là sử dụng STARK đệ quy để tạo ra các chứng minh tính hợp lệ cho việc tái tạo các hàng và cột, cũng không đủ đáp ứng nhu cầu, vì mặc dù về mặt kỹ thuật, kích thước STARK là O(log(n) * log(log(n)) giá trị băm ( sử dụng STIR), nhưng thực tế STARK gần như lớn như toàn bộ blob.
Tôi nghĩ rằng con đường thực tế lâu dài là:
Triển khai DAS 2D lý tưởng;
Kiên trì sử dụng 1D DAS, hy sinh hiệu suất băng thông lấy mẫu, để chấp nhận giới hạn dữ liệu thấp hơn vì sự đơn giản và tính ổn định.
Bỏ DA, hoàn toàn chấp nhận Plasma như kiến trúc Layer2 chính mà chúng tôi quan tâm.
Xin lưu ý rằng ngay cả khi chúng tôi quyết định mở rộng thực thi trực tiếp trên tầng L1, lựa chọn này vẫn tồn tại. Điều này là do nếu tầng L1 phải xử lý một lượng lớn TPS, các khối L1 sẽ trở nên rất lớn, và các khách hàng sẽ muốn có phương pháp hiệu quả để xác minh tính chính xác của chúng, do đó chúng tôi sẽ phải sử dụng các công nghệ giống như Rollup( như ZK-EVM và DAS) trên tầng L1.
Làm thế nào để tương tác với các phần khác của lộ trình?
Nếu việc nén dữ liệu được thực hiện, nhu cầu về 2D DAS sẽ giảm bớt, hoặc ít nhất sẽ bị trì hoãn, nếu Plasma được sử dụng rộng rãi, thì nhu cầu sẽ giảm thêm. DAS cũng đặt ra thách thức cho các giao thức và cơ chế xây dựng khối phân tán: mặc dù DAS lý thuyết là thân thiện với việc tái tạo phân tán, nhưng thực tế điều này cần phải kết hợp với đề xuất danh sách bao gồm gói và cơ chế lựa chọn phân nhánh xung quanh nó.
Nén dữ liệu
Chúng ta đang giải quyết vấn đề gì?
Mỗi giao dịch trong Rollup chiếm một lượng lớn không gian dữ liệu trên chuỗi: Chuyển ERC20 mất khoảng 180 byte. Ngay cả khi có mẫu khả dụng dữ liệu lý tưởng, điều này vẫn giới hạn khả năng mở rộng của giao thức Layer. Mỗi slot 16 MB, chúng ta có:
16000000 / 12 / 180 = 7407 TPS
Nếu chúng ta không chỉ có thể giải quyết vấn đề tử số mà còn giải quyết vấn đề mẫu số, để mỗi giao dịch trong Rollup chiếm ít byte hơn trên chuỗi, thì điều đó sẽ như thế nào?
Nó là gì, làm thế nào để hoạt động?
Theo tôi, cách giải thích tốt nhất là bức tranh này cách đây hai năm:
Trong quá trình nén byte không, mỗi chuỗi byte không dài được thay thế bằng hai byte để biểu thị số lượng byte không. Hơn nữa, chúng tôi đã sử dụng các thuộc tính cụ thể của giao dịch:
Ký tên tổng hợp: Chúng tôi đã chuyển từ ký tên ECDSA sang ký tên BLS, đặc điểm của ký tên BLS là nhiều ký tên có thể được kết hợp thành một ký tên duy nhất, ký tên này có thể chứng minh tính hợp lệ của tất cả các ký tên gốc. Ở lớp L1, do ngay cả khi tổng hợp, chi phí tính toán xác minh vẫn cao, vì vậy không xem xét việc sử dụng ký tên BLS. Nhưng trong môi trường L2 như vậy, việc sử dụng ký tên BLS là hợp lý. Tính năng tổng hợp ERC-4337 cung cấp một con đường để thực hiện chức năng này.
Thay thế địa chỉ bằng con trỏ: Nếu trước đây đã sử dụng một địa chỉ nào đó, chúng ta có thể thay thế địa chỉ 20 byte bằng con trỏ 4 byte trỏ đến vị trí nào đó trong lịch sử.
Tùy chỉnh tuần tự hóa giá trị giao dịch: Hầu hết giá trị giao dịch có ít chữ số, ví dụ, 0.25 ETH được biểu diễn là 250,000,000,000,000,000 wei. Phí cơ bản tối đa và phí ưu tiên cũng tương tự. Do đó, chúng ta có thể sử dụng định dạng số thập phân tùy chỉnh để biểu diễn hầu hết các giá trị tiền tệ.
còn cần làm gì, có những cân nhắc nào?
Điều chính tiếp theo là thực hiện thực tế giải pháp nêu trên. Các cân nhắc chính bao gồm:
Việc chuyển sang chữ ký BLS cần phải nỗ lực rất lớn và sẽ giảm khả năng tương thích với các chip phần cứng đáng tin cậy có thể nâng cao tính bảo mật. Có thể sử dụng các gói ZK-SNARK với các phương án chữ ký khác để thay thế.
Nén động ( Ví dụ, việc thay thế địa chỉ ) bằng con trỏ sẽ làm cho mã khách hàng trở nên phức tạp.
Việc công bố sự khác biệt trạng thái lên chuỗi thay vì giao dịch sẽ giảm tính khả thi kiểm toán, khiến nhiều phần mềm ( như trình duyệt khối ) không thể hoạt động.
Làm thế nào để tương tác với các phần khác của lộ trình?
Áp dụng ERC-4337, và cuối cùng đưa một phần nội dung của nó vào
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
24 thích
Phần thưởng
24
6
Chia sẻ
Bình luận
0/400
LongTermDreamer
· 07-22 01:04
Ba năm sau đều phải xem mặt mũi của chúng ta L2, tích trữ một chút không lỗ.
Xem bản gốcTrả lời0
alpha_leaker
· 07-19 10:23
Trong thị trường tăng thì phải dùng L2 để kiếm tiền.
Xem bản gốcTrả lời0
GasDevourer
· 07-19 01:26
L2 không hiểu, mất cả quần!
Xem bản gốcTrả lời0
TrustlessMaximalist
· 07-19 01:21
Rollup thật tuyệt, nhập một vị thế là đúng.
Xem bản gốcTrả lời0
consensus_whisperer
· 07-19 01:11
Bao lâu thì có thể đạt được 10w tps, hãy cho một câu chính xác.
Con đường mở rộng Ethereum: Phân tích The Surge và triển vọng phát triển L2
Tương lai có thể của Ethereum: The Surge
Chiến lược mở rộng của Ethereum ban đầu có hai loại: phân đoạn và giao thức Layer2. Phân đoạn cho phép mỗi nút chỉ cần xác minh và lưu trữ một phần giao dịch, trong khi Layer2 xây dựng mạng trên Ethereum. Hai chiến lược này cuối cùng đã hợp nhất, tạo thành lộ trình tập trung vào Rollup, đến nay vẫn là chiến lược mở rộng của Ethereum.
Lộ trình tập trung vào Rollup đưa ra sự phân công đơn giản: Ethereum L1 tập trung vào việc trở thành một lớp cơ sở mạnh mẽ và phi tập trung, trong khi L2 đảm nhiệm nhiệm vụ giúp hệ sinh thái mở rộng. Mô hình này tồn tại phổ biến trong xã hội, như hệ thống tòa án (L1) bảo vệ hợp đồng và quyền sở hữu tài sản, các doanh nhân (L2) thì xây dựng dựa trên nền tảng này.
Năm nay, lộ trình tập trung vào Rollup đã đạt được những thành tựu quan trọng: EIP-4844 blobs đã tăng đáng kể băng thông dữ liệu của Ethereum L1, nhiều Rollup máy ảo Ethereum đã bước vào giai đoạn đầu tiên. Mỗi L2 tồn tại như một "mảnh" với các quy tắc và logic riêng, sự đa dạng và đa dạng trong cách thực hiện các mảnh đã trở thành hiện thực. Nhưng con đường này cũng đối mặt với một số thách thức độc đáo. Nhiệm vụ hiện tại của chúng ta là hoàn thành lộ trình tập trung vào Rollup, giải quyết các vấn đề này, đồng thời duy trì tính vững chắc và phi tập trung của Ethereum L1.
The Surge:Mục tiêu chính
Tóm tắt nội dung
Nghịch lý tam giác mở rộng
Tam giác nghịch lý khả năng mở rộng cho rằng có sự mâu thuẫn giữa ba đặc điểm của blockchain: phi tập trung ( chi phí chạy nút thấp ), khả năng mở rộng ( xử lý nhiều giao dịch ) và tính bảo mật ( kẻ tấn công cần phải phá hủy một tỷ lệ lớn nút để khiến một giao dịch đơn lẻ thất bại ).
Nghịch lý tam giác không phải là định lý, bài viết giới thiệu nó cũng không kèm theo chứng minh toán học. Nó đưa ra lập luận trực giác: nếu các nút thân thiện phi tập trung có thể xác minh N giao dịch mỗi giây, bạn có một chuỗi xử lý k*N giao dịch mỗi giây, thì: (i) mỗi giao dịch chỉ có thể được nhìn thấy bởi 1/k nút, kẻ tấn công chỉ cần phá hủy một số nút để thực hiện giao dịch độc hại, hoặc (ii) nút của bạn sẽ trở nên mạnh mẽ, chuỗi sẽ không phi tập trung. Bài viết không muốn chứng minh rằng việc phá vỡ nghịch lý tam giác là không thể, mà chỉ chỉ ra rằng điều này rất khó, cần phải thoát khỏi khung tư duy tiềm ẩn trong lập luận đó.
Trong nhiều năm qua, một số chuỗi hiệu suất cao tuyên bố đã giải quyết được nghịch lý ba chiều mà không thay đổi cấu trúc cơ bản, thường thông qua các kỹ thuật kỹ thuật phần mềm để tối ưu hóa nút. Điều này luôn gây hiểu lầm, việc chạy nút trên những chuỗi này khó hơn nhiều so với trên Ethereum. Bài viết này sẽ khám phá lý do tại sao như vậy, và tại sao chỉ với kỹ thuật phần mềm của L1 client cũng không thể mở rộng Ethereum.
Tuy nhiên, việc kết hợp mẫu khả dụng dữ liệu với SNARKs thực sự giải quyết được nghịch lý tam giác: nó cho phép khách hàng chỉ tải xuống một lượng dữ liệu nhỏ và thực hiện rất ít phép toán, vẫn có thể xác minh một lượng dữ liệu nhất định khả dụng và một số bước tính toán nhất định được thực hiện đúng. SNARKs không cần tin tưởng. Mẫu khả dụng dữ liệu có mô hình tin tưởng tinh tế few-of-N, nhưng vẫn giữ được đặc tính cơ bản của chuỗi không thể mở rộng, ngay cả khi cuộc tấn công 51% cũng không thể buộc khối xấu được mạng chấp nhận.
Một phương pháp khác để giải quyết ba khó khăn là kiến trúc Plasma, nó khéo léo đẩy trách nhiệm giám sát tính khả dụng của dữ liệu lên người dùng. Từ năm 2017 đến 2019, khi chúng ta chỉ có chứng minh gian lận để mở rộng khả năng tính toán, Plasma đã bị hạn chế trong việc thực hiện an toàn, nhưng với sự phổ biến của SNARKs, kiến trúc Plasma trở nên khả thi cho nhiều trường hợp sử dụng hơn.
Tiến triển hơn nữa trong việc lấy mẫu khả năng truy cập dữ liệu
Chúng tôi đang giải quyết vấn đề gì?
Vào ngày 13 tháng 3 năm 2024, khi bản nâng cấp Dencun được triển khai, mỗi slot của chuỗi khối Ethereum sẽ có 3 blob khoảng 125 kB mỗi 12 giây, tức là băng thông dữ liệu khả dụng mỗi slot khoảng 375 kB. Giả sử dữ liệu giao dịch được phát hành trực tiếp trên chuỗi, chuyển khoản ERC20 khoảng 180 byte, thì TPS tối đa của Rollup trên Ethereum sẽ là: 375000 / 12 / 180 = 173,6 TPS
Giá trị tối đa lý thuyết của calldata Ethereum (: mỗi slot 30 triệu Gas / mỗi byte 16 gas = mỗi slot 1.875.000 byte ), do đó trở thành 607 TPS. Sử dụng PeerDAS, số lượng blob có thể tăng lên 8-16, điều này sẽ cung cấp cho calldata 463-926 TPS.
Đây là một cải tiến lớn đối với Ethereum L1, nhưng vẫn chưa đủ. Chúng tôi muốn có nhiều khả năng mở rộng hơn. Mục tiêu trung hạn là mỗi slot 16 MB, kết hợp với cải tiến nén dữ liệu Rollup, sẽ mang lại ~58000 TPS.
Nó là gì? Nó hoạt động như thế nào?
PeerDAS là một triển khai tương đối đơn giản của "1D sampling". Trong Ethereum, mỗi blob là đa thức bậc 4096 trên trường số nguyên tố 253. Chúng tôi phát sóng các chia sẻ của đa thức, mỗi chia sẻ chứa 16 giá trị đánh giá từ 16 tọa độ liền kề trong tổng số 8192 tọa độ. Trong 8192 giá trị đánh giá này, bất kỳ 4096 cái nào ( theo tham số đề xuất hiện tại: bất kỳ 64 cái nào trong 128 mẫu khả thi ) đều có thể khôi phục blob.
Cách hoạt động của PeerDAS là cho phép mỗi khách hàng lắng nghe một số subnet nhỏ, subnet thứ i phát sóng mẫu thứ i của bất kỳ blob nào, và bằng cách hỏi các đối tác peer trong mạng p2p toàn cầu ( ai sẽ lắng nghe các subnet khác ) để yêu cầu blob cần thiết trên các subnet khác. Phiên bản bảo thủ hơn là SubnetDAS chỉ sử dụng cơ chế subnet, không có thêm yêu cầu từ lớp peer. Đề xuất hiện tại cho phép các nút tham gia bằng chứng cổ phần sử dụng SubnetDAS, các nút khác ( tức là khách hàng ) sử dụng PeerDAS.
Về lý thuyết, chúng ta có thể mở rộng quy mô "1D sampling" rất lớn: nếu tăng số lượng blob tối đa lên 256( mục tiêu 128), chúng ta có thể đạt được mục tiêu 16MB, trong khi mẫu khả dụng dữ liệu trong mỗi nút là 16 mẫu * 128 blob * mỗi blob mỗi mẫu 512 byte = mỗi slot 1 MB băng thông dữ liệu. Đây chỉ vừa đủ trong phạm vi chấp nhận: khả thi, nhưng có nghĩa là băng thông bị giới hạn, khách hàng không thể lấy mẫu. Chúng ta có thể tối ưu hóa bằng cách giảm số lượng blob và tăng kích thước blob, nhưng điều này sẽ làm tăng chi phí tái tạo.
Do đó, chúng tôi cuối cùng muốn tiến xa hơn, thực hiện lấy mẫu 2D, nó không chỉ trong blob mà còn lấy mẫu ngẫu nhiên giữa các blob. Sử dụng thuộc tính tuyến tính của cam kết KZG, mở rộng tập hợp blob trong một khối bằng cách thông qua một tập hợp blob ảo mới, những blob ảo này mã hóa dư thừa thông tin giống nhau.
Điều quan trọng là, việc mở rộng cam kết tính toán không cần có blob, do đó phương án này về cơ bản thân thiện với việc xây dựng khối phân tán. Các nút thực hiện việc xây dựng khối chỉ cần có cam kết KZG blob, chúng có thể dựa vào việc lấy mẫu khả dụng dữ liệu để xác minh khả dụng của các khối dữ liệu. Việc lấy mẫu khả dụng dữ liệu một chiều về cơ bản cũng thân thiện với việc xây dựng khối phân tán.
Còn cần làm gì nữa? Có những sự cân nhắc nào?
Tiếp theo là hoàn thành việc triển khai và ra mắt PeerDAS. Sau đó, sẽ gia tăng số lượng blob trên PeerDAS, đồng thời theo dõi mạng một cách cẩn thận và cải tiến phần mềm để đảm bảo an toàn, đây là một quá trình dần dần. Đồng thời, chúng tôi hy vọng có nhiều công trình học thuật hơn để quy định về PeerDAS và các phiên bản DAS khác cũng như sự tương tác của chúng với các vấn đề an toàn như quy tắc chọn nhánh.
Trong giai đoạn xa hơn trong tương lai, chúng ta cần nhiều công việc hơn để xác định phiên bản lý tưởng của 2D DAS và chứng minh các thuộc tính an toàn của nó. Chúng tôi cũng hy vọng cuối cùng có thể chuyển từ KZG sang các giải pháp thay thế an toàn với lượng tử và không cần thiết lập đáng tin cậy. Hiện tại vẫn không rõ có những ứng cử viên nào thân thiện với việc xây dựng blockchain phân tán. Ngay cả khi sử dụng công nghệ "brute force" đắt đỏ, tức là sử dụng STARK đệ quy để tạo ra các chứng minh tính hợp lệ cho việc tái tạo các hàng và cột, cũng không đủ đáp ứng nhu cầu, vì mặc dù về mặt kỹ thuật, kích thước STARK là O(log(n) * log(log(n)) giá trị băm ( sử dụng STIR), nhưng thực tế STARK gần như lớn như toàn bộ blob.
Tôi nghĩ rằng con đường thực tế lâu dài là:
Xin lưu ý rằng ngay cả khi chúng tôi quyết định mở rộng thực thi trực tiếp trên tầng L1, lựa chọn này vẫn tồn tại. Điều này là do nếu tầng L1 phải xử lý một lượng lớn TPS, các khối L1 sẽ trở nên rất lớn, và các khách hàng sẽ muốn có phương pháp hiệu quả để xác minh tính chính xác của chúng, do đó chúng tôi sẽ phải sử dụng các công nghệ giống như Rollup( như ZK-EVM và DAS) trên tầng L1.
Làm thế nào để tương tác với các phần khác của lộ trình?
Nếu việc nén dữ liệu được thực hiện, nhu cầu về 2D DAS sẽ giảm bớt, hoặc ít nhất sẽ bị trì hoãn, nếu Plasma được sử dụng rộng rãi, thì nhu cầu sẽ giảm thêm. DAS cũng đặt ra thách thức cho các giao thức và cơ chế xây dựng khối phân tán: mặc dù DAS lý thuyết là thân thiện với việc tái tạo phân tán, nhưng thực tế điều này cần phải kết hợp với đề xuất danh sách bao gồm gói và cơ chế lựa chọn phân nhánh xung quanh nó.
Nén dữ liệu
Chúng ta đang giải quyết vấn đề gì?
Mỗi giao dịch trong Rollup chiếm một lượng lớn không gian dữ liệu trên chuỗi: Chuyển ERC20 mất khoảng 180 byte. Ngay cả khi có mẫu khả dụng dữ liệu lý tưởng, điều này vẫn giới hạn khả năng mở rộng của giao thức Layer. Mỗi slot 16 MB, chúng ta có:
16000000 / 12 / 180 = 7407 TPS
Nếu chúng ta không chỉ có thể giải quyết vấn đề tử số mà còn giải quyết vấn đề mẫu số, để mỗi giao dịch trong Rollup chiếm ít byte hơn trên chuỗi, thì điều đó sẽ như thế nào?
Nó là gì, làm thế nào để hoạt động?
Theo tôi, cách giải thích tốt nhất là bức tranh này cách đây hai năm:
Trong quá trình nén byte không, mỗi chuỗi byte không dài được thay thế bằng hai byte để biểu thị số lượng byte không. Hơn nữa, chúng tôi đã sử dụng các thuộc tính cụ thể của giao dịch:
Ký tên tổng hợp: Chúng tôi đã chuyển từ ký tên ECDSA sang ký tên BLS, đặc điểm của ký tên BLS là nhiều ký tên có thể được kết hợp thành một ký tên duy nhất, ký tên này có thể chứng minh tính hợp lệ của tất cả các ký tên gốc. Ở lớp L1, do ngay cả khi tổng hợp, chi phí tính toán xác minh vẫn cao, vì vậy không xem xét việc sử dụng ký tên BLS. Nhưng trong môi trường L2 như vậy, việc sử dụng ký tên BLS là hợp lý. Tính năng tổng hợp ERC-4337 cung cấp một con đường để thực hiện chức năng này.
Thay thế địa chỉ bằng con trỏ: Nếu trước đây đã sử dụng một địa chỉ nào đó, chúng ta có thể thay thế địa chỉ 20 byte bằng con trỏ 4 byte trỏ đến vị trí nào đó trong lịch sử.
Tùy chỉnh tuần tự hóa giá trị giao dịch: Hầu hết giá trị giao dịch có ít chữ số, ví dụ, 0.25 ETH được biểu diễn là 250,000,000,000,000,000 wei. Phí cơ bản tối đa và phí ưu tiên cũng tương tự. Do đó, chúng ta có thể sử dụng định dạng số thập phân tùy chỉnh để biểu diễn hầu hết các giá trị tiền tệ.
còn cần làm gì, có những cân nhắc nào?
Điều chính tiếp theo là thực hiện thực tế giải pháp nêu trên. Các cân nhắc chính bao gồm:
Việc chuyển sang chữ ký BLS cần phải nỗ lực rất lớn và sẽ giảm khả năng tương thích với các chip phần cứng đáng tin cậy có thể nâng cao tính bảo mật. Có thể sử dụng các gói ZK-SNARK với các phương án chữ ký khác để thay thế.
Nén động ( Ví dụ, việc thay thế địa chỉ ) bằng con trỏ sẽ làm cho mã khách hàng trở nên phức tạp.
Việc công bố sự khác biệt trạng thái lên chuỗi thay vì giao dịch sẽ giảm tính khả thi kiểm toán, khiến nhiều phần mềm ( như trình duyệt khối ) không thể hoạt động.
Làm thế nào để tương tác với các phần khác của lộ trình?
Áp dụng ERC-4337, và cuối cùng đưa một phần nội dung của nó vào