Data Availability - Dữ Liệu Khả Dụng trên Blockchain
✍️Tracy
Trong tháng 5, các mạng layer 2 đã chứng kiến chi phí gửi dữ liệu đến mạng Ethereum đạt all time high với 10.700 Ether (ETH), tương đương 19 triệu USD, đánh dấu mức tăng gấp 5 lần so với tổng phí mà các layer 2 phải trả vào tháng 1/2023.
https://www.theblock.co/data/scaling-solutions/scaling-overview
L2 data fee tăng vọt là do phí giao dịch trên Ethereum bị đẩy lên rất cao trong tháng 5. Vậy phí giao dịch trên các layer 2 liên quan như thế nào đến Ethereum và làm cách nào để các layer 2 này cải thiện chi phí trong tương lai? Có rất nhiều giải pháp được đưa ra bao gồm các nỗ lực từ chính các layer này, từ bên thứ 3 và cả trên mạng chính Ethereum. Trong bài này, chúng ta sẽ tìm hiểu các giải pháp liên quan đến tính khả dụng của dữ liệu (data availability).
Vậy data availability là gì? Chúng đóng vai trò gì trong việc giảm phí cho các layer 2?
Các giải pháp mở rộng blockchain thường xoay quanh thông lượng, phí giao dịch, bảo mật…nhưng tính khả dụng của dữ liệu lại ít được chú ý. Ngoài việc thực hiện giao dịch, đạt được sự đồng thuận về thứ tự giao dịch thì tính khả dụng của dữ liệu cũng là một trong các yếu tố cốt lõi của blockchain, cho dù đó là modular blockchain hay monolithic blockchains.
Tính khả dụng của dữ liệu (Data Availability - DA) đề cập đến việc tất cả dữ liệu liên quan đến giao dịch đều có sẵn cho các node trên mạng blockchain. DA rất quan trọng vì chúng cho phép node thực hiện việc xác minh các giao dịch và tính toán trạng thái của blockchain một cách độc lập mà không cần phải tin tưởng lẫn nhau.
Phân loại node trên Ethereum
Ethereum node là một máy tính chạy phần mềm (software client) và được kết nối với các node khác trên mạng. Các node giao tiếp với nhau để xác thực giao dịch, lưu trữ dữ liệu về trạng thái (state) của chain.
Ethereum có 3 loại node:
Full node: Lưu trữ và duy trì dữ liệu của các block gần đây (chẳng hạn 128 blocks cuối cùng). Dữ liệu này được dùng để tương tác với mạng, tái tạo các trạng thái cũ hơn theo yêu cầu để xác thực và sản xuất block mới. Full node luôn được cắt tỉa (pruning) thường xuyên để duy trì trạng thái gần nhất của chain. Các node luôn phải đảm bảo đồng bộ hóa trạng thái mới nhất trên Ethereum nếu không chúng sẽ làm việc với dữ liệu lỗi thời và tính toán sai.
Light node: Thay vì tải xuống mọi block, light node chỉ tải xuống block headers. Block header chỉ chứa thông tin tóm tắt về nội dung của block. Light node yêu cầu thông tin cần thiết từ full node sau đó có thể độc lập xác minh dữ liệu. Light node cho phép người dùng tham gia vào mạng Ethereum mà không cần phần cứng mạnh hoặc băng thông cao.
Archive node: chứa tất cả dữ liệu lịch sử của blockchain kể từ genesis block (khối đầu tiên). Chúng ta có thể truy vấn dữ liệu từ bất cứ block nào, điều này rất hữu ích đối với việc phân tích chain hoặc block explore.
Vì sao data availability layer lại cần thiết?
Điều gì sẽ xảy ra nếu block proposer từ chối công bố dữ liệu giao dịch và chỉ phát đi block header Trong trường hợp này, full node sẽ không thể kiểm tra tính hợp lệ của block được đề xuất. Hơn nữa, light node chỉ tải xuống block header có thể dễ dàng bị lừa chấp nhận block không hợp lệ.
Để tránh vấn đề này, mạng luôn yêu cầu block producer cung cấp dữ liệu block cho phần còn lại của mạng. Nhưng việc buộc một lượng lớn các node tải xuống, xác minh và lưu trữ cùng một dữ liệu sẽ làm giảm đáng kể thông lượng trên mạng. Đây là lí do tại sao Ethereum chỉ có thể xử lí khoảng 12 giao dịch mỗi giây.
Ngoài ra, lưu trữ dữ liệu onchain cũng dẫn đến kích thước của blockchain tăng theo cấp số nhân (chẳng hạn cùng một dữ liệu nhưng 1000 node tải xuống sẽ khác với 2000 node tải xuống), điều này càng làm tăng yêu cầu phần cứng đối với full node để lưu trữ trạng thái —> rào cản đối với các node mới muốn gia nhập —> giảm tính phân quyền của blockchain.
Các giải pháp cho vấn đề này đều nhằm mục đích cung cấp sự đảm bảo rằng dữ liệu giao dịch được cung cấp đã được xác minh và node không cần phải tải xuống và lưu trữ dữ liệu đó.
Giải pháp được đưa ra là tạo data availability layer. Có hai loại:
DA layer “onchain”: tách DA khỏi execution layer và consensus layer, DA layer này vẫn là một phần của blockchain, ưu điểm là tính sẵn có của dữ liệu cao, nhưng như đã nói ở trên chúng hạn chế khả năng mở rộng của chain.
DA layer “offchain”: lưu trữ dữ liệu bên ngoài blockchain, có thể là một blockchain khác hoặc bất kỳ hệ thống lưu trữ dữ liệu nào do các nhà phát triển lựa chọn.
Một số giải pháp để giảm phí giao dịch trên các layer 2 dựa vào DA
Thông thường, các layer 2 rollup sẽ tính toán các giao dịch off-chain nhưng dữ liệu vẫn phải được lưu trữ on-chain trên Ethereum. Do đó, L2 fee sẽ bao gồm 2 phần:
Phí gửi dữ liệu tới L1, thường gọi là calldata fee
Phí trả cho Sequencer trên L2 vì họ phải tính toán để phục vụ giao dịch, được gọi là L2 fee.
Các layer 2 sẽ gửi dữ liệu đến layer 1 Ethereum dưới dạng calldata, việc gửi này rất tốn kém vì chúng được xử lý bởi tất cả các node Ethereum và tồn tại mãi mãi trên Ethereum. Việc gửi calldata chiếm phí khá cao trong phí giao dịch, điều này làm giới hạn mức độ rẻ của phí trên các layer 2. Do đó, các layer 2 đã sử dụng nhiều giải pháp khác nhau để giảm phần calldata fee.
Data availability committees (DACs) - nỗ lực cải thiện từ chính layer
DAC là tập hợp các thực thể được ủy quyền có nhiệm vụ giữ các bản sao dữ liệu blockchain off-chain. DAC thường được tạo thành từ 7 - 10 thực thể đáng tin cậy. DAC cũng xuất bản các chứng thực lên chuỗi để chứng minh rằng dữ liệu nói trên thực sự có sẵn.
Ưu điểm: chi phí vận hành thấp
Nhược điểm: vì kích thước nhỏ, ít thành viên nên dễ bị tấn công hoặc thông đồng giữa các thành viên để cung cấp dữ liệu độc hại. Nếu một ngưỡng thành viên trong uỷ ban thông đồng có thể khiến chain bị đóng băng hoặc lấy cắp tiền trên hệ sinh thái mà nó phục vụ. Do đó, thông thường DAC sẽ được tạo thành từ các thực thể có uy tín trong ngành và vẫn bị trừng phạt kinh tế nếu cung cấp dữ liệu sai.
Immutable (triển khai trên Starkex) và Arbitrum Nova là một trong những ứng dụng/layer 2 dùng DAC. Việc lưu trữ dữ liệu off-chain (không lưu trữ trên Ethereum) đã giúp phí giao dịch giảm đáng kể. Tuy nhiên, vì các nhược điểm kể trên, một giải pháp khác đã được đưa ra: Data availability network.
Data availability network - nỗ lực cải thiện phí từ bên thứ 3
Data availability networks thường là blockchain với mục đích duy nhất là lưu trữ dữ liệu, chúng tương tự như DAC, nhưng được thiết kế để cải tiến các nhược điểm của DAC.
Thay vì các thực thể có uy tín, bất kì ai cũng có thể tham gia hệ thống bằng cách staking để trở thành node của blockchain —> tăng tính phân quyền.
Cải thiện tính trustlessness thông qua ưu đãi kinh tế. Mỗi node được giao nhiệm vụ lưu trữ dữ liệu phải stake một số tiền vào hợp đồng thông minh, có thể bị cắt giảm nếu chúng không cung cấp dữ liệu theo yêu cầu.
Không giống DAC thông thường chỉ có vài thành viên, data availability là một tập hợp số lượng lớn các node, điều này giúp khó bị tấn công, khó thông đồng cũng như tăng tính minh bạch.
Celestia là một trong các blockchain triển khai data availability network, nhưng hiện tại vẫn chưa mainnet. Celestia dự kiến sẽ là một trong các nhà cung cấp DA layer trên OP Stack bên cạnh Ethereum.
EIP-4844 - nổ lực cải thiện phí từ Ethereum
Trong cuộc họp ngày 8/6, các nhà phát triển Ethereum đã thông báo về phạm vi đầy đủ của bản nâng cấp sắp tới, được gọi là Dencun. Dencun dự kiến diễn ra vào cuối năm 2023 bao gồm 5 EIP, được thiết kế để thêm dung lượng lưu trữ cho dữ liệu và giảm phí.
Trọng tâm của bản nâng cấp này là EIP-4844 (proto-danksharding). Tính năng này sẽ giúp mở rộng quy mô blockchain bằng cách tạo thêm không gian cho data blob. Nâng cấp Dencun dự kiến sẽ giúp giảm phí gas cho các layer 2 rollup. Để hiểu rõ về EIP-4844, chúng ta bắt đầu tìm hiểu từ sharding.
Sharding là một bước trong lộ trình mở rộng quy mô của Ethereum liên quan đến việc chia blockchain thành các sub-chain hoạt động song song, cụ thể Ethereum sẽ chia thành 64 shard chain hoạt động độc lập, các node chỉ cần tải dữ liệu ở những phân đoạn được chỉ định của chúng. Điều này có nghĩa là tất cả full node không cần phải lưu trữ cùng một dữ liệu như hiện nay nữa.
Danksharding là loại kiến trúc sharding mới hơn được đề xuất cho mạng Ethereum. Thiết kế mới này giới thiệu một số khuôn khổ đơn giản hơn so với sharding trước đó. Trong khi mục đích của sharding là tăng thông lượng giao dịch thì danksharding lại lấy Rollup làm trung tâm bằng cách cung cấp thêm không gian cho "data blobs".
Danksharding hoạt động thông qua kĩ thuật lấy mẫu tính khả dụng của dữ liệu (data availability sampling), cho phép các node trên Ethereum xác minh một lượng lớn dữ liệu chỉ bằng cách lấy mẫu một vài phần của nó. Về bản chất chúng cho phép Etherum xử lí lượng dữ liệu lớn hơn trước.
Data availability sampling (DAS) - cơ chế để xác minh tính khả dụng dữ liệu mà node không cần tải xuống tất cả dữ liệu. Mỗi node chỉ tải xuống một phần nhỏ tổng dữ liệu, client sẽ tải dữ liệu từ mỗi đốm màu (blob) thay vì giữa các blob. Mỗi node check mọi blob, nhưng thay vì tải xuống toàn bộ, chúng chọn ngẫu nhiên một chỉ số (incade) trong blob (ví dụ: N = 20), và cố gắng tải dữ liệu chỉ ở những vị trí đó.
DAS giúp mạng Ethereum có thể xử lý số lượng dữ liệu lớn hơn, cung cấp một mạng rẻ hơn và nhanh hơn.
Nhưng Danksharding có phần khó hiểu và phức tạp để triển khai, Ethereum tiếp tục đề xuất EIP-4844 triển khai Proto-danksharding. EIP-4844 nhằm mục đích thực hiện hầu hết logic kĩ thuật và đặt nền móng cho Danksharding.
EIP-4844 giới thiệu một định dạng mới được gọi là “blob-carrying transactions”, cho phép đính kèm blob vào block. Blob sẽ chứa một lượng lớn dữ liệu, tương thích với data availability sampling (DAS) và chi phí thấp hơn nhiều so với calldata. Điều này có nghĩa là các rollup có thể gửi dữ liệu của họ với giá rẻ hơn.
Feist và Buterin đã giải thích trong podcast Bankless , Ethereum block hiện có thể mang 50-100 kb dữ liệu, nhưng với proto-danksharding, chúng có thể mang gần 1 mb. Mặc dù con số này ít hơn 16 mb được dự kiến trong Danksharding (khi mà kĩ thuật DAS được ra mắt), nhưng việc tăng gấp 10 lần tính khả dụng của dữ liệu sẽ làm giảm đáng kể chi phí khi sử dụng rollup.
Lưu ý rằng blob chỉ chỉ tồn tại trong lớp đồng thuận. Việc bổ sung blob trong các giao dịch sẽ taọ ra một thị trường phí mới tách biệt với thị trường phí hiện tại. Một khi EIP-4844 được triển khai, các giải pháp rollup sẽ được hưởng lợi nhiều nhất vì các giao dịch được đăng lên Etherum sẽ rẻ hơn 10-100 lần.
Hiện tại các rollup vẫn đang sử dụng DAC và dự định sử dụng DA network để giảm tối đa phí giao dịch. Nếu EIP-4844 triển khai thành công vào cuối năm sẽ khiến phí giao dịch trên các layer rollup trở nên rẻ hơn và có thể làm cho các dự án làm về DA network khác như Celestia trở nên kém ưu thế về cả chi phí lẫn bảo mật.
Tham khảo:




