Tìm hiểu sự tiến triển của vấn đề về Data Availability

Trong bài viết này, hãy cùng đội ngũ Coinvn tìm hiểu sự tiến triển của vấn đề liên quan đến Data Availability (DA).

9537Total views
Tim hieu su tien trien cua van de ve Data Availability - anh 1
Tìm hiểu sự tiến triển của vấn đề về Data Availability

Những ý chính

  • Celestia, Polygon Avail, EigenDA và zkPorter tiếp cận tính khả dụng của dữ liệu (DA) khác nhau để tìm kiếm thông lượng cao hơn.
  • DA đang truyền dữ liệu đến toàn bộ mạng lưới, điều này khó đảm bảo hơn với việc giảm yêu cầu về nút.
  • Danksharding sẽ cung cấp DA có thể mở rộng tại baselayer để rollup thuận tiện hơn.

Blockchain là dữ liệu có tổ chức, không có thứ tự chính xác và nếu sửa đổi dữ liệu thì sẽ không có blockchain. Việc quan trọng nhất từ hệ thống cần được đảm bảo là dữ liệu khối đã sửa đổi cần phải có sẵn cho phần còn lại của mạng để được kiểm tra. Và đó là vấn đề về tính khả dụng của dữ liệu (DA) đã được giới chuyên môn thảo luận từ rất lâu.

Vấn đề về tính khả dụng của dữ liệu là làm cho dữ liệu giao dịch có sẵn. Nếu không có dữ liệu được truyền phát tới các đối tác ngang hàng, khả năng của mạng để xác minh dữ liệu đã xử lý sẽ không tồn tại. Điều này là do các nhà sản xuất khối (công cụ khai thác và trình xác nhận) và trình tự phân tích có thể giữ lại hoặc tạo dữ liệu. Cả giao dịch hợp lệ và không hợp lệ đều phải được cung cấp.

Không gian của vấn đề

Việc biểu diễn dữ liệu và kiểu nút liên quan đến hệ thống DA ảnh hưởng đến sự mở rộng của DA. Dưới đây là một số khái niệm cần ghi nhớ:

Merkle Tree: Hàm băm là ánh xạ của bất kỳ kích thước dữ liệu nào thành một kích thước cố định. Một Merkle Tree là một cây băm, nó đại diện cho trạng thái của một blockchain vì cứ hai giao dịch được băm cho đến khi đạt được một gốc Merkle Tree duy nhất. Cấu trúc này cho phép các bằng chứng Merkle, có thể xác minh vị trí của đoạn dữ liệu trên cây. Các thành phần của Merkle Tree được sử dụng để biểu diễn dữ liệu, chẳng hạn như cây Patricia được Ethereum sử dụng.

Diagram, schematic  Description automatically generated

Phần đồng thuận (người xác thực và người khai thác) của một blockchain tuân theo các quy tắc hợp lệ để xác minh giao dịch nào nên ủng hộ và giao dịch nào nên từ chối. Sau đó, các khối được tạo ra sẽ được gửi đến phần còn lại của các nút để xác minh.

Mỗi khối trong blockchain chứa một tiêu đề và danh sách các giao dịch. Tùy thuộc vào thiết kế của hệ thống, các trách nhiệm của nút sẽ khác nhau, tuy nhiên chúng thường hoạt động như sau:

  • Light client: Download tiêu đề và giả định rằng các giao dịch là hợp lệ. Các ứng dụng Light client trong hầu hết các hệ thống đưa ra giả định đa số trung thực về các trình xác thực có liên quan. Do đó, có nguy cơ tải xuống các giao dịch không hợp lệ vì chúng giả định rằng sự đồng thuận chỉ bao gồm các giao dịch hợp lệ và chúng không thể giao tiếp với nhau.
  • Full node: Download toàn bộ tiêu đề và các giao dịch. Full node gửi cho các Light client Merkle bằng chứng rằng một giao dịch đã được đưa vào block header. Nếu Full node gặp phải hành vi không trung thực, họ có thể cảnh báo mạng bằng cách sử dụng bằng chứng gian lận.

Việc giảm yêu cầu trong quá trình chạy một node cho phép nhiều node tham gia vào mạng hơn. Tải tính toán có thể được phân phối trên tất cả các node để tạo DA hiệu quả hơn. Tuy nhiên, vì các node nhẹ hơn không tải xuống tất cả dữ liệu để tự xác minh, thì DA sẽ trở nên thử thách hơn.

Ethereum: Rollup và tính khả dụng của dữ liệu

Xây dựng nguyên khối (khi một chuỗi khối thực hiện tất cả các chức năng) đảm bảo tính khả dụng của dữ liệu vì thiết kế ban đầu phụ thuộc Full node tải xuống toàn bộ khối, tức là bất kỳ lỗi nào như tính toán chi tiêu gấp đôi sẽ luôn bị phát hiện.

Chỉ cần tăng dung lượng khối sẽ đặt ra các yêu cầu phần cứng tốn kém, điều này sẽ chuyển hệ thống phân tán theo hướng tập trung. Thay vào đó, các phương pháp tiếp cận đã xuất hiện để giải quyết nút thắt về khả năng mở rộng mà không phải hy sinh các phần khác của sự đảm bảo mà chúng ta muốn một blockchain có.

Cuộc chạy đua lớp khả dụng dữ liệu đã có hiệu lực đầy đủ. Xem xét lộ trình tập trung vào rollup hiện tại, các tính năng cung cấp dữ liệu của Ethereum đã được phát triển để hỗ trợ sự phụ thuộc lâu dài vào quá trình cuộn.

Diagram, timeline  Description automatically generated

DA có thể diễn ra trong chuỗi hoặc ngoài chuỗi. Ethereum là sự lựa chọn cho lớp DA để rollup, nhưng thông lượng của nó vẫn còn hạn chế. Để rollup hoạt động, sequencers phải cung cấp dữ liệu cho mạng. Optimistic rollup giữ cho sequencers trung thực bằng cách cho phép bất kỳ ai gửi bằng chứng gian lận trong trường hợp nhận thấy không trung thực. Đối với ZK-rollup, trình tự sắp xếp phải gửi bằng chứng hợp lệ trong khi gửi một lô tới mainnet.

Bất kể dung lượng của sequencers hoặc thông lượng rollup, lớp DA tối ưu phải xử lý lượng dữ liệu cao mà sequencers sẽ gửi vào nó, điều này hạn chế khả năng mở rộng. DA có thể mở rộng để giải quyết nhu cầu cần thiết khi xây dựng một hệ thống blockchain. Điều này rất quan trọng vì các đợt rollup là trung tâm của việc mở rộng quy mô Ethereum.

DA thông qua Sophisticated Sampling

Giải pháp cung cấp dữ liệu hiện tại của Ethereum đạt 85 KB/s và nâng cấp lên danksharding nâng nó lên 1,3 MB/s. Danksharding sẽ mất một vài năm để triển khai, do đó, một triển khai đơn giản hơn được gọi là proto-danksharding sẽ được xây dựng trước.

Thực hiện danksharding

Full node tải xuống toàn bộ lịch sử khối kém hiệu quả, nên lấy mẫu DA đơn giản đã được giới thiệu. Nó chia tập dữ liệu thành “n” phần, sau đó mỗi nút lấy mẫu và tải xuống “k” phần để kiểm tra xem dữ liệu có sẵn hay không. Do cách lấy mẫu ngẫu nhiên, không có gì đảm bảo rằng mỗi mục trong tập hợp sẽ được chọn, khiến đây là một giải pháp bị lỗi.

Tim hieu su tien trien cua van de ve Data Availability - anh 2

Điều này đã thúc đẩy lấy mẫu ngẫu nhiên với mã hóa xóa Reed-Solomon. Bây giờ, một số khối dữ liệu được mã hóa thành một đa thức duy nhất. Thiết lập này về cơ bản cho phép truy xuất dữ liệu lên đến khi 50% các phần bị thiếu thông qua phép nội suy đa thức. Nói cách khác, kẻ tấn công sẽ cần phải ẩn 50% dữ liệu để ngăn hệ thống tái tạo lại dữ liệu bằng một đa thức.

Với mã hóa xóa Reed-Solomon, khả năng bỏ sót một phần dữ liệu với lấy mẫu ngẫu nhiên là rất nhỏ.

Tiếp theo, cấu trúc cam kết KZG (Kate, Zaverucha và Goldberg) được sử dụng cho mã hóa này. Đây là một hàm băm chuyên biệt mang lại việc sử dụng các đa thức. Với Merkle Tree, không thể xác định bản chất của dữ liệu trong hàm băm, nhưng với cây cam kết KZG, chúng được đảm bảo là đa thức.

Ý tưởng này được mở rộng thêm sang lược đồ hai chiều (2D). Trong lược đồ này, một ma trận dữ liệu được mở rộng (cùng ý tưởng với mã hóa xóa Reed – Solomon), và mỗi hàng và cột được mã hóa thành một đa thức. Lấy mẫu ngẫu nhiên trên sơ đồ cam kết KZG 2D yêu cầu 75% ma trận dữ liệu phải có sẵn.

Điều này có nghĩa là thông qua dự phòng dữ liệu, lấy mẫu phức tạp đảm bảo người vận hành không thể ngăn chặn dữ liệu từ phần còn lại của mạng.

Ethereum vẫn sẽ có giới hạn trên về khả năng mở rộng với danksharding. Một số hạn chế phát sinh do phụ thuộc vào khớp nối đồng thuận và phải phân phối dữ liệu trên toàn mạng P2P trong khi cố gắng đảm bảo có sẵn một lượng lớn dữ liệu.

Tính khả dụng của dữ liệu ngoài chuỗi

DA ngoài chuỗi mang lại thông lượng cao hơn với chi phí bảo mật thấp hơn. Validium đảm bảo DA ngoài chuỗi thông qua việc sử dụng các ủy ban về tính khả dụng của dữ liệu (DAC). Các nhóm này cung cấp các chữ ký chứng thực rằng dữ liệu đã được cung cấp cho các nút khác. Sau đó, những chữ ký này được sử dụng bởi sequencer để phê duyệt đoạn dữ liệu. DAC có thể chỉ có 5 người tham gia và việc tin tưởng vào một số lượng nhỏ người tham gia như vậy có thể dẫn đến những rủi ro đáng kể.

Validium có thể đạt được tối đa 1 MB/s cho DA, cao hơn dung lượng hiện tại của Ethereum. Tuy nhiên, các nhà khai thác không trung thực có thể chặn quyền truy cập vào các bằng chứng được sử dụng để xây dựng lại dữ liệu. Điều này có thể sẽ đóng băng tiền của người dùng vì mạng sẽ rơi vào trạng thái giống như tạm ngừng hoạt động. Nếu DAC bị xâm phạm, tiền của người dùng sẽ bị đóng băng.

Các dự án nổi bật về Data Availability

Celestia

Một khối trong Celestia chỉ hợp lệ nếu dữ liệu đằng sau nó có sẵn, được thực hiện với chi phí tuyến tính phụ với các bằng chứng về tính khả dụng của dữ liệu. Hơn nữa, nó sử dụng các node để thực hiện lấy mẫu DA với mã hóa xóa 2D. Việc xây dựng đảm bảo rằng không có khối nào bị bỏ sót. Các node của Celestia không đưa ra giả định về đa số trung thực vì chúng có thể xác minh nội dung của khối thông qua lấy mẫu DA. Hệ thống này có thể đạt được 1,4 MB/s.

Tim hieu su tien trien cua van de ve Data Availability - anh 3

Do DA được tách biệt, các thời gian chạy không hỗ trợ EVM có thể tồn tại và sử dụng Celestia làm lớp DA. Mặc dù có số lượng nhất định rollup sử dụng Celestia, nhưng L1 mới có nghĩa là khởi động bộ xác nhận mới để tạo sự đồng thuận, điều này rất khó và sẽ xác định sự thành công của Celestia.

EigenDA

Hyper-danksharding tiếp tục khuếch đại thông lượng đạt được bằng danksharding. EigenDA sẽ là một phần mềm trung gian DA được kích hoạt trên EigenLayer, cho phép các nhà phân phối ETH restake ETH của họ để cung cấp các dịch vụ phần mềm trung gian bằng cách đưa ETH đã đặt stake vào các điều kiện cắt giảm bổ sung.

An ninh kinh tế phát sinh bởi DA này tương đương với ETH được đặt lại cho lớp đó. Nếu 1% người tạo ETH chọn mua lại ETH của họ và chọn tham gia vào EigenDA, thì EigenDA sẽ đạt được mức độ bảo mật kinh tế tiền mã hóa cao hơn hầu hết các alt-L1. Không giống như Celestia, EigenDA không cần khởi động bộ xác nhận mới vì nó sẽ kế thừa từ Ethereum.

Nếu không có sự tồn tại của mạng P2P, thời gian và chi phí cung cấp các khối dữ liệu cho toàn bộ mạng sẽ giảm xuống. Thay vào đó, thông qua việc đăng ký các IP của nút, trình tự sắp xếp chỉ định các khối dữ liệu và các bằng chứng KZG cho các nút. Sự đồng thuận diễn ra trên mạng P2P của Ethereum.

Thông qua việc giảm thiểu chi phí được tìm thấy với DA và hệ thống đồng thuận được kết hợp chặt chẽ, EigenDA sẽ đạt được tối đa 15 MB/s trên DA. Sự thành công của EigenDA phụ thuộc trực tiếp vào thị trường nhà sản xuất lại, nhưng cũng phụ thuộc vào EigenLayer, điều này có thể gây ra những lo ngại về tính tập trung hóa.

Polygon Avail

Polygon Avail là một DA độc lập sử dụng mã hóa xóa với các cam kết KZG. Thông qua việc xây dựng này, hệ thống tránh các Full node trung thực để phát đi các bằng chứng gian lận và các giả định trung thực của đa số – giống như danksharding. Tính sẵn có là một giải pháp off-chain và như đã thảo luận, off-chain có nhiều rủi ro hơn về dữ liệu ẩn.

Tim hieu su tien trien cua van de ve Data Availability - anh 4

Thay vì DAC, Avail là một L1 với bộ xác nhận của riêng nó để cung cấp bảo mật mạng. Nó cũng có thể ghép kênh, có nghĩa là nó có thể hoạt động với các thời gian chạy khác nhau do không sử dụng DAC. Như với Celestia, có một sự phụ thuộc vào việc khởi động thành công mạng trình xác nhận.

Hệ thống đạt được tối đa 200 KB/s (theo ước tính của Layr Labs).

zkPorter

Hệ thống thay đổi cho phép người dùng chọn nơi mà họ muốn DA diễn ra. zkSync 2.0 là một zkEVM tương thích ở cấp độ ngôn ngữ EVM. Trạng thái rollup thực sự được chia thành ZK-rollup có DA trên chuỗi và zkPorter với DA ngoài chuỗi. Cả hai loại tài khoản đều có thể kết hợp, nhưng sự tồn tại của DA ngoài chuỗi làm giảm phí cho tài khoản zkPorter.

Chart, radar chart  Description automatically generated

DA sẽ được bảo mật bởi người giám hộ theo dõi trạng thái bằng cách ký các khối để xác nhận DA. Người giám hộ là một phần của mạng Proof of Stake (PoS) và dễ bị ảnh hưởng bởi các điều kiện chặt chém đối với các token zkSync đã đặt stake.

Lời kết

Tính khả dụng của dữ liệu là một vấn đề khá phức tạp. Tất cả các giải pháp trong bài viết hy vọng sẽ đạt được thông lượng DA cao hơn, nhưng với nhiều sự đánh đổi khác nhau.

Off-chain DA có thể không phải là trò chơi đối với DA vì rủi ro cao về dữ liệu không có sẵn, nhưng lựa chọn này cuối cùng nên được để cho người dùng cuối thông qua một hệ thống thay đổi. On-chain DA sẽ đạt được thông lượng cao hơn cuối cùng khi các dự án này phát triển các nhà cung cấp (trình xác thực, trình tái tạo). Giải pháp tối ưu sẽ là DA có thể mở rộng, nhưng cũng là giải pháp giúp cho các rollup và non-EVM runtime tận dụng lợi thế.