Các nhiệm vụ cốt lõi của các chuỗi khối modular và monolithic bao gồm thực hiện các giao dịch, đạt được sự đồng thuận về thứ tự giao dịch và đảm bảo tính sẵn có của dữ liệu giao dịch.
Tính khả dụng của dữ liệu (Data availability) đề cập đến ý tưởng rằng tất cả dữ liệu liên quan đến giao dịch đều có sẵn cho các nút trên mạng blockchain. Tính khả dụng của dữ liệu rất quan trọng vì nó cho phép các nút xác minh độc lập các giao dịch và tính toán trạng thái của chuỗi khối mà không cần phải tin tưởng lẫn nhau.
Dữ liệu khả dụng (data availability) có nghĩa là gì?
Tính khả dụng của dữ liệu trong các blockchain đề cập đến khả năng của các node tải xuống dữ liệu chứa trong tất cả các khối được truyền qua mạng ngang hàng. Tính khả dụng của dữ liệu đảm bảo tính sẵn có và yêu cầu cập nhật liên tục quá trình xác minh khối trong mạng lưới blockchain.
Để hiểu vai trò của dữ liệu khả dụng trong blockchain, chúng ta cùng tìm hiểu vai trò của dữ liệu khả dụng trong hoạt động xác minh khối nhé.
Xác minh khối hoạt động như thế nào?
Đầu tiên, nhà sản xuất khối sẽ:
- Nhận giao dịch từ mempool
- Tạo một khối mới với các giao dịch đó
- Truyền phát khối mới lên mạng P2P để được thêm vào chuỗi
Nhà sản xuất khối được gọi là “miner” trong mạng Proof-of-Work và “validator” trong mạng Proof-of-Stake.
Tiếp theo, các nút xác thực (còn gọi là full node) sẽ:
- Tải xuống các giao dịch từ khối mới được đề xuất
- Thực hiện lại các giao dịch để xác nhận việc tuân thủ các quy tắc đồng thuận.
- Thêm khối vào đầu chuỗi blockchain sau khi mạng lưới cho rằng khối đó hợp lệ.
Hình minh họa sau đây sử dụng Bitcoin làm ví dụ về xác minh khối:
Nhưng điều gì sẽ xảy ra nếu một người đề xuất khối từ chối công bố dữ liệu giao dịch và chỉ phát các tiêu đề khối (block header) chứa siêu dữ liệu về giao dịch chứ không phải bản thân giao dịch?
Trong trường hợp như vậy, các nút đầy đủ (full node) sẽ không thể kiểm tra tính toàn vẹn của các khối được đề xuất. Hơn nữa, các light node (các nút chỉ lưu trữ một phần lịch sử) chỉ tải xuống các tiêu đề khối có thể dễ dàng bị lừa chấp nhận các khối không hợp lệ.
Để tránh vấn đề này, các blockchain, đặc biệt là các monolithic blockchain, yêu cầu những người đề xuất khối cung cấp dữ liệu khối cho phần còn lại của mạng.
Ngoài việc cho phép bảo mật, các quy tắc về tính khả dụng của dữ liệu còn khuyến khích “trustlessness – không cần tin cậy”: các node có thể xác minh độc lập các giao dịch và khối thay vì tin tưởng những người khác trong mạng.
Những thách thức của dữ liệu khả (data availability) là gì?
Những thách thức cho tính khả dụng của dữ liệu là: yêu cầu các node tải xuống và xác minh dữ liệu làm giảm thông lượng và sử dụng bộ lưu trữ on-chain làm cho lượng thông tin ngày càng lớn, sẽ dẫ tới hạn chế số lượng thực thể có thể chạy cơ sở hạ tầng node.
Các chuỗi monolithic blockchain đảm bảo tính sẵn có của dữ liệu bằng cách lưu trữ dự phòng dữ liệu trạng thái trên nhiều nút sao cho một máy ngang hàng cần dữ liệu đó chỉ phải yêu cầu dữ liệu đó từ một máy ngang hàng khác. Nhưng việc triển khai tính khả dụng của dữ liệu này có một vấn đề.
Cơ chế này buộc một số lượng lớn các nút mạng 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 cho các chuỗi khối. Đây là lý do mà Ethereum chỉ có thể xử lý 15-20 giao dịch mỗi giây và tốc độ xử lý của Bitcoin là khoảng 5-7 giao dịch mỗi giây.
Lưu trữ dữ liệu on-chain cũng dẫn đến kích thước của chuỗi khối tăng theo cấp số nhân, điều này càng làm tăng yêu cầu phần cứng đối với các nút đầy đủ cần lưu trữ số lượng trạng thái ngày càng tăng.
Chi phí gia tăng của phần cứng thông số kỹ thuật cao có xu hướng làm giảm số lượng cá nhân sẵn sàng chạy các nút, điều này trực tiếp làm tăng rủi ro tập trung hóa.
Lớp data availability là gì?
Trong các chuỗi khối, lớp data availability là một hệ thống lưu trữ và cung cấp sự đồng thuận về tính khả dụng của dữ liệu chuỗi khối. ‘Lớp data availability’ đề cập đến vị trí lưu trữ dữ liệu giao dịch.
Có hai loại lớp dữ liệu sẵn có:
1. Lớp sẵn có của dữ liệu trên chuỗi (on-chain data availability)
Đây là cách tiếp cận tiêu chuẩn trong nhiều chuỗi blockchain, trong đó dữ liệu được lưu trữ on-chain bởi các nút thực hiện giao dịch. Mặc dù điều này đảm bảo tính sẵn sàng cao của dữ liệu, nhưng nó hạn chế khả năng phân quyền và khả năng mở rộng.
2. Lớp sẵn có của dữ liệu ngoài chuỗi (off-chain data availability)
Cách tiếp cận này yêu cầu lưu trữ dữ liệu giao dịch bên ngoài mạng blockchain ban đầu (off-chain). Lớp khả dụng của dữ liệu ngoài chuỗi có thể là một chuỗi khối 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. Trong trường hợp này, lớp dữ liệu sẵn có tập trung vào việc lưu trữ dữ liệu chứ không phải thực thi.
Lớp dữ liệu khả dụng có giúp Ethereum tăng khả năng mở rộng không?
Sharding là một cách tiếp cận để mở rộng quy mô chuỗi khối liên quan đến việc chia mạng thành nhiều chuỗi con hoạt động song song. Các nút trong mỗi chuỗi con xử lý các nhiệm vụ khác nhau với mục tiêu đạt được việc sử dụng hiệu quả tài nguyên máy tính.
Lộ trình mở rộng quy mô hiện tại của Ethereum bao gồm các kế hoạch triển khai sharding dữ liệu — một hệ thống trong đó các cụm nút khác nhau lưu trữ các phần dữ liệu riêng biệt. Sẽ có 64 chuỗi phân đoạn hoạt động độc lập, các nút chỉ tải xuống dữ liệu được đăng lên shard được chỉ định của chúng. Điều này có nghĩa là các nút đầy đủ không còn phải lưu trữ cùng một dữ liệu như hiện đang xảy ra.
Với sharding, Ethereum sẽ sử dụng nhiều lớp dữ liệu khả dụng (data availability) thay vì lưu trữ dữ liệu trạng thái ở một vị trí. Các khối sẽ không phải truyền phát khắp mạng và chỉ cần một bộ nút giới hạn để xác minh dữ liệu của mỗi khối. Điều này trực tiếp chuyển thành khả năng mở rộng vì mạng sẽ có thể xử lý các giao dịch nhanh hơn.
Hơn nữa, việc lưu trữ dữ liệu giữa nhiều lớp sẽ phân cấp thêm Ethereum. Các nút đầy đủ hiện lưu trữ toàn bộ chuỗi khối, tương đương khoảng 1TB dữ liệu (theo thống kê gần nhất), nhưng sẽ chỉ cần lưu trữ 1/64 dữ liệu chuỗi với 64 phân đoạn đang hoạt động. Điều này có khả năng làm giảm yêu cầu lưu trữ cho các nút đầy đủ và tăng số lượng trình xác thực trên Ethereum.
Lớp data availability hoạt động như thế nào với các bản rollup?
Rollup mở rộng quy mô Ethereum bằng cách di chuyển tính toán và lưu trữ trạng thái ra khỏi môi trường thực thi của Ethereum: Máy ảo Ethereum. EVM chỉ chấp nhận các kết quả tính toán ngoài chuỗi và áp dụng chúng vào trạng thái của nó mà không phải thực hiện lại các giao dịch, do đó cải thiện tốc độ xử lý và giảm chi phí.
Điều làm cho các bản rollup an toàn hơn so với các giải pháp mở rộng quy mô Ethereum khác, bao gồm cả sidechains hoặc Plasma, là sự phụ thuộc của chúng vào Ethereum về tính khả dụng của dữ liệu. Ngoài việc xuất bản kết quả giao dịch trên Ethereum, các bản optimistic rollup và zk-rollup cũng xuất bản dữ liệu giao dịch trên Lớp 1 dưới dạng CALLDATA.
Dữ liệu khối được đăng từ một bản rollup lên Ethereum có sẵn công khai, cho phép mọi người thực hiện các giao dịch và xác thực chuỗi rollup.
Nó cũng thúc đẩy khả năng chống kiểm duyệt vì dữ liệu đã đăng có thể được các nhà sản xuất khối tiềm năng sử dụng để tái tạo lại trạng thái của chuỗi và bắt đầu sản xuất các khối mới. Không nhà điều hành Lớp 2 đơn lẻ nào có thể tùy ý đóng băng chuỗi và kiểm duyệt người dùng trên rollup nhờ biện pháp này.
Với lớp data availability cung cấp khả năng bảo mật, các bản rolllup có thể tối ưu hóa cho khả năng mở rộng. Chẳng hạn, một tổng số có thể chọn các khối lớn và thời gian tạo khối nhanh hơn để tăng tốc độ xử lý.
Mặc dù điều này làm tăng yêu cầu phần cứng đối với các nút (hầu hết các bản rollup đều có một vài “siêu nút” thực thi giao dịch), tính khả dụng của dữ liệu trạng thái cho phép bất kỳ ai tạo ra các khối để ngăn chặn kiểm duyệt hoặc thách thức các chuyển đổi trạng thái không hợp lệ.
Lớp data availability hoạt động với các chuỗi khối mô-đun như thế nào?
Chuỗi khối mô-đun (modular blockchain) là chuỗi khối xử lý một chức năng cụ thể, chẳng hạn như execution (thực thi), consensus (đồng thuận), or data availability (dữ liệu khả dụng) và dựa vào các chuỗi khối khác và hệ thống off-chain khác để thực hiện các tác vụ còn lại. Ngăn xếp chuỗi khối mô-đun bao gồm các chuỗi mô-đun khác nhau hoạt động cùng nhau theo những cách khác nhau để đạt được các mục tiêu đã đề ra.
Lớp data availability trong ngăn xếp chuỗi khối mô-đun thường chịu trách nhiệm lưu trữ dữ liệu giao dịch, mặc dù nó cũng có thể cung cấp sự đồng thuận về thứ tự giao dịch. Ví dụ: các chuỗi khối mô-đun tập trung vào thực thi (ví dụ: rollup và validium) dựa vào các lớp dữ liệu khả dụng off-chain để lưu trữ dữ liệu sau các cập nhật trạng thái.
Bản thân lớp dữ liệu khả dụng là một chuỗi mô-đun vì nó tập trung vào việc lưu trữ dữ liệu và thuê ngoài thực thi cho các chuỗi khác. Không giống như các chuỗi khối thông thường, lớp dữ liệu khả dụng thuần túy sẽ không kiểm tra tính hợp lệ của dữ liệu được xuất bản bởi các nhà sản xuất khối. Các nút chỉ phải đi đến sự đồng thuận về thứ tự giao dịch và xác nhận rằng các khoản phí phù hợp đã được thanh toán.
Kết luận
Tính khả dụng của dữ liệu đóng một vai trò quan trọng trong khả năng duy trì hoạt động và an toàn của các chuỗi khối. Đặc biệt là trong bối cảnh của các chuỗi khối mô-đun, các lớp dữ liệu khả dụng cho phép phân cấp và bảo mật.
Các kế hoạch về khả năng mở rộng trong tương lai của Ethereum cũng dựa vào khả năng lưu trữ dữ liệu của nó. Ethereum cũng đã giới thiệu tính năng sharding dữ liệu và các nâng cấp khác để cải thiện hiệu suất của Ethereum dưới dạng lớp dữ liệu khả dụng cho các giải pháp Lớp 2.