Trong kỉ nguyên Web3.0, không phải tất cả cấu trúc Internet đều được xây dựng dựa trên blockchain hay việc tính toán dữ liệu đều được xây dựng trên các public chain. Khi tính đến độ hiệu quả tính toán dữ liệu và sự đa dạng của môi trường ngôn ngữ lập trình, lớp cơ bản tính toán dữ liệu trong kỷ nguyên Web 3.0 sẽ là một môi trường cực kì phức tạp và đa dạng. Vì vậy, làm thế nào để tăng hiệu quả tính toán dữ liệu trên blockchain đã trở thành xu hướng của thế hệ mô hình điện toán tiếp theo.
Trong Web3.0, việc dựa vào các cơ chế đồng thuận và chuỗi chéo là chưa đủ, tính toán off-chain / off-chain đã trở thành một xu hướng chính để giải quyết vấn đề. Do các giới hạn của trilemma scalability, việc tính toán off-chain bằng các cơ chế tập trung một phần và các phương tiện khác có thể đạt được khả năng mở rộng cao hơn, chìa khóa là làm thế nào để đưa kết quả tính toán off-chain lên chain chính. TEE, zk và các kỹ thuật khác có thể đạt được điều này. Bài viết này sẽ phân tích các mô hình điện toán dữ liệu có thể có trong kỷ nguyên Web3.0 bằng cách sử dụng Oasis, Arweave, Mina và các mô hình tính toán off-chain khác làm ví dụ.
Quá trình phát triển của các public chain
1. Cơ chế đồng thuận:
Các cơ chế đồng thuận đã di chuyển từ PoW sang PoS và các cơ chế khác nhau của Po Strong nỗ lực giải quyết bài toán mở rộng các public chain. Tuy nhiên hiện nay các cơ chế này vẫn chưa vượt qua được trilemma scalbility.
2. Phát triển các ứng dụng chuỗi chéo (cross-chain):
Cross chain được xử dụng khi chain gốc không thể sử dụng trong tất cả các tình huống và cần đưa việc lưu trữ, tính toán dữ liệu sang các public chain khác.
3. Off-chain:
Sharding Ethereum 2.0 cho đến các Layer 2 network đều tìm cách giảm gánh nặng cho chain chính. Ý tưởng là sẽ đưa việc tính toán thành off-chain, tách biệt việc tính toán ra khỏi đơn vị xác thực. Vấn đề của off-chain nằm ở việc xác thực dữ liệu các giao dịch off-chain hoặc cách để dữ liệu off-chain được thông qua trên chain chính.
Trong web 2.5, việc chia sẻ dữ liệu, chạy các chương trình hay tích hợp giứa các hệ sinh thái chỉ là vấn đề thồi gian. Chia sẻ dữ liệu giữa thế giới tập trung và phi tập trung sẽ cần các ứng dụng oracle. Dữ liệu và ứng dụng trong Web 2.0 sẽ tồn tại lâu dài trên con đường tiến tới Web 3.0 và sẽ hợp nhất với Web3.0 – Dữ liệu sẽ được chia sẻ giữa hệ sinh thái ứng dụng Web 3.0 mới và Web 2.0, các ứng dụng sẽ chạy trên các hệ thống Web 3.0 và Web 2.0 (Kỷ nguyên Web 2.5), và người dùng sẽ thuộc cả hai hệ sinh thái cùng một lúc. Ngoài ra, dữ liệu khổng lồ và khả năng tính toán của thời đại Web 2.0 sẽ tiếp tục tồn tại trong một thời gian dài và sẽ trở thành một phần của thời đại Web 3.0. Làm thế nào để tích hợp phần này của dữ liệu và máy tính với hệ sinh thái blockchain và cách để gọi các tài nguyên cơ bản của internet như lưu trữ dữ liệu, mạng và bộ nhớ máy tính, là những thách thức rất lớn và không thể được giải quyết chỉ bởi cross chain và oracle.
Đồng thuận trong web3.0: Rất nhiều thứ có thể thực hiện bên ngoài public chain
Những hạn chế của Ethereum về mặt hiệu suất cơ bản đã cho ta thấy việc chỉ sử dụng các cơ chế đồng thuận và multi chain là không đủ để lưu trữ và tính toán dữ liệu web 3.0. Sharding, L2, Pica parachains và các giải pháp mở rộng khác của Ethereum 2.0 đã trở thành giải pháp cho vấn đề hiện tại. Tuy cơ chế khác nhau nhưng tất cả chúng đều dẫn đến một điểm chung: dữ liệu và tính toán Web 3.0 sẽ không chạy trên mỗi public chain và một lượng lớn công việc sẽ được thực hiện bên ngoài (có thể là L2, parachain hoặc thậm chí các phương pháp non-blockchain). Ta thấy được việc tính toán off-chain đã trở thành quy tắc chung, đặc biệt là đối với một số lượng lớn xử lý và tính toán dữ liệu, sẽ được thực hiện bên ngoài chuỗi chính.
Bài viết này tạm thời đề cập đến tất cả các loại phương pháp bên ngoài chuỗi chính của public chain dưới dạng tính toán off-chain. Làm thế nào để thiết lập một nền tảng lưu trữ dữ liệu và tính toán hiệu quả bên ngoài public chain và có thể chạy các loại ứng dụng Web 3.0 đã trở thành một vấn đề quan trọng.
Cơ chế đồng thuận, Cross-chains và modular public chain
Hiệu suất của public chain là một vấn đề nan giải trong ngành. Trong quá trình nâng cấp public chain đã xảy như sau:
1) Cơ chế đồng thuận:
Cơ chế đồng thuận đã qua các phiên bản cải tiến từ cơ chế PoW đến PoS và các cơ chế PoS khác nhau nhằm giải quyết vấn đề khả năng mở rộng của public chain. Dù là cơ chế nào, để đạt được sự đồng thuận đều cần hi sinh hiệu suất của chain, là một tam giác không thể phá vỡ được.
2) Các nỗ lực để lưu trữ các ứng dụng đa chuỗi
Cross-chain được nhắc đến khi một public chain không thể được áp dụng cho tất cả các tình huống của ứng dụng và cần nhiều public chain để giải quyết các hoạt động lưu trữ và tính toán dữ liệu. Ví dụ: Polkadot, là một hệ thống multi chain không đồng nhất có thể mở rộng, có thể chuyển bất kỳ dữ liệu nào (không chỉ token) đến tất cả các blockchain, cho phép lưu thông tài sản và dữ liệu giữa các chain. Điều này rất quan trọng đối với khả năng mở rộng và tính đa dạng ứng dụng của các mạng blockchain bởi vì hiệu suất của một blockchain là có hạn và rất khó để cân bằng giữa sự riêng tư và tính phổ biến. Đồng thời, các yếu tổ của trilemma scalability phải được cân bằng cho phù hợp.
3) Off-chain để giảm gánh nặng cho chuỗi chính
Từ sharding ethereum 2.0 đến L2, tất cả công việc đều xoay quanh cách giảm gánh nặng cho chuỗi chính. Nghĩa là, việc tính toán các dữ liệu nặng sẽ được thực hiện bên ngoài chuỗi chính – có thể theo cách phân chia các nhóm nhiệm vụ như sharding, L2 hoặc thậm chí là một hệ thống không phải blockchain để lưu trữ tính toán dữ liệu và kết quả cuối cùng được trả về, lưu lại chuỗi chính. Sự đồng thuận của chuỗi chính sẽ xác minh kết quả dữ liệu, đảm bảo về mức độ phi tập trung và bảo mật, trong khi các tính toán dữ liệu nặng được giao cho các nền tảng bên ngoài chuỗi chính.
Mặc dù các nền tảng hiệu suất cao này đều phải đánh đổi một phần phi tập trung và bảo mật, nó có thể giám sát chuỗi chính cũng như xác nhận các nền tảng off-chain thông qua zk proof, TEE hoặc các kĩ thuật khác Ý tưởng là sẽ đưa việc tính toán thành off-chain, tách biệt việc tính toán ra khỏi đơn vị xác thực.
Gần đây, một phương án mới đã xuất hiện: modular public chain. Tương tự như phân lớp của giao thức Internet, modular public chain sẽ được chia thành execution layer, settlement layer và data availability layer. Trên Ethereum, execution layer chạy L2 của nhiều Dapp khác nhau, sau đó trả lại dữ liệu giao dịch đã nén (Rollup) cho Ethereum để xác minh, dữ liệu hiện tại cũng được lưu trữ trên. Tuy nhiên đối với dữ liệu thô ngày càng tăng, việc thiết lập một data availability layer để lưu trữ dữ liệu là cực kì cần thiết nhằm giải phóng Ethereum, để nó chỉ làm việc xác minh và tính toán (đồng thuận).
Tất nhiên, cách tiếp cận này vẫn chưa được chứng minh, bao gồm cả Vitalik, điều này đã đặt ra câu hỏi về tính bảo mật của data availability layer. Để có thể được người dùng tin tưởng, vấn đề cốt lõi của điện toán off-chain là xác minh dữ liệu off-chain hoặc làm thế nào để dữ liệu tính toán off-chain nhận được sự đồng thuận on-chain.
Đối với việc tính toán của sharding, L2 hay on-chain, public chain giống như một con đường chính với các quy định vận chuyển hàng hóa nghiêm túc (consensus). Không thể để tất cả các dữ liệu chạy trên đường chính và các phương tiện vận chuyển của các nhánh chỉ có thể chạy trên đường chính sau khi đã đóng gói hàng hóa (data) và chạy trên đường chính bằng zero-knowledge proof và các phương tiện khác. Việc xác minh kết quả dữ liệu cho chuỗi chính được dựa trên các phương tiện linh hoạt như zk proof, TEE để đáp ứng các hoàn cảnh khác nhau.
Tính toán dữ liệu web3: 3 mô hình chính
Mặc dù đã tách việc tính toán khỏi chuỗi chính, các kỹ thuật như sharding và L2 vẫn giữ các dữ liệu cơ bản trên blockchain, vấn đề liên quan đến tính phi tập trung. Do các giới hạn của trilemma scalability, việc tính toán off-chain bằng các cơ chế tập trung một phần và các phương tiện khác có thể đạt được khả năng mở rộng cao hơn, chìa khóa là làm thế nào để đưa kết quả tính toán off-chain lên chain chính. TEE, zk và các kỹ thuật khác có thể đạt được điều này.
Vấn đề cốt lõi của tính toán off-chain là nó nằm ngoài chuỗi chính, làm thế nào điện toán dữ liệu có thể đạt được sự đồng thuận, làm thế nào để thuyết phục người dùng đồng ý tính toán bên ngoài chuỗi chính?
Phần này mô tả ba trường hợp điển hình. Từ các phương pháp triển khai khác nhau này, chúng ta có thể nhìn thấy khía cạnh thực sự của triển khai tính toán dữ liệu trong Web 3.0.
1. Oasis, thiết kế với lớp thực thi (execution layer) và lớp đồng thuận (consensus layer) riêng biệt
Mạng Oasis là blockchain Layer1 sử dụng PoS, sử dụng kiến trúc mô-đun để đạt được sự phân tách thành 2 hai phần: lớp đồng thuận (consensus layer) và lớp thực thi hợp đồng thông minh (smart contract execution layer: lớp ParaTime, tính toán dữ liệu (thực thi hợp đồng) được tách ra khỏi chuỗi chính L1 (tức là lớp đồng thuận), được thực thi ở ParaTime với đầy đủ tính toán về quyền riêng tư. Đồng thời, về mặt thiết kế, layer consensus được thiết kế đơn giản nhất có thể và chỉ xử lý các hoạt động đơn giản như chuyển, cầm cố và hủy liên kết token, tương tự như dự án Ethereum Layer2 cô lập thực thi các hợp đồng thông minh từ các hoạt động đồng thuận, giúp cải thiện tính bảo mật và hiệu quả của mạng. Trong thiết kế của ParaTime, Oasis phân tách các mô-đun ParaTime khác nhau của layer và các mô-đun ParaTime khác nhau có thể được tối ưu hóa và điều chỉnh cho phù hợp với các nhu cầu khác nhau và chạy độc lập với nhau.
Trong thời gian chạy, các ParaTime khác nhau xây dựng các môi trường thực thi, cơ chế xác minh và cơ chế mã hóa khác nhau và hợp đồng thông minh gửi các giá trị kết quả của nó tới consensus layer sau khi lớp ParaTime kết thúc thực thi. Consensus layer chấp nhận các giá trị tham số khác nhau từ ParaTime và ghi chúng vào block tiếp theo trong khi xử lý các hoạt động khác. Tuy nhiên, trong quá trình hoạt động, nếu xảy ra quá tải hoặc lỗi trong hoạt động của một ParaTime nhất định, nó sẽ chỉ ảnh hưởng đến cập nhật trạng thái do ParaTime gặp sự cố gửi đến lớp đồng thuận và sẽ không ảnh hưởng đến hoạt động của ParaTime khác. Để ngăn một lớp ParaTime gửi quá nhiều spam đến consensus layer và làm chậm mạng, mỗi ParaTime phải trả phí cho các giao dịch, do đó làm tăng chi phí của cuộc tấn công.
Vậy làm thế nào để ParaTime gắn kết với chuỗi chính L1 và đạt được sự đồng thuận? Về mặt xác thực kết quả, Oasis sử dụng tính năng phát hiện phương sai để xác nhận kết quả thực thi của ParaTime. Khi phát hiện sai biệt được thực hiện, các node máy tính được chọn ngẫu để tạo thành một ủy ban máy tính và khi tất cả các thành viên của ủy ban đồng ý về kết quả, thì kết quả được chấp nhận. Nếu một sự khác biệt được phát hiện, nó sẽ được xử lý bằng cách sử dụng giao thức phân giải sự khác biệt. Chi phí phát hiện phương sai ít hơn và hoạt động nhanh hơn, trong khi việc phân giải phương sai có xu hướng đắt hơn. Trong quá trình thực thi, node trước tiên sẽ gửi kết quả thực thi đến hệ thống phát hiện sự khác biệt thông qua giao thức Goessip và nếu không có bất thường, trình xác minh sẽ gửi kết quả đó đến consensus layer để hoàn tất quá trình xử lý và chặn. Nếu có tranh chấp, giao thức giải quyết chênh lệch (Difference resolution protocol) sẽ được kích hoạt để xác định kết quả chính xác và node tạo ra kết quả tranh chấp sẽ bị trừng phạt, node bị tranh chấp sẽ trả chi phí cho việc giải quyết chênh lệch.
Khi thực hiện các hoạt động song song, các ParaTime khác nhau có thể gửi đồng bộ từng kết quả đến consensus layer hoặc gửi giá trị hợp nhất theo định kỳ, để đạt được sự phân tách đầu ra của kết quả ParaTime và số block consensus layer. Tuy nhiên, nhược điểm là không thể xác định thứ tự tương đối giữa các ParaTime khác nhau, chẳng hạn như TA -kết quả do ParaTime A tạo ra và TB- kết quả do ParaTime B tạo ra được gửi đến cùng một block cùng một lúc, và thứ tự trong TA và TB nào xảy ra không thể xác định Ngoài ra, Oasis cũng hỗ trợ giao tiếp giữa các ParaTimes khác nhau thông qua IBC (Inter-Blockchain Communication Protocol), quyền riêng tư và bảo mật cao hơn cho nền tảng thông qua TEE (Trusted Execution Environment).
Tính toán riêng tư là điểm nổi bật của Oasis.
Mạng Oasis hỗ trợ các hợp đồng thông minh dựa trên và phản ánh đầy đủ các đặc điểm của tính toán riêng tư. Trong một ParaTime được mã hóa, các node cần sử dụng công nghệ điện toán bảo mật TEE (Trusted Execution Environment), tương đương với việc cung cấp một hòn đảo bảo mật để thực thi hợp đồng thông minh. Dữ liệu được mã hóa hoàn toàn cho các node operator hoặc nhà phát triển ứng dụng. Lớp tính toán sử dụng môi trường thực thi tin cậy của TEE để chạy các hợp đồng thông minh, cho phép mạng Oasis cân bằng hiệu suất và quyền riêng tư, đồng thời hỗ trợ các tình huống chuyên sâu như machine learning và deep learning. Tóm lại, Oasis nhận ra việc tách các chức năng của node bằng cách tách consensus layer khỏi computing layer, điều này giúp giảm đáng kể áp lực hoạt động của mỗi node trong mạng và cải thiện tốc độ chạy của nền tảng. Đồng thời, TEE cung cấp các giải pháp bảo mật và quyền riêng tư cho tính toán dữ liệu, và có một không gian tưởng tượng phong phú trong thời đại Web 3.0.
2. Arweave: Mô hình tính toán dựa trên sự đồng thuận về lưu trữ
Arweave (AR) cung cấp cho người dùng dịch vụ lưu trữ dữ liệu thông qua hoạt động phi tập trung và cơ chế đồng thuận PoA (Proof Of Access), đồng thời trao AR cho những thợ đào cung cấp dịch vụ lưu trữ.
Cơ bản của PoA là cấu trúc Blockweaves ban đầu của Arweave, mỗi block không chỉ được kết nối với block trước đó mà còn với một block nhớ lại (recall block) và việc tạo ra block nhớ lại phụ thuộc vào giá trị hash của block trước đó và block height. Khi quyết định chọn công cụ khai thác block, miner phải chứng minh rằng họ có quyền truy cập vào dữ liệu trong block được thu hồi, để họ có thể có được quyền chặn, từ đó kiếm được phần thưởng block. Do đó, điều này đòi hỏi miner phải 1) sao chép càng nhiều block thuộc các loại khác nhau càng tốt; 2) lưu càng nhiều block càng khó sao chép càng tốt; 3) tiết kiệm càng nhiều block càng tốt để lưu trữ một số lượng nhỏ các block, để đạt được nhiều lợi thế hơn khi khai thác các block mới. Đồng thời, do các đặc tính có thể xác minh và truy nguyên dữ liệu duy nhất của blockchain, độ tin cậy của dữ liệu trên chuỗi có thể được đảm bảo rất nhiều, để đạt được lưu trữ vĩnh viễn đáng tin cậy.
Arweave áp dụng mô hình "trả một lần, lưu trữ vĩnh viễn". Về lâu dài, chi phí lưu trữ AR rất thấp, thậm chí gần bằng không. Và hiệu quả lưu trữ AR nhanh hơn, do đó, AR thường được so sánh với băng của máy Turing, giống như băng từ, lưu trữ dữ liệu người dùng với chi phí thấp hơn. Do đó, bằng cách sử dụng lưu trữ hiệu quả và chi phí thấp của AR, các phép tính dữ liệu có thể được đặt trong chuỗi và nguồn dữ liệu đến từ chuỗi AR và kết quả tính toán cũng sẽ được lưu trữ trên chuỗi. SCP (Mô hình đồng thuận dựa trên lưu trữ) triển khai tính toán dựa trên AR, tức là AR dưới dạng băng Turing làm nguồn dữ liệu, cung cấp nguồn dữ liệu cho các ứng dụng ngoài chuỗi và kết quả tính toán được tải lên công chứng ar. Hiệu quả của nó phụ thuộc vào hiệu suất của các ứng dụng ngoài chuỗi và máy tính, và đương nhiên là cao hơn so với tính toán trên chuỗi dựa trên cơ chế đồng thuận.
Trên Layer1 truyền thống như Ethereum, các chức năng như tính toán, lưu trữ và đồng thuận đều chịu trách nhiệm cho node và việc lắng đọng trên chuỗi được hoàn thành thông qua các cơ chế đồng thuận như POW và hiệu quả có thể được hình dung bởi các ràng buộc của tam giác bất khả thi . Mặt khác, SCP tách biệt các khoản tiền gửi trên chuỗi khỏi các chức năng tính toán. Tóm lại, bản thân chuỗi công cộng giống như một đĩa cứng máy tính, chỉ chịu trách nhiệm lưu trữ dữ liệu. Dưới tiền đề đảm bảo độ tin cậy của dữ liệu được lưu trữ trên chuỗi, việc thực hiện các hợp đồng thông minh có thể được thực hiện trên bất kỳ thiết bị nào có khả năng tính toán ngoài chuỗi.
Khái niệm SCP có nguồn gốc từ SmartWeave, là một nền tảng hợp đồng thông minh được xây dựng trên Arweave, chuyển gánh nặng thực thi hợp đồng thông minh cho người dùng thông qua Quy trình Đánh giá Lười biếng. Không giống như Ethereum, nơi mọi node phải thực hiện mọi giao dịch (sự đồng thuận như vậy sẽ ảnh hưởng đến hiệu suất tính toán), SmartWeave sử dụng hệ thống "đánh giá lười biếng" để giao việc tính toán xác minh giao dịch cho người dùng. Khi người dùng tương tác với hợp đồng SmartWeave, họ sẽ đánh giá từng giao dịch trước đó trên dApp, xác nhận rằng nó phù hợp với trạng thái mới nhất của dữ liệu được lưu trữ trên chuỗi và sau đó ghi kết quả của giao dịch vào mạng Arweave để làm bằng chứng, và như thế. Trong thời gian chạy, SmartWeave có thể được xem như một máy ảo chạy ngoài chuỗi. Nó đọc mã của ứng dụng và các thông số đầu vào trên Arweave, hoàn thành việc thực hiện giao dịch cục bộ, sau đó đồng bộ hóa kết quả đầu ra với Arweave, do đó thực hiện tách biệt lưu trữ trên chuỗi và tính toán ngoài chuỗi. Công việc xác minh của người dùng tương tự như cấu trúc chuỗi của block và các giao dịch được truy tìm và xác minh từng bước và tất cả điều này không cần phải được thực hiện trên chuỗi mà là công việc được thực hiện bởi người dùng ngoài chuỗi, có nghĩa là, liên kết này không thể bị ràng buộc bởi cơ chế đồng thuận.
Một ví dụ phát triển khác của SCP là everPay trên Arweave. everPay là một giao thức thanh toán token chuỗi chéo cung cấp dịch vụ thanh toán token theo thời gian thực giữa người dùng và người bán. everPay khóa các tài sản khác nhau của các chuỗi công khai khác trong một hợp đồng thông minh và ánh xạ chúng thành các tài sản tương ứng. Ví dụ: khi người dùng tài sản chuỗi chéo từ Ethereum đến Arweave, Điều phối viên trước tiên sẽ thu thập và xác minh các giao dịch, đồng thời đưa từng giao dịch vào nhóm giao dịch đang chờ xử lý được tuần tự hóa và sau đó các giao dịch đang chờ xử lý sẽ được đóng gói theo lô. Được tải lên Arweave theo thời gian . Sau đó, Detector sẽ xác minh trạng thái toàn cầu và số dư tài khoản trên chuỗi và bất kỳ người dùng nào cũng có thể đăng ký trở thành node Detector. Các giao dịch chưa được xử lý trên Arweave sẽ được Watchmen hoàn thành bằng cách sử dụng đa chữ ký hoặc chữ ký ngưỡng và kết quả hoàn thành sẽ được trả về Ethereum. Do đó, việc thực hiện hợp đồng được hoàn thành ngoài chuỗi và dữ liệu được lưu trữ trên chuỗi, thực hiện việc tách biệt giữa lưu trữ và tính toán.
Tóm lại, mô hình đồng thuận dựa trên lưu trữ thiết lập nguyên mẫu của Offchain-Dapp. Lưu trữ trên chuỗi, hoạt động ngoài chuỗi, phát huy hết tác dụng của các đặc tính có thể theo dõi và không thể giả mạo của lưu trữ trên chuỗi. Trên cơ sở độ tin cậy của dữ liệu , áp lực tải do hoạt động của chuỗi được giải phóng và nó được phân tán sang phía người dùng và tài nguyên web 3.0 được sử dụng hợp lý hơn đồng thời nâng cao hiệu quả hoạt động của Dapp. Đồng thời, sự phát triển của SCP có thể dựa trên bất kỳ ngôn ngữ lập trình nào và hiệu suất của tính toán ngoài chuỗi giúp cải thiện tính khả dụng và khả năng mở rộng, đồng thời chi phí lưu trữ thấp; đồng thời, ứng dụng triển khai ngoài chuỗi và ứng dụng Web 2.0 có thể được kết nối tốt.
3. Mina- hợp đồng thông minh ZK và Snap
Để tính toán dữ liệu hoạt động cộng tác giữa chuỗi chính và môi trường ứng dụng bên ngoài, nhằm đạt được sự đồng thuận về kết quả cuối cùng, cần phải chứng minh rằng dữ liệu được sử dụng cho mỗi phép tính nhất quán với dữ liệu trong các block trên chuỗi. Đối với dữ liệu được lưu trữ trong một loạt các block lịch sử, làm cách nào để xác minh tính hợp lệ của dữ liệu theo cách nhẹ hơn và phi tập trung hơn giữa chuỗi chính và môi trường ứng dụng bên ngoài? Là nền tảng chuỗi công cộng nhẹ nhất hiện tại, Mina thay thế blockchain với bằng chứng mật mã dễ xác minh với kích thước block không đổi thông qua các bằng chứng không có kiến thức đệ quy, mà không cần phải sử dụng hết tất cả các block, nhưng có thể được xác minh bằng block mới nhất (khoảng 21kb). Điều này làm giảm đáng kể lượng dữ liệu mỗi người dùng cần tải xuống, giảm ngưỡng kết nối ngang hàng của người dùng và cải thiện mức độ phân quyền của mạng. Nhìn chung, toàn bộ block lượng dữ liệu sổ cái của chuỗi công khai blockchain là rất lớn (chẳng hạn như gần 400
G tài khoản Bitcoin) và nó nằm rải rác trong nhiều block theo thứ tự thời gian, điều này mang lại gánh nặng lớn hơn cho việc xác minh dữ liệu. Mina sử dụng zk đệ quy -SNARK (bằng chứng không có kiến thức) để thực hiện bằng chứng xác minh, chỉ cần tạo bằng chứng xác minh về các giao dịch trong mỗi block, sau đó gửi bằng chứng vào block và sẽ không tạo bằng chứng riêng biệt cho từng block, mà là từng block mới block được chứng minh với bằng chứng block để tạo bằng chứng và gửi nó vào block mới nhất. Có thể hiểu đơn giản rằng, giống như búp bê matryoshka, block mới nhất lấy dữ liệu trong block này cùng với dữ liệu bằng chứng xác minh của block trước đó để tạo bằng chứng giống như ảnh chụp nhanh. Theo cách này, mỗi block chỉ yêu cầu một kết quả bằng chứng để bao gồm bằng chứng dữ liệu của tất cả các block lịch sử. Để đưa ra một ví dụ ẩn dụ, để chứng minh họ đã đến những điểm tham quan nào, du khách c bấm lỗ và chụp ảnh tại mỗi điểm tham quan và lần sau khi họ chụp ảnh các điểm tham quan, họ sẽ chụp ảnh các điểm d
anh lam thắng cảnh cuối cùng với nhau, do đó, mỗi bức ảnh chứa thông tin thẻ bấm lỗ của tất cả các điểm tham quan trước đó theo phong cách matryoshka, vì vậy chỉ cần một bức ảnh mới để chứng minh rằng khách du lịch đã thực sự đến tất cả các điểm tham quan.
Điều này có tác dụng là tất cả những gì được lưu trữ trên blockchain là bằng chứng về tính đúng đắn của giao dịch, không phải của chính giao dịch. Bởi vì bằng chứng nói trên chiếm rất ít dung lượng, kích thước của block có thể được nén. Trên hết, Mina đã phát triển Dapp, Snapp, có khả năng mở rộng và tập trung vào quyền riêng tư hơn. Snapp bao gồm hai phần: hợp đồng thông minh và giao diện UI. Vì Snapp được xây dựng trên các bằng chứng không có kiến thức (zk-SNARK), các nhà phát triển cần phải xây dựng các hàm ngôn ngữ và các hàm trình xác nhận tương ứng để tạo và xử lý các chứng minh không có kiến thức. Chức năng hàm ngôn chạy trực tiếp trong trình duyệt web của người dùng như một phần của Snap và khi người dùng tương tác với giao diện Snapp UI, người dùng cần gửi đầu vào dữ liệu riêng tư (ĐẦU VÀO RIÊNG TƯ) và đầu vào công khai cho hàm tục ngữ để tạo ra ZK-Proof
Sau khi tạo zk proof, người dùng không còn bắt buộc phải cung cấp bất kỳ đầu vào dữ liệu riêng tư nào, do đó bảo vệ quyền riêng tư của người dùng. (tức là dữ liệu có hợp lệ hay không), thường là của mạng Mina.
Cụ thể, chức năng bằng chứng được hoàn thành trên trình duyệt web của người dùng và zk-proof (khóa xác minh) được tạo bởi nó được lưu trữ trên chuỗi của tài khoản Snap nhất định, sau đó được gửi đến mạng Mina để xác minh. Kết quả là, tạo giao dịch và tính toán dữ liệu được thực hiện ngoài chuỗi, trong khi quy trình tạo ra các zk-proof có thể được sử dụng để xác thực giao dịch, trong khi quyền riêng tư dữ liệu cá nhân ban đầu của người dùng được bảo vệ đầy đủ. Chuỗi chỉ chịu trách nhiệm xác minh chứng chỉ, lưu nó trên chuỗi sau khi xác minh và cập nhật trạng thái của Snapp. Theo quan điểm của người dùng, khi người dùng tương tác với Snapp, người dùng tương tác với nó thông qua giao diện người dùng giao diện người dùng của hợp đồng thông minh và sau đó Snapp tạo cục bộ ZK-proof bằng dữ liệu do người dùng nhập thông qua hàm ngôn ngữ. Và dữ liệu có thể là riêng tư (không được tiết lộ minh bạch) hoặc công khai (được lưu trữ trong chuỗi hoặc ngoài chuỗi). Ngoài ra, danh sách cập nhật trạng thái Snap liên quan đến các giao dịch được tạo để thay đổi trạng thái Snap. Sau đó, người dùng gửi dữ liệu đến mạng Mina, mạng này xác minh giao dịch thông qua chức năng xác thực do Snapp cung cấp và cập nhật trạng thái của Snapp sau khi vượt qua thành công.
Ví dụ: người dùng có thể tạo dữ liệu tín dụng của riêng họ tại địa phương và gửi nó lên chuỗi và họ có thể nhận được các dịch vụ tín dụng linh hoạt cho hệ thống deFi mà không làm rò rỉ dữ liệu cá nhân của riêng họ; trong khi các dịch vụ cho vay DeFi truyền thống yêu cầu tiền đề là tài sản thế chấp quá mức.Do đó, các ứng dụng snapp có thể dễ dàng hoạt động như cầu nối giữa các chuỗi và trên chuỗi.
Tóm tắt
Từ ba trường hợp trên, nền tảng Oasis được thiết kế với tính toán phân lớp theo mô-đun, do đó, việc phân lớp tính toán và đồng thuận đã được hoàn thành ngay từ đầu thiết kế. Arweave và Mina giống với việc sử dụng các giải pháp phân lớp để chủ động phân tách các chức năng như máy tính và lưu trữ, chẳng hạn như SCP của Arweave và Snap của Mina, được sinh ra sau một thời gian chạy trên chuỗi công khai. Tóm lại, thứ trước là phân lớp trên thiết kế và hai thứ sau là phân lớp về giải pháp. Bỏ tổng thể sang một bên. hiệu suất của hai con đường khác nhau này, đối với chuỗi công khai hiện tại, con đường giải pháp dường như có thể hoàn thành việc phân lớp đồng thuận, tính toán và lưu trữ nhanh hơn và có thể thực hiện các điều chỉnh tương ứng theo đặc điểm riêng của nó. Tuy nhiên, nếu phân lớp và mô-đun hóa sẽ trở thành hướng phát triển trong tương lai gần, sự chuyển mình của kiến trúc thiết kế trước đây dường như có thể đáp ứng tốt hơn nhu cầu của lần.
Nhu cầu của thời đại web 2.5: oracle
Có lẽ tương lai của Web 3.0 thực sự khó dự đoán, nhưng chắc chắn rằng dữ liệu và ứng dụng trong kỷ nguyên Web 2.0 sẽ cùng tồn tại trên con đường tiến tới kỷ nguyên Web 3.0 và sẽ tiếp tục hợp nhất với Web 3.0 – dữ liệu sẽ được chia sẻ giữa cái gọi là hệ sinh thái ứng dụng Web 3.0 mới và hệ sinh thái Dangxi Web 2.0, các ứng dụng sẽ chạy trên các hệ thống Web 3.0 và Web 2.0, đồng thời người dùng sẽ thuộc cả hai thế giới sinh thái. Chúng ta cũng có thể chuyển giai đoạn chuyển tiếp từ Web 2.0 đến Web 3.0 vào kỷ nguyên Web 2.5. Trong thời đại Web 2.5, làm thế nào để chia sẻ dữ liệu giữa hai hệ sinh thái, làm thế nào để chạy các chương trình trên hai hệ sinh thái và làm thế nào để tích hợp hai hệ sinh thái sẽ là nhu cầu chính của thời đại. Chia sẻ dữ liệu trong một thế giới tập trung và phi tập trung sẽ tạo ra một nhu cầu rất lớn cho các ứng dụng tiên tri. Trong kỷ nguyên Web 2.0, giao diện API đã trở thành một cách quan trọng để ứng dụng lấy dữ liệu bên ngoài. Giao diện API, Giao diện lập trình ứng dụng, là một tập hợp các chức năng được xác định trước hoặc giao diện HTTP cho phép người dùng hoặc nhà phát triển gọi các quy trình của chương trình mà không cần truy cập mã nguồn. Đối với ứng dụng, giao diện API trở thành cửa sổ để ứng dụng lấy dữ liệu bên ngoài và xuất dữ liệu của riêng chúng. Đối với ứng dụng trên chuỗi Dapp, do tính chất xác định và đóng của chính chuỗi block, Dapp thường không thể trực tiếp lấy dữ liệu ngoài chuỗi (chẳng hạn như Dapp nhận được báo giá BTC theo thời gian thực từ Coingecko). Oracle Machine là cơ chế ghi thông tin bên ngoài chuỗi block vào chuỗi block, bản chất của nó là một dịch vụ của bên thứ ba cung cấp thông tin bên ngoài cho các hợp đồng thông minh, khi hợp đồng thông minh yêu cầu dữ liệu ngoài chuỗi, oracle sẽ nhập dữ liệu ngoài chuỗi vào chuỗi.