Danksharding (DS), Proto-Danksharding (PDS) và EIP-4488 là gì?

Để Ethereum có thể phổ cập phổ biến tới cùng đồng, Ethereum cần giải quyết được bài toán blockchain trilemma (bộ cha bất khả thi về bảo mật, ứng dụng và phi tập trung). Hiện tại, Ethereum đang từng bước giải quyết và đã hoàn thành được bước trước tiên là The Merge.

Tuy nhiên, thiết kế Sharding theo kế hoạch ban đầu đang được xem là chưa hợp lý và khó triển khai, vì vậy, đội ngũ Ethereum Basis đã ra mắt những giải pháp khác.

Key Insights:

  • Danksharding (DS) là tầm nhìn trong dài hạn của Ethereum. Hiện tại, Ethereum chưa triển khai nguyên mẫu nào của DS.
  • Proto-danksharding (PDS) hay có tên gọi khác là EIP-4844 là 1 đề xuất để triển khai gần như những logic của DS, đóng vai trò như “giàn giáo” cho sự vươn lên là DS sau này.
  • PDS khá phức tạp, nó đề nghị 1 số thay đổi trên những ứng dụng khách lớp đồng thuận và lớp thực thi để xử lý những blob information. Bên cạnh ấy, để có thể tận dụng tối đa lợi ích của mình, nó còn đề nghị những thay đổi đáng đề cập trong những nhóm tổng hợp.
  • EIP-4488 là 1 phương pháp triển khai đơn giản để giảm chi phí calldata cho những Rollup protocol. Nó ko hoàn hảo nhưng đơn giản và dễ triển khai.

Bối cảnh

Tháng 10/2020, Ethereum đã thay đổi kế hoạch vươn lên là của mình sang 1 lộ trình tập trung vào Rollup. Roadmap chi tiết được Vitalik công bố chính thức trên twitter cá nhân của mình vào tháng 12/2021. Trong ấy, roadmap mới của Ethereum sẽ bao gồm 5 cột mốc chính: The Merge, The Surge, The Verge, The Purge và The Splurge.

Trong phần này, chúng ta sẽ tìm hiểu kế hoạch vươn lên là đầy tham vọng của Ethereum vào thời điểm trước và những lý do chính làm Ethereum chọn chuyển sang roadmap mới.

Những thuật ngữ liên quan

Những thuật ngữ sau đây sẽ được dùng thường xuyên trong bài viết.

Sharding: Kỹ thuật chia bé cơ sở dữ liệu theo chiều ngang, kỹ thuật này giúp mạng xử lý thanh toán theo từng cụm, giảm khối lượng công việc và nâng cao hiệu quả xử lý dữ liệu, đồng thời ko liên quan tới sự phi tập trung của mạng lưới. Tuy nhiên, việc triển khai kỹ thuật này có độ khó cao và tồn tại siêu nhiều rủi ro liên quan. Bên cạnh ra, có siêu nhiều phương pháp thiết kế triển khai sharding khác nhau.

Rollup: Giải pháp mở rộng off-chain giúp nâng cao thông lượng của base layer (lớp cơ sở) mà ko đề nghị thay đổi giao thức hiện có. Những giải pháp rollup đi lại việc tính toán, lưu trữ trạng thái (execution) off-chain. Sau ấy, chúng đồng bộ hóa trạng thái lên base layer, dữ liệu thanh toán có thể được lưu trữ on-chain hoặc off-chain tùy thuộc mục đích dùng của rollup protocol.

Kế hoạch mở rộng tập trung vào execution sharding

Những vấn đề mở rộng của Ethereum đã được chú ý từ 5 2015, trong ấy, 1 trong những nghiên cứu đáng chú ý là kế hoạch chuyển đổi từ PoW sang PoS vào 5 2015 của Vitalik (chi tiết tại đây). Nhưng nhìn chung, việc mở rộng blockchain siêu khó khăn, có thể đề cập tới “the scalability trilemma” nổi danh.

Tại Ethereum, Vitalik và những nhà vươn lên là cốt lõi đều đồng ý rằng những chi tiết về “safe” (bảo mật) và “decentralized” (phi tập trung) siêu quan yếu và liên quan tới khả năng tồn tại lâu dài của Ethereum. Vì vậy, Ethereum thà hy sinh 1 mức độ nhất định về khả năng mở rộng hơn là từ bỏ tính phi tập trung và bảo mật.

Xem Thêm  Chỉ dẫn chi tiết bí quyết tìm tên store trên Shopee mới nhất

5 2019, đa phần những nhà vươn lên là Ethereum đồng thuận có roadmap sau: chuyển PoW sang PoS (giai đoạn 0) → information sharding (giai đoạn 1) → execution sharding (giai đoạn 2).

Sở hữu tầm nhìn trên, information sharding ko liên quan tới việc code execution (thực thi mã), mà chỉ liên quan tới việc lưu trữ và xác minh dữ liệu (information storage and verification – information availability). Sau lúc thực hành giai đoạn 2, sẽ có nhiều execution shard để xử lý những thanh toán đồng thời và cuối cùng chúng sẽ được tổng hợp (tx information & state) và đưa lên Beacon Chain.

Ethereum sẽ vươn lên là từ 1 monolithic blockchain thành 1 modular blockchain. Khả năng mở rộng và nâng cao hiệu quả thực thi được giải quyết nhờ những execution shard có thể thực hành những thanh toán đồng thời.

Vì sao Monolithic Blockchain buộc phải chuyển sang Modular Blockchain? Phương pháp chuyển đổi như thế nào? Tìm hiểu thêm: Monolithic blockchain & Modular blockchain là gì?

Bên cạnh ấy, Vitalik cũng đề xuất 1 ngôn ngữ trung gian gọi là eWASM, cho phép toàn bộ ngôn ngữ lập trình được biên dịch sang ngôn ngữ trung gian này của Ethereum và cuối cùng được biên dịch thành EVM bytecode và thực thị ở máy ảo EVM.

Theo phương pháp này, Ethereum sẽ trở nên 1 hệ sinh thái phong phú có thể được vươn lên là bằng mọi ngôn ngữ lập trình. Thậm chí mỗi execution shard có thể được thiết kế có những máy ảo khác nhau. Cuối cùng, trạng thái và dữ liệu thanh toán trên những execution shard được đồng bộ hóa và tổng hợp vào lớp cơ sở giống như phương pháp tiếp cận của những Rollup protocol hiện nay.

Hạn chế trong kế hoạch mở rộng của Ethereum

Thiết kế sharding ban đầu của Ethereum được tạo ra để chuyên dụng cho mục tiêu execution sharding. Trong thiết kế này, chain chính được thiết kế để trở nên DA & settlement layer, nó sẽ ko tương trợ thực thi thanh toán. Những shard sẽ là nơi để thực thi code, phương pháp hoạt động của chúng tương tự như những Layer 1 hiện tại.

1 trong những phần quan yếu của thiết kế sharding này là việc xáo trộn những validator giữa những shard giữa những kỷ nguyên (epoch). Cụ thể, Beacon Chain sẽ hoạt động như 1 bộ điều phối, hướng 1 số validator vào 1 shard cụ thể mà họ chịu trách nhiệm xác thực. Đa số những validator sẽ bị xáo trộn sau mỗi kỷ nguyên.

Thiết kế này siêu phức tạp vì nó tạo ra những thị trường phi độc lập trên mỗi shard. Bên cạnh ra, nó cũng phát sinh nhiều rủi ro khác:

  • Mỗi shard sẽ dễ bị tấn công hơn vì có ít nút (node) hơn.
  • Việc xáo trộn những validator siêu phức tạp về mặt kỹ thuật.
  • Siêu khó để chứng thực quá trình trên những shard được hoàn thành trong 1 khoảng thời kì cố định (12 giây sau The Merge).

Bên cạnh ấy, mất quá nhiều thời kì để hoàn thành The Merge và do những vấn đề về kỹ thuật và rủi ro liên quan, những nhà vươn lên là cốt lõi của Ethereum vẫn chưa đạt được thống nhất về thiết kế sharding. Trong lúc ấy, những giải pháp mở rộng off-chain đang vươn lên là nhanh chóng, tiêu biểu là kỹ thuật Rollup.

Đa số điều này dẫn tới 1 thay đổi lớn trong lộ trình vươn lên là của Ethereum – lộ trình vươn lên là tập trung vào Rollup. Rollup sẽ nằm trong tầm nhìn vươn lên là trung và dài hạn của Ethereum.

Thiết kế sharding cũ cũng được thay thế bằng 1 thiết kế mới để ưu thích hơn có tầm nhìn mới của Ethereum. Thiết kế sharding mới do Dankrad Feist – 1 nhà nghiên cứu tại Ethereum Basis, đề xuất , vì vậy, nó được gọi là Danksharding (DS).

Danksharding & Proto-Danksharding là gì?

Danksharding là tầm nhìn dài hạn của Ethereum. Để hoàn thành Danksharding, Ethereum cần bổ sung 1 số tính năng mới vào giao thức. Hiện tại, 1 số tính năng vẫn còn đang trong quá trình nghiên cứu và vươn lên là, chưa có EIP cụ thể được đề xuất để triển khai Danksharding trên mainnet.

Xem Thêm  Phân tách mô hình hoạt động của 1Inch Community (1INCH)

Liên quan tới Danksharding có 2 EIP liên quan:

  • Proto-Danksharding (EIP-4844).
  • EIP-4488.

Trong phần này, chúng ta sẽ tìm hiểu tổng quan về DS, PDS, EIP-4488 và mối liên hệ giữa chúng.

Danksharding (DS) là gì?

Danksharding là thiết kế sharding mới, tập trung vào tính khả dụng của dữ liệu. Nó giới thiệu 1 định dạng thanh toán mới “blob carrying transactions”, cho phép người gửi thanh toán “đính kèm” 1 khối dữ liệu lớn vào 1 thanh toán ( có thể hình dung nó giống như việc bạn gửi 1 e mail và file đính kèm).

Bằng phương pháp này, Ethereum sẽ phân phối nhiều ko gian hơn cho những tx information (dữ liệu thanh toán) trên những Rollup protocol. Bản thân Ethereum ko cố gắng diễn giải quản lý những blob information này. Giao thức sẽ dùng 1 “bộ quy tắc” được gọi là KZG dedication để xác minh blobs information này.

Lúc những information shard được triển khai thành công, những Rollup protocol có thể gửi toàn bộ block information tới những shard khác nhau để xác minh đồng thời. Về mặt lý thuyết, số lượng shard dữ liệu được triển khai có thể làm cho giảm chi chi phí Rollup.

Danksharding là tầm nhìn dài hạn của Ethereum. Để đưa nó lên mainnet, Ethereum cần thực hành những module công việc khác nhau, cụ thể như DAS, PBS, KZG commitments và Censorship Resistance Listing (crList), cũng như những công việc liên quan tới quản lý trạng thái mạng (netowork state).

Vì vậy, thời kì mainnet của DS phụ thuộc vào sự ra mắt của những module liên quan, giả dụ ko có thay đổi hay chậm trễ đáng đề cập nào khác, chúng ta có thể thấy DS mainnet trong khoảng thời kì 3-4 5 nữa (2025-2026).

Proto-danksharding (PDS) là gì?

Proto-danksharding (hay còn gọi là EIP-4844) là 1 đề xuất để triển khai gần như những logic của DS, đóng vai trò như “giàn giáo” cho sự vươn lên là DS sau này. PDS được lên kế hoạch mainnet vào Shanghai Improve, diễn ra trong 6 -12 tháng sau The Merge.

EIP-4844 giới thiệu định dạng thanh toán mang theo blob mà những Rollup protocol sẽ dùng để lưu trữ dữ liệu trong tương lai. Những blob mang 1 lượng lớn dữ liệu (~ 125 KB), chúng sẽ có cơ chế định giá riêng, nhưng nhìn chung sẽ rẻ hơn nhiều so có phương pháp dùng calldata như hiện nay.

Chi phí đăng dữ liệu lên Ethereum chiếm 1 phần lớn trong tỷ lệ chi phí thanh toán mà khách hàng trả trên những Rollup protocol. PDS sẽ giảm đáng đề cập chi phí này cho những Rollup protocol bằng phương pháp dùng định dạng thanh toán blob thay vì calldata.

PDS sẽ giới thiệu phiên bản trước tiên định dạng thanh toán có blob. Phiên bản cuối cùng là DS sẽ bổ sung thêm sharding, xác minh ứng dụng khách nhẹ thông qua DAS.

Sau đây là 1 số tính năng chính được giới thiệu trong PDS:

  • Định dạng thanh toán mang dữ liệu blob (Information blob-carrying transaction format).
  • KZG cam kết có những đốm màu (KZG commitments lớn the blobs).
  • Đa số logic lớp thực thi cần thiết cho DS.
  • Đa số logic xác minh chéo thực thi/đồng thuận cần thiết cho DS.
  • Phân tách lớp giữa xác minh BeaconBlock và những DAS blob.
  • Gần như logic BeaconBlock được đề nghị cho DS.
  • Chi phí fuel độc lập tự điều chỉnh cho những blob.

Sau ấy, DS sẽ bổ sung thêm:

  • PBS.
  • DAS.
  • 2D KZG scheme.
  • Proof of Custody.

EIP-4488: Giải pháp giảm chi chi phí lúc calldata

PDS là 1 bước đệm tuyệt vời cho DS. Tuy nhiên, PDS là 1 triển khai phức tạp, nhiều người cho rằng PDS khó có khả năng mainnet trong Shanghai Improve sắp tới.

EIP-4488 là 1 phương pháp triển khai dễ thực hành hơn. Nó ko hoàn hảo hoàn toàn, nhưng cũng phân phối lời giải cho bài toán liên quan chi phí Calldata của những Rollup protocol. EIP-4488 sẽ giúp giảm chi chi phí lúc calldata có tổng giới hạn calldata.

Xem Thêm  ORC-20 là gì? Điều bạn cần biết trước lúc FOMO theo trào lưu như BRC-20

Hạn chế của EIP-4488 là nó ko liên quan nhiều tới tầm nhìn tổng thể DS, vì vậy giao thức sẽ cần nâng cấp nhiều lúc chuyển sang DS sau này. Lộ trình tiềm năng có thể là triển khai EIP-4488 trong Shanghai Improve trong 6 tháng nữa. PDS sẽ được triển khai trong 6-12 tháng sau ấy.

Nội dung EIP-4488 có 2 phần chính:

  • Giảm chi chi phí calldata từ 16 fuel mỗi byte xuống 3 fuel mỗi byte.
  • Thêm giới hạn 1 MB calldata cho mỗi block, cùng thêm 300 byte cho mỗi thanh toán (tổng số tối đa theo lý thuyết là ~ 1,4 MB).

Giảm chi chi phí calldata từ 16 fuel mỗi byte xuống 3 fuel mỗi byte tương đương quản lý giảm 80% chi chi phí đăng dữ liệu của những Rollup lên Ethereum.

Mặc hăng hái của nó là giảm chi phí thanh toán trên Rollup protocol. Tuy nhiên, tải trọng duy trì của EIP-4488 cao hơn nhiều so có PDS. Sự vươn lên là trạng thái mạng trên Ethereum sẽ nâng cao mạnh sau lúc triển khai EIP-4488, làm nó trở nên nút thắt cổ chai để chạy 1 node, liên quan tới tính phi tập trung của mạng.

Tác động của PDS và EIP-4488

Giảm chi phí thanh toán trên những Rollup Protocol

Ở mức độ dùng hiện tại, chi phí calldata chiếm khoảng 25-35% số chi phí thanh toán mà khách hàng trả trên những Rollup protocol như Arbitrum hay Optimism.

  • EIP-4488 giảm chi chi phí calldata từ 16 fuel mỗi byte xuống 3 fuel mỗi byte. Điều này sẽ giảm chi chi phí calldata tổng thể của những Rollup protocol xuống 81.25%.
  • PDS tạo ra 1 cơ chế định giá mới cho việc đăng information lên Ethereum, chi chi phí có thể giảm từ 85-95% so có phương pháp calldata được dùng hiện tại.

Chi chi phí đăng dữ liệu lên Ethereum là chi chi phí biến đổi, nó phụ thuộc vào mức độ hoạt động của khách hàng trên Rollup protocol. Hiện tại, chi chi phí này chỉ chiếm từ 25-35% trên tổng chi phí thanh toán mà khách hàng chi trả.

Tuy nhiên, giả dụ nhu cầu dùng nâng cao lên 100-1,000 lần thì tỷ trọng của chi chi phí đăng dữ liệu lên Ethereum trên tổng chi chi phí khách hàng chi trả sẽ nâng cao mạnh. Vì thế, EIP-4488 và PDS là những nâng cấp siêu cần thiết cho Ethereum trong trung và dài hạn.

Độ khó của việc triển khai EIP-4488 và PDS

EIP-4488 là 1 EIP tương đối đơn giản. Nó có thể được hoàn thành trong vòng vài tuần. Dù rằng nó ko hoàn hảo nhưng có thể đưa ra lời giải cho bài toán hiện tại.

PD là lựa chọn hoàn hảo cho mục tiêu triển khai DS nhưng nó lại phức tạp, đề nghị 1 số thay đổi trên những ứng dụng khách lớp đồng thuận và lớp thực thi để xử lý những blob information. Bên cạnh ấy, để có thể tận dụng tối đa lợi ích của mình, nó còn đề nghị những thay đổi đáng đề cập trên những nhóm tổng hợp. Vì thế, việc có thể triển khai PDS trong Shanghai Improve hay ko còn là 1 câu hỏi lớn.

DS là 1 thiết kế sharding thanh lịch hơn nhưng rõ ràng là nó vẫn nằm ở khía cạnh khái niệm và chưa có nguyên mẫu nào được triển khai ở hiện tại, và thời kì đưa chúng lên mainnet cũng sẽ mất tới hàng 5 trời. Trong thời kì ấy liệu chúng ta có thể tìm ra thiết kế sharding khác ưu thích cho tầm nhìn tập trung Rollup hay ko?

Tổng kết

DS là tầm nhìn dài hạn của Ethereum, nhưng hiện tại chưa có nguyên mẫu nào được triển khai. Trước mắt, PDS là phương pháp thực tế hơn để hiện thực hóa tầm nhìn DS. Tuy nhiên, nó vẫn siêu phức tạp để mainnet trong Shanghai Improve vào Q2/2023.