Đọc dữ liệu sẵn có của Layer2 trong một bài viết
tiêu đề cấp đầu tiên
Tiêu đề ban đầu: "Data Availability in Layer-2 Blockchains》
Biên dịch nguyên văn: Lynch, Chain Catcher
Tính khả dụng của dữ liệu chuỗi khối
Lộ trình bảo vệ Ethereum mới nhất ưu tiên bảo vệ dữ liệu hơn bảo vệ thực thi, dẫn đến sự gia tăng đáng kể về thông lượng dữ liệu Ethereum. Ngoài ra, Chuỗi khối mô-đun đi sâu vào các giải pháp Rollup, ý chí và tính hợp lệ cũng như tính khả dụng của dữ liệu. Đây là những cuộc thảo luận và xu hướng mới nhất về tính khả dụng của dữ liệu blockchain.
Bất kỳ ai tham gia vào không gian chuỗi khối và tiền điện tử có lẽ đang tự hỏi tính khả dụng của dữ liệu chuỗi khối có nghĩa là gì trong bối cảnh này.
tiêu đề cấp đầu tiên
Bắt đầu với các nút blockchain
Cấu trúc dữ liệu của chuỗi khối chứa một chuỗi khối và mỗi khối trong chuỗi khối bao gồm hai phần: tiêu đề khối và danh sách dữ liệu giao dịch.
Tiêu đề khối là siêu dữ liệu của khối, chứa một số thông tin cơ bản của khối, chẳng hạn như gốc Merkle của giao dịch.
Các khối trong phần giao dịch chứa các giao dịch thực tế.
Các vấn đề về tính khả dụng của dữ liệu
Các vấn đề về tính khả dụng của dữ liệu
Vấn đề về tính khả dụng của dữ liệu là bộ ba bất khả thi của blockchain: bảo mật, khả năng mở rộng và phân cấp.
tiêu đề cấp đầu tiên
Tấn công vào tính sẵn sàng của dữ liệu
Một cuộc tấn công tính khả dụng của dữ liệu chuỗi khối xảy ra khi một nút giả mạo phát các tiêu đề khối nhưng giữ lại một phần khối chứa các giao dịch sai.Mặc dù các nút đầy đủ trung thực có thể tải xuống và lưu trữ toàn bộ chuỗi khối biết rằng một số dữ liệu không có sẵn, nhưng chúng thiếu cơ chế chính thức để chứng minh điều này với các nút nhẹ có tài nguyên hạn chế và không có quyền truy cập vào toàn bộ dữ liệu chuỗi khối. Do đó, cả chiến lược blockchain sidechain và sharded đều dễ bị tấn công bởi tính khả dụng của dữ liệu. Một nút giả mạo trên mạng sidechain (hoặc phân đoạn) gửi hàm băm của khối tới chuỗi khối đáng tin cậy mà không truyền dữ liệu khối tới các nút khác trong cuộc tấn công này.
Các cuộc tấn công vào tính khả dụng của dữ liệu là một vấn đề nổi tiếng trong lĩnh vực chuỗi khối, ban đầu được đề xuất trong bối cảnh các ứng dụng khách nhẹ chuỗi khối. Vitalik sau đó đã phổ biến nó. Tất cả các light node làm là lưu trữ các tiêu đề khối và xác minh các yêu cầu về pow. Họ dựa vào các nút đầy đủ để xác thực các khối và cung cấp bằng chứng gian lận trong các khối không chính xác.
Trong trường hợp các nút nhẹ, các cuộc tấn công vào tính khả dụng của dữ liệu không gây tử vong. Thông thường, các công cụ khai thác cũng hoạt động trên các nút đầy đủ. Nếu một khối không có sẵn, họ sẽ bỏ qua nó và khai thác đồng thời (tức là trên khối chính của nó). Không có công cụ khai thác trung thực nào sẽ xây dựng trên một khối chừng nào khối đó không thể truy cập được. Cuối cùng nó sẽ phá vỡ chuỗi dài nhất. Tại thời điểm này, các nút nhẹ sẽ tự động bỏ qua các khối như vậy. Cuộc tấn công này thậm chí còn quan trọng hơn khi nói đến các chuỗi khối và phân đoạn thứ cấp.
Các vấn đề về tính khả dụng của dữ liệu
Các vấn đề về tính khả dụng của dữ liệu
Vấn đề về tính khả dụng của dữ liệu trong các chuỗi khối đặt ra câu hỏi sau: Làm thế nào một nút có thể xác định rằng khi một khối mới được tạo, tất cả dữ liệu chứa trong đó thực sự được phát lên mạng? Làm cách nào để các nút ngang hàng trong mạng chuỗi khối xác định rằng tất cả dữ liệu liên quan đến một khối mới được đề xuất thực sự có sẵn?
tiêu đề cấp đầu tiên
Giải quyết các cuộc tấn công vào tính khả dụng của dữ liệu
Trong chuỗi khối mô-đun, một cách riêng biệt để đảm bảo tính khả dụng của dữ liệu trong chuỗi khối mô-đun là rất quan trọng do sự tách rời xác minh và tính khả dụng của dữ liệu. Tổng số cung cấp bằng chứng giao dịch và tính toán các trạng thái mới ngoài chuỗi, nhưng vẫn yêu cầu một số dữ liệu giao dịch nhất định phải được xuất bản trên chuỗi để ngăn các sự cố về tính khả dụng của dữ liệu. ZK-rollup chủ yếu xuất bản ba bit dữ liệu chính lên chuỗi chính:
Cam kết mật mã đối với trạng thái mới (băm gốc)
Bằng chứng mã hóa (chẳng hạn như ZK-SNARK) xác định rằng trạng thái mới là kết quả của việc áp dụng các giao dịch hợp lệ cho trạng thái ban đầu.
Cung cấp một phần dữ liệu nhỏ cho mỗi giao dịch trong lô dưới dạng calldata
tiêu đề cấp đầu tiên
Lớp dữ liệu sẵn có của chuỗi khối
Lớp dữ liệu của chuỗi khối được sử dụng cho cả cấu trúc dữ liệu của chuỗi khối và để lưu trữ vật lý.Sổ cái chuỗi khối được thiết kế bằng cách sử dụng danh sách các khối được kết nối với nhau hoặc cây Merkle, được mã hóa bằng phương pháp mã hóa bất đối xứng. Lớp dữ liệu bao gồm các phần sau:
Khối: Khối là một cấu trúc dữ liệu được sử dụng để nhóm các giao dịch thành các nhóm và phân phối chúng giữa các nút mạng. Khai thác là quá trình tạo khối. Mỗi khối có một tiêu đề khối, là siêu dữ liệu có thể xác minh tính hợp pháp của khối.
Cây Merkel và các giao dịch:Trong một chuỗi khối, các giao dịch được duy trì như một phần của Cây Merkel. Cây Merkel tổng hợp tất cả các giao dịch trong một khối bằng cách tạo dấu vân tay kỹ thuật số của bộ giao dịch hoàn chỉnh, cho phép người dùng xác định xem một giao dịch có được đưa vào hay không. Mỗi nút lá có dữ liệu của giao dịch, trong khi mỗi nút không phải lá chứa một hàm băm của hàm băm trước đó. Cây Merkel là cây nhị phân và yêu cầu số nút lá là số lẻ. Nếu có số lượng giao dịch là số lẻ, hàm băm cuối cùng sẽ được sao chép một lần để tạo ra số lượng nút lá chẵn.
Lớp mạng:Chuỗi khối sử dụng mạng phân tán cho phép mọi người tải xuống và tương tác với tất cả thông tin trên chuỗi khối. Mạng ngang hàng (P2P) phân phối/phát các giao dịch trên các nút. Các nền tảng chuỗi khối chủ yếu sử dụng ba loại mạng: tập trung, phi tập trung và phân tán.
lớp vật lý:Lớp này bao gồm các máy chủ, nút cạnh và thiết bị Internet vạn vật (IoT) hoạt động như các nút trên mạng chuỗi khối. Chúng thường được kết nối thông qua mạng ngang hàng. Một nút có thể là bất kỳ thiết bị điện tử đang hoạt động nào, chẳng hạn như máy tính, điện thoại hoặc máy in, miễn là nó được kết nối với mạng và có địa chỉ IP.
lớp ảo:Một lớp ảo hóa nằm trên phần cứng để phân bổ phần cứng và tài nguyên cho các máy ảo.
Lớp đồng thuận:Lớp này chịu trách nhiệm thực thi các quy tắc mạng chỉ định cách các nút trong mạng sẽ phản ứng để thiết lập sự đồng thuận đối với các giao dịch quảng bá.
Lớp khuyến khích:Lớp này tham gia vào các hoạt động của các nút trong mạng phân tán để cố gắng đạt được sự đồng thuận và nhận được các ưu đãi. Việc lớp này có được sử dụng hay không được xác định bởi cơ chế đồng thuận được sử dụng bởi giao thức chuỗi khối.
Lớp hợp đồng:Bao gồm các dịch vụ và thành phần tùy chọn cho phép nền tảng chuỗi khối tích hợp với các công nghệ khác, chẳng hạn như nguồn cấp dữ liệu, hợp đồng thông minh, oracle, DAO và kênh trạng thái.
lớp API:Cung cấp API trên đầu chuỗi khối và cung cấp cơ chế cho các ứng dụng của bên thứ ba giao tiếp với sổ cái và hợp đồng thông minh.
Lớp ứng dụng:tiêu đề cấp đầu tiên
Giải pháp sẵn có dữ liệu truyền thống
Các giải pháp cung cấp dữ liệu truyền thống nhằm mục đích cải thiện khả năng mở rộng bằng cách thay đổi giao thức truyền dữ liệu cơ bản của chuỗi khối và các giao thức chuỗi khối cơ bản như cấu trúc dữ liệu khối, thuật toán đồng thuận và cơ chế khuyến khích. Các giải pháp này bao gồm các giải pháp mở rộng Lớp 1 như Segregated Witness, DAG, Sharding và Consensus. Tuy nhiên, các giải pháp lớp 2 nhằm mục đích cải thiện khả năng mở rộng thông qua cách tiếp cận ngoài chuỗi ở lớp ứng dụng.
Segregated Witness:Tính năng cải tiến giao thức đã được triển khai để ngăn chặn tính linh hoạt của giao dịch và tăng kích thước khối.
DAG:Các giao dịch được kết nối trong một DAG, có nghĩa là một giao dịch sẽ xác thực giao dịch tiếp theo. Mỗi nút bao gồm nhiều cấp độ giao dịch. Khi một giao dịch được đăng ký với một nút, trước tiên nó phải xác minh hai giao dịch khác. Hai giao dịch này đã được chọn bằng cách sử dụng một quy trình toán học. Sau đó, nút phải xác minh rằng hai giao dịch không xung đột. Để xác minh một giao dịch, một nút phải giải một câu đố mã hóa (pow) tương tự như trên mạng Bitcoin.
phân mảnh:Một chuỗi khối có thể được chia thành nhiều chuỗi để tăng thông lượng. Mỗi phân đoạn có nhà sản xuất khối riêng và có thể giao tiếp để trao đổi mã thông báo. Thay vì mỗi nhà sản xuất khối xử lý mọi giao dịch, sharding chia sức mạnh xử lý của mạng thành các phân đoạn chỉ xử lý các giao dịch cụ thể. Do đó, các chuỗi khối không phân mảnh thường có một hoặc hai nút đầy đủ chức năng và một hoặc nhiều ứng dụng khách nhẹ. Điều đáng chú ý là sharding nhằm mục đích phân phối tài nguyên mạng trên các nút khác nhau.
đoàn kết:tiêu đề cấp đầu tiên
Giải pháp ZKRollups
Hiện tại có một số giải pháp Ethereum Layer2, chẳng hạn như rollup lạc quan, rollup ZK và Validium. Các giải pháp này di chuyển việc thực thi ngoài chuỗi trong khi vẫn đảm bảo xác thực ứng dụng và tính khả dụng của dữ liệu trên chuỗi. Mặc dù kiến trúc dựa trên thực thi ngoài chuỗi giúp cải thiện thông lượng, nhưng nó vẫn bị giới hạn bởi lượng dữ liệu mà chuỗi chính có thể xử lý. Mặc dù việc thực thi diễn ra ngoài chuỗi, quy trình xác minh hoặc giải quyết tranh chấp phải diễn ra trên chuỗi. Dữ liệu giao dịch được gửi dưới dạng calldata trên Ethereum để đảm bảo dữ liệu có sẵn để tái thiết trong tương lai. Điều này cực kỳ quan trọng.
Đối với các bản tổng hợp lạc quan, người vận hành có thể gửi các giao dịch không hợp lệ và sau đó chặn một số khối. Theo cách này, các nút đầy đủ khác trong hệ thống sẽ không thể xác minh xem các khiếu nại đã gửi có đúng hay không. Do thiếu dữ liệu, họ sẽ không thể cung cấp bất kỳ bằng chứng gian lận nào chứng minh rằng khiếu nại thực sự không hợp lệ.
Trong trường hợp cuộn lên dựa trên kiến thức bằng không, tính toàn vẹn của ZKP đảm bảo rằng các giao dịch được chấp nhận là hợp lệ. Tuy nhiên, ngay cả khi có những đảm bảo như vậy, việc không tiết lộ dữ liệu hỗ trợ giao dịch có thể gây ra hậu quả tiêu cực nghiêm trọng. Điều này có thể dẫn đến việc các trình xác thực khác không thể tính toán trạng thái hiện tại của hệ thống, người dùng bị loại khỏi hệ thống và số dư của họ bị đóng băng.
Dữ liệu trên chuỗi
Dữ liệu trên chuỗi
Chuỗi khối tạo ra một lượng lớn dữ liệu từ tỷ lệ băm và các hoạt động liên quan khác như giao dịch.
Chúng ta có ý gì khi nói về dữ liệu trên chuỗi? Tóm lại: tất cả dữ liệu được lưu trữ nguyên bản trên chuỗi khối là dữ liệu trên chuỗi.
Dữ liệu trên chuỗi đề cập đến tất cả các giao dịch đã xảy ra trên một mạng chuỗi khối cụ thể. Hay nói cách khác, tất cả dữ liệu đã được ghi vào khối blockchain. Thông tin của chuỗi công cộng có các đặc điểm của quyền truy cập công khai. Có ba loại chính về dữ liệu.
Thông số kỹ thuật cho từng khối (dấu thời gian, phí gas, công cụ khai thác, kích thước khối, v.v.)
Mỗi giao dịch đều rất chi tiết (địa chỉ "người gửi" và "người nhận", số tiền được chuyển trong giao dịch, v.v.)
Gọi và sử dụng hợp đồng thông minh
tiêu đề cấp đầu tiên
dữ liệu ngoài chuỗi
Đối với người dùng Bitcoin, giao dịch ngoại tuyến và giao dịch trực tuyến đều có ưu và nhược điểm. Khả năng mở rộng là một hạn chế của công nghệ chuỗi khối có thể được giải quyết bằng các giải pháp ngoài chuỗi. Thời gian xác nhận giao dịch trên chuỗi có thể thay đổi do tắc nghẽn mạng. Các giao dịch ngoài chuỗi được thực hiện ngay lập tức, chi phí giao dịch cũng rẻ hơn và một số giao dịch không phát sinh bất kỳ khoản phí nào cho đến khi chúng được thực hiện trên chuỗi. Các giao dịch ngoài chuỗi cũng riêng tư hơn vì các chi tiết của giao dịch được tách biệt khỏi chuỗi chính và không được tiết lộ công khai.
Một số công cụ chuỗi khối, đặc biệt là hợp đồng thông minh, dựa vào trình kích hoạt dựa trên chuỗi khối và dữ liệu trong thế giới thực để xác minh các điều kiện và thực hiện hợp đồng. Ví dụ, một hợp đồng pháp lý thông minh chuyển quyền sở hữu đất đai. Số tiền cần thiết để mua một tài sản được ký quỹ bởi một hợp đồng thông minh yêu cầu xác minh các dữ kiện về tài sản trong thế giới thực, tương tự như chuyển nhượng chứng thư thực tế. Tuy nhiên, nếu chuỗi khối không thể truy xuất dữ liệu, chẳng hạn như chuyển khoản chứng thư được xác nhận của bên thứ ba, làm thế nào có thể đáp ứng các tiêu chí của hợp đồng thông minh để giải phóng tiền của người bán. Đối với dữ liệu ngoài chuỗi; dữ liệu này cung cấp hợp đồng thông minh với thông tin trong thế giới thực để thực hiện thành công hợp đồng và mua và bán. Với sự phát triển không ngừng của chuỗi khối và tiền điện tử, các giải pháp ngoài chuỗi có thể trở thành một giải pháp lâu dài, nhưng chỉ có thời gian mới là tiêu chí duy nhất để kiểm tra nó.
với sự giúp đỡ củaZKCrossCác giao thức hỗ trợ khả năng tương tác xuyên chuỗi với ZKRollups đa chuỗi và công nghệ lớp xuyên chuỗi sẽ nâng cao tính khả dụng của dữ liệu trên chuỗi và ngoài chuỗi.ZKcross tạo một lớp phổ biến để hoạt động như một Lớp 2 chuỗi chéo và ZKcross theo dõi và đồng bộ hóa các thay đổi trạng thái toàn cầu trên nhiều chuỗi khối.tóm tắt
tóm tắt
Chúng ta đang đứng trước một sự thay đổi mô hình lớn sẽ thay đổi hệ sinh thái Bitcoin mãi mãi. ZK-Rollups sẽ mở rộng quy mô Ethereum theo cách hiệu quả nhất có thể. Sự thay đổi mô hình này sẽ sâu sắc đến mức nó đánh dấu cái chết của tất cả các chuỗi hợp đồng thông minh L1 khác, bao gồm cả Ethereum như chúng ta biết ngày nay. Có một số cuộc tranh luận về khả năng mở rộng. Hàng ngàn giờ nghiên cứu, triển khai, thành công và thất bại đã tạo ra ZK-Rollups.
Tất nhiên, nỗ lực còn lâu mới kết thúc. Trong khi con đường phía trước gập ghềnh, mục đích chưa bao giờ rõ ràng hơn thế. Vì các kiến trúc chuỗi khối nguyên khối hiện tại vẫn còn kém hiệu quả một cách đáng ngạc nhiên và theo bộ ba bất khả thi bị hạn chế, việc tăng thông lượng có nghĩa là giảm tính bảo mật và/hoặc phân cấp. Thiết kế mô-đun đặc biệt phân chia quá trình thực thi thành các lớp thực thi khác nhau, chẳng hạn như ZKrollups, giúp tăng hiệu quả của ngành công nghiệp chuỗi khối lên 100 lần đến 10.000 lần. Không còn nghi ngờ gì nữa, đây là cách duy nhất để mở rộng nó đến mức phổ biến toàn cầu và hàng triệu TPS. Hơn nữa, dự kiến trong vòng vài năm tới, hơn 90% tất cả hoạt động chuỗi khối sẽ diễn ra trên zkRollups mà không ảnh hưởng đáng kể đến bảo mật hoặc phân cấp.


