! [Vấn đề với tính khả dụng của dữ liệu là gì?] (https://piccdn.0daily.com/202310/25080444/tnfnxd82p4sv8fpe.jpg!webp)
Trong một mạng blockchain, làm thế nào để các nút đảm bảo rằng tất cả dữ liệu cho một khối mới được đề xuất đều có sẵn?
Trong bài đăng này, chúng ta sẽ đi sâu vào các vấn đề về tính khả dụng của dữ liệu và cách chúng ảnh hưởng đến khả năng mở rộng của Ethereum.
Vấn đề về tính khả dụng của dữ liệu là gì?
Các vấn đề về tính khả dụng của dữ liệu (DA): Làm thế nào các nút trong mạng blockchain có thể đảm bảo rằng tất cả dữ liệu trong một khối mới được đề xuất thực sự có sẵn và nếu dữ liệu không có sẵn, khối có thể chứa các giao dịch độc hại bị ẩn bởi nhà sản xuất khối. Ngay cả khi các khối chứa các giao dịch không độc hại, việc ẩn chúng có thể đe dọa tính bảo mật của hệ thống.
Ví dụ: giả sử Alice là nhà điều hành ZK-Rollup. Cô đã gửi ZK-Proof trên Ethereum và đã được xác minh. Nếu cô ấy không gửi tất cả dữ liệu giao dịch trên Ethereum, người dùng bản tổng hợp vẫn có thể không biết gì về số dư tài khoản hiện tại của họ, mặc dù bằng chứng của cô ấy xác nhận rằng tất cả các chuyển đổi trạng thái được thực hiện trong bản tổng hợp là hợp lệ. Do tính chất không có kiến thức, bằng chứng được gửi không thể tiết lộ thông tin về tình trạng hiện tại.
Trong trường hợp của Optimistic Rollup, có một ví dụ tương tự khi Alice gửi một khẳng định về Ethereum, nhưng những người tham gia OPR không thể tính toán lại hoặc thách thức yêu cầu bồi thường vì dữ liệu giao dịch không có sẵn.
Đáp lại những điều trên, cả OPR và ZKR đều được thiết kế để yêu cầu các nhà khai thác gửi tất cả các chi tiết giao dịch cho Ethereum dưới dạng “calldata”. Mặc dù điều này cho phép họ tránh các vấn đề DA trong ngắn hạn, khi số lượng giao dịch trong một bản tổng hợp tăng lên, lượng dữ liệu cần gửi cũng vậy, hạn chế số lượng mở rộng mà các bản tổng hợp này có thể cung cấp.
Để làm cho vấn đề tồi tệ hơn, dữ liệu không có sẵn là một lỗi không thể được quy cho duy nhất. Điều này có nghĩa là người tham gia không thể chứng minh cho các nút khác rằng một khối dữ liệu cụ thể bị thiếu. Điều này là do Bob có thể phát sóng rằng khối do Alice gửi bị thiếu dữ liệu, nhưng Charlie có thể cung cấp dữ liệu cho Alice khi cô ấy truy vấn anh ta.
Các vấn đề về tính khả dụng của dữ liệu ảnh hưởng đến các blockchain hiện tại như thế nào?
Để trả lời câu hỏi này, trước tiên chúng ta hãy xem xét cấu trúc khối chung của các blockchain giống Ethereum và các loại máy khách tồn tại trên bất kỳ mạng blockchain nào.
Một khối có thể được chia thành hai phần chính:
Tiêu đề khối: Một tiêu đề khối nhỏ chứa một bản tóm tắt và siêu dữ liệu liên quan đến các giao dịch có trong khối.
Block Body: Chứa tất cả dữ liệu giao dịch và tạo thành phần chính của khối.
Trong các giao thức blockchain truyền thống, tất cả các nút được coi là các nút đầy đủ và chúng đồng bộ hóa toàn bộ khối và xác minh tất cả các chuyển đổi trạng thái. Chúng đòi hỏi rất nhiều tài nguyên để kiểm tra tính hợp lệ của các giao dịch và khối cửa hàng. Ưu điểm là các nút này sẽ không chấp nhận bất kỳ giao dịch không hợp lệ nào.
Có thể có một loại nút khác không có (hoặc không muốn chi tiêu) tài nguyên để xác thực mọi giao dịch. Thay vào đó, họ chủ yếu quan tâm đến việc tìm hiểu trạng thái hiện tại của blockchain và liệu một số giao dịch liên quan đến chúng có được bao gồm trong chuỗi hay không. Lý tưởng nhất, những khách hàng nhẹ này cũng nên được bảo vệ khỏi bị giả mạo bởi các chuỗi có chứa các giao dịch không hợp lệ. Điều này thực sự có thể đạt được bằng cách sử dụng những gì được gọi là bằng chứng gian lận. Những thông điệp ngắn gọn này cho thấy một khối cụ thể chứa các giao dịch không hợp lệ. Bất kỳ nút đầy đủ nào cũng có thể tạo ra một bằng chứng gian lận như vậy, vì vậy các máy khách nhẹ không cần phải tin tưởng vào một nút đầy đủ cụ thể để trung thực. Họ chỉ cần đảm bảo rằng họ được kết nối tốt với một mạng lưới tin đồn để đảm bảo rằng nếu có bằng chứng gian lận về tiêu đề khối có sẵn, họ sẽ nhận được nó.
Tuy nhiên, có một vấn đề với hệ thống này: điều gì sẽ xảy ra nếu một nhà sản xuất khối không tiết lộ toàn bộ dữ liệu đằng sau một khối? Trong trường hợp này, các nút đầy đủ rõ ràng sẽ từ chối khối bởi vì, theo ý kiến của họ, nếu một khối không đi kèm với phần thân khối, thì nó thậm chí không phải là một khối. Tuy nhiên, các máy khách nhẹ có thể tiếp xúc với tiêu đề khối và không nhận thấy rằng dữ liệu bị thiếu. Đồng thời, các nút đầy đủ không thể tạo ra bằng chứng gian lận vì chúng thiếu dữ liệu cần thiết để tạo bằng chứng gian lận.
Để chống lại điều này, chúng ta cần một cơ chế cho các máy khách nhẹ để xác minh tính khả dụng của dữ liệu. Điều này sẽ đảm bảo rằng nhà sản xuất khối ẩn dữ liệu không thể trốn tránh bằng cách thuyết phục máy khách nhẹ. Điều này cũng sẽ buộc các nhà sản xuất khối tiết lộ một số dữ liệu, cho phép toàn bộ mạng truy cập dữ liệu cho toàn bộ khối theo cách hợp tác.
Chúng ta hãy xem xét sâu hơn về vấn đề này với một ví dụ. Giả sử nhà sản xuất khối Alice xây dựng một khối B chứa các giao dịch tx 1, tx 2 、…、 txn. Giả sử tx 1 là một giao dịch độc hại. Nếu tx 1 được phát sóng, bất kỳ nút đầy đủ nào cũng có thể xác minh rằng nó độc hại và gửi thông tin này làm bằng chứng gian lận cho máy khách nhẹ, ngay lập tức sẽ biết rằng khối là không thể chấp nhận được. Tuy nhiên, nếu Alice muốn ẩn tx 1, cô ấy chỉ tiết lộ tiêu đề và tất cả dữ liệu giao dịch ngoại trừ tx 1. Một nút đầy đủ không thể xác minh tính đúng đắn của tx 1.
Người ta có thể nghĩ rằng một giải pháp đơn giản sẽ là có tất cả các khách hàng nhẹ ngẫu nhiên lấy mẫu giao dịch và nếu họ thấy rằng mẫu của họ có sẵn, họ có thể tự tin rằng khối có sẵn. Tuy nhiên, nếu light node được yêu cầu truy vấn bất kỳ giao dịch nào một cách ngẫu nhiên, xác suất light client sẽ truy vấn tx 1 là 1/n. Do đó, Alice hầu như luôn có thể lừa một khách hàng nhẹ chấp nhận một giao dịch độc hại. Nói cách khác, hầu hết các khách hàng nhẹ đều bị giả mạo. Do tính chất không thể quy kết, một nút đầy đủ không thể chứng minh bằng bất kỳ cách nào rằng tx 1 không khả dụng. Thật không may, việc tăng kích thước mẫu không làm cho mọi thứ tốt hơn.
Vì vậy, làm thế nào để chúng ta giải quyết vấn đề này?
Giải pháp cho vấn đề này nằm ở việc giới thiệu dự phòng trong các khối. Có một bộ tài liệu phong phú có thể giúp chúng ta giải quyết vấn đề này khi nói đến lý thuyết mã hóa, đặc biệt là mã hóa xóa.
Nói tóm lại, mã hóa xóa cho phép chúng tôi mở rộng n khối dữ liệu bất kỳ thành 2 n khối để n của 2 n bất kỳ là đủ để xây dựng lại dữ liệu gốc (các tham số có thể điều chỉnh, nhưng ở đây chúng tôi xem xét trường hợp này để đơn giản hóa).
Nếu chúng ta buộc nhà sản xuất khối xóa các giao dịch tx 1, tx 2 、…、 txn, thì để ẩn một giao dịch, nó cần ẩn n + 1 khối, vì bất kỳ n khối nào cũng đủ để xây dựng toàn bộ tập hợp giao dịch. Trong trường hợp này, một số lượng nhỏ các truy vấn có thể cung cấp cho khách hàng nhẹ một mức độ tự tin cao rằng dữ liệu cơ bản thực sự có sẵn.
Woah, vậy đó là nó?
Không. Mặc dù thủ thuật đơn giản này khiến việc ẩn dữ liệu trở nên khó khăn hơn, nhưng vẫn có thể nhà sản xuất khối đã cố tình xóa mã hóa sai cách. Tuy nhiên, một nút đầy đủ có thể xác minh rằng mã hóa xóa này đang được thực hiện chính xác và nếu không, nó có thể chứng minh điều đó cho máy khách nhẹ. Đây là một loại bằng chứng gian lận khác, giống như các giao dịch độc hại được đề cập ở trên. Thật thú vị, tất cả những gì cần là một nút đầy đủ trung thực để hoạt động như một người hàng xóm của một máy khách nhẹ, đảm bảo rằng nếu một khối độc hại, thì nó sẽ nhận được bằng chứng gian lận. Điều này đảm bảo rằng các khách hàng nhẹ có thể truy cập vào một chuỗi với xác suất rất cao là không có các giao dịch độc hại.
Nhưng có một nhược điểm. Nếu được thực hiện quá đơn giản, một số bằng chứng gian lận có thể lớn bằng kích thước của chính khối. Các giả định tài nguyên của chúng tôi cho các khách hàng ánh sáng cấm chúng tôi sử dụng thiết kế như vậy. Các cải tiến đã được thực hiện thông qua việc sử dụng các kỹ thuật mã hóa xóa đa chiều đã làm giảm kích thước của bằng chứng gian lận, nhưng với chi phí tăng kích thước của lời hứa. Để ngắn gọn, chúng tôi sẽ không đi vào chi tiết về những điều này ở đây, nhưng bài viết này cung cấp một phân tích chi tiết về chúng.
Vấn đề với giải pháp bằng chứng gian lận là một khách hàng nhẹ không bao giờ có thể hoàn toàn chắc chắn về bất kỳ khối nào mà nó chưa nhận được bằng chứng gian lận. Đồng thời, họ tiếp tục tin tưởng rằng các nút đầy đủ của họ là trung thực. Các nút trung thực cũng cần được khuyến khích để xem xét các khối một cách nhất quán.
Những gì chúng ta đang xem xét ở đây là những hệ thống đảm bảo rằng nếu mã hóa khối không hợp lệ, các nút đầy đủ có thể phát hiện và cung cấp bằng chứng cho các máy khách ánh sáng để thuyết phục họ về hành vi sai trái. Tuy nhiên, trong phần tiếp theo, chúng tôi sẽ tập trung vào các mã khối đảm bảo rằng chỉ các mã hợp lệ mới có thể được gửi đến chuỗi. Điều này giúp loại bỏ sự cần thiết của bằng chứng gian lận cần chứng minh lỗi mã hóa. Các giải pháp bằng chứng hợp lệ cho phép các ứng dụng sử dụng hệ thống mà không phải đợi các nút đầy đủ cung cấp loại bằng chứng gian lận này.
Vậy, các giải pháp này hoạt động như thế nào?
Gần đây, những lời hứa đa thức đã làm dấy lên sự quan tâm mới trong không gian blockchain. Các cam kết đa thức này, đặc biệt là cam kết KZG / Kate có kích thước không đổi đối với đa thức, có thể được sử dụng để thiết kế sơ đồ tính khả dụng của dữ liệu sạch (DA) mà không yêu cầu bằng chứng gian lận. Tóm lại, lời hứa KZG cho phép chúng ta cam kết với một đa thức bằng cách sử dụng một phần tử nhóm đường cong elip duy nhất. Ngoài ra, sơ đồ cho phép chúng ta chứng minh rằng tại một điểm nhất định i, giá trị của φ đa thức là φ(i), sử dụng một nhân chứng có kích thước không đổi. Kế hoạch cam kết này ràng buộc về mặt tính toán và đồng cấu, cho phép chúng tôi khéo léo phá vỡ các bằng chứng gian lận.
Chúng tôi buộc các nhà sản xuất khối sắp xếp dữ liệu giao dịch thô thành một ma trận hai chiều có kích thước n x m. Nó sử dụng nội suy đa thức để mở rộng kích thước n của mỗi cột thành một cột có kích thước 2 n. Mỗi hàng của ma trận mở rộng này tạo ra một cam kết đa thức và gửi các cam kết đó như một phần của tiêu đề khối. Một biểu diễn sơ đồ của khối được đưa ra dưới đây.
Máy khách ánh sáng truy vấn bất kỳ ô nào của ma trận mở rộng này để làm bằng chứng, cho phép nó được xác minh dựa trên tiêu đề khối ngay lập tức. Nhận dạng thành viên có kích thước không đổi giúp lấy mẫu cực kỳ hiệu quả. Tính đồng cấu cam kết đảm bảo rằng các bằng chứng chỉ có thể được xác minh nếu khối được xây dựng chính xác, trong khi nội suy đa thức đảm bảo số lượng mẫu thành công không đổi có nghĩa là khả năng có sẵn dữ liệu là rất cao.
! [Vấn đề với tính khả dụng của dữ liệu là gì?] (https://piccdn.0daily.com/202311/17064433/5gjxe19ptk6oa203.png!webp)
Biểu diễn sơ đồ của một khối
Các phần chi tiết hơn của kịch bản này, cũng như tối ưu hóa hơn nữa và ước tính chi phí, nằm ngoài phạm vi của bài viết này. Tuy nhiên, chúng tôi muốn chỉ ra rằng trong khi chúng ta đang nói về sơ đồ 2D ở đây, các đảm bảo tương tự cũng có thể được cung cấp thông qua sơ đồ 1D với kích thước tiêu đề khối nhỏ hơn, nhưng với chi phí giảm tính song song và hiệu quả lấy mẫu máy khách nhẹ. Chúng ta sẽ khám phá điều này sâu hơn trong một bài viết tiếp theo.
Các lựa chọn thay thế khác là gì? Điều gì xảy ra tiếp theo?
Mã hóa xóa chiều cao và cam kết KZG không phải là cách duy nhất để giải quyết các vấn đề về tính khả dụng của dữ liệu. Chúng tôi đã bỏ qua một vài cách tiếp cận khác ở đây, chẳng hạn như mã hóa cây Merkle, mã hóa cây xen kẽ, phương thức dựa trên FRI và STARK, nhưng mỗi phương pháp đều có ưu điểm và nhược điểm.
Tại Avail, chúng tôi đã và đang sử dụng cam kết của KZG để phát triển các giải pháp sẵn sàng cho dữ liệu. Trong bài viết tiếp theo, chúng tôi sẽ đề cập đến chi tiết triển khai, cách sử dụng và cách chúng tôi dự định thay đổi không gian vấn đề về tính khả dụng của dữ liệu. Để tìm hiểu thêm về Avail, hãy theo dõi chúng tôi trên Twitter
Twitter là một nền tảng dịch vụ mạng xã hội có nguồn gốc từ Hoa Kỳ. Vào ngày 27/10/2022, Musk đã hoàn tất việc mua lại Twitter và sáp nhập nó vào công ty “X” mới thành lập. Theo thông điệp Twitter trước đó của Musk, ông sẽ tạo ra một ứng dụng bao gồm tất cả và đề cập rằng việc mua Twitter có thể đẩy nhanh mong muốn này.
và tham gia máy chủ Discord của chúng tôi.
Twitter:
Bất hòa:
Theo dõi Mô-đun 101 trên Twitter tại @Modular 101
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Vấn đề với tính khả dụng của dữ liệu là gì?
! [Vấn đề với tính khả dụng của dữ liệu là gì?] (https://piccdn.0daily.com/202310/25080444/tnfnxd82p4sv8fpe.jpg!webp)
Trong một mạng blockchain, làm thế nào để các nút đảm bảo rằng tất cả dữ liệu cho một khối mới được đề xuất đều có sẵn?
Trong bài đăng này, chúng ta sẽ đi sâu vào các vấn đề về tính khả dụng của dữ liệu và cách chúng ảnh hưởng đến khả năng mở rộng của Ethereum.
Vấn đề về tính khả dụng của dữ liệu là gì?
Các vấn đề về tính khả dụng của dữ liệu (DA): Làm thế nào các nút trong mạng blockchain có thể đảm bảo rằng tất cả dữ liệu trong một khối mới được đề xuất thực sự có sẵn và nếu dữ liệu không có sẵn, khối có thể chứa các giao dịch độc hại bị ẩn bởi nhà sản xuất khối. Ngay cả khi các khối chứa các giao dịch không độc hại, việc ẩn chúng có thể đe dọa tính bảo mật của hệ thống.
Ví dụ: giả sử Alice là nhà điều hành ZK-Rollup. Cô đã gửi ZK-Proof trên Ethereum và đã được xác minh. Nếu cô ấy không gửi tất cả dữ liệu giao dịch trên Ethereum, người dùng bản tổng hợp vẫn có thể không biết gì về số dư tài khoản hiện tại của họ, mặc dù bằng chứng của cô ấy xác nhận rằng tất cả các chuyển đổi trạng thái được thực hiện trong bản tổng hợp là hợp lệ. Do tính chất không có kiến thức, bằng chứng được gửi không thể tiết lộ thông tin về tình trạng hiện tại.
Trong trường hợp của Optimistic Rollup, có một ví dụ tương tự khi Alice gửi một khẳng định về Ethereum, nhưng những người tham gia OPR không thể tính toán lại hoặc thách thức yêu cầu bồi thường vì dữ liệu giao dịch không có sẵn.
Đáp lại những điều trên, cả OPR và ZKR đều được thiết kế để yêu cầu các nhà khai thác gửi tất cả các chi tiết giao dịch cho Ethereum dưới dạng “calldata”. Mặc dù điều này cho phép họ tránh các vấn đề DA trong ngắn hạn, khi số lượng giao dịch trong một bản tổng hợp tăng lên, lượng dữ liệu cần gửi cũng vậy, hạn chế số lượng mở rộng mà các bản tổng hợp này có thể cung cấp.
Để làm cho vấn đề tồi tệ hơn, dữ liệu không có sẵn là một lỗi không thể được quy cho duy nhất. Điều này có nghĩa là người tham gia không thể chứng minh cho các nút khác rằng một khối dữ liệu cụ thể bị thiếu. Điều này là do Bob có thể phát sóng rằng khối do Alice gửi bị thiếu dữ liệu, nhưng Charlie có thể cung cấp dữ liệu cho Alice khi cô ấy truy vấn anh ta.
Các vấn đề về tính khả dụng của dữ liệu ảnh hưởng đến các blockchain hiện tại như thế nào?
Để trả lời câu hỏi này, trước tiên chúng ta hãy xem xét cấu trúc khối chung của các blockchain giống Ethereum và các loại máy khách tồn tại trên bất kỳ mạng blockchain nào.
Một khối có thể được chia thành hai phần chính:
Trong các giao thức blockchain truyền thống, tất cả các nút được coi là các nút đầy đủ và chúng đồng bộ hóa toàn bộ khối và xác minh tất cả các chuyển đổi trạng thái. Chúng đòi hỏi rất nhiều tài nguyên để kiểm tra tính hợp lệ của các giao dịch và khối cửa hàng. Ưu điểm là các nút này sẽ không chấp nhận bất kỳ giao dịch không hợp lệ nào.
Có thể có một loại nút khác không có (hoặc không muốn chi tiêu) tài nguyên để xác thực mọi giao dịch. Thay vào đó, họ chủ yếu quan tâm đến việc tìm hiểu trạng thái hiện tại của blockchain và liệu một số giao dịch liên quan đến chúng có được bao gồm trong chuỗi hay không. Lý tưởng nhất, những khách hàng nhẹ này cũng nên được bảo vệ khỏi bị giả mạo bởi các chuỗi có chứa các giao dịch không hợp lệ. Điều này thực sự có thể đạt được bằng cách sử dụng những gì được gọi là bằng chứng gian lận. Những thông điệp ngắn gọn này cho thấy một khối cụ thể chứa các giao dịch không hợp lệ. Bất kỳ nút đầy đủ nào cũng có thể tạo ra một bằng chứng gian lận như vậy, vì vậy các máy khách nhẹ không cần phải tin tưởng vào một nút đầy đủ cụ thể để trung thực. Họ chỉ cần đảm bảo rằng họ được kết nối tốt với một mạng lưới tin đồn để đảm bảo rằng nếu có bằng chứng gian lận về tiêu đề khối có sẵn, họ sẽ nhận được nó.
Tuy nhiên, có một vấn đề với hệ thống này: điều gì sẽ xảy ra nếu một nhà sản xuất khối không tiết lộ toàn bộ dữ liệu đằng sau một khối? Trong trường hợp này, các nút đầy đủ rõ ràng sẽ từ chối khối bởi vì, theo ý kiến của họ, nếu một khối không đi kèm với phần thân khối, thì nó thậm chí không phải là một khối. Tuy nhiên, các máy khách nhẹ có thể tiếp xúc với tiêu đề khối và không nhận thấy rằng dữ liệu bị thiếu. Đồng thời, các nút đầy đủ không thể tạo ra bằng chứng gian lận vì chúng thiếu dữ liệu cần thiết để tạo bằng chứng gian lận.
Để chống lại điều này, chúng ta cần một cơ chế cho các máy khách nhẹ để xác minh tính khả dụng của dữ liệu. Điều này sẽ đảm bảo rằng nhà sản xuất khối ẩn dữ liệu không thể trốn tránh bằng cách thuyết phục máy khách nhẹ. Điều này cũng sẽ buộc các nhà sản xuất khối tiết lộ một số dữ liệu, cho phép toàn bộ mạng truy cập dữ liệu cho toàn bộ khối theo cách hợp tác.
Chúng ta hãy xem xét sâu hơn về vấn đề này với một ví dụ. Giả sử nhà sản xuất khối Alice xây dựng một khối B chứa các giao dịch tx 1, tx 2 、…、 txn. Giả sử tx 1 là một giao dịch độc hại. Nếu tx 1 được phát sóng, bất kỳ nút đầy đủ nào cũng có thể xác minh rằng nó độc hại và gửi thông tin này làm bằng chứng gian lận cho máy khách nhẹ, ngay lập tức sẽ biết rằng khối là không thể chấp nhận được. Tuy nhiên, nếu Alice muốn ẩn tx 1, cô ấy chỉ tiết lộ tiêu đề và tất cả dữ liệu giao dịch ngoại trừ tx 1. Một nút đầy đủ không thể xác minh tính đúng đắn của tx 1.
Người ta có thể nghĩ rằng một giải pháp đơn giản sẽ là có tất cả các khách hàng nhẹ ngẫu nhiên lấy mẫu giao dịch và nếu họ thấy rằng mẫu của họ có sẵn, họ có thể tự tin rằng khối có sẵn. Tuy nhiên, nếu light node được yêu cầu truy vấn bất kỳ giao dịch nào một cách ngẫu nhiên, xác suất light client sẽ truy vấn tx 1 là 1/n. Do đó, Alice hầu như luôn có thể lừa một khách hàng nhẹ chấp nhận một giao dịch độc hại. Nói cách khác, hầu hết các khách hàng nhẹ đều bị giả mạo. Do tính chất không thể quy kết, một nút đầy đủ không thể chứng minh bằng bất kỳ cách nào rằng tx 1 không khả dụng. Thật không may, việc tăng kích thước mẫu không làm cho mọi thứ tốt hơn.
Vì vậy, làm thế nào để chúng ta giải quyết vấn đề này?
Giải pháp cho vấn đề này nằm ở việc giới thiệu dự phòng trong các khối. Có một bộ tài liệu phong phú có thể giúp chúng ta giải quyết vấn đề này khi nói đến lý thuyết mã hóa, đặc biệt là mã hóa xóa.
Nói tóm lại, mã hóa xóa cho phép chúng tôi mở rộng n khối dữ liệu bất kỳ thành 2 n khối để n của 2 n bất kỳ là đủ để xây dựng lại dữ liệu gốc (các tham số có thể điều chỉnh, nhưng ở đây chúng tôi xem xét trường hợp này để đơn giản hóa).
Nếu chúng ta buộc nhà sản xuất khối xóa các giao dịch tx 1, tx 2 、…、 txn, thì để ẩn một giao dịch, nó cần ẩn n + 1 khối, vì bất kỳ n khối nào cũng đủ để xây dựng toàn bộ tập hợp giao dịch. Trong trường hợp này, một số lượng nhỏ các truy vấn có thể cung cấp cho khách hàng nhẹ một mức độ tự tin cao rằng dữ liệu cơ bản thực sự có sẵn.
Woah, vậy đó là nó?
Không. Mặc dù thủ thuật đơn giản này khiến việc ẩn dữ liệu trở nên khó khăn hơn, nhưng vẫn có thể nhà sản xuất khối đã cố tình xóa mã hóa sai cách. Tuy nhiên, một nút đầy đủ có thể xác minh rằng mã hóa xóa này đang được thực hiện chính xác và nếu không, nó có thể chứng minh điều đó cho máy khách nhẹ. Đây là một loại bằng chứng gian lận khác, giống như các giao dịch độc hại được đề cập ở trên. Thật thú vị, tất cả những gì cần là một nút đầy đủ trung thực để hoạt động như một người hàng xóm của một máy khách nhẹ, đảm bảo rằng nếu một khối độc hại, thì nó sẽ nhận được bằng chứng gian lận. Điều này đảm bảo rằng các khách hàng nhẹ có thể truy cập vào một chuỗi với xác suất rất cao là không có các giao dịch độc hại.
Nhưng có một nhược điểm. Nếu được thực hiện quá đơn giản, một số bằng chứng gian lận có thể lớn bằng kích thước của chính khối. Các giả định tài nguyên của chúng tôi cho các khách hàng ánh sáng cấm chúng tôi sử dụng thiết kế như vậy. Các cải tiến đã được thực hiện thông qua việc sử dụng các kỹ thuật mã hóa xóa đa chiều đã làm giảm kích thước của bằng chứng gian lận, nhưng với chi phí tăng kích thước của lời hứa. Để ngắn gọn, chúng tôi sẽ không đi vào chi tiết về những điều này ở đây, nhưng bài viết này cung cấp một phân tích chi tiết về chúng.
Vấn đề với giải pháp bằng chứng gian lận là một khách hàng nhẹ không bao giờ có thể hoàn toàn chắc chắn về bất kỳ khối nào mà nó chưa nhận được bằng chứng gian lận. Đồng thời, họ tiếp tục tin tưởng rằng các nút đầy đủ của họ là trung thực. Các nút trung thực cũng cần được khuyến khích để xem xét các khối một cách nhất quán.
Những gì chúng ta đang xem xét ở đây là những hệ thống đảm bảo rằng nếu mã hóa khối không hợp lệ, các nút đầy đủ có thể phát hiện và cung cấp bằng chứng cho các máy khách ánh sáng để thuyết phục họ về hành vi sai trái. Tuy nhiên, trong phần tiếp theo, chúng tôi sẽ tập trung vào các mã khối đảm bảo rằng chỉ các mã hợp lệ mới có thể được gửi đến chuỗi. Điều này giúp loại bỏ sự cần thiết của bằng chứng gian lận cần chứng minh lỗi mã hóa. Các giải pháp bằng chứng hợp lệ cho phép các ứng dụng sử dụng hệ thống mà không phải đợi các nút đầy đủ cung cấp loại bằng chứng gian lận này.
Vậy, các giải pháp này hoạt động như thế nào?
Gần đây, những lời hứa đa thức đã làm dấy lên sự quan tâm mới trong không gian blockchain. Các cam kết đa thức này, đặc biệt là cam kết KZG / Kate có kích thước không đổi đối với đa thức, có thể được sử dụng để thiết kế sơ đồ tính khả dụng của dữ liệu sạch (DA) mà không yêu cầu bằng chứng gian lận. Tóm lại, lời hứa KZG cho phép chúng ta cam kết với một đa thức bằng cách sử dụng một phần tử nhóm đường cong elip duy nhất. Ngoài ra, sơ đồ cho phép chúng ta chứng minh rằng tại một điểm nhất định i, giá trị của φ đa thức là φ(i), sử dụng một nhân chứng có kích thước không đổi. Kế hoạch cam kết này ràng buộc về mặt tính toán và đồng cấu, cho phép chúng tôi khéo léo phá vỡ các bằng chứng gian lận.
Chúng tôi buộc các nhà sản xuất khối sắp xếp dữ liệu giao dịch thô thành một ma trận hai chiều có kích thước n x m. Nó sử dụng nội suy đa thức để mở rộng kích thước n của mỗi cột thành một cột có kích thước 2 n. Mỗi hàng của ma trận mở rộng này tạo ra một cam kết đa thức và gửi các cam kết đó như một phần của tiêu đề khối. Một biểu diễn sơ đồ của khối được đưa ra dưới đây.
Máy khách ánh sáng truy vấn bất kỳ ô nào của ma trận mở rộng này để làm bằng chứng, cho phép nó được xác minh dựa trên tiêu đề khối ngay lập tức. Nhận dạng thành viên có kích thước không đổi giúp lấy mẫu cực kỳ hiệu quả. Tính đồng cấu cam kết đảm bảo rằng các bằng chứng chỉ có thể được xác minh nếu khối được xây dựng chính xác, trong khi nội suy đa thức đảm bảo số lượng mẫu thành công không đổi có nghĩa là khả năng có sẵn dữ liệu là rất cao.
! [Vấn đề với tính khả dụng của dữ liệu là gì?] (https://piccdn.0daily.com/202311/17064433/5gjxe19ptk6oa203.png!webp)
Biểu diễn sơ đồ của một khối
Các phần chi tiết hơn của kịch bản này, cũng như tối ưu hóa hơn nữa và ước tính chi phí, nằm ngoài phạm vi của bài viết này. Tuy nhiên, chúng tôi muốn chỉ ra rằng trong khi chúng ta đang nói về sơ đồ 2D ở đây, các đảm bảo tương tự cũng có thể được cung cấp thông qua sơ đồ 1D với kích thước tiêu đề khối nhỏ hơn, nhưng với chi phí giảm tính song song và hiệu quả lấy mẫu máy khách nhẹ. Chúng ta sẽ khám phá điều này sâu hơn trong một bài viết tiếp theo.
Các lựa chọn thay thế khác là gì? Điều gì xảy ra tiếp theo?
Mã hóa xóa chiều cao và cam kết KZG không phải là cách duy nhất để giải quyết các vấn đề về tính khả dụng của dữ liệu. Chúng tôi đã bỏ qua một vài cách tiếp cận khác ở đây, chẳng hạn như mã hóa cây Merkle, mã hóa cây xen kẽ, phương thức dựa trên FRI và STARK, nhưng mỗi phương pháp đều có ưu điểm và nhược điểm.
Tại Avail, chúng tôi đã và đang sử dụng cam kết của KZG để phát triển các giải pháp sẵn sàng cho dữ liệu. Trong bài viết tiếp theo, chúng tôi sẽ đề cập đến chi tiết triển khai, cách sử dụng và cách chúng tôi dự định thay đổi không gian vấn đề về tính khả dụng của dữ liệu. Để tìm hiểu thêm về Avail, hãy theo dõi chúng tôi trên Twitter
Twitter là một nền tảng dịch vụ mạng xã hội có nguồn gốc từ Hoa Kỳ. Vào ngày 27/10/2022, Musk đã hoàn tất việc mua lại Twitter và sáp nhập nó vào công ty “X” mới thành lập. Theo thông điệp Twitter trước đó của Musk, ông sẽ tạo ra một ứng dụng bao gồm tất cả và đề cập rằng việc mua Twitter có thể đẩy nhanh mong muốn này.
và tham gia máy chủ Discord của chúng tôi.
Twitter:
Bất hòa:
Theo dõi Mô-đun 101 trên Twitter tại @Modular 101