Bằng chứng lưu trữ: Đạt được nhận thức trạng thái theo thời gian và chuỗi

Nâng cao12/26/2023, 1:49:48 AM
Bài viết này giải thích cách sử dụng bằng chứng lưu trữ để truyền thông tin và xử lý dữ liệu, đồng thời áp dụng nó trong các lĩnh vực như quản trị chuỗi chéo, cho vay xuyên chuỗi và oracles đa chuỗi.

Giới thiệu loại coin

Điều gì sẽ xảy ra nếu bạn mất trí nhớ mỗi giờ? Và bạn cần liên tục yêu cầu ai đó cho bạn biết bạn đã làm gì? Đó là tình trạng hiện tại của hợp đồng thông minh. Trên các chuỗi khối như Ethereum, hợp đồng thông minh không thể truy cập trực tiếp vào các trạng thái vượt quá 256 khối. Vấn đề này càng trở nên trầm trọng hơn trong hệ sinh thái đa chuỗi, nơi việc truy xuất và xác minh dữ liệu trên các lớp thực thi khác nhau thậm chí còn khó khăn hơn.

Vào năm 2020, Vitalik Buterin và Tomasz Stanczak đã đề xuất cách truy cập dữ liệu theo thời gian. Trong khi EIP đã trở nên trì trệ, nhu cầu của nó lại nổi lên trong thế giới đa chuỗi tập trung vào cuộn lên. Ngày nay, bằng chứng lưu trữ đã nổi lên như một biên giới, nhằm mang lại nhận thức và trí nhớ cho các hợp đồng thông minh.

Truy cập dữ liệu trên chuỗi

Có một số cách để dapp có thể truy cập dữ liệu và trạng thái. Tất cả các phương pháp tiếp cận đều yêu cầu ứng dụng đặt niềm tin vào con người/thực thể hoặc mã hoặc bảo mật kinh tế tiền điện tử và phải có một số đánh đổi:

Tin tưởng vào con người/thực thể:

  • Nút lưu trữ: Người vận hành có thể tự chạy nút lưu trữ hoặc dựa vào các nhà cung cấp dịch vụ nút lưu trữ như Alchemy hoặc Infura để truy cập tất cả dữ liệu kể từ khối Genesis. Chúng cung cấp tất cả dữ liệu giống như Full Node nhưng cũng cung cấp tất cả dữ liệu trạng thái lịch sử của toàn bộ chuỗi khối. Các dịch vụ ngoài chuỗi như Etherscan và Dune Analytics sử dụng các nút lưu trữ để truy cập dữ liệu trên chuỗi. Các tác nhân ngoài chuỗi có thể chứng thực tính hợp lệ của dữ liệu này và các hợp đồng thông minh trên chuỗi có thể xác minh dữ liệu được ký bởi một tác nhân/ủy ban đáng tin cậy. Tính toàn vẹn của dữ liệu cơ bản không được xác minh. Cách tiếp cận này yêu cầu dapp tin tưởng rằng nhà cung cấp dịch vụ nút lưu trữ đang chạy cơ sở hạ tầng một cách chính xác và không có bất kỳ mục đích xấu nào.

Tin tưởng bảo mật kinh tế tiền điện tử:

  • Người lập chỉ mục: Giao thức lập chỉ mục tổ chức tất cả dữ liệu trên Blockchain, cho phép các nhà phát triển xây dựng và xuất bản các API mở mà ứng dụng có thể truy vấn. Những người lập chỉ mục riêng lẻ là những người vận hành nút đóng góp mã thông báo để cung cấp dịch vụ lập chỉ mục và xử lý truy vấn. Tuy nhiên, tranh chấp có thể xảy ra khi dữ liệu được cung cấp không chính xác và quá trình phân xử có thể mất thời gian. Hơn nữa, dữ liệu từ các công cụ lập chỉ mục như The Graph không thể được sử dụng trực tiếp bởi logic kinh doanh của hợp đồng thông minh và được sử dụng trong bối cảnh phân tích dữ liệu dựa trên web2.
  • Oracles: Các nhà cung cấp dịch vụ Oracle sử dụng dữ liệu tổng hợp từ nhiều nhà khai thác nút độc lập. Thách thức ở đây là dữ liệu có sẵn từ Oracles có thể không được cập nhật thường xuyên và bị giới hạn về phạm vi. Các nhà tiên tri như Chainlink thường chỉ duy trì các trạng thái cụ thể, chẳng hạn như nguồn cấp dữ liệu giá và đối với các trạng thái cũng như lịch sử dành riêng cho ứng dụng, chúng không khả thi. Hơn nữa, cách tiếp cận này cũng đưa ra một mức độ sai lệch nhất định trong dữ liệu và đòi hỏi sự tin tưởng vào các nhà khai thác nút.

Mã tin cậy:

  • Biến và chức năng đặc biệt: Các chuỗi khối như Ethereum có các biến và chức năng đặc biệt được sử dụng chủ yếu để cung cấp thông tin về chuỗi khối hoặc là các chức năng tiện ích sử dụng chung. Hợp đồng thông minh chỉ có thể truy cập vào khối băm của 256 khối gần đây nhất. Băm khối không có sẵn cho tất cả các khối vì lý do khả năng mở rộng. Việc có quyền truy cập vào các khối băm lịch sử sẽ rất hữu ích vì nó có thể cho phép xác minh bằng chứng chống lại chúng. Không có mã hoạt động nào trong quá trình thực thi EVM cho phép truy cập vào nội dung khối cũ hoặc nội dung giao dịch trước đó hoặc đầu ra biên nhận, do đó, một nút có thể quên những thứ đó một cách an toàn và vẫn có thể xử lý các khối mới. Phương pháp này cũng được giới hạn trong một blockchain duy nhất.

Với những thách thức và hạn chế của các giải pháp này, rõ ràng cần phải lưu trữ và cung cấp băm khối trên chuỗi. Đây là nơi có bằng chứng lưu trữ. Để hiểu rõ hơn về bằng chứng lưu trữ, chúng ta hãy xem nhanh việc lưu trữ dữ liệu trong chuỗi khối.

Lưu trữ dữ liệu trong blockchain

Blockchain là cơ sở dữ liệu công cộng được cập nhật và chia sẻ trên nhiều máy tính trong mạng. Dữ liệu và trạng thái được lưu trữ trong các nhóm liên tiếp được gọi là khối và mỗi khối tham chiếu mật mã đến khối mẹ của nó bằng cách lưu trữ hàm băm của tiêu đề khối trước đó.

Hãy lấy khối Ethereum làm ví dụ. Ethereum tận dụng một loại cây Merkle cụ thể được gọi là “cây Merkle Patricia” (MPT). Tiêu đề khối Ethereum chứa gốc của bốn lần thử Merkle-Patricia khác nhau, tức là Trie trạng thái, Trie lưu trữ, Trie biên nhận và Trie giao dịch. Bốn lần thử này mã hóa ánh xạ bao gồm tất cả dữ liệu Ethereum. Cây Merkle được sử dụng do tính hiệu quả trong việc lưu trữ dữ liệu. Sử dụng hàm băm đệ quy, cuối cùng chỉ có hàm băm gốc cần được lưu trữ, tiết kiệm rất nhiều dung lượng. Chúng cho phép mọi người chứng minh sự tồn tại của một phần tử trong cây bằng cách chứng minh rằng việc băm đệ quy các nút sẽ dẫn đến cùng một hàm băm gốc. Bằng chứng Merkle cho phép các client nhẹ trên Ethereum nhận được câu trả lời cho các câu hỏi như:

  • Giao dịch này có tồn tại trong một khối cụ thể không?
  • Số dư hiện tại trong tài khoản của tôi là bao nhiêu?
  • Tài khoản này có tồn tại không?

Thay vì tải xuống mọi giao dịch và mọi khối, “khách hàng nhẹ” chỉ có thể tải xuống chuỗi tiêu đề khối và xác minh thông tin bằng Merkle Proofs. Điều này làm cho quá trình tổng thể có hiệu quả cao. Tham khảo blog này của bài viết nghiên cứu của Vitalik và Maven11 để hiểu rõ hơn về cách triển khai, ưu điểm và thách thức liên quan đến Merkle Trees.

Bằng chứng lưu trữ

Bằng chứng lưu trữ cho phép chúng tôi chứng minh rằng nội dung nào đó đã được cam kết trong cơ sở dữ liệu và cũng hợp lệ bằng cách sử dụng các cam kết mật mã. Nếu chúng tôi có thể cung cấp bằng chứng như vậy thì đó là tuyên bố có thể kiểm chứng được rằng đã có điều gì đó xảy ra trên blockchain.

Bằng chứng lưu trữ có thể kích hoạt những gì?

Bằng chứng lưu trữ cho phép hai chức năng chính:

  1. Truy cập dữ liệu lịch sử trên chuỗi ngoài 256 khối cuối cùng, quay trở lại khối gốc
  2. Truy cập dữ liệu trên chuỗi (lịch sử cũng như hiện tại) của một chuỗi khối trên chuỗi khối khác với sự hỗ trợ xác minh đồng thuận hoặc cầu nối L1-L2 trong trường hợp L2

Bằng chứng lưu trữ hoạt động như thế nào?

Bằng chứng lưu trữ ở mức kiểm tra rất cao xem khối cụ thể có phải là một phần của lịch sử chuẩn của blockchain hay không và sau đó xác minh xem dữ liệu cụ thể được yêu cầu có phải là một phần của khối hay không. Điều này có thể đạt được thông qua:

  • Xử lý trên chuỗi: các dapp có thể lấy khối đáng tin cậy ban đầu, chuyển khối dưới dạng calldata để truy cập vào khối trước đó và quay trở lại khối gốc. Điều này đòi hỏi rất nhiều tính toán trên chuỗi và một lượng lớn dữ liệu cuộc gọi. Cách tiếp cận này hoàn toàn không khả thi trên thực tế do số lượng tính toán khổng lồ cần thiết trên chuỗi. Aragon đã thử sử dụng phương pháp tiếp cận trực tuyến vào năm 2018 nhưng không khả thi do chi phí trên chuỗi cao.
  • Sử dụng bằng chứng ZK: Cách tiếp cận này tương tự như xử lý trên chuỗi ngoại trừ thực tế là bộ chứng minh ZK được sử dụng để chuyển tính toán phức tạp ra khỏi chuỗi.
  1. Truy cập dữ liệu trên cùng một chuỗi: Bằng chứng ZK có thể được sử dụng để khẳng định rằng tiêu đề khối lịch sử tùy ý là tổ tiên của một trong 256 tiêu đề khối gần đây nhất có thể truy cập được trong môi trường thực thi. Cách tiếp cận khác là lập chỉ mục toàn bộ lịch sử của chuỗi nguồn và tạo bằng chứng ZK tương tự để chứng minh rằng việc lập chỉ mục diễn ra chính xác. Bằng chứng này được cập nhật thường xuyên khi các khối mới được thêm vào chuỗi nguồn. Truy cập dữ liệu trên các chuỗi: Nhà cung cấp thu thập các tiêu đề khối của chuỗi nguồn trên chuỗi đích và chứng thực tính hợp lệ của các tiêu đề khối này bằng bằng chứng đồng thuận ZK. Cũng có thể sử dụng giải pháp AMP hiện có như Axelar, Celer hoặc LayerZero để truy vấn các tiêu đề khối.
  2. Bộ nhớ đệm chứa các giá trị băm của các tiêu đề khối của chuỗi nguồn hoặc hàm băm gốc của bộ tích lũy băm khối ngoài chuỗi được duy trì trên chuỗi đích. Bộ đệm này được cập nhật thường xuyên và được sử dụng để chứng minh một cách hiệu quả trên chuỗi rằng một khối nhất định tồn tại và có liên kết mật mã với hàm băm khối gần đây có thể truy cập được từ trạng thái. Quá trình này được gọi là chứng minh tính liên tục của chuỗi. Cũng có thể sử dụng một blockchain chuyên dụng để lưu trữ các tiêu đề khối của tất cả các chuỗi nguồn.
  3. Dữ liệu/khối lịch sử được truy cập từ dữ liệu được lập chỉ mục ngoài chuỗi hoặc bộ đệm trên chuỗi (tùy thuộc vào mức độ phức tạp của yêu cầu) theo yêu cầu của dapp trên chuỗi đích. Mặc dù bộ nhớ đệm của hàm băm của các tiêu đề khối được duy trì trên chuỗi, nhưng dữ liệu thực tế có thể được lưu trữ ngoài chuỗi.
  4. Sự tồn tại của dữ liệu trong khối được chỉ định được kiểm tra thông qua bằng chứng bao gồm merkle và bằng chứng zk cho cùng một dữ liệu được tạo ra. Bằng chứng này được kết hợp với bằng chứng zk về việc lập chỉ mục chính xác hoặc bằng chứng đồng thuận ZK và bằng chứng này được cung cấp trên chuỗi để xác minh không cần tin cậy.
  5. Sau đó, các dapp có thể xác minh bằng chứng này trên chuỗi và sử dụng dữ liệu để thực hiện hành động mong muốn. Cùng với việc xác minh bằng chứng ZK, các tham số công khai như số khối và hàm băm khối được kiểm tra dựa trên bộ đệm của các tiêu đề khối được duy trì trên chuỗi.

Một số dự án áp dụng phương pháp này là Herodotus, Lagrange, Axiom, Hyper Oracle, Brevis Network và nil Foundation. Trong khi nỗ lực đáng kể đang được thực hiện để làm cho các ứng dụng nhận biết trạng thái trên nhiều chuỗi khối, IBC (Giao tiếp chuỗi khối liên kết) nổi bật như một tiêu chuẩn về khả năng tương tác cho phép các ứng dụng như ICQ (Truy vấn liên chuỗi) và ICA (Tài khoản liên chuỗi). ICQ cho phép các ứng dụng trên Chuỗi A truy vấn trạng thái của chuỗi B bằng cách đưa truy vấn vào gói IBC đơn giản và ICA cho phép một chuỗi khối kiểm soát an toàn một tài khoản trên chuỗi khối khác. Việc kết hợp chúng có thể tạo ra các trường hợp sử dụng chuỗi chéo thú vị. Các nhà cung cấp RaaS như Saga cung cấp các chức năng này cho tất cả chuỗi ứng dụng của họ theo mặc định bằng cách sử dụng IBC.

Có nhiều cách để tối ưu hóa bằng chứng lưu trữ nhằm tìm ra mức cân bằng phù hợp về mức tiêu thụ bộ nhớ, thời gian chứng minh, thời gian xác minh, hiệu quả tính toán và trải nghiệm của nhà phát triển. Quá trình tổng thể có thể được chia thành 3 quy trình phụ chính.

  • Truy cập dữ liệu
  • Xử lí dữ liệu
  • Tạo ZK Proof để truy cập và xử lý dữ liệu

Truy cập dữ liệu: Trong quy trình con này, nhà cung cấp dịch vụ truy cập vào các tiêu đề khối của chuỗi nguồn trên lớp thực thi hoặc thông qua việc duy trì bộ nhớ đệm trên chuỗi. Để truy cập dữ liệu trên các chuỗi, cần phải xác minh sự đồng thuận của chuỗi nguồn trên chuỗi đích. Một số phương pháp tiếp cận và tối ưu hóa đang được áp dụng bao gồm:

  • Chuỗi khối Ethereum hiện tại: Cấu trúc hiện tại của chuỗi khối Ethereum có thể được sử dụng để chứng minh giá trị của bất kỳ khe lưu trữ lịch sử nào đối với tiêu đề khối hiện tại sử dụng ZKP. Đây có thể được coi là một bằng chứng bao gồm lớn. Đó là bằng chứng cho thấy, với tiêu đề khối X gần đây ở độ cao b, tồn tại tiêu đề khối Y là tổ tiên của X ở độ cao bk. Nó dựa trên tính bảo mật của sự đồng thuận của Ethereum và yêu cầu một hệ thống chứng minh hiệu quả nhanh chóng. Đây là phương pháp được Lagrange sử dụng.
  • Bộ đệm Merkle Mountain Ranges (MMR) trên chuỗi: Dãy núi Merkle có thể được xem dưới dạng danh sách các cây Merkle nơi các cây Merkle riêng lẻ được kết hợp khi hai cây có cùng kích thước. Các cây Merkle riêng lẻ trong MMR được kết hợp bằng cách thêm các nút cha vào các gốc trước đó của cây. MMR là cấu trúc dữ liệu tương tự như cây Merkle với một số lợi ích bổ sung, chẳng hạn như nối thêm các phần tử hiệu quả và truy vấn dữ liệu hiệu quả, đặc biệt khi đọc dữ liệu tuần tự từ các tập dữ liệu lớn. Việc thêm các tiêu đề mới thông qua cây Merkle sẽ yêu cầu chuyển tất cả các nút chị em ở mỗi cấp. Để nối thêm dữ liệu một cách hiệu quả, Axiom sử dụng MMR để duy trì bộ nhớ đệm của hàm băm của các tiêu đề khối trên chuỗi. Herodotus lưu trữ hàm băm gốc của bộ tích lũy hàm băm khối MMR trên chuỗi. Điều này cho phép họ kiểm tra dữ liệu được tìm nạp dựa trên các giá trị băm tiêu đề khối này thông qua bằng chứng đưa vào. Cách tiếp cận này yêu cầu bộ đệm phải được cập nhật thường xuyên và gây ra những lo ngại về tính sống động nếu không được phân cấp.
  • Herodotus duy trì hai MMR khác nhau. Tùy thuộc vào blockchain hoặc lớp cụ thể, bộ tích lũy có thể được điều chỉnh để sử dụng các hàm băm khác nhau, tối ưu hóa hiệu quả và chi phí tính toán. Để chứng minh trên Starknet, hàm băm poseidon có thể được sử dụng nhưng hàm băm Keccack có thể được sử dụng cho chuỗi EVM.
  • Bộ đệm MMR ngoài chuỗi: Herodotus duy trì bộ đệm ngoài chuỗi của các truy vấn và kết quả đã tìm nạp trước đó để cho phép tìm nạp nhanh hơn trong trường hợp dữ liệu được yêu cầu lại. Điều này đòi hỏi cơ sở hạ tầng bổ sung hơn là chỉ chạy một nút lưu trữ. Việc tối ưu hóa được thực hiện trên cơ sở hạ tầng ngoài chuỗi có thể giảm chi phí cho người dùng cuối.
  • Chuỗi khối chuyên dụng để lưu trữ: Brevis dựa vào một bản tổng hợp ZK chuyên dụng (lớp tổng hợp) để lưu trữ tất cả các tiêu đề khối của tất cả các chuỗi mà chúng chứng thực. Nếu không có lớp tổng hợp này, mỗi chuỗi sẽ cần lưu trữ các tiêu đề khối cho mọi chuỗi khác, dẫn đến “kết nối” O(N2) cho N chuỗi khối. Bằng cách giới thiệu một lớp tổng hợp, mỗi blockchain chỉ cần lưu trữ trạng thái gốc cho quá trình tổng hợp, giảm các kết nối tổng thể xuống O(N). Lớp này cũng được sử dụng để tổng hợp nhiều bằng chứng cho tiêu đề khối/kết quả truy vấn và có thể gửi một bằng chứng duy nhất để xác minh trên mỗi chuỗi khối được kết nối.
  • Truyền thông báo L1-L2: Có thể tránh việc xác minh sự đồng thuận của chuỗi nguồn trong trường hợp L2 vì L2 hỗ trợ nhắn tin gốc để cập nhật hợp đồng L2 trên L1. Bộ đệm có thể được cập nhật trên Ethereum và việc truyền tin nhắn L1-L2 có thể được sử dụng để gửi khối băm hoặc gốc của cây được biên dịch ngoài chuỗi tới các L2 khác. Herodotus đang áp dụng phương pháp này nhưng điều này không khả thi đối với các L1 khác.

Xử lí dữ liệu:

Cùng với quyền truy cập vào dữ liệu, hợp đồng thông minh cũng có thể thực hiện các phép tính tùy ý dựa trên dữ liệu. Mặc dù một số trường hợp sử dụng có thể không yêu cầu tính toán nhưng đây là một dịch vụ giá trị gia tăng quan trọng đối với nhiều trường hợp sử dụng khác. Nhiều nhà cung cấp dịch vụ cho phép tính toán trên dữ liệu vì bằng chứng zk về tính toán có thể được tạo và cung cấp trên chuỗi để đảm bảo tính hợp lệ. Vì các giải pháp AMP hiện có như Axelar, LayerZero, Mạng Polyhedra có thể được sử dụng để truy cập dữ liệu nên việc xử lý dữ liệu có thể trở thành điểm khác biệt đối với các nhà cung cấp dịch vụ chứng minh lưu trữ.

Ví dụ: Hyper Oracle cho phép các nhà phát triển xác định các tính toán ngoài chuỗi tùy chỉnh bằng JavaScript. Brevis đã thiết kế một thị trường mở gồm Công cụ truy vấn ZK chấp nhận các truy vấn dữ liệu từ dApp và xử lý chúng bằng cách sử dụng các tiêu đề khối đã được chứng thực. Hợp đồng thông minh gửi một truy vấn dữ liệu, được người kiểm chứng chọn từ thị trường. Prover tạo ra bằng chứng dựa trên đầu vào truy vấn, các tiêu đề khối có liên quan (từ lớp tổng hợp Brevis) và kết quả. Lagrange đã giới thiệu ZK Big Data Stack để chứng minh các mô hình lập trình phân tán như SQL, MapReduce và Spark/RDD. Bằng chứng là mô-đun và có thể được tạo từ bất kỳ tiêu đề khối nào có nguồn gốc từ các cầu nối chuỗi chéo và giao thức AMP hiện có. ZK MapReduce, sản phẩm đầu tiên trong nhóm Lagrange ZK BigData, là một công cụ tính toán phân tán (dựa trên mô hình lập trình MapReduce nổi tiếng) để chứng minh kết quả tính toán liên quan đến các tập hợp dữ liệu đa chuỗi khá lớn. Ví dụ: một bằng chứng ZKMR duy nhất có thể được sử dụng để chứng minh những thay đổi về tính thanh khoản của DEX được triển khai trên 4–5 chuỗi trong một khoảng thời gian nhất định. Đối với các truy vấn tương đối đơn giản, việc tính toán cũng có thể được thực hiện trực tiếp trên chuỗi như Herodotus đang thực hiện vào thời điểm hiện tại.

Tạo bằng chứng:

  • Bằng chứng có thể cập nhật: Bằng chứng có thể cập nhật có thể được sử dụng khi bằng chứng cần được tính toán và duy trì hiệu quả trên một dòng khối chuyển động. Khi một dapp muốn duy trì bằng chứng cho đường trung bình động cho một biến hợp đồng (chẳng hạn như giá token), khi các khối mới đang được tạo mà không cần tính toán lại bằng chứng mới từ đầu, thì bằng chứng hiện có có thể được cập nhật một cách hiệu quả. Để chứng minh khả năng tính toán song song dữ liệu động ở trạng thái trên chuỗi, Lagrange xây dựng một cam kết vectơ hàng loạt, được gọi là Recproof, bên trên một phần MPT, cập nhật nó một cách nhanh chóng và tính toán linh hoạt trên nó. Bằng cách tạo đệ quy cây Verkle trên MPT, Lagrange có thể tính toán một lượng lớn dữ liệu trạng thái động trên chuỗi một cách hiệu quả.
  • Cây Verkle: Không giống như cây Merkle, nơi chúng ta cần cung cấp tất cả các nút có chung nút cha, Cây Verkle chỉ yêu cầu đường dẫn đến gốc. Đường dẫn này nhỏ hơn nhiều so với tất cả các nút chị em trong trường hợp cây Merkle. Ethereum cũng đang khám phá việc sử dụng cây Verkle trong các bản phát hành trong tương lai để giảm thiểu số lượng trạng thái mà các nút đầy đủ của Ethereum bắt buộc phải nắm giữ. Brevis tận dụng Verkle Tree để lưu trữ các tiêu đề khối đã được chứng thực và kết quả truy vấn trong lớp tổng hợp. Nó làm giảm đáng kể kích thước bằng chứng bao gồm dữ liệu, đặc biệt khi cây chứa một số lượng lớn các phần tử và cũng hỗ trợ bằng chứng bao gồm hiệu quả cho một loạt dữ liệu.
  • Giám sát Mempool để tạo bằng chứng nhanh hơn: Herodotus gần đây đã công bố turbo, cho phép các nhà phát triển thêm một vài dòng mã vào mã hợp đồng thông minh của họ để chỉ định truy vấn dữ liệu. Herodotus giám sát mempool để tìm các giao dịch hợp đồng thông minh tương tác với hợp đồng turbo. Quá trình tạo bằng chứng bắt đầu khi giao dịch nằm trong chính mempool. Sau khi bằng chứng được tạo và xác minh trên chuỗi, kết quả sẽ được ghi vào hợp đồng hoán đổi turbo trên chuỗi. Kết quả chỉ có thể được ghi vào hợp đồng hoán đổi turbo sau khi chúng được xác thực bằng bằng chứng lưu trữ. Khi điều này xảy ra, một phần phí giao dịch sẽ được chia sẻ với trình sắp xếp thứ tự hoặc trình tạo khối, khuyến khích họ đợi thêm một thời gian nữa để thu phí. Đối với các truy vấn dữ liệu đơn giản, có thể dữ liệu được yêu cầu được cung cấp trên chuỗi trước khi giao dịch từ người dùng được đưa vào khối.

Áp dụng bằng chứng trạng thái/lưu trữ

Bằng chứng trạng thái và lưu trữ có thể mở khóa nhiều trường hợp sử dụng mới cho hợp đồng thông minh ở lớp ứng dụng, phần mềm trung gian và cơ sở hạ tầng. Một số trong số này là:

Lớp ứng dụng:

Quản trị:

  • Bỏ phiếu liên chuỗi: Giao thức bỏ phiếu trên chuỗi có thể cho phép người dùng trên Chuỗi B chứng minh quyền sở hữu tài sản trên Chuỗi A. Người dùng sẽ không phải kết nối tài sản của mình để có được quyền biểu quyết trên chuỗi mới. Ví dụ: SnapshotX trên Herodotus
  • Phân phối mã thông báo quản trị: Các ứng dụng có thể phân phối nhiều mã thông báo quản trị hơn cho người dùng đang hoạt động hoặc những người dùng đầu tiên. Ví dụ: RetroPGF trên Lagrange

Danh tính và danh tiếng:

  • Bằng chứng về quyền sở hữu: Người dùng có thể cung cấp bằng chứng về quyền sở hữu một số NFT, SBT hoặc tài sản nhất định trên chuỗi A, cho phép họ thực hiện một số hành động nhất định trên Chuỗi B. Ví dụ: chuỗi ứng dụng trò chơi có thể quyết định khởi chạy bộ sưu tập NFT của mình trên một chuỗi khác có tính thanh khoản hiện có như Ethereum hoặc bất kỳ L2 nào. Điều này sẽ cho phép trò chơi khai thác tính thanh khoản tồn tại ở nơi khác và kết nối tiện ích NFT mà không thực sự yêu cầu kết nối NFT.
  • Bằng chứng về việc sử dụng: Người dùng có thể được hưởng chiết khấu hoặc tính năng cao cấp dựa trên lịch sử sử dụng nền tảng của họ (chứng minh rằng khối lượng X mà người dùng giao dịch trên Uniswap)
  • Bằng chứng về OG: Người dùng có thể chứng minh rằng mình sở hữu một tài khoản đang hoạt động cách đây hơn X ngày
  • Điểm tín dụng trên chuỗi: Nền tảng điểm tín dụng đa chuỗi có thể tổng hợp dữ liệu từ nhiều tài khoản của một người dùng để tạo điểm tín dụng

Tất cả các bằng chứng trên có thể được sử dụng để cung cấp trải nghiệm tùy chỉnh cho người dùng. Dapps có thể cung cấp giảm giá hoặc đặc quyền để giữ chân các nhà giao dịch hoặc người dùng có kinh nghiệm và cung cấp trải nghiệm người dùng đơn giản hóa cho người dùng mới làm quen.

định nghĩa:

  • Cho vay xuyên chuỗi: Người dùng có thể khóa tài sản trên Chuỗi A và vay trên Chuỗi B thay vì bắc cầu các mã thông báo
  • Bảo hiểm trên chuỗi: Các lỗi có thể được xác định bằng cách truy cập dữ liệu lịch sử trên chuỗi và bảo hiểm có thể được giải quyết hoàn toàn trên chuỗi.
  • TWAP của giá tài sản trong nhóm: Ứng dụng có thể tính toán và lấy giá trung bình của một nội dung trong nhóm AMM trong một khoảng thời gian xác định. Ví dụ: Uniswap TWAP Oracle với Axiom
  • Định giá quyền chọn: giao thức quyền chọn trên chuỗi có thể định giá một quyền chọn dựa trên mức độ biến động của một tài sản trong n khối vừa qua trên một sàn giao dịch phi tập trung.

Hai trường hợp sử dụng cuối cùng sẽ yêu cầu cập nhật bằng chứng mỗi khi một khối mới được thêm vào chuỗi nguồn.

Phần mềm trung gian:

  • Ý định: Bằng chứng lưu trữ sẽ cho phép người dùng diễn đạt rõ ràng và rõ ràng hơn về ý định của họ. Mặc dù công việc của người giải quyết là thực hiện các bước cần thiết để đáp ứng ý định của người dùng, nhưng người dùng có thể chỉ định rõ ràng hơn các điều kiện dựa trên dữ liệu và tham số trên chuỗi. Người giải quyết cũng có thể chứng minh tính hợp lệ của dữ liệu trên chuỗi được tận dụng để tìm ra giải pháp tối ưu.
  • Trừu tượng hóa tài khoản: Người dùng có thể dựa vào dữ liệu đến từ các chuỗi khác bằng cách sử dụng bằng chứng lưu trữ để đặt quy tắc thông qua Trừu tượng tài khoản. Ví dụ: Mỗi chiếc ví đều có một số nonce. Chúng ta có thể chứng minh rằng một năm trước, nonce là một con số cụ thể và hiện tại nonce cũng vậy. Điều này có thể được sử dụng để chứng minh rằng ví này chưa hề được sử dụng và quyền truy cập vào ví sau đó có thể được ủy quyền cho một ví khác.
  • Tự động hóa trên chuỗi: Hợp đồng thông minh có thể tự động hóa một số hành động nhất định dựa trên các điều kiện được xác định trước phụ thuộc vào dữ liệu trên chuỗi. Các chương trình tự động được yêu cầu gọi hợp đồng thông minh theo những khoảng thời gian nhất định để duy trì dòng giá tối ưu của AMM hoặc để giữ cho các giao thức cho vay lành mạnh bằng cách tránh nợ xấu. Hyper Oracle cho phép tự động hóa cùng với quyền truy cập vào dữ liệu trên chuỗi.

Cơ sở hạ tầng

  • Oracle trên chuỗi không cần tin cậy: Mạng oracle phi tập trung tổng hợp các phản hồi từ nhiều nút oracle riêng lẻ trong mạng oracle. Oracle Networks có thể loại bỏ sự dư thừa này và tận dụng bảo mật mật mã cho dữ liệu trên chuỗi. Mạng Oracle có thể nhập dữ liệu từ nhiều chuỗi (L1, L2 và L1 thay thế) vào một chuỗi duy nhất và chỉ cần chứng minh sự tồn tại bằng cách sử dụng bằng chứng lưu trữ ở nơi khác. Các giải pháp DeFi có lực kéo đáng kể cũng có thể hoạt động trên một giải pháp tùy chỉnh. Ví dụ: Lido Finance, nhà cung cấp dịch vụ đặt cược thanh khoản lớn nhất, đã hợp tác với Nil Foundation để tài trợ cho việc phát triển zkOracle. Các giải pháp sẽ cho phép truy cập dữ liệu không đáng tin cậy vào dữ liệu lịch sử trong EVM và bảo đảm 15 tỷ USD thanh khoản Ethereum đặt cược của Lido Finance.
  • Giao thức AMP: Các giải pháp AMP hiện tại có thể tăng tính biểu cảm của thông điệp bằng cách hợp tác với các nhà cung cấp dịch vụ chứng minh lưu trữ. Đây là một cách tiếp cận được Lagrange đề xuất trong bài viết Luận văn mô-đun của họ.

Phần kết luận

Nhận thức giúp các công ty công nghệ phục vụ khách hàng tốt hơn. Từ danh tính người dùng đến hành vi mua hàng cho đến biểu đồ xã hội, các công ty công nghệ tận dụng nhận thức để mở khóa các khả năng như nhắm mục tiêu chính xác, phân khúc khách hàng và tiếp thị lan truyền. Các công ty công nghệ truyền thống cần có sự cho phép rõ ràng từ người dùng của họ và phải cẩn thận trong khi quản lý dữ liệu người dùng. Tuy nhiên, tất cả dữ liệu người dùng trên các chuỗi khối không được phép đều được cung cấp công khai mà không nhất thiết phải tiết lộ danh tính người dùng. Hợp đồng thông minh sẽ có thể tận dụng dữ liệu có sẵn công khai để phục vụ người dùng tốt hơn. Việc phát triển và áp dụng các hệ sinh thái chuyên biệt hơn sẽ khiến nhận thức của nhà nước theo thời gian và blockchain trở thành một vấn đề ngày càng quan trọng cần được giải quyết. Bằng chứng lưu trữ có thể cho phép Ethereum nổi lên như một lớp nhận dạng và quyền sở hữu tài sản cùng với lớp thanh toán. Người dùng có thể duy trì danh tính và tài sản chính của họ trên Ethereum, có thể được sử dụng trên nhiều chuỗi khối mà không cần kết nối tài sản mọi lúc. Chúng tôi tiếp tục vui mừng về những khả năng và trường hợp sử dụng mới sẽ được mở khóa trong tương lai.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [Medium]. Mọi bản quyền thuộc về tác giả gốc [LongHash Ventures]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.

Bằng chứng lưu trữ: Đạt được nhận thức trạng thái theo thời gian và chuỗi

Nâng cao12/26/2023, 1:49:48 AM
Bài viết này giải thích cách sử dụng bằng chứng lưu trữ để truyền thông tin và xử lý dữ liệu, đồng thời áp dụng nó trong các lĩnh vực như quản trị chuỗi chéo, cho vay xuyên chuỗi và oracles đa chuỗi.

Giới thiệu loại coin

Điều gì sẽ xảy ra nếu bạn mất trí nhớ mỗi giờ? Và bạn cần liên tục yêu cầu ai đó cho bạn biết bạn đã làm gì? Đó là tình trạng hiện tại của hợp đồng thông minh. Trên các chuỗi khối như Ethereum, hợp đồng thông minh không thể truy cập trực tiếp vào các trạng thái vượt quá 256 khối. Vấn đề này càng trở nên trầm trọng hơn trong hệ sinh thái đa chuỗi, nơi việc truy xuất và xác minh dữ liệu trên các lớp thực thi khác nhau thậm chí còn khó khăn hơn.

Vào năm 2020, Vitalik Buterin và Tomasz Stanczak đã đề xuất cách truy cập dữ liệu theo thời gian. Trong khi EIP đã trở nên trì trệ, nhu cầu của nó lại nổi lên trong thế giới đa chuỗi tập trung vào cuộn lên. Ngày nay, bằng chứng lưu trữ đã nổi lên như một biên giới, nhằm mang lại nhận thức và trí nhớ cho các hợp đồng thông minh.

Truy cập dữ liệu trên chuỗi

Có một số cách để dapp có thể truy cập dữ liệu và trạng thái. Tất cả các phương pháp tiếp cận đều yêu cầu ứng dụng đặt niềm tin vào con người/thực thể hoặc mã hoặc bảo mật kinh tế tiền điện tử và phải có một số đánh đổi:

Tin tưởng vào con người/thực thể:

  • Nút lưu trữ: Người vận hành có thể tự chạy nút lưu trữ hoặc dựa vào các nhà cung cấp dịch vụ nút lưu trữ như Alchemy hoặc Infura để truy cập tất cả dữ liệu kể từ khối Genesis. Chúng cung cấp tất cả dữ liệu giống như Full Node nhưng cũng cung cấp tất cả dữ liệu trạng thái lịch sử của toàn bộ chuỗi khối. Các dịch vụ ngoài chuỗi như Etherscan và Dune Analytics sử dụng các nút lưu trữ để truy cập dữ liệu trên chuỗi. Các tác nhân ngoài chuỗi có thể chứng thực tính hợp lệ của dữ liệu này và các hợp đồng thông minh trên chuỗi có thể xác minh dữ liệu được ký bởi một tác nhân/ủy ban đáng tin cậy. Tính toàn vẹn của dữ liệu cơ bản không được xác minh. Cách tiếp cận này yêu cầu dapp tin tưởng rằng nhà cung cấp dịch vụ nút lưu trữ đang chạy cơ sở hạ tầng một cách chính xác và không có bất kỳ mục đích xấu nào.

Tin tưởng bảo mật kinh tế tiền điện tử:

  • Người lập chỉ mục: Giao thức lập chỉ mục tổ chức tất cả dữ liệu trên Blockchain, cho phép các nhà phát triển xây dựng và xuất bản các API mở mà ứng dụng có thể truy vấn. Những người lập chỉ mục riêng lẻ là những người vận hành nút đóng góp mã thông báo để cung cấp dịch vụ lập chỉ mục và xử lý truy vấn. Tuy nhiên, tranh chấp có thể xảy ra khi dữ liệu được cung cấp không chính xác và quá trình phân xử có thể mất thời gian. Hơn nữa, dữ liệu từ các công cụ lập chỉ mục như The Graph không thể được sử dụng trực tiếp bởi logic kinh doanh của hợp đồng thông minh và được sử dụng trong bối cảnh phân tích dữ liệu dựa trên web2.
  • Oracles: Các nhà cung cấp dịch vụ Oracle sử dụng dữ liệu tổng hợp từ nhiều nhà khai thác nút độc lập. Thách thức ở đây là dữ liệu có sẵn từ Oracles có thể không được cập nhật thường xuyên và bị giới hạn về phạm vi. Các nhà tiên tri như Chainlink thường chỉ duy trì các trạng thái cụ thể, chẳng hạn như nguồn cấp dữ liệu giá và đối với các trạng thái cũng như lịch sử dành riêng cho ứng dụng, chúng không khả thi. Hơn nữa, cách tiếp cận này cũng đưa ra một mức độ sai lệch nhất định trong dữ liệu và đòi hỏi sự tin tưởng vào các nhà khai thác nút.

Mã tin cậy:

  • Biến và chức năng đặc biệt: Các chuỗi khối như Ethereum có các biến và chức năng đặc biệt được sử dụng chủ yếu để cung cấp thông tin về chuỗi khối hoặc là các chức năng tiện ích sử dụng chung. Hợp đồng thông minh chỉ có thể truy cập vào khối băm của 256 khối gần đây nhất. Băm khối không có sẵn cho tất cả các khối vì lý do khả năng mở rộng. Việc có quyền truy cập vào các khối băm lịch sử sẽ rất hữu ích vì nó có thể cho phép xác minh bằng chứng chống lại chúng. Không có mã hoạt động nào trong quá trình thực thi EVM cho phép truy cập vào nội dung khối cũ hoặc nội dung giao dịch trước đó hoặc đầu ra biên nhận, do đó, một nút có thể quên những thứ đó một cách an toàn và vẫn có thể xử lý các khối mới. Phương pháp này cũng được giới hạn trong một blockchain duy nhất.

Với những thách thức và hạn chế của các giải pháp này, rõ ràng cần phải lưu trữ và cung cấp băm khối trên chuỗi. Đây là nơi có bằng chứng lưu trữ. Để hiểu rõ hơn về bằng chứng lưu trữ, chúng ta hãy xem nhanh việc lưu trữ dữ liệu trong chuỗi khối.

Lưu trữ dữ liệu trong blockchain

Blockchain là cơ sở dữ liệu công cộng được cập nhật và chia sẻ trên nhiều máy tính trong mạng. Dữ liệu và trạng thái được lưu trữ trong các nhóm liên tiếp được gọi là khối và mỗi khối tham chiếu mật mã đến khối mẹ của nó bằng cách lưu trữ hàm băm của tiêu đề khối trước đó.

Hãy lấy khối Ethereum làm ví dụ. Ethereum tận dụng một loại cây Merkle cụ thể được gọi là “cây Merkle Patricia” (MPT). Tiêu đề khối Ethereum chứa gốc của bốn lần thử Merkle-Patricia khác nhau, tức là Trie trạng thái, Trie lưu trữ, Trie biên nhận và Trie giao dịch. Bốn lần thử này mã hóa ánh xạ bao gồm tất cả dữ liệu Ethereum. Cây Merkle được sử dụng do tính hiệu quả trong việc lưu trữ dữ liệu. Sử dụng hàm băm đệ quy, cuối cùng chỉ có hàm băm gốc cần được lưu trữ, tiết kiệm rất nhiều dung lượng. Chúng cho phép mọi người chứng minh sự tồn tại của một phần tử trong cây bằng cách chứng minh rằng việc băm đệ quy các nút sẽ dẫn đến cùng một hàm băm gốc. Bằng chứng Merkle cho phép các client nhẹ trên Ethereum nhận được câu trả lời cho các câu hỏi như:

  • Giao dịch này có tồn tại trong một khối cụ thể không?
  • Số dư hiện tại trong tài khoản của tôi là bao nhiêu?
  • Tài khoản này có tồn tại không?

Thay vì tải xuống mọi giao dịch và mọi khối, “khách hàng nhẹ” chỉ có thể tải xuống chuỗi tiêu đề khối và xác minh thông tin bằng Merkle Proofs. Điều này làm cho quá trình tổng thể có hiệu quả cao. Tham khảo blog này của bài viết nghiên cứu của Vitalik và Maven11 để hiểu rõ hơn về cách triển khai, ưu điểm và thách thức liên quan đến Merkle Trees.

Bằng chứng lưu trữ

Bằng chứng lưu trữ cho phép chúng tôi chứng minh rằng nội dung nào đó đã được cam kết trong cơ sở dữ liệu và cũng hợp lệ bằng cách sử dụng các cam kết mật mã. Nếu chúng tôi có thể cung cấp bằng chứng như vậy thì đó là tuyên bố có thể kiểm chứng được rằng đã có điều gì đó xảy ra trên blockchain.

Bằng chứng lưu trữ có thể kích hoạt những gì?

Bằng chứng lưu trữ cho phép hai chức năng chính:

  1. Truy cập dữ liệu lịch sử trên chuỗi ngoài 256 khối cuối cùng, quay trở lại khối gốc
  2. Truy cập dữ liệu trên chuỗi (lịch sử cũng như hiện tại) của một chuỗi khối trên chuỗi khối khác với sự hỗ trợ xác minh đồng thuận hoặc cầu nối L1-L2 trong trường hợp L2

Bằng chứng lưu trữ hoạt động như thế nào?

Bằng chứng lưu trữ ở mức kiểm tra rất cao xem khối cụ thể có phải là một phần của lịch sử chuẩn của blockchain hay không và sau đó xác minh xem dữ liệu cụ thể được yêu cầu có phải là một phần của khối hay không. Điều này có thể đạt được thông qua:

  • Xử lý trên chuỗi: các dapp có thể lấy khối đáng tin cậy ban đầu, chuyển khối dưới dạng calldata để truy cập vào khối trước đó và quay trở lại khối gốc. Điều này đòi hỏi rất nhiều tính toán trên chuỗi và một lượng lớn dữ liệu cuộc gọi. Cách tiếp cận này hoàn toàn không khả thi trên thực tế do số lượng tính toán khổng lồ cần thiết trên chuỗi. Aragon đã thử sử dụng phương pháp tiếp cận trực tuyến vào năm 2018 nhưng không khả thi do chi phí trên chuỗi cao.
  • Sử dụng bằng chứng ZK: Cách tiếp cận này tương tự như xử lý trên chuỗi ngoại trừ thực tế là bộ chứng minh ZK được sử dụng để chuyển tính toán phức tạp ra khỏi chuỗi.
  1. Truy cập dữ liệu trên cùng một chuỗi: Bằng chứng ZK có thể được sử dụng để khẳng định rằng tiêu đề khối lịch sử tùy ý là tổ tiên của một trong 256 tiêu đề khối gần đây nhất có thể truy cập được trong môi trường thực thi. Cách tiếp cận khác là lập chỉ mục toàn bộ lịch sử của chuỗi nguồn và tạo bằng chứng ZK tương tự để chứng minh rằng việc lập chỉ mục diễn ra chính xác. Bằng chứng này được cập nhật thường xuyên khi các khối mới được thêm vào chuỗi nguồn. Truy cập dữ liệu trên các chuỗi: Nhà cung cấp thu thập các tiêu đề khối của chuỗi nguồn trên chuỗi đích và chứng thực tính hợp lệ của các tiêu đề khối này bằng bằng chứng đồng thuận ZK. Cũng có thể sử dụng giải pháp AMP hiện có như Axelar, Celer hoặc LayerZero để truy vấn các tiêu đề khối.
  2. Bộ nhớ đệm chứa các giá trị băm của các tiêu đề khối của chuỗi nguồn hoặc hàm băm gốc của bộ tích lũy băm khối ngoài chuỗi được duy trì trên chuỗi đích. Bộ đệm này được cập nhật thường xuyên và được sử dụng để chứng minh một cách hiệu quả trên chuỗi rằng một khối nhất định tồn tại và có liên kết mật mã với hàm băm khối gần đây có thể truy cập được từ trạng thái. Quá trình này được gọi là chứng minh tính liên tục của chuỗi. Cũng có thể sử dụng một blockchain chuyên dụng để lưu trữ các tiêu đề khối của tất cả các chuỗi nguồn.
  3. Dữ liệu/khối lịch sử được truy cập từ dữ liệu được lập chỉ mục ngoài chuỗi hoặc bộ đệm trên chuỗi (tùy thuộc vào mức độ phức tạp của yêu cầu) theo yêu cầu của dapp trên chuỗi đích. Mặc dù bộ nhớ đệm của hàm băm của các tiêu đề khối được duy trì trên chuỗi, nhưng dữ liệu thực tế có thể được lưu trữ ngoài chuỗi.
  4. Sự tồn tại của dữ liệu trong khối được chỉ định được kiểm tra thông qua bằng chứng bao gồm merkle và bằng chứng zk cho cùng một dữ liệu được tạo ra. Bằng chứng này được kết hợp với bằng chứng zk về việc lập chỉ mục chính xác hoặc bằng chứng đồng thuận ZK và bằng chứng này được cung cấp trên chuỗi để xác minh không cần tin cậy.
  5. Sau đó, các dapp có thể xác minh bằng chứng này trên chuỗi và sử dụng dữ liệu để thực hiện hành động mong muốn. Cùng với việc xác minh bằng chứng ZK, các tham số công khai như số khối và hàm băm khối được kiểm tra dựa trên bộ đệm của các tiêu đề khối được duy trì trên chuỗi.

Một số dự án áp dụng phương pháp này là Herodotus, Lagrange, Axiom, Hyper Oracle, Brevis Network và nil Foundation. Trong khi nỗ lực đáng kể đang được thực hiện để làm cho các ứng dụng nhận biết trạng thái trên nhiều chuỗi khối, IBC (Giao tiếp chuỗi khối liên kết) nổi bật như một tiêu chuẩn về khả năng tương tác cho phép các ứng dụng như ICQ (Truy vấn liên chuỗi) và ICA (Tài khoản liên chuỗi). ICQ cho phép các ứng dụng trên Chuỗi A truy vấn trạng thái của chuỗi B bằng cách đưa truy vấn vào gói IBC đơn giản và ICA cho phép một chuỗi khối kiểm soát an toàn một tài khoản trên chuỗi khối khác. Việc kết hợp chúng có thể tạo ra các trường hợp sử dụng chuỗi chéo thú vị. Các nhà cung cấp RaaS như Saga cung cấp các chức năng này cho tất cả chuỗi ứng dụng của họ theo mặc định bằng cách sử dụng IBC.

Có nhiều cách để tối ưu hóa bằng chứng lưu trữ nhằm tìm ra mức cân bằng phù hợp về mức tiêu thụ bộ nhớ, thời gian chứng minh, thời gian xác minh, hiệu quả tính toán và trải nghiệm của nhà phát triển. Quá trình tổng thể có thể được chia thành 3 quy trình phụ chính.

  • Truy cập dữ liệu
  • Xử lí dữ liệu
  • Tạo ZK Proof để truy cập và xử lý dữ liệu

Truy cập dữ liệu: Trong quy trình con này, nhà cung cấp dịch vụ truy cập vào các tiêu đề khối của chuỗi nguồn trên lớp thực thi hoặc thông qua việc duy trì bộ nhớ đệm trên chuỗi. Để truy cập dữ liệu trên các chuỗi, cần phải xác minh sự đồng thuận của chuỗi nguồn trên chuỗi đích. Một số phương pháp tiếp cận và tối ưu hóa đang được áp dụng bao gồm:

  • Chuỗi khối Ethereum hiện tại: Cấu trúc hiện tại của chuỗi khối Ethereum có thể được sử dụng để chứng minh giá trị của bất kỳ khe lưu trữ lịch sử nào đối với tiêu đề khối hiện tại sử dụng ZKP. Đây có thể được coi là một bằng chứng bao gồm lớn. Đó là bằng chứng cho thấy, với tiêu đề khối X gần đây ở độ cao b, tồn tại tiêu đề khối Y là tổ tiên của X ở độ cao bk. Nó dựa trên tính bảo mật của sự đồng thuận của Ethereum và yêu cầu một hệ thống chứng minh hiệu quả nhanh chóng. Đây là phương pháp được Lagrange sử dụng.
  • Bộ đệm Merkle Mountain Ranges (MMR) trên chuỗi: Dãy núi Merkle có thể được xem dưới dạng danh sách các cây Merkle nơi các cây Merkle riêng lẻ được kết hợp khi hai cây có cùng kích thước. Các cây Merkle riêng lẻ trong MMR được kết hợp bằng cách thêm các nút cha vào các gốc trước đó của cây. MMR là cấu trúc dữ liệu tương tự như cây Merkle với một số lợi ích bổ sung, chẳng hạn như nối thêm các phần tử hiệu quả và truy vấn dữ liệu hiệu quả, đặc biệt khi đọc dữ liệu tuần tự từ các tập dữ liệu lớn. Việc thêm các tiêu đề mới thông qua cây Merkle sẽ yêu cầu chuyển tất cả các nút chị em ở mỗi cấp. Để nối thêm dữ liệu một cách hiệu quả, Axiom sử dụng MMR để duy trì bộ nhớ đệm của hàm băm của các tiêu đề khối trên chuỗi. Herodotus lưu trữ hàm băm gốc của bộ tích lũy hàm băm khối MMR trên chuỗi. Điều này cho phép họ kiểm tra dữ liệu được tìm nạp dựa trên các giá trị băm tiêu đề khối này thông qua bằng chứng đưa vào. Cách tiếp cận này yêu cầu bộ đệm phải được cập nhật thường xuyên và gây ra những lo ngại về tính sống động nếu không được phân cấp.
  • Herodotus duy trì hai MMR khác nhau. Tùy thuộc vào blockchain hoặc lớp cụ thể, bộ tích lũy có thể được điều chỉnh để sử dụng các hàm băm khác nhau, tối ưu hóa hiệu quả và chi phí tính toán. Để chứng minh trên Starknet, hàm băm poseidon có thể được sử dụng nhưng hàm băm Keccack có thể được sử dụng cho chuỗi EVM.
  • Bộ đệm MMR ngoài chuỗi: Herodotus duy trì bộ đệm ngoài chuỗi của các truy vấn và kết quả đã tìm nạp trước đó để cho phép tìm nạp nhanh hơn trong trường hợp dữ liệu được yêu cầu lại. Điều này đòi hỏi cơ sở hạ tầng bổ sung hơn là chỉ chạy một nút lưu trữ. Việc tối ưu hóa được thực hiện trên cơ sở hạ tầng ngoài chuỗi có thể giảm chi phí cho người dùng cuối.
  • Chuỗi khối chuyên dụng để lưu trữ: Brevis dựa vào một bản tổng hợp ZK chuyên dụng (lớp tổng hợp) để lưu trữ tất cả các tiêu đề khối của tất cả các chuỗi mà chúng chứng thực. Nếu không có lớp tổng hợp này, mỗi chuỗi sẽ cần lưu trữ các tiêu đề khối cho mọi chuỗi khác, dẫn đến “kết nối” O(N2) cho N chuỗi khối. Bằng cách giới thiệu một lớp tổng hợp, mỗi blockchain chỉ cần lưu trữ trạng thái gốc cho quá trình tổng hợp, giảm các kết nối tổng thể xuống O(N). Lớp này cũng được sử dụng để tổng hợp nhiều bằng chứng cho tiêu đề khối/kết quả truy vấn và có thể gửi một bằng chứng duy nhất để xác minh trên mỗi chuỗi khối được kết nối.
  • Truyền thông báo L1-L2: Có thể tránh việc xác minh sự đồng thuận của chuỗi nguồn trong trường hợp L2 vì L2 hỗ trợ nhắn tin gốc để cập nhật hợp đồng L2 trên L1. Bộ đệm có thể được cập nhật trên Ethereum và việc truyền tin nhắn L1-L2 có thể được sử dụng để gửi khối băm hoặc gốc của cây được biên dịch ngoài chuỗi tới các L2 khác. Herodotus đang áp dụng phương pháp này nhưng điều này không khả thi đối với các L1 khác.

Xử lí dữ liệu:

Cùng với quyền truy cập vào dữ liệu, hợp đồng thông minh cũng có thể thực hiện các phép tính tùy ý dựa trên dữ liệu. Mặc dù một số trường hợp sử dụng có thể không yêu cầu tính toán nhưng đây là một dịch vụ giá trị gia tăng quan trọng đối với nhiều trường hợp sử dụng khác. Nhiều nhà cung cấp dịch vụ cho phép tính toán trên dữ liệu vì bằng chứng zk về tính toán có thể được tạo và cung cấp trên chuỗi để đảm bảo tính hợp lệ. Vì các giải pháp AMP hiện có như Axelar, LayerZero, Mạng Polyhedra có thể được sử dụng để truy cập dữ liệu nên việc xử lý dữ liệu có thể trở thành điểm khác biệt đối với các nhà cung cấp dịch vụ chứng minh lưu trữ.

Ví dụ: Hyper Oracle cho phép các nhà phát triển xác định các tính toán ngoài chuỗi tùy chỉnh bằng JavaScript. Brevis đã thiết kế một thị trường mở gồm Công cụ truy vấn ZK chấp nhận các truy vấn dữ liệu từ dApp và xử lý chúng bằng cách sử dụng các tiêu đề khối đã được chứng thực. Hợp đồng thông minh gửi một truy vấn dữ liệu, được người kiểm chứng chọn từ thị trường. Prover tạo ra bằng chứng dựa trên đầu vào truy vấn, các tiêu đề khối có liên quan (từ lớp tổng hợp Brevis) và kết quả. Lagrange đã giới thiệu ZK Big Data Stack để chứng minh các mô hình lập trình phân tán như SQL, MapReduce và Spark/RDD. Bằng chứng là mô-đun và có thể được tạo từ bất kỳ tiêu đề khối nào có nguồn gốc từ các cầu nối chuỗi chéo và giao thức AMP hiện có. ZK MapReduce, sản phẩm đầu tiên trong nhóm Lagrange ZK BigData, là một công cụ tính toán phân tán (dựa trên mô hình lập trình MapReduce nổi tiếng) để chứng minh kết quả tính toán liên quan đến các tập hợp dữ liệu đa chuỗi khá lớn. Ví dụ: một bằng chứng ZKMR duy nhất có thể được sử dụng để chứng minh những thay đổi về tính thanh khoản của DEX được triển khai trên 4–5 chuỗi trong một khoảng thời gian nhất định. Đối với các truy vấn tương đối đơn giản, việc tính toán cũng có thể được thực hiện trực tiếp trên chuỗi như Herodotus đang thực hiện vào thời điểm hiện tại.

Tạo bằng chứng:

  • Bằng chứng có thể cập nhật: Bằng chứng có thể cập nhật có thể được sử dụng khi bằng chứng cần được tính toán và duy trì hiệu quả trên một dòng khối chuyển động. Khi một dapp muốn duy trì bằng chứng cho đường trung bình động cho một biến hợp đồng (chẳng hạn như giá token), khi các khối mới đang được tạo mà không cần tính toán lại bằng chứng mới từ đầu, thì bằng chứng hiện có có thể được cập nhật một cách hiệu quả. Để chứng minh khả năng tính toán song song dữ liệu động ở trạng thái trên chuỗi, Lagrange xây dựng một cam kết vectơ hàng loạt, được gọi là Recproof, bên trên một phần MPT, cập nhật nó một cách nhanh chóng và tính toán linh hoạt trên nó. Bằng cách tạo đệ quy cây Verkle trên MPT, Lagrange có thể tính toán một lượng lớn dữ liệu trạng thái động trên chuỗi một cách hiệu quả.
  • Cây Verkle: Không giống như cây Merkle, nơi chúng ta cần cung cấp tất cả các nút có chung nút cha, Cây Verkle chỉ yêu cầu đường dẫn đến gốc. Đường dẫn này nhỏ hơn nhiều so với tất cả các nút chị em trong trường hợp cây Merkle. Ethereum cũng đang khám phá việc sử dụng cây Verkle trong các bản phát hành trong tương lai để giảm thiểu số lượng trạng thái mà các nút đầy đủ của Ethereum bắt buộc phải nắm giữ. Brevis tận dụng Verkle Tree để lưu trữ các tiêu đề khối đã được chứng thực và kết quả truy vấn trong lớp tổng hợp. Nó làm giảm đáng kể kích thước bằng chứng bao gồm dữ liệu, đặc biệt khi cây chứa một số lượng lớn các phần tử và cũng hỗ trợ bằng chứng bao gồm hiệu quả cho một loạt dữ liệu.
  • Giám sát Mempool để tạo bằng chứng nhanh hơn: Herodotus gần đây đã công bố turbo, cho phép các nhà phát triển thêm một vài dòng mã vào mã hợp đồng thông minh của họ để chỉ định truy vấn dữ liệu. Herodotus giám sát mempool để tìm các giao dịch hợp đồng thông minh tương tác với hợp đồng turbo. Quá trình tạo bằng chứng bắt đầu khi giao dịch nằm trong chính mempool. Sau khi bằng chứng được tạo và xác minh trên chuỗi, kết quả sẽ được ghi vào hợp đồng hoán đổi turbo trên chuỗi. Kết quả chỉ có thể được ghi vào hợp đồng hoán đổi turbo sau khi chúng được xác thực bằng bằng chứng lưu trữ. Khi điều này xảy ra, một phần phí giao dịch sẽ được chia sẻ với trình sắp xếp thứ tự hoặc trình tạo khối, khuyến khích họ đợi thêm một thời gian nữa để thu phí. Đối với các truy vấn dữ liệu đơn giản, có thể dữ liệu được yêu cầu được cung cấp trên chuỗi trước khi giao dịch từ người dùng được đưa vào khối.

Áp dụng bằng chứng trạng thái/lưu trữ

Bằng chứng trạng thái và lưu trữ có thể mở khóa nhiều trường hợp sử dụng mới cho hợp đồng thông minh ở lớp ứng dụng, phần mềm trung gian và cơ sở hạ tầng. Một số trong số này là:

Lớp ứng dụng:

Quản trị:

  • Bỏ phiếu liên chuỗi: Giao thức bỏ phiếu trên chuỗi có thể cho phép người dùng trên Chuỗi B chứng minh quyền sở hữu tài sản trên Chuỗi A. Người dùng sẽ không phải kết nối tài sản của mình để có được quyền biểu quyết trên chuỗi mới. Ví dụ: SnapshotX trên Herodotus
  • Phân phối mã thông báo quản trị: Các ứng dụng có thể phân phối nhiều mã thông báo quản trị hơn cho người dùng đang hoạt động hoặc những người dùng đầu tiên. Ví dụ: RetroPGF trên Lagrange

Danh tính và danh tiếng:

  • Bằng chứng về quyền sở hữu: Người dùng có thể cung cấp bằng chứng về quyền sở hữu một số NFT, SBT hoặc tài sản nhất định trên chuỗi A, cho phép họ thực hiện một số hành động nhất định trên Chuỗi B. Ví dụ: chuỗi ứng dụng trò chơi có thể quyết định khởi chạy bộ sưu tập NFT của mình trên một chuỗi khác có tính thanh khoản hiện có như Ethereum hoặc bất kỳ L2 nào. Điều này sẽ cho phép trò chơi khai thác tính thanh khoản tồn tại ở nơi khác và kết nối tiện ích NFT mà không thực sự yêu cầu kết nối NFT.
  • Bằng chứng về việc sử dụng: Người dùng có thể được hưởng chiết khấu hoặc tính năng cao cấp dựa trên lịch sử sử dụng nền tảng của họ (chứng minh rằng khối lượng X mà người dùng giao dịch trên Uniswap)
  • Bằng chứng về OG: Người dùng có thể chứng minh rằng mình sở hữu một tài khoản đang hoạt động cách đây hơn X ngày
  • Điểm tín dụng trên chuỗi: Nền tảng điểm tín dụng đa chuỗi có thể tổng hợp dữ liệu từ nhiều tài khoản của một người dùng để tạo điểm tín dụng

Tất cả các bằng chứng trên có thể được sử dụng để cung cấp trải nghiệm tùy chỉnh cho người dùng. Dapps có thể cung cấp giảm giá hoặc đặc quyền để giữ chân các nhà giao dịch hoặc người dùng có kinh nghiệm và cung cấp trải nghiệm người dùng đơn giản hóa cho người dùng mới làm quen.

định nghĩa:

  • Cho vay xuyên chuỗi: Người dùng có thể khóa tài sản trên Chuỗi A và vay trên Chuỗi B thay vì bắc cầu các mã thông báo
  • Bảo hiểm trên chuỗi: Các lỗi có thể được xác định bằng cách truy cập dữ liệu lịch sử trên chuỗi và bảo hiểm có thể được giải quyết hoàn toàn trên chuỗi.
  • TWAP của giá tài sản trong nhóm: Ứng dụng có thể tính toán và lấy giá trung bình của một nội dung trong nhóm AMM trong một khoảng thời gian xác định. Ví dụ: Uniswap TWAP Oracle với Axiom
  • Định giá quyền chọn: giao thức quyền chọn trên chuỗi có thể định giá một quyền chọn dựa trên mức độ biến động của một tài sản trong n khối vừa qua trên một sàn giao dịch phi tập trung.

Hai trường hợp sử dụng cuối cùng sẽ yêu cầu cập nhật bằng chứng mỗi khi một khối mới được thêm vào chuỗi nguồn.

Phần mềm trung gian:

  • Ý định: Bằng chứng lưu trữ sẽ cho phép người dùng diễn đạt rõ ràng và rõ ràng hơn về ý định của họ. Mặc dù công việc của người giải quyết là thực hiện các bước cần thiết để đáp ứng ý định của người dùng, nhưng người dùng có thể chỉ định rõ ràng hơn các điều kiện dựa trên dữ liệu và tham số trên chuỗi. Người giải quyết cũng có thể chứng minh tính hợp lệ của dữ liệu trên chuỗi được tận dụng để tìm ra giải pháp tối ưu.
  • Trừu tượng hóa tài khoản: Người dùng có thể dựa vào dữ liệu đến từ các chuỗi khác bằng cách sử dụng bằng chứng lưu trữ để đặt quy tắc thông qua Trừu tượng tài khoản. Ví dụ: Mỗi chiếc ví đều có một số nonce. Chúng ta có thể chứng minh rằng một năm trước, nonce là một con số cụ thể và hiện tại nonce cũng vậy. Điều này có thể được sử dụng để chứng minh rằng ví này chưa hề được sử dụng và quyền truy cập vào ví sau đó có thể được ủy quyền cho một ví khác.
  • Tự động hóa trên chuỗi: Hợp đồng thông minh có thể tự động hóa một số hành động nhất định dựa trên các điều kiện được xác định trước phụ thuộc vào dữ liệu trên chuỗi. Các chương trình tự động được yêu cầu gọi hợp đồng thông minh theo những khoảng thời gian nhất định để duy trì dòng giá tối ưu của AMM hoặc để giữ cho các giao thức cho vay lành mạnh bằng cách tránh nợ xấu. Hyper Oracle cho phép tự động hóa cùng với quyền truy cập vào dữ liệu trên chuỗi.

Cơ sở hạ tầng

  • Oracle trên chuỗi không cần tin cậy: Mạng oracle phi tập trung tổng hợp các phản hồi từ nhiều nút oracle riêng lẻ trong mạng oracle. Oracle Networks có thể loại bỏ sự dư thừa này và tận dụng bảo mật mật mã cho dữ liệu trên chuỗi. Mạng Oracle có thể nhập dữ liệu từ nhiều chuỗi (L1, L2 và L1 thay thế) vào một chuỗi duy nhất và chỉ cần chứng minh sự tồn tại bằng cách sử dụng bằng chứng lưu trữ ở nơi khác. Các giải pháp DeFi có lực kéo đáng kể cũng có thể hoạt động trên một giải pháp tùy chỉnh. Ví dụ: Lido Finance, nhà cung cấp dịch vụ đặt cược thanh khoản lớn nhất, đã hợp tác với Nil Foundation để tài trợ cho việc phát triển zkOracle. Các giải pháp sẽ cho phép truy cập dữ liệu không đáng tin cậy vào dữ liệu lịch sử trong EVM và bảo đảm 15 tỷ USD thanh khoản Ethereum đặt cược của Lido Finance.
  • Giao thức AMP: Các giải pháp AMP hiện tại có thể tăng tính biểu cảm của thông điệp bằng cách hợp tác với các nhà cung cấp dịch vụ chứng minh lưu trữ. Đây là một cách tiếp cận được Lagrange đề xuất trong bài viết Luận văn mô-đun của họ.

Phần kết luận

Nhận thức giúp các công ty công nghệ phục vụ khách hàng tốt hơn. Từ danh tính người dùng đến hành vi mua hàng cho đến biểu đồ xã hội, các công ty công nghệ tận dụng nhận thức để mở khóa các khả năng như nhắm mục tiêu chính xác, phân khúc khách hàng và tiếp thị lan truyền. Các công ty công nghệ truyền thống cần có sự cho phép rõ ràng từ người dùng của họ và phải cẩn thận trong khi quản lý dữ liệu người dùng. Tuy nhiên, tất cả dữ liệu người dùng trên các chuỗi khối không được phép đều được cung cấp công khai mà không nhất thiết phải tiết lộ danh tính người dùng. Hợp đồng thông minh sẽ có thể tận dụng dữ liệu có sẵn công khai để phục vụ người dùng tốt hơn. Việc phát triển và áp dụng các hệ sinh thái chuyên biệt hơn sẽ khiến nhận thức của nhà nước theo thời gian và blockchain trở thành một vấn đề ngày càng quan trọng cần được giải quyết. Bằng chứng lưu trữ có thể cho phép Ethereum nổi lên như một lớp nhận dạng và quyền sở hữu tài sản cùng với lớp thanh toán. Người dùng có thể duy trì danh tính và tài sản chính của họ trên Ethereum, có thể được sử dụng trên nhiều chuỗi khối mà không cần kết nối tài sản mọi lúc. Chúng tôi tiếp tục vui mừng về những khả năng và trường hợp sử dụng mới sẽ được mở khóa trong tương lai.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [Medium]. Mọi bản quyền thuộc về tác giả gốc [LongHash Ventures]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500