Trong bối cảnh blockchain và crypto ngày càng được chấp thuận, làm cách nào mà Ethereum có thể mở rộng để đáp ứng được số lượng người dùng đang tăng cao trên nền tảng của mình? Danksharding - một giải pháp được đề xuất để giải quyết vấn đề về khả năng mở rộng của Ethereum - ra đời. Hãy cùng xem xét cách Danksharding hoạt động, cũng như các ứng dụng và tiềm năng của nó.

Danksharding có thể giải quyết vấn đề về khả năng mở rộng của Ethereum
Danksharding có thể giải quyết vấn đề về khả năng mở rộng của Ethereum 

Danskharding là gì?

Danksharding (DS) là thiết kế sharding mới, tập trung nâng cấp các giải pháp Layer 2 Rollup nhằm mở rộng tối đa không gian cho các Rollup Chain. Thông qua Danksharding, Ethereum cung cấp nhiều không gian hơn cho các rollup, giúp các giải pháp Rollup có thể gửi một khối lượng lớn dữ liệu của họ xuống Ethereum.

 

Để thực hiện được quy trình trên, Danksharding đã giới thiệu một định dạng giao dịch mới gọi là "blob carrying transactions". Định dạng này cho phép người gửi giao dịch có thể đính kèm một khối dữ liệu lớn vào một giao dịch.

 

Nhờ đó, Ethereum sẽ cung cấp nhiều không gian hơn cho các tx data (dữ liệu giao dịch) trên các Rollup protocol và sẽ giúp tăng khả năng xử lý cũng như lưu trữ dữ liệu của Ethereum. Bản thân Ethereum không cố gắng diễn giải trực tiếp các blob data này. Thay vào đó, giao thức sẽ sử dụng một "bộ quy tắc" được gọi là KZG commitment để xác minh blobs data này.

Bộ quy tắc KZG commitment
Bộ quy tắc KZG commitment

Về mặt kỹ thuật, các block mà Rollup gửi xuống Ethereum sẽ được gửi tới các Ethereum Shard khác nhau (sẽ có tổng cộng 64 shard) để xác minh song song các block từ đó giúp cho giao dịch trên các Rollup Chain trở nên nhanh hơn và rẻ hơn.

 

Như vậy, có thể nói, Danksharding chính là cánh cổng giúp mạng lưới Ethereum được mở rộng, nhưng Ethereum buộc phải trải qua một số nâng cấp giao thức để đạt được điều đó. Trong đó, Proto-Danksharding (PDS) chính là bước đệm giúp mạng lưới đạt tới đích đến trên. 

 

Cả DS và PDS đều nhằm mục đích giảm phí các giao dịch trên Layer-2 cho người dùng, mở rộng Ethereum và có thể hỗ trợ dễ dàng hàng trăm rollup riêng biệt cũng như thực hiện hơn 100.000 giao dịch chỉ trong một giây.

 

Đọc thêm: Nâng cấp Dencun là gì? Bước tiến mới giúp Ethereum giảm phí giao dịch

 

Cả Danksharding và Proto-Danksharding đều không tuân theo mô hình "sharding" truyền thống vốn có mục đích chia blockchain thành nhiều phần. Thay vào đó, Danksharding lấy mẫu dữ liệu phân tán trên blob để mở rộng quy mô Ethereum. Đôi khi, mô hình trên được gọi là "phân mảnh dữ liệu" (data-sharding).

Giải thích dễ hiểu phân mảnh dữ liệu (data-sharding) là gì
Giải thích dễ hiểu phân mảnh dữ liệu (data-sharding) là gì

Danksharding là mục tiêu dài hạn của Ethereum, một giải pháp hứa hẹn cho vấn đề về khả năng mở rộng của hệ thống. Để đưa tầm nhìn này lên mainnet, Ethereum cần thực hiện nhiều module công việc khác nhau, bao gồm DAS, PBS, KZG commitments và Censorship Resistance List (crList), cũng như các công việc liên quan đến quản lý trạng thái mạng (network state).

 

Việc triển khai Danksharding vẫn còn nhiều thách thức. Thời gian mainnet của Danksharding phụ thuộc vào sự ra mắt của các module liên quan, và nếu không có sự thay đổi hay chậm trễ đáng kể nào khác, thời gian này có thể kéo dài đến 3-4 năm nữa (2025-2026).

 

Mặc dù việc triển khai Danksharding đòi hỏi nhiều thời gian và công sức, nhưng nó sẽ đem lại những lợi ích to lớn cho cộng đồng Ethereum. Danksharding sẽ nâng cao khả năng mở rộng và tăng tốc giao dịch trên nền tảng, giúp Ethereum trở thành một hệ thống blockchain mạnh mẽ và tiên tiến hơn.

Danksharding mang lại nhiều lợi ích to lớn cho cộng đồng Ethereum
Danksharding mang lại nhiều lợi ích to lớn cho cộng đồng Ethereum

Các thuật ngữ liên quan

Các thuật ngữ sau đây sẽ được sử dụng thường xuyên xuyên suốt chủ đề:

Sharding

Đây là một phương pháp chia nhỏ cơ sở dữ liệu theo chiều ngang giúp mạng xử lý giao dịch dễ dàng hơn. Việc này giúp giảm thiểu khối lượng công việc và tăng hiệu quả xử lý dữ liệu, đồng thời không ảnh hưởng tới sự phi tập trung của mạng lưới. Tuy nhiên, việc triển khai phương pháp này có độ khó cao và tồn tại rất nhiều rủi ro liên quan.

 

Trong hầu hết các mạng blockchain, đa phần các node cần được đồng thuận để có thể xác minh các giao dịch. Nhược điểm của quy trình này là các mạng chỉ có thể xử lý đồng thời một số lượng nhỏ các giao dịch.

Sharding là phương pháp chia nhỏ cơ sở dữ liệu theo chiều ngang
Sharding là phương pháp chia nhỏ cơ sở dữ liệu theo chiều ngang

Hơn nữa, các node phải lưu trữ toàn bộ lịch sử của blockchain. Dù đây là yếu tố giúp các blockchain như Bitcoin và Ethereum vẫn giữ được tính phi tập trung và có thể ngăn ngừa hành vi lừa đảo, nhưng cũng vì vậy mà các mạng này không thể mở rộng mạng lưới của mình.

 

Vì vậy, làm thế nào các mạng blockchain sẽ giải quyết các vấn đề này mà không đánh đổi tính bảo mật và phi tập trung? Sharding ra đời giảm nhẹ vấn đề trên. Thông qua sharding, các node có thể bỏ qua yêu cầu tải về toàn bộ lịch sử của chain và tránh việc xác minh tất cả các giao dịch. Nhờ đó, các mạng hoạt động hiệu quả và mở rộng hơn, kéo theo đó là ảnh hưởng tích cực đến trải nghiệm người dùng.

 

Danksharding và sharding có liên quan với nhau, nhưng chúng khác nhau. Mặc dù sharding là thiết kế tổng thể để phân tách các mạng nhằm nỗ lực mở rộng quy mô Ethereum, nhưng Danksharding là một bước để hiện thực hóa mục tiêu này.

Sự khác biệt của sharding truyền thống và danksharding
Sự khác biệt của sharding truyền thống và danksharding

Proto - Danksharding

Proto-Danksharding, còn được biết đến với tên gọi EIP-4844, là một cách giúp rollups thêm dữ liệu rẻ hơn vào các block. Tên gọi này xuất phát từ hai nhà nghiên cứu đã đề xuất ý tưởng là Protolambda và Dankrad Feist.

 

Hiện tại, rollups vẫn chưa thật sự giúp giao dịch của người dùng trở nên rẻ hơn bởi trên thực tế, các giải pháp trên phải truyền giao dịch của mình thông qua CALLDATA. Quy trình trên rất tốn kém vì mặc dù rollups chỉ cần dữ liệu trong một thời gian ngắn, nó phải được xử lý bởi tất cả các node Ethereum và tồn tại trên chuỗi mãi mãi.

 

Vì vậy, Proto-Danksharding đã giới thiệu khái niệm mới là Blob data có khả năng được gửi và đính kèm vào các khối. Dữ liệu trong các blob này không thể truy cập được cho EVM và sẽ tự động xóa sau một khoảng thời gian cố định (1-3 tháng). Điều này đồng nghĩa với việc rollups có thể gửi và truyền dữ liệu cho người dùng với giá cả phải chăng.

Proto-Danksharding là một cách giúp rollups thêm dữ liệu rẻ hơn vào các block
Proto-Danksharding là một cách giúp rollups thêm dữ liệu rẻ hơn vào các block

Rollup

Giải pháp mở rộng off-chain giúp tăng thông lượng của base layer mà không yêu cầu thay đổi giao thức hiện có. Thông thường, khi số lượng người dùng và giao dịch trên blockchain tăng lên, khả năng xử lý giao dịch sẽ bị giới hạn. Vì vậy, giải pháp rollup đã được phát triển để giải quyết vấn đề này.

 

Các giải pháp rollup di chuyển việc tính toán, lưu trữ trạng thái (execution) off-chain. Nhờ đó, blockchain có thể xử lý nhiều giao dịch hơn, mà không ảnh hưởng đến hiệu suất hoạt động. Điều này rất hữu ích đối với các ứng dụng blockchain như DeFi, nơi số lượng giao dịch tăng lên mỗi ngày.

 

Sau đó, chúng đồng bộ hóa trạng thái lên base layer, dữ liệu giao dịch có thể được lưu trữ on-chain hoặc off-chain tùy thuộc mục đích sử dụng của rollup protocol. Vì vậy, người dùng blockchain có thể lưu trữ dữ liệu của họ dưới dạng off-chain, giúp tiết kiệm chi phí lưu trữ.

 

Ngoài ra, giải pháp rollup còn giúp giảm đáng kể chi phí gửi và nhận tiền. Với số lượng giao dịch tăng lên, việc tính toán và xử lý giao dịch trên blockchain sẽ tốn kém hơn. Vì vậy, giải pháp off-chain của rollup sẽ giảm thiểu chi phí này và giúp người dùng tiết kiệm chi phí khi thực hiện các giao dịch trên blockchain.

Giải pháp mở rộng off-chain giúp tăng thông lượng của base layer
Giải pháp mở rộng off-chain giúp tăng thông lượng của base layer

Blob (Hay Blob data)

Đối tượng lớn nhị phân (Binary Large Objects), thường được gọi tắt là “blobs”, không phải là khái niệm mới trong lập trình nhưng lại có khả năng khác biệt trong hợp đồng thông minh.

 

Trong hợp đồng thông minh, các blobs được đề xuất bởi những người đề xuất block (block proposers) và chúng được ví như gói lớn hoặc gói di động lớn có thể chứa dữ liệu rẻ hơn. Mỗi khối có thể chứa một kích thước giới hạn của những bọc lớn này.

 

Một blob điển hình bao gồm phần thân và phần tiêu đề (header). Phần thân luôn lưu trữ các phần dữ liệu có liên quan trực tiếp đến các giao dịch. Đối với phần tiêu đề, nó chứa các mẩu thông tin nhỏ hơn, chẳng hạn như chữ ký của người đề xuất.

Vị trí của blob trong mạng lưới Ethereum
Vị trí của blob trong mạng lưới Ethereum

Trong Proto-Danksharding, mỗi giao dịch luôn có một blob song sinh và mục tiêu cuối cùng của việc này là làm cho giao dịch rẻ hơn. Để nâng cao khả năng mở rộng, mỗi vị trí trong Proto-Danksharding hầu hết sẽ có băng thông dữ liệu 1 MB.

 

Lưu ý rằng, trong Danksharding, các giao dịch sẽ không nằm trong mempool thông thường mà thay vào đó là một mempool khác. Máy ảo Ethereum chỉ có thể truy cập dữ liệu rẻ hơn được gói trong một blob, chứ không phải bản thân các blobs.

Bối cảnh ra đời của Dansharding

Hiện tại, các nền tảng Blockchain đang gặp phải một vấn đề khó giải quyết: Phí cao. Theo đó, người dùng sẽ trả phí cho các mạng blockchain vì các node của mạng lưới phải tham gia lưu trữ, xác thực và bảo mật dữ liệu trên Blockchain.

 

Nhưng tại sao phí gas lại tăng cao? Câu trả lời là do kinh tế cung-cầu. Càng nhiều người dùng thì không gian block trên Blockchain càng phải mở rộng, trong khi những blockchain này lại chỉ có khả năng xử lý nhỏ. Ví dụ, Ethereum, nền tảng hàng đầu cho các ứng dụng phi tập trung, có khả năng xử lý là 15 TPS (Giao dịch mỗi giây).

Phí gas tăng vì lý do cung - cầu
Phí gas tăng vì lý do cung - cầu

Trước đây, nhiều chuyên gia đã đặt giả sử có thể tăng tăng khả năng xử lý bằng cách tăng kích thước block và lưu trữ tất cả mọi thứ trong đó. Ví dụ, kích thước block trung bình của Ethereum dao động từ 50-100 kilobyte, là một con số tương đối khiêm tốn. Vậy hãy thử tăng nó lên 1MB và mọi vấn đề được giải quyết. Nhưng phương án trên vẫn không khả thi.

 

Như đã chia sẻ, mỗi node tham gia Blockchain phải tải xuống, xác thực và lưu trữ mọi thông tin. Vì vậy, phương án trên sẽ tăng đáng kể yêu cầu lưu trữ và mạng của các node tham gia. Điều đó chỉ khiến các công ty lớn - những thực thể có khả năng xây dựng hệ thống lưu trữ và tính toán tốt - càng tập trung quyền lực, từ đó, Blockchain sẽ bị tập trung hơn.

 

Theo đó, phương án khả dĩ nhất là phải cải thiện một số trách nhiệm của Blockchain mà không đánh đổi các trách nhiệm quan trọng khác.

 

Blockchain có 4 trách nhiệm chính:

 

  • Execution: Thực hiện các giao dịch và thay đổi trạng thái ví.
  • Settlement: Xác minh và giải quyết các giao dịch rollups.
  • Consensus: Cung cấp thứ tự và tính cuối cùng cho các giao dịch.
  • Data Availability: Chứa dữ liệu đã được chứng minh là hợp lệ.
Blockchain có 4 trách nhiệm chính
Blockchain có 4 trách nhiệm chính

Trong đó, Monolithic blockchain xử lý tất cả các trách nhiệm trên một Layer duy nhất và sẽ chia sẻ các trách nhiệm cho nhiều mạng lưới để tối ưu hiệu suất và tăng khả năng mở rộng.

 

Từ khi blockchain ra đời, đã có ba vấn đề cần giải quyết: khả năng mở rộng, độ phi tập trung và tính bảo mật. Những vấn đề này được gọi là "Blockchain Trilemma" và chỉ có thể giải quyết 2/3 vấn đề. 

 

Các monolithic blockchain đã thử nhiều cách để giải quyết tất cả các hạn chế, nhưng chưa có một chain nào thành công. Việc cố gắng xử lý tất cả trên một mạng lưới đã tạo ra nhiều vấn đề, ví dụ như giảm số lượng node đi sẽ giảm tính bảo mật và độ phân quyền của mạng lưới.

 

Trong bối cảnh đó, một giải pháp mới ra đời - Modular blockchain, giúp tối ưu được nguồn lực của mỗi bộ phận và giúp tạo ra một sản phẩm hiệu quả hơn, cùng với khả năng mở rộng tuyệt vời.

Sự khác biệt giữa Monolithic và Modular blockchain
Sự khác biệt giữa Monolithic và Modular blockchain

Với mục tiêu chuyển mình thành Modular blockchain, năm 2019, các nhà phát triển Ethereum đồng thuận với roadmap sau: chuyển PoW sang PoS (giai đoạn 0) → data sharding (giai đoạn 1) → execution sharding (giai đoạn 2).

 

Thiết kế sharding ban đầu của Ethereum nhằm mục đích execution sharding. Chain chính sẽ trở thành DA & settlement layer, còn các shard sẽ thực thi code. Một trong những điểm quan trọng là việc xáo trộn các validator giữa các shard giữa các epoch.

 

Tuy nhiên, thiết kế này gây phức tạp và nhiều rủi ro, ví dụ như shard dễ bị tấn công hơn và quá trình chứng thực khó đồng bộ. Do đó, lộ trình phát triển của Ethereum đã chuyển sang tập trung vào Rollup và thiết kế sharding mới Danksharding (DS) do Dankrad Feist đề xuất. Đó chính là bối cảnh DS ra đời.

Dankrad Feist - Người thiết kế nên danksharding
Dankrad Feist - Người thiết kế nên danksharding

Lý do chính khiến Ethereum đề xuất Danksharding

Như đã chia sẻ, lý do chính khiến Danksharding ra đời là nhằm giải quyết vấn đề tính mở rộng trong blockchain Ethereum. Chính vì độ nổi tiếng của Ethereum cũng như hệ sinh thái đa dạng đã gây ra tình trạng tắc nghẽn mạng, chậm chạp trong giao dịch và khiến phí gas tăng cao.

 

Để giải quyết chứng ngại vật này, Danksharding chia mạng thành một số shards. Mỗi shard là một blockchain riêng biệt hoạt động độc lập và cho phép xử lý song song các giao dịch. Nhờ đó, mainnet có thể xử lý hiệu quả hàng ngàn giao dịch mỗi giây.

 

Ngoài ra, một lý do khác khiến Ethereum trình làng Danksharding là nhằm tăng tính phi tập trung và giới hạn quyền lực của miner và ngăn chặn MEV.

MEV đang dần trở thành con bài giúp miner trục lợi
MEV đang dần trở thành con bài giúp miner trục lợi

MEV là viết tắt của "Miner Extractable Value" (giá trị có thể khai thác bởi người đào). Nó đề cập đến khả năng của các người đào trong việc tận dụng và trích xuất giá trị từ các giao dịch trong một mạng blockchain.

 

Vấn đề của MEV xuất phát từ việc các giao dịch trong một mạng blockchain được thực hiện theo một thứ tự nhất định trong mỗi khối. Điều này cho phép các người đào có quyền lựa chọn và ưu tiên các giao dịch để tận dụng lợi ích tài chính cao nhất có thể. Người đào có thể thực hiện các hành động như:

 

  • Đặt trước (front-running): Người đào có thể thực hiện các giao dịch trước các giao dịch khác để tận dụng thông tin về giao dịch sắp tới. Ví dụ, nếu người đào biết rằng một giao dịch lớn sẽ được thực hiện, họ có thể đặt trước giao dịch của riêng mình để mua hoặc bán trước khi giá tăng hoặc giảm.
  • Đánh cắp thông tin (information leakage): Khi một giao dịch không thành công hoặc bị từ chối, thông tin về giao dịch đó có thể rò rỉ và tiết lộ cho các người đào. Các người đào có thể tận dụng thông tin này để đặt trước hoặc thay đổi các giao dịch tiếp theo theo lợi ích của họ.

 

Vấn đề của MEV là nó có thể gây ra tình trạng bất công và làm mất niềm tin trong hệ thống blockchain, từ đó có thể ảnh hưởng xấu đến người dùng bình thường.

Giải thích đơn giản cơ chế của MEV
Giải thích đơn giản cơ chế của MEV 

Ngược lại, với danksharding, không ai biết nội dung của các giao dịch tùy chỉnh mà block creator cung cấp. Do đó, miner hoặc người đấu thầu không thể thay đổi thứ tự các giao dịch theo ý muốn và kiếm lợi nhuận bất công.

Mô hình hoạt động của Danksharding

Trong Danksharding, người tạo khối (block creator) và người đề xuất (proposer) là hai vai trò khác nhau.

 

Block creator gom góp các giao dịch và gửi chúng cho người đề xuất. Proposer chọn các giao dịch để thêm vào block và phân tán chúng. Sau khi chọn khối, người xây dựng khối sẽ xử lý nó.

 

Các nhà xây dựng khối và người đề xuất là hai vai trò khác nhau nhưng hoạt động tương đồng trong việc phát triển Ethereum.

Cơ chế hoạt động về mặt kỹ thuật của danksharding
Cơ chế hoạt động về mặt kỹ thuật của danksharding

Người xây dựng khối (Block builders) đẩy một yêu cầu để xác định thông tin nào sẽ đưa vào mỗi vị trí để từ đó tạo thành block. Sau đó, người đề xuất (proposer) sẽ chọn người trả giá cao nhất.

 

Khi một người xây dựng (builder) đã được chọn để giám sát một vị trí, họ có trách nhiệm xử lý toàn bộ khối. Phía oracle có nhiệm vụ đảm bảo rằng người xây dựng khối (block builder) được thực hiện đang làm việc công bằng và hạn chế sức mạnh của những người miner - MEV.

 

Trong một số trường hợp, oracle sẽ thay thế vai trò của người xây dựng khối (block builder). Lý do chính đằng sau việc thiết kế này là để hạn chế hai biện pháp kiểm soát không công bằng của những người miner - MEV:

 

  • Đầu tiên, những người miner có thể thực hiện quyền ưu tiên không công bằng bằng cách chọn giao dịch của họ hoặc giao dịch của những người họ biết.
  • Thứ hai, những người miner có thể chọn thủ công các giao dịch với người trả giá cao nhất, do đó để lại hàng triệu giao dịch khác trong mempool trong nhiều giờ hoặc nhiều ngày.

 

Tuy nhiên, với danksharding, danh sách giao dịch được sắp xếp theo thứ tự mà người xây dựng khối đệ trình, và không ai biết nội dung của danh sách giao dịch này trước. Điều này hạn chế sức mạnh của những người miner (sau The Merge chúng còn gọi là những người proposer) trong quá trình khai thác.

Mô hình hoạt động của Danksharding
Mô hình hoạt động của Danksharding

Tương lai của Ethereum và DankSharding

Kế hoạch của Ethereum trong những năm tới:

 

  • The Merge: Bản nâng cấp mạng lưới, chuyển từ PoW sang PoS - Đã hoàn thành
  • The Surge: Bản nâng cấp, tăng khả năng mở rộng bằng rollups và phân mảnh dữ liệu - Cuối năm 2023
  • The Scourge: Bản nâng cấp, tăng khả năng chống kiểm duyệt, phi tập trung và rủi ro giao thức từ MEV
  • The Verge: Bản nâng cấp giúp việc xác minh block trở nên dễ dàng hơn
  • The Purge: Bản nâng cấp giúp mạng lưới giảm chi phí tính toán khi chạy các node và đơn giản hóa giao thức
  • The Splurge: Bản nâng cấp, tinh chỉnh những tinh chỉnh chưa được tối ưu hoàn toàn.
Roadmap nâng cấp của Ethereum
Roadmap nâng cấp của Ethereum

Cho đến nay, Ethereum dựa vào layer 2 (rollups) để mở rộng mạng lưới. Như đã chia sẻ, rollups có thể được hiểu là một chain riêng biệt khác với chain chính Ethereum, với mục tiêu làm giảm phí và tắc nghẽn bằng cách tăng khả năng xử lý.

 

Đọc thêm: Nâng cấp Dencun là gì? Bước tiến mới giúp Ethereum giảm phí giao dịch

 

Trong quá trình này, rất nhiều dữ liệu được tạo ra và những thông tin này cần được lưu trữ để bất kỳ ai có thể xác nhận và xác minh. Vì vậy, Danksharding và Proto-Danksharding ra đời. Trong giao thức này, dữ liệu sẽ được chuyển từ dữ liệu giao dịch sang lưu trữ tạm thời mới và dữ liệu này chỉ có thể được sử dụng và duy trì bởi những người cần nó như sàn giao dịch, dịch vụ chỉ mục…

Tổng kết

Giải pháp Danksharding không chỉ giải quyết được một số vấn đề của giải pháp sharding gốc mà còn đóng một vai trò quan trọng trong việc hiện thực hóa công nghệ sharding lên blockchain của Ethereum. Mặc dù giải pháp này đòi hỏi nhiều yêu cầu về mặt kỹ thuật hơn, đặc biệt là với những cá nhân đóng vai trò builder, nhưng nó cũng mang lại nhiều lợi ích.

 

Danksharding cho phép chia nhỏ một block thành các phân đoạn nhỏ hơn, giúp tăng cường khả năng xử lý giao dịch và giảm thiểu tình trạng tắc nghẽn trong mạng lưới. Bên cạnh đó, Danksharding cũng cung cấp thêm tính năng bảo mật cho hệ thống, giúp tránh được các cuộc tấn công từ bên ngoài. Vì vậy, Danksharding được xem là một viên gạch quan trọng, tạo tiền đề cho những bước tiến tiếp theo trong việc phát triển công nghệ sharding trên blockchain của Ethereum.