Dự án tầm nhìn xa: WASM - Động cơ của kỷ nguyên mới

Người mới bắt đầu1/1/2024, 2:25:50 AM
Bài viết này xem xét một số mối quan hệ và trường hợp sử dụng giữa Wasm và blockchain: hợp đồng thông minh, tương tác chuỗi chéo, tính toán ngoài chuỗi và quyền riêng tư dữ liệu.

TL;DR

WebAssugging (Wasm) là định dạng lệnh nhị phân di động, hiệu suất cao, có thể chạy trong trình duyệt web. Nó được thiết kế như một mục tiêu biên dịch phổ quát có thể được sử dụng với nhiều ngôn ngữ lập trình và chạy trên các nền tảng khác nhau.

Blockchain là một công nghệ sổ cái phân tán phi tập trung nhằm đảm bảo tính bảo mật và độ tin cậy của dữ liệu thông qua việc sử dụng thuật toán mã hóa và đồng thuận. Blockchain có thể được sử dụng để ghi lại các giao dịch, lưu trữ dữ liệu và thực hiện hợp đồng thông minh, cùng với các ứng dụng khác.

Có một số mối quan hệ và kịch bản ứng dụng giữa Wasm và blockchain:

  1. Hợp đồng thông minh: Wasm có thể đóng vai trò là môi trường thực thi cho các hợp đồng thông minh, cho phép các hợp đồng chạy trên các nền tảng blockchain khác nhau. Hiệu suất cao và tính di động của Wasm cho phép thực hiện hợp đồng thông minh hiệu quả hơn và khả năng sử dụng đa nền tảng.
  2. Khả năng tương tác chuỗi chéo: Wasm có thể được sử dụng để triển khai khả năng tương tác chuỗi chéo. Bằng cách biên dịch logic của các chuỗi khối khác nhau thành mã Wasm, logic tương tự có thể được thực thi trên các chuỗi khối khác nhau, cho phép truyền dữ liệu và tương tác giữa các chuỗi.
  3. Tính toán ngoài chuỗi: Wasm có thể được sử dụng để tính toán bên ngoài chuỗi khối và gửi kết quả tính toán tới chuỗi khối. Điều này cho phép cải thiện hiệu quả và tính linh hoạt trong tính toán trong khi vẫn duy trì tính bảo mật và độ tin cậy của dữ liệu.
  4. Bảo mật dữ liệu: Wasm có thể được sử dụng để đạt được sự bảo vệ quyền riêng tư dữ liệu trên blockchain. Bằng cách biên dịch logic xử lý dữ liệu nhạy cảm thành mã Wasm và thực thi nó trên blockchain, quyền riêng tư của dữ liệu có thể được bảo toàn trong khi vẫn đảm bảo tính xác minh của các tính toán.

Tóm lại, sự kết hợp giữa Wasm và blockchain cung cấp các ứng dụng và dịch vụ blockchain hiệu quả, an toàn và linh hoạt hơn. Tính di động và hiệu suất cao của Wasm khiến nó trở thành một công nghệ quan trọng trong lĩnh vực blockchain.

1. Web Assembly là gì?

WebAssembly là một tiêu chuẩn tập lệnh nhẹ và hiệu quả được phát triển bởi World Wide Web Consortium (W3C). Nó được ca ngợi như một công cụ đột phá cho web và điện toán hiệu năng cao, hỗ trợ thực thi trên nhiều trình duyệt. Điều này có nghĩa là chúng tôi có thể biên dịch các ngôn ngữ lập trình khác nhau, bao gồm C/C++, Go, Rust, v.v., thành định dạng nhị phân tiêu chuẩn thống nhất và sử dụng nó để thay thế cho JavaScript, chạy với hiệu quả mã gần như gốc trong trình duyệt web.

WebAssugging, còn được gọi là WASM, là công nghệ an toàn với bộ nhớ và độc lập với nền tảng, có thể ánh xạ hiệu quả tới các kiến trúc CPU khác nhau. Nó cung cấp một số lợi thế chính:

  • Hiệu quả: WASM có bộ tính năng ngôn ngữ hoàn chỉnh và là định dạng nhị phân nhỏ gọn và tải nhanh. Mục tiêu của nó là tận dụng tối đa khả năng của phần cứng để đạt được hiệu suất ngôn ngữ bản địa.
  • Bảo mật: WASM chạy trong môi trường thực thi hộp cát và an toàn bộ nhớ, đồng thời nó thậm chí có thể được triển khai trong các máy ảo JavaScript hiện có. Trong môi trường web, WASM tuân thủ nghiêm ngặt chính sách cùng nguồn gốc và chính sách bảo mật trình duyệt. Trong quá trình biên dịch, WASM giới hạn giao diện để giảm thiểu rủi ro bảo mật. Hầu hết các ứng dụng WASM không thể truy cập internet (ví dụ: không hỗ trợ socket) và bị giới hạn quyền truy cập cơ sở dữ liệu cục bộ. Nhiều vấn đề bảo mật phát sinh từ việc truy cập bộ nhớ trái phép, điều này có thể được giảm thiểu trong quá trình biên dịch bằng WASM.
  • Khả năng tương thích: WASM được thiết kế để không có phiên bản, có thể kiểm tra tính năng và tương thích ngược trên web. Nó có thể được gọi bằng JavaScript, nhập ngữ cảnh JavaScript và truy cập các chức năng của trình duyệt như API Web. WASM có thể chạy không chỉ trong trình duyệt web mà còn trong các môi trường không phải web như Node.js, Deno và các thiết bị IoT. Không giống như các phương pháp truyền thống yêu cầu biên dịch nhiều lần, WASM chỉ cần được biên dịch một lần để thực thi plug-and-play ngay lập tức.

Ngoài ra, Web là nền tảng phổ quát thực sự duy nhất cho phép truy cập vào các ứng dụng của bạn trên mọi thiết bị. Điều này cũng cho phép bạn duy trì một cơ sở mã duy nhất, đơn giản hóa các bản cập nhật và đảm bảo rằng tất cả người dùng đều có thể truy cập vào ứng dụng của bạn. WASM hỗ trợ các phép toán số nguyên 64 bit và 32 bit, tương ứng trực tiếp với các lệnh của CPU. Bằng cách loại bỏ các phép toán dấu phẩy động, có thể dễ dàng đạt được hành vi xác định, điều này cần thiết cho các thuật toán đồng thuận. Được hỗ trợ bởi dự án cơ sở hạ tầng trình biên dịch LLVM, WASM có thể hưởng lợi từ hơn một thập kỷ tối ưu hóa trình biên dịch trong LLVM. WASM liên tục được phát triển bởi các công ty lớn như Google, Apple, Microsoft, Mozilla và Facebook và được hỗ trợ bởi phần phụ trợ của các trình duyệt do các công ty này phát triển.

Cái hay của WASM nằm ở khả năng chạy ở mọi nơi mà không cần tải xuống hay cài đặt vì nó ở định dạng nhị phân. Chỉ với một cú nhấp chuột, các ứng dụng web có thể được thực thi ngay lập tức khi cần. Nó thậm chí còn an toàn hơn so với việc trực tiếp tải xuống và chạy các tệp nhị phân, vì trình duyệt có cơ chế bảo mật tích hợp ngăn mã được thực thi gây hại cho hệ thống của bạn. Ngoài ra, việc chia sẻ ứng dụng web rất đơn giản - các liên kết có thể được đặt ở bất kỳ đâu dưới dạng chuỗi có thể nhấp vào.

2. Tại sao chúng ta cần hội Web?

2.1 Web2

Web đã phát triển từ một nền tảng dành cho nội dung tĩnh và các ngôn ngữ script nhỏ thành một nền tảng mạnh mẽ và phổ biến với đầy đủ các ứng dụng và tính năng tuyệt vời nhờ chức năng tích hợp của trình duyệt và khả năng tương tác do Web cung cấp. Tuy nhiên, các ứng dụng Web vẫn chủ yếu được điều khiển bởi cùng một ngôn ngữ kịch bản lệnh (JavaScript), ngôn ngữ này ban đầu không được thiết kế để thực hiện các tác vụ này.

JavaScript ban đầu là một ngôn ngữ kịch bản đơn giản nhằm mang lại tính tương tác cho các tài liệu siêu văn bản nhẹ trong các ứng dụng Web. Thiết kế của nó rất dễ học và viết, đồng thời nó không ưu tiên tốc độ thời gian chạy. Trong những năm qua, những cải tiến đáng kể về hiệu suất trong việc phân tích cú pháp JavaScript của trình duyệt đã dẫn đến hiệu suất tăng đáng kể.

Với tốc độ thực thi JavaScript được tăng tốc, phạm vi những việc có thể thực hiện trong trình duyệt đã mở rộng đáng kể. Các API mới đã giới thiệu các tính năng như đồ họa tương tác, truyền phát video, duyệt ngoại tuyến, v.v. Hơn nữa, ngày càng có nhiều ứng dụng vốn trước đây bị giới hạn trong môi trường máy tính để bàn đã xâm nhập vào Web. Giờ đây bạn có thể dễ dàng chỉnh sửa tài liệu và gửi email trong trình duyệt của mình. Tuy nhiên, trong một số miền nhất định, hiệu suất của JavaScript vẫn là một thách thức. Hãy nghĩ về các ứng dụng phần mềm bạn sử dụng ngoài trình duyệt: trò chơi, chỉnh sửa video, kết xuất 3D hoặc sản xuất âm nhạc. Những ứng dụng này yêu cầu tính toán rộng rãi và hiệu suất cao. JavaScript đấu tranh để đáp ứng các yêu cầu hiệu suất cao này.

Tuy nhiên, việc thay thế JavaScript là không thực tế và thậm chí có thể phải mất hàng thập kỷ để đạt được mục tiêu đó vì toàn bộ Internet đều phụ thuộc vào nó. Hơn nữa, có một cộng đồng lớn không ngừng cải tiến JavaScript. Thật vậy, so với các ngôn ngữ khác, JavaScript có một số thiếu sót ở các khía cạnh như null và ==. Tuy nhiên, những vấn đề này không đủ nghiêm trọng để đảm bảo phải thay thế toàn bộ công nghệ.

Vì vậy, WebAssugging sẽ không thay thế JavaScript nhưng điều đó không có nghĩa là WASM sẽ không được sử dụng trong tương lai. Trên thực tế, việc sử dụng WASM sẽ ngày càng phổ biến hơn. Điều này là do WASM có thể mang lại khả năng tính toán mạnh mẽ cho web, chẳng hạn như xử lý hình ảnh hoặc trò chơi. Với WASM, bạn có thể tạo phiên bản Photoshop dựa trên web chạy tốt hoặc trò chơi 3D chạy ở tốc độ 60 khung hình mỗi giây hoặc thậm chí tốc độ khung hình cao hơn trong trình duyệt. Đặc biệt, các trò chơi đặt ra một thách thức vì chúng yêu cầu thực hiện đồng thời quá trình xử lý âm thanh và video cũng như phối hợp các hiệu ứng vật lý và AI. WASM có khả năng chạy trò chơi trên trình duyệt một cách hiệu quả, mở ra cánh cửa đưa nhiều ứng dụng khác lên trình duyệt.

Hình trên cho thấy sự so sánh về quy trình làm việc giữa JavaScript và WebAssembly (wasm). Có thể thấy rằng wasm ngắn gọn hơn nhiều so với JavaScript.

2.2 Web3

Máy ảo WASM

Năm 2018, hệ sinh thái Ethereum bắt đầu thảo luận về việc sử dụng máy ảo WASM làm máy ảo hợp đồng thông minh, vì nó được coi là có hiệu suất tốt hơn EVM. Gavin Wood, nhà phát minh EVM, đã bày tỏ tính khả thi của việc thay thế nó bằng WASM, và Vitalik cũng tuyên bố rằng Ethereum 2.0 sẽ được nâng cấp để hỗ trợ các hợp đồng WASM (eWASM) nhằm đáp ứng nhiều nhu cầu phát triển hơn. Ngày nay, sự phát triển của hợp đồng WASM đã hình thành.

2.3 EVM được thiết kế như thế nào? Tại sao nó không hiệu quả?

Vấn đề về kích thước kiến trúc

Máy tính truyền thống có tập lệnh chấp nhận đầu vào 32 hoặc 64 bit. Tuy nhiên, EVM khác biệt và độc đáo vì đây là máy tính 256 bit được thiết kế để xử lý thuật toán băm của Ethereum dễ dàng hơn, tạo ra kết quả đầu ra 256 bit rõ ràng.

Tuy nhiên, máy tính thực tế chạy chương trình EVM cần chia các từ 256 bit thành kiến trúc gốc của chúng để thực hiện hợp đồng thông minh, khiến toàn bộ hệ thống hoạt động kém hiệu quả và không thực tế.

Ngoài ra, nếu bạn muốn triển khai một thuật toán phức tạp như SHA256 bằng cách sử dụng OPCODES cơ bản của EVM trên Ethereum, thì bạn đang gặp khó khăn! Để giải quyết vấn đề chi phí gas cao khi chạy các chương trình phức tạp thông qua tập lệnh, Ethereum đã đưa ra khái niệm tiền biên dịch, biên dịch chương trình thành EVM và tiêu thụ một lượng gas cố định. Một trình biên dịch trước đáng chú ý là thuật toán băm Ethereum, vì việc triển khai nó trong máy ảo sẽ dẫn đến mức phí cực kỳ đắt đỏ khi hợp đồng được gọi.

Biên dịch trước cồng kềnh

Vấn đề với quá trình biên dịch trước là nó liên tục làm tăng sự cồng kềnh và phức tạp của máy ảo mà không giải quyết được vấn đề cốt lõi: thiết kế kém hiệu quả và kém của tập lệnh và thông số kỹ thuật hiện tại.

Điều gì sẽ xảy ra nếu chúng ta có thể xác định một đặc tả và tập lệnh mới không yêu cầu biên dịch trước các chương trình phức tạp này mà thay vào đó đạt được kết quả mong muốn một cách hiệu quả thông qua các hướng dẫn cơ bản? Đây là lúc WASM phát huy tác dụng.

2.4 So sánh giữa EVM và WASM VM

  • Tốc độ: WASM nhằm mục đích cung cấp tốc độ thực thi nhanh hơn so với EVM. EVM có thể gặp vấn đề về hiệu quả trong việc biên dịch và thực hiện hợp đồng thông minh, trong khi WASM cải thiện tốc độ tải và khả năng xử lý bằng cách chuyển đổi trực tiếp sang mã được biên dịch.
  • Hợp đồng được biên dịch trước: EVM dựa vào các hợp đồng được biên dịch trước để thực hiện hiệu quả các phép tính mật mã, nhưng điều này có thể gây ra rủi ro về phân nhánh cứng. WASM loại bỏ nhu cầu về hợp đồng được biên dịch trước, cho phép các nhà phát triển tạo hợp đồng thông minh hiệu quả và nhanh chóng.
  • Chi phí giao dịch: Với máy ảo WASM nhanh hơn, thông lượng giao dịch tăng đáng kể, dẫn đến giảm chi phí giao dịch và triển khai hợp đồng. Hợp đồng WASM giải quyết các vấn đề về phí giao dịch cao và tắc nghẽn trên mạng Ethereum.
  • Tính linh hoạt và khả năng tương tác: WASM mở rộng phạm vi ngôn ngữ có sẵn để phát triển hợp đồng thông minh, hỗ trợ sử dụng bất kỳ ngôn ngữ cấp cao nào biên dịch sang WASM, chẳng hạn như Rust, C++ và JavaScript. Điều này có nghĩa là các nhà phát triển có thể viết hợp đồng thông minh bằng ngôn ngữ ưa thích của họ, bao gồm cả các nền tảng hoàn thiện như mực! cho Rust hoặc Hỏi! cho hộiScript.

Nhóm EWASM hiện đang tích hợp WebAssugging trên Ethereum để đảm bảo lớp thực thi đơn giản và hiệu quả hơn, giúp Ethereum phù hợp như một nền tảng điện toán phi tập trung hoàn toàn. WASM đã được nhiều dự án khác áp dụng làm tiêu chuẩn, bao gồm Dfinity và EOS, cả hai đều sử dụng nó để nâng cao các lớp thực thi của mình.

2.5 Bút cảm ứng (Arbitrum)

Dự án Stylus là một sáng kiến trên mạng Arbitrum Ethereum Lớp 2 nhằm cải thiện hiệu suất thực thi hợp đồng thông minh bằng cách giới thiệu máy ảo WebAssembly (WASM). Hợp đồng có thể được thực hiện nhanh hơn so với Solidity, đồng thời giảm chi phí gas. Điều này giúp việc xây dựng các hợp đồng thông minh hiệu suất cao trên mạng Arbitrum trở nên dễ dàng hơn và hiện hỗ trợ biên dịch bằng C, C++ và Rust.

Hỗ trợ biên dịch trước tùy chỉnh: Stylus cũng hỗ trợ các trình biên dịch trước tùy chỉnh, cho phép các nhà phát triển triển khai các trình biên dịch trước Rust hoặc C++ của riêng họ vào mạng Arbitrum. Điều này có thể giúp giới thiệu các thuật toán mã hóa mới hoặc các chức năng cụ thể khác trên chuỗi mà không cần chờ nâng cấp trên chuỗi. Ví dụ: tính toán tensor có thể được biên dịch trước để giảm chi phí suy luận, điều này có thể mang lại lợi ích cho việc học máy trên chuỗi.

Khả năng tương tác với EVM: Stylus đạt được sự tích hợp với hệ sinh thái Ethereum hiện có thông qua khả năng tương tác với Máy ảo Ethereum (EVM). Điều này có nghĩa là hợp đồng Stylus có thể tương tác với các hợp đồng EVM hiện có và chia sẻ cùng trạng thái toàn cầu với EVM.

Reentrancy: Không giống như Cosmos Wasm, Stylus Rust SDK giới thiệu tính năng reentrancy và cho phép các nhà phát triển kích hoạt tính năng này theo cách thủ công. Điều này cho phép các hợp đồng có khả năng tương tác linh hoạt hơn, nhưng các nhà phát triển cần quản lý trạng thái cẩn thận để đảm bảo an ninh.

Dựa trên hệ sinh thái thịnh vượng của Arbitrum, việc tích hợp Stylus có lẽ là sự tích hợp WASM có ý nghĩa nhất. Nó cũng nâng cao khả năng cạnh tranh của Arbitrum giữa các lĩnh vực zkRollup.

2.6 Bánh răng(Polkadot)

Giao thức Gear đang tạo ra một công nghệ có thể được triển khai dưới dạng Polkadot parachain, đóng vai trò như một công cụ để lưu trữ các hợp đồng thông minh. Tương tự như Polkadot, Gear cũng sử dụng khung Substrate, giúp đơn giản hóa quá trình tạo các chuỗi khối khác nhau cho các ứng dụng cụ thể. Chất nền cung cấp chức năng sẵn dùng, cho phép mọi người tập trung vào việc tạo các công cụ tùy chỉnh dựa trên giao thức.

Trước đây, chi phí tung ra blockchain rất cao, nhưng Gear cho phép các nhà phát triển dApp tập trung vào các dự án của họ thay vì xây dựng và vận hành toàn bộ blockchain từ đầu.

Động cơ chính của giao thức Gear là mô-đun hợp đồng thông minh. Trong trường hợp của Gear, mọi hợp đồng thông minh đều là chương trình WebAssembly được biên dịch bằng các ngôn ngữ khác nhau như Rust, C và C++. Đối với các nhà phát triển bên ngoài thế giới tiền điện tử, rào cản gia nhập thấp vì họ có thể xây dựng hợp đồng thông minh trong một môi trường quen thuộc. Các nhà phát triển thấy việc thử nghiệm các ngôn ngữ lập trình hợp đồng thông minh dễ dàng hơn.

Kiến trúc hợp đồng thông minh của Gear sử dụng Mô hình diễn viên dưới mui xe và cung cấp các chức năng sau:

  • Bộ nhớ liên tục cho các chương trình bất biến
  • Xử lý tin nhắn không đồng bộ
  • Bề mặt API tối thiểu, trực quan và đầy đủ cho bối cảnh blockchain
  • Mô hình proxy giao tiếp tác nhân giữa các thành phần trên chuỗi để có khả năng kết hợp cao hơn và khả năng tương thích tốt hơn với việc thực thi và phân chia mã song song.

Mỗi chương trình có một lượng bộ nhớ cố định mà Gear cho phép kiểm soát. Một chương trình chỉ có thể đọc và ghi trong bộ nhớ của chính nó và không thể truy cập vào không gian bộ nhớ của các chương trình khác. Mỗi chương trình có không gian bộ nhớ độc lập riêng và thông tin trên các nút Gear có thể được xử lý song song.

2.7 Vũ trụWasm(Vũ trụ)

CosmWasm là nền tảng hợp đồng thông minh dựa trên Wasm hiện đại và mạnh mẽ, có thể dễ dàng tích hợp với Cosmos-SDK. Điều này cho thấy một trong những ưu điểm chính của CosmWasm: các hợp đồng được viết bằng CosmWasm được tích hợp chặt chẽ với IBC (Giao tiếp liên chuỗi khối) nguyên bản, cho phép các nhà phát triển và người dùng bước vào một tương lai đa chuỗi. Hiện tại, chỉ có Rust được hỗ trợ.

Ưu điểm của CosmWasm

  1. Bảo mật: Tăng cường bảo mật cho hợp đồng thông minh bằng ngôn ngữ lập trình Rust
  2. Khả năng tương thích chuỗi chéo: Hỗ trợ giao thức IBC (Giao tiếp giữa các chuỗi khối) trong hệ sinh thái Cosmos.
  3. Hiệu suất: Thể hiện hiệu quả cao hơn và chi phí giao dịch thấp hơn trong một số trường hợp nhất định so với Máy ảo Ethereum (EVM) truyền thống.
  4. Thân thiện với nhà phát triển: Các tính năng an toàn về loại và bộ nhớ của ngôn ngữ Rust giúp giảm một số loại lỗi nhất định trong hợp đồng thông minh.

Những thách thức và hạn chế

  1. Đường cong học tập: Rust có thể có đường cong học tập dốc hơn so với các ngôn ngữ hợp đồng thông minh được sử dụng phổ biến hơn như Solidity. Để tăng khả năng áp dụng rộng rãi, CosmWasm cần hỗ trợ biên dịch bằng nhiều ngôn ngữ hơn.
  2. Hệ sinh thái và công cụ: Trong khi phát triển, các công cụ phát triển và hệ sinh thái cho CosmWasm có thể vẫn còn tương đối hạn chế so với các nền tảng hợp đồng thông minh trưởng thành như Ethereum.
  3. Thị phần và nhận thức: Trong không gian nền tảng hợp đồng thông minh, CosmWasm có thể có nhận thức thấp hơn so với các nền tảng như Ethereum và Binance Smart Chain, điều này ảnh hưởng đến khả năng thu hút các nhà phát triển và người dùng.
  4. Thách thức về bảo trì và nâng cấp: Mặc dù CosmWasm cung cấp chức năng nâng cấp hợp đồng, việc duy trì và quản lý các bản nâng cấp cho hợp đồng thông minh vẫn là một nhiệm vụ phức tạp cần được xử lý cẩn thận để tránh các lỗ hổng bảo mật.
  5. Vấn đề về khả năng tương thích: Các dự án quen với EVM hoặc môi trường hợp đồng thông minh khác có thể gặp phải những thách thức về khả năng tương thích khi di chuyển sang CosmWasm.

2.8 ZK-WASM

Ngoài máy ảo wasm, còn có một công nghệ mới nổi gần đây có tên ZKWASM. Nhà phát minh, Delphinus Labs, đã mã nguồn mở cho ZK-WASM trên GitHub. ZKWASM cho phép các nhà phát triển xác minh tính chính xác của các phép tính đã thực hiện mà không cần thực hiện lại chúng. Bằng cách tận dụng ZKWASM, các nhà phát triển có thể xây dựng linh hoạt các ứng dụng không có kiến thức (ZKP) bằng nhiều ngôn ngữ lập trình khác nhau. Các ứng dụng này có thể thực thi liền mạch trong trình duyệt web.

ZKWASM có nguồn gốc từ ZKSNARK, là sự kết hợp giữa SNARG và bằng chứng không có kiến thức. Hãy giải thích thêm. Thông thường, để sử dụng ZKSNARK, bạn cần viết chương trình bằng ngôn ngữ mạch số học hoặc ngôn ngữ thân thiện với mạch như Pinocchio, TinyRAM, Buffet/Pequin, Geppetto, xJsnark framework, ZoKrates, v.v. Điều này đặt ra rào cản đối với các chương trình hiện có, khiến chúng khó tận dụng được sức mạnh của ZKSNARK. Tuy nhiên, có một cách khác, đó không phải là sử dụng ZKSNARK ở cấp mã nguồn mà ở cấp mã byte của máy ảo, sau đó triển khai một máy ảo hỗ trợ ZKSNARK. Delphinus Labs đã áp dụng phương pháp thứ hai bằng cách kết hợp toàn bộ máy ảo WASM vào mạch ZKSNARK. Do đó, các ứng dụng WASM hiện tại có thể chạy trực tiếp trên ZKWASM mà không cần bất kỳ sửa đổi nào. Do đó, các nhà cung cấp dịch vụ đám mây có thể chứng minh cho bất kỳ người dùng nào rằng kết quả tính toán được tính toán trung thực và sẽ không tiết lộ bất kỳ thông tin cá nhân nào.

ZKWASM cung cấp nhiều trường hợp sử dụng khác nhau, chẳng hạn như cho phép xác minh trực tuyến các hoạt động được thực hiện trong trình duyệt. Nó cho phép các tương tác dựa trên web có thể kiểm chứng được trên blockchain. Các trường hợp sử dụng khác bao gồm dịch vụ oracle, tính toán ngoài chuỗi, tự động hóa, thu hẹp khoảng cách giữa Web2 và Web3, tạo bằng chứng cho máy học và xử lý dữ liệu, thậm chí cả ứng dụng chơi game và xã hội. Với việc áp dụng ngày càng tăng, zkWASM mở rộng khả năng của Web3 và tích hợp các nhà phát triển Web2 vào bối cảnh đầy biến đổi này.

Thông qua việc triển khai ZKWASM của Delphinus Lab, các nhà phát triển có thể khai thác sức mạnh của bằng chứng không kiến thức để tăng cường tính bảo mật và quyền riêng tư cho ứng dụng của họ, mở đường cho một hệ sinh thái kỹ thuật số phi tập trung và đáng tin cậy hơn.

3. Kết luận

Hiệu suất của Web và tương lai của lớp thực thi nền tảng hợp đồng thông minh rất hứa hẹn. Các dApp không chỉ có hiệu suất cao hơn mà việc tích hợp WASM cũng sẽ giúp những người quen thuộc với các ngôn ngữ chính thống như Rust và Go phát triển hợp đồng thông minh dễ dàng hơn mà không cần phải tìm hiểu sự phức tạp của Solidity hoặc các ngôn ngữ phát triển blockchain khác. Theo Evans Data Corporation, có gần 27 triệu nhà phát triển trên toàn thế giới và con số này đang tăng trưởng đều đặn, dự kiến sẽ tăng lên hơn 28,7 triệu vào năm 2024. Tuy nhiên, số lượng nhà phát triển trong lĩnh vực blockchain vẫn chưa đến 30.000, chỉ chiếm khoảng một phần nghìn tổng số nhà phát triển. Mặc dù con số này đang tăng đều đặn nhưng việc học các ngôn ngữ hợp đồng thông minh mới vẫn có thể là rào cản đối với các nhà phát triển khi gia nhập ngành công nghiệp blockchain.

Nhưng ngày càng có nhiều blockchain bắt đầu hỗ trợ Web Assembly dưới dạng mã byte cho các hợp đồng thông minh được biên dịch. WASM mang lại hiệu quả, khả năng tương tác và nhiều trường hợp sử dụng cho chuỗi khối. Nó cũng đóng vai trò là chìa khóa để mở ra cánh cửa cho các nhà phát triển, hạ thấp rào cản tham gia phát triển blockchain. Hãy tưởng tượng, trong tương lai gần, khi các nhà phát triển Web 2.0 muốn thử sức mình trong việc phát triển blockchain, họ có thể sử dụng các ngôn ngữ quen thuộc như Python, C++ và JavaScript để xây dựng các ứng dụng quy mô lớn trên blockchain, tối đa hóa giá trị của các mạng phi tập trung. Đầu tiên, hạ thấp rào cản đối với người sáng tạo (nhà phát triển), sau đó hạ thấp rào cản đối với người dùng và tiến tới áp dụng đại trà.

4. Chỉ số

https://blog.scottlogic.com/2022/06/20/state-of-wasm-2022.html

https://www.notion.so/18f67cee15c147dfae68b06269a455c0?pvs=21

https://wiki.polkadot.network/docs/learn-wasm

https://docs.arbitrum.io/stylus/stylus-gentle-introduction

https://medium.com/@gear_techs/introducing-gear-easy-to-use-polkadot-parachain-9ccd05437a9c

https://medium.com/cosmwasm/cosmwasm-for-ctos-f1ffa19cccb8

https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-WebAssembly-2023.pdf

https://github.com/DelphinusLab/zkWasm

Cảm ơn Maggie và Xinyou Ji (CMU) vì lời khuyên và hướng dẫn của họ cho bài viết này.

Tuyên bố miễn trừ trách nhiệm: Tất cả các bài viết từ Foresight Ventures không nhằm mục đích tư vấn đầu tư. Đầu tư tiềm ẩn rủi ro, vì vậy vui lòng đánh giá mức độ chấp nhận rủi ro của chính bạn và đưa ra quyết định đầu tư một cách cẩn thận.

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

  1. Bài viết này được in lại từ [Nghiên cứu tầm nhìn xa]. Mọi bản quyền đều thuộc về tác giả gốc [Mike@ Foresight 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.

Dự án tầm nhìn xa: WASM - Động cơ của kỷ nguyên mới

Người mới bắt đầu1/1/2024, 2:25:50 AM
Bài viết này xem xét một số mối quan hệ và trường hợp sử dụng giữa Wasm và blockchain: hợp đồng thông minh, tương tác chuỗi chéo, tính toán ngoài chuỗi và quyền riêng tư dữ liệu.

TL;DR

WebAssugging (Wasm) là định dạng lệnh nhị phân di động, hiệu suất cao, có thể chạy trong trình duyệt web. Nó được thiết kế như một mục tiêu biên dịch phổ quát có thể được sử dụng với nhiều ngôn ngữ lập trình và chạy trên các nền tảng khác nhau.

Blockchain là một công nghệ sổ cái phân tán phi tập trung nhằm đảm bảo tính bảo mật và độ tin cậy của dữ liệu thông qua việc sử dụng thuật toán mã hóa và đồng thuận. Blockchain có thể được sử dụng để ghi lại các giao dịch, lưu trữ dữ liệu và thực hiện hợp đồng thông minh, cùng với các ứng dụng khác.

Có một số mối quan hệ và kịch bản ứng dụng giữa Wasm và blockchain:

  1. Hợp đồng thông minh: Wasm có thể đóng vai trò là môi trường thực thi cho các hợp đồng thông minh, cho phép các hợp đồng chạy trên các nền tảng blockchain khác nhau. Hiệu suất cao và tính di động của Wasm cho phép thực hiện hợp đồng thông minh hiệu quả hơn và khả năng sử dụng đa nền tảng.
  2. Khả năng tương tác chuỗi chéo: Wasm có thể được sử dụng để triển khai khả năng tương tác chuỗi chéo. Bằng cách biên dịch logic của các chuỗi khối khác nhau thành mã Wasm, logic tương tự có thể được thực thi trên các chuỗi khối khác nhau, cho phép truyền dữ liệu và tương tác giữa các chuỗi.
  3. Tính toán ngoài chuỗi: Wasm có thể được sử dụng để tính toán bên ngoài chuỗi khối và gửi kết quả tính toán tới chuỗi khối. Điều này cho phép cải thiện hiệu quả và tính linh hoạt trong tính toán trong khi vẫn duy trì tính bảo mật và độ tin cậy của dữ liệu.
  4. Bảo mật dữ liệu: Wasm có thể được sử dụng để đạt được sự bảo vệ quyền riêng tư dữ liệu trên blockchain. Bằng cách biên dịch logic xử lý dữ liệu nhạy cảm thành mã Wasm và thực thi nó trên blockchain, quyền riêng tư của dữ liệu có thể được bảo toàn trong khi vẫn đảm bảo tính xác minh của các tính toán.

Tóm lại, sự kết hợp giữa Wasm và blockchain cung cấp các ứng dụng và dịch vụ blockchain hiệu quả, an toàn và linh hoạt hơn. Tính di động và hiệu suất cao của Wasm khiến nó trở thành một công nghệ quan trọng trong lĩnh vực blockchain.

1. Web Assembly là gì?

WebAssembly là một tiêu chuẩn tập lệnh nhẹ và hiệu quả được phát triển bởi World Wide Web Consortium (W3C). Nó được ca ngợi như một công cụ đột phá cho web và điện toán hiệu năng cao, hỗ trợ thực thi trên nhiều trình duyệt. Điều này có nghĩa là chúng tôi có thể biên dịch các ngôn ngữ lập trình khác nhau, bao gồm C/C++, Go, Rust, v.v., thành định dạng nhị phân tiêu chuẩn thống nhất và sử dụng nó để thay thế cho JavaScript, chạy với hiệu quả mã gần như gốc trong trình duyệt web.

WebAssugging, còn được gọi là WASM, là công nghệ an toàn với bộ nhớ và độc lập với nền tảng, có thể ánh xạ hiệu quả tới các kiến trúc CPU khác nhau. Nó cung cấp một số lợi thế chính:

  • Hiệu quả: WASM có bộ tính năng ngôn ngữ hoàn chỉnh và là định dạng nhị phân nhỏ gọn và tải nhanh. Mục tiêu của nó là tận dụng tối đa khả năng của phần cứng để đạt được hiệu suất ngôn ngữ bản địa.
  • Bảo mật: WASM chạy trong môi trường thực thi hộp cát và an toàn bộ nhớ, đồng thời nó thậm chí có thể được triển khai trong các máy ảo JavaScript hiện có. Trong môi trường web, WASM tuân thủ nghiêm ngặt chính sách cùng nguồn gốc và chính sách bảo mật trình duyệt. Trong quá trình biên dịch, WASM giới hạn giao diện để giảm thiểu rủi ro bảo mật. Hầu hết các ứng dụng WASM không thể truy cập internet (ví dụ: không hỗ trợ socket) và bị giới hạn quyền truy cập cơ sở dữ liệu cục bộ. Nhiều vấn đề bảo mật phát sinh từ việc truy cập bộ nhớ trái phép, điều này có thể được giảm thiểu trong quá trình biên dịch bằng WASM.
  • Khả năng tương thích: WASM được thiết kế để không có phiên bản, có thể kiểm tra tính năng và tương thích ngược trên web. Nó có thể được gọi bằng JavaScript, nhập ngữ cảnh JavaScript và truy cập các chức năng của trình duyệt như API Web. WASM có thể chạy không chỉ trong trình duyệt web mà còn trong các môi trường không phải web như Node.js, Deno và các thiết bị IoT. Không giống như các phương pháp truyền thống yêu cầu biên dịch nhiều lần, WASM chỉ cần được biên dịch một lần để thực thi plug-and-play ngay lập tức.

Ngoài ra, Web là nền tảng phổ quát thực sự duy nhất cho phép truy cập vào các ứng dụng của bạn trên mọi thiết bị. Điều này cũng cho phép bạn duy trì một cơ sở mã duy nhất, đơn giản hóa các bản cập nhật và đảm bảo rằng tất cả người dùng đều có thể truy cập vào ứng dụng của bạn. WASM hỗ trợ các phép toán số nguyên 64 bit và 32 bit, tương ứng trực tiếp với các lệnh của CPU. Bằng cách loại bỏ các phép toán dấu phẩy động, có thể dễ dàng đạt được hành vi xác định, điều này cần thiết cho các thuật toán đồng thuận. Được hỗ trợ bởi dự án cơ sở hạ tầng trình biên dịch LLVM, WASM có thể hưởng lợi từ hơn một thập kỷ tối ưu hóa trình biên dịch trong LLVM. WASM liên tục được phát triển bởi các công ty lớn như Google, Apple, Microsoft, Mozilla và Facebook và được hỗ trợ bởi phần phụ trợ của các trình duyệt do các công ty này phát triển.

Cái hay của WASM nằm ở khả năng chạy ở mọi nơi mà không cần tải xuống hay cài đặt vì nó ở định dạng nhị phân. Chỉ với một cú nhấp chuột, các ứng dụng web có thể được thực thi ngay lập tức khi cần. Nó thậm chí còn an toàn hơn so với việc trực tiếp tải xuống và chạy các tệp nhị phân, vì trình duyệt có cơ chế bảo mật tích hợp ngăn mã được thực thi gây hại cho hệ thống của bạn. Ngoài ra, việc chia sẻ ứng dụng web rất đơn giản - các liên kết có thể được đặt ở bất kỳ đâu dưới dạng chuỗi có thể nhấp vào.

2. Tại sao chúng ta cần hội Web?

2.1 Web2

Web đã phát triển từ một nền tảng dành cho nội dung tĩnh và các ngôn ngữ script nhỏ thành một nền tảng mạnh mẽ và phổ biến với đầy đủ các ứng dụng và tính năng tuyệt vời nhờ chức năng tích hợp của trình duyệt và khả năng tương tác do Web cung cấp. Tuy nhiên, các ứng dụng Web vẫn chủ yếu được điều khiển bởi cùng một ngôn ngữ kịch bản lệnh (JavaScript), ngôn ngữ này ban đầu không được thiết kế để thực hiện các tác vụ này.

JavaScript ban đầu là một ngôn ngữ kịch bản đơn giản nhằm mang lại tính tương tác cho các tài liệu siêu văn bản nhẹ trong các ứng dụng Web. Thiết kế của nó rất dễ học và viết, đồng thời nó không ưu tiên tốc độ thời gian chạy. Trong những năm qua, những cải tiến đáng kể về hiệu suất trong việc phân tích cú pháp JavaScript của trình duyệt đã dẫn đến hiệu suất tăng đáng kể.

Với tốc độ thực thi JavaScript được tăng tốc, phạm vi những việc có thể thực hiện trong trình duyệt đã mở rộng đáng kể. Các API mới đã giới thiệu các tính năng như đồ họa tương tác, truyền phát video, duyệt ngoại tuyến, v.v. Hơn nữa, ngày càng có nhiều ứng dụng vốn trước đây bị giới hạn trong môi trường máy tính để bàn đã xâm nhập vào Web. Giờ đây bạn có thể dễ dàng chỉnh sửa tài liệu và gửi email trong trình duyệt của mình. Tuy nhiên, trong một số miền nhất định, hiệu suất của JavaScript vẫn là một thách thức. Hãy nghĩ về các ứng dụng phần mềm bạn sử dụng ngoài trình duyệt: trò chơi, chỉnh sửa video, kết xuất 3D hoặc sản xuất âm nhạc. Những ứng dụng này yêu cầu tính toán rộng rãi và hiệu suất cao. JavaScript đấu tranh để đáp ứng các yêu cầu hiệu suất cao này.

Tuy nhiên, việc thay thế JavaScript là không thực tế và thậm chí có thể phải mất hàng thập kỷ để đạt được mục tiêu đó vì toàn bộ Internet đều phụ thuộc vào nó. Hơn nữa, có một cộng đồng lớn không ngừng cải tiến JavaScript. Thật vậy, so với các ngôn ngữ khác, JavaScript có một số thiếu sót ở các khía cạnh như null và ==. Tuy nhiên, những vấn đề này không đủ nghiêm trọng để đảm bảo phải thay thế toàn bộ công nghệ.

Vì vậy, WebAssugging sẽ không thay thế JavaScript nhưng điều đó không có nghĩa là WASM sẽ không được sử dụng trong tương lai. Trên thực tế, việc sử dụng WASM sẽ ngày càng phổ biến hơn. Điều này là do WASM có thể mang lại khả năng tính toán mạnh mẽ cho web, chẳng hạn như xử lý hình ảnh hoặc trò chơi. Với WASM, bạn có thể tạo phiên bản Photoshop dựa trên web chạy tốt hoặc trò chơi 3D chạy ở tốc độ 60 khung hình mỗi giây hoặc thậm chí tốc độ khung hình cao hơn trong trình duyệt. Đặc biệt, các trò chơi đặt ra một thách thức vì chúng yêu cầu thực hiện đồng thời quá trình xử lý âm thanh và video cũng như phối hợp các hiệu ứng vật lý và AI. WASM có khả năng chạy trò chơi trên trình duyệt một cách hiệu quả, mở ra cánh cửa đưa nhiều ứng dụng khác lên trình duyệt.

Hình trên cho thấy sự so sánh về quy trình làm việc giữa JavaScript và WebAssembly (wasm). Có thể thấy rằng wasm ngắn gọn hơn nhiều so với JavaScript.

2.2 Web3

Máy ảo WASM

Năm 2018, hệ sinh thái Ethereum bắt đầu thảo luận về việc sử dụng máy ảo WASM làm máy ảo hợp đồng thông minh, vì nó được coi là có hiệu suất tốt hơn EVM. Gavin Wood, nhà phát minh EVM, đã bày tỏ tính khả thi của việc thay thế nó bằng WASM, và Vitalik cũng tuyên bố rằng Ethereum 2.0 sẽ được nâng cấp để hỗ trợ các hợp đồng WASM (eWASM) nhằm đáp ứng nhiều nhu cầu phát triển hơn. Ngày nay, sự phát triển của hợp đồng WASM đã hình thành.

2.3 EVM được thiết kế như thế nào? Tại sao nó không hiệu quả?

Vấn đề về kích thước kiến trúc

Máy tính truyền thống có tập lệnh chấp nhận đầu vào 32 hoặc 64 bit. Tuy nhiên, EVM khác biệt và độc đáo vì đây là máy tính 256 bit được thiết kế để xử lý thuật toán băm của Ethereum dễ dàng hơn, tạo ra kết quả đầu ra 256 bit rõ ràng.

Tuy nhiên, máy tính thực tế chạy chương trình EVM cần chia các từ 256 bit thành kiến trúc gốc của chúng để thực hiện hợp đồng thông minh, khiến toàn bộ hệ thống hoạt động kém hiệu quả và không thực tế.

Ngoài ra, nếu bạn muốn triển khai một thuật toán phức tạp như SHA256 bằng cách sử dụng OPCODES cơ bản của EVM trên Ethereum, thì bạn đang gặp khó khăn! Để giải quyết vấn đề chi phí gas cao khi chạy các chương trình phức tạp thông qua tập lệnh, Ethereum đã đưa ra khái niệm tiền biên dịch, biên dịch chương trình thành EVM và tiêu thụ một lượng gas cố định. Một trình biên dịch trước đáng chú ý là thuật toán băm Ethereum, vì việc triển khai nó trong máy ảo sẽ dẫn đến mức phí cực kỳ đắt đỏ khi hợp đồng được gọi.

Biên dịch trước cồng kềnh

Vấn đề với quá trình biên dịch trước là nó liên tục làm tăng sự cồng kềnh và phức tạp của máy ảo mà không giải quyết được vấn đề cốt lõi: thiết kế kém hiệu quả và kém của tập lệnh và thông số kỹ thuật hiện tại.

Điều gì sẽ xảy ra nếu chúng ta có thể xác định một đặc tả và tập lệnh mới không yêu cầu biên dịch trước các chương trình phức tạp này mà thay vào đó đạt được kết quả mong muốn một cách hiệu quả thông qua các hướng dẫn cơ bản? Đây là lúc WASM phát huy tác dụng.

2.4 So sánh giữa EVM và WASM VM

  • Tốc độ: WASM nhằm mục đích cung cấp tốc độ thực thi nhanh hơn so với EVM. EVM có thể gặp vấn đề về hiệu quả trong việc biên dịch và thực hiện hợp đồng thông minh, trong khi WASM cải thiện tốc độ tải và khả năng xử lý bằng cách chuyển đổi trực tiếp sang mã được biên dịch.
  • Hợp đồng được biên dịch trước: EVM dựa vào các hợp đồng được biên dịch trước để thực hiện hiệu quả các phép tính mật mã, nhưng điều này có thể gây ra rủi ro về phân nhánh cứng. WASM loại bỏ nhu cầu về hợp đồng được biên dịch trước, cho phép các nhà phát triển tạo hợp đồng thông minh hiệu quả và nhanh chóng.
  • Chi phí giao dịch: Với máy ảo WASM nhanh hơn, thông lượng giao dịch tăng đáng kể, dẫn đến giảm chi phí giao dịch và triển khai hợp đồng. Hợp đồng WASM giải quyết các vấn đề về phí giao dịch cao và tắc nghẽn trên mạng Ethereum.
  • Tính linh hoạt và khả năng tương tác: WASM mở rộng phạm vi ngôn ngữ có sẵn để phát triển hợp đồng thông minh, hỗ trợ sử dụng bất kỳ ngôn ngữ cấp cao nào biên dịch sang WASM, chẳng hạn như Rust, C++ và JavaScript. Điều này có nghĩa là các nhà phát triển có thể viết hợp đồng thông minh bằng ngôn ngữ ưa thích của họ, bao gồm cả các nền tảng hoàn thiện như mực! cho Rust hoặc Hỏi! cho hộiScript.

Nhóm EWASM hiện đang tích hợp WebAssugging trên Ethereum để đảm bảo lớp thực thi đơn giản và hiệu quả hơn, giúp Ethereum phù hợp như một nền tảng điện toán phi tập trung hoàn toàn. WASM đã được nhiều dự án khác áp dụng làm tiêu chuẩn, bao gồm Dfinity và EOS, cả hai đều sử dụng nó để nâng cao các lớp thực thi của mình.

2.5 Bút cảm ứng (Arbitrum)

Dự án Stylus là một sáng kiến trên mạng Arbitrum Ethereum Lớp 2 nhằm cải thiện hiệu suất thực thi hợp đồng thông minh bằng cách giới thiệu máy ảo WebAssembly (WASM). Hợp đồng có thể được thực hiện nhanh hơn so với Solidity, đồng thời giảm chi phí gas. Điều này giúp việc xây dựng các hợp đồng thông minh hiệu suất cao trên mạng Arbitrum trở nên dễ dàng hơn và hiện hỗ trợ biên dịch bằng C, C++ và Rust.

Hỗ trợ biên dịch trước tùy chỉnh: Stylus cũng hỗ trợ các trình biên dịch trước tùy chỉnh, cho phép các nhà phát triển triển khai các trình biên dịch trước Rust hoặc C++ của riêng họ vào mạng Arbitrum. Điều này có thể giúp giới thiệu các thuật toán mã hóa mới hoặc các chức năng cụ thể khác trên chuỗi mà không cần chờ nâng cấp trên chuỗi. Ví dụ: tính toán tensor có thể được biên dịch trước để giảm chi phí suy luận, điều này có thể mang lại lợi ích cho việc học máy trên chuỗi.

Khả năng tương tác với EVM: Stylus đạt được sự tích hợp với hệ sinh thái Ethereum hiện có thông qua khả năng tương tác với Máy ảo Ethereum (EVM). Điều này có nghĩa là hợp đồng Stylus có thể tương tác với các hợp đồng EVM hiện có và chia sẻ cùng trạng thái toàn cầu với EVM.

Reentrancy: Không giống như Cosmos Wasm, Stylus Rust SDK giới thiệu tính năng reentrancy và cho phép các nhà phát triển kích hoạt tính năng này theo cách thủ công. Điều này cho phép các hợp đồng có khả năng tương tác linh hoạt hơn, nhưng các nhà phát triển cần quản lý trạng thái cẩn thận để đảm bảo an ninh.

Dựa trên hệ sinh thái thịnh vượng của Arbitrum, việc tích hợp Stylus có lẽ là sự tích hợp WASM có ý nghĩa nhất. Nó cũng nâng cao khả năng cạnh tranh của Arbitrum giữa các lĩnh vực zkRollup.

2.6 Bánh răng(Polkadot)

Giao thức Gear đang tạo ra một công nghệ có thể được triển khai dưới dạng Polkadot parachain, đóng vai trò như một công cụ để lưu trữ các hợp đồng thông minh. Tương tự như Polkadot, Gear cũng sử dụng khung Substrate, giúp đơn giản hóa quá trình tạo các chuỗi khối khác nhau cho các ứng dụng cụ thể. Chất nền cung cấp chức năng sẵn dùng, cho phép mọi người tập trung vào việc tạo các công cụ tùy chỉnh dựa trên giao thức.

Trước đây, chi phí tung ra blockchain rất cao, nhưng Gear cho phép các nhà phát triển dApp tập trung vào các dự án của họ thay vì xây dựng và vận hành toàn bộ blockchain từ đầu.

Động cơ chính của giao thức Gear là mô-đun hợp đồng thông minh. Trong trường hợp của Gear, mọi hợp đồng thông minh đều là chương trình WebAssembly được biên dịch bằng các ngôn ngữ khác nhau như Rust, C và C++. Đối với các nhà phát triển bên ngoài thế giới tiền điện tử, rào cản gia nhập thấp vì họ có thể xây dựng hợp đồng thông minh trong một môi trường quen thuộc. Các nhà phát triển thấy việc thử nghiệm các ngôn ngữ lập trình hợp đồng thông minh dễ dàng hơn.

Kiến trúc hợp đồng thông minh của Gear sử dụng Mô hình diễn viên dưới mui xe và cung cấp các chức năng sau:

  • Bộ nhớ liên tục cho các chương trình bất biến
  • Xử lý tin nhắn không đồng bộ
  • Bề mặt API tối thiểu, trực quan và đầy đủ cho bối cảnh blockchain
  • Mô hình proxy giao tiếp tác nhân giữa các thành phần trên chuỗi để có khả năng kết hợp cao hơn và khả năng tương thích tốt hơn với việc thực thi và phân chia mã song song.

Mỗi chương trình có một lượng bộ nhớ cố định mà Gear cho phép kiểm soát. Một chương trình chỉ có thể đọc và ghi trong bộ nhớ của chính nó và không thể truy cập vào không gian bộ nhớ của các chương trình khác. Mỗi chương trình có không gian bộ nhớ độc lập riêng và thông tin trên các nút Gear có thể được xử lý song song.

2.7 Vũ trụWasm(Vũ trụ)

CosmWasm là nền tảng hợp đồng thông minh dựa trên Wasm hiện đại và mạnh mẽ, có thể dễ dàng tích hợp với Cosmos-SDK. Điều này cho thấy một trong những ưu điểm chính của CosmWasm: các hợp đồng được viết bằng CosmWasm được tích hợp chặt chẽ với IBC (Giao tiếp liên chuỗi khối) nguyên bản, cho phép các nhà phát triển và người dùng bước vào một tương lai đa chuỗi. Hiện tại, chỉ có Rust được hỗ trợ.

Ưu điểm của CosmWasm

  1. Bảo mật: Tăng cường bảo mật cho hợp đồng thông minh bằng ngôn ngữ lập trình Rust
  2. Khả năng tương thích chuỗi chéo: Hỗ trợ giao thức IBC (Giao tiếp giữa các chuỗi khối) trong hệ sinh thái Cosmos.
  3. Hiệu suất: Thể hiện hiệu quả cao hơn và chi phí giao dịch thấp hơn trong một số trường hợp nhất định so với Máy ảo Ethereum (EVM) truyền thống.
  4. Thân thiện với nhà phát triển: Các tính năng an toàn về loại và bộ nhớ của ngôn ngữ Rust giúp giảm một số loại lỗi nhất định trong hợp đồng thông minh.

Những thách thức và hạn chế

  1. Đường cong học tập: Rust có thể có đường cong học tập dốc hơn so với các ngôn ngữ hợp đồng thông minh được sử dụng phổ biến hơn như Solidity. Để tăng khả năng áp dụng rộng rãi, CosmWasm cần hỗ trợ biên dịch bằng nhiều ngôn ngữ hơn.
  2. Hệ sinh thái và công cụ: Trong khi phát triển, các công cụ phát triển và hệ sinh thái cho CosmWasm có thể vẫn còn tương đối hạn chế so với các nền tảng hợp đồng thông minh trưởng thành như Ethereum.
  3. Thị phần và nhận thức: Trong không gian nền tảng hợp đồng thông minh, CosmWasm có thể có nhận thức thấp hơn so với các nền tảng như Ethereum và Binance Smart Chain, điều này ảnh hưởng đến khả năng thu hút các nhà phát triển và người dùng.
  4. Thách thức về bảo trì và nâng cấp: Mặc dù CosmWasm cung cấp chức năng nâng cấp hợp đồng, việc duy trì và quản lý các bản nâng cấp cho hợp đồng thông minh vẫn là một nhiệm vụ phức tạp cần được xử lý cẩn thận để tránh các lỗ hổng bảo mật.
  5. Vấn đề về khả năng tương thích: Các dự án quen với EVM hoặc môi trường hợp đồng thông minh khác có thể gặp phải những thách thức về khả năng tương thích khi di chuyển sang CosmWasm.

2.8 ZK-WASM

Ngoài máy ảo wasm, còn có một công nghệ mới nổi gần đây có tên ZKWASM. Nhà phát minh, Delphinus Labs, đã mã nguồn mở cho ZK-WASM trên GitHub. ZKWASM cho phép các nhà phát triển xác minh tính chính xác của các phép tính đã thực hiện mà không cần thực hiện lại chúng. Bằng cách tận dụng ZKWASM, các nhà phát triển có thể xây dựng linh hoạt các ứng dụng không có kiến thức (ZKP) bằng nhiều ngôn ngữ lập trình khác nhau. Các ứng dụng này có thể thực thi liền mạch trong trình duyệt web.

ZKWASM có nguồn gốc từ ZKSNARK, là sự kết hợp giữa SNARG và bằng chứng không có kiến thức. Hãy giải thích thêm. Thông thường, để sử dụng ZKSNARK, bạn cần viết chương trình bằng ngôn ngữ mạch số học hoặc ngôn ngữ thân thiện với mạch như Pinocchio, TinyRAM, Buffet/Pequin, Geppetto, xJsnark framework, ZoKrates, v.v. Điều này đặt ra rào cản đối với các chương trình hiện có, khiến chúng khó tận dụng được sức mạnh của ZKSNARK. Tuy nhiên, có một cách khác, đó không phải là sử dụng ZKSNARK ở cấp mã nguồn mà ở cấp mã byte của máy ảo, sau đó triển khai một máy ảo hỗ trợ ZKSNARK. Delphinus Labs đã áp dụng phương pháp thứ hai bằng cách kết hợp toàn bộ máy ảo WASM vào mạch ZKSNARK. Do đó, các ứng dụng WASM hiện tại có thể chạy trực tiếp trên ZKWASM mà không cần bất kỳ sửa đổi nào. Do đó, các nhà cung cấp dịch vụ đám mây có thể chứng minh cho bất kỳ người dùng nào rằng kết quả tính toán được tính toán trung thực và sẽ không tiết lộ bất kỳ thông tin cá nhân nào.

ZKWASM cung cấp nhiều trường hợp sử dụng khác nhau, chẳng hạn như cho phép xác minh trực tuyến các hoạt động được thực hiện trong trình duyệt. Nó cho phép các tương tác dựa trên web có thể kiểm chứng được trên blockchain. Các trường hợp sử dụng khác bao gồm dịch vụ oracle, tính toán ngoài chuỗi, tự động hóa, thu hẹp khoảng cách giữa Web2 và Web3, tạo bằng chứng cho máy học và xử lý dữ liệu, thậm chí cả ứng dụng chơi game và xã hội. Với việc áp dụng ngày càng tăng, zkWASM mở rộng khả năng của Web3 và tích hợp các nhà phát triển Web2 vào bối cảnh đầy biến đổi này.

Thông qua việc triển khai ZKWASM của Delphinus Lab, các nhà phát triển có thể khai thác sức mạnh của bằng chứng không kiến thức để tăng cường tính bảo mật và quyền riêng tư cho ứng dụng của họ, mở đường cho một hệ sinh thái kỹ thuật số phi tập trung và đáng tin cậy hơn.

3. Kết luận

Hiệu suất của Web và tương lai của lớp thực thi nền tảng hợp đồng thông minh rất hứa hẹn. Các dApp không chỉ có hiệu suất cao hơn mà việc tích hợp WASM cũng sẽ giúp những người quen thuộc với các ngôn ngữ chính thống như Rust và Go phát triển hợp đồng thông minh dễ dàng hơn mà không cần phải tìm hiểu sự phức tạp của Solidity hoặc các ngôn ngữ phát triển blockchain khác. Theo Evans Data Corporation, có gần 27 triệu nhà phát triển trên toàn thế giới và con số này đang tăng trưởng đều đặn, dự kiến sẽ tăng lên hơn 28,7 triệu vào năm 2024. Tuy nhiên, số lượng nhà phát triển trong lĩnh vực blockchain vẫn chưa đến 30.000, chỉ chiếm khoảng một phần nghìn tổng số nhà phát triển. Mặc dù con số này đang tăng đều đặn nhưng việc học các ngôn ngữ hợp đồng thông minh mới vẫn có thể là rào cản đối với các nhà phát triển khi gia nhập ngành công nghiệp blockchain.

Nhưng ngày càng có nhiều blockchain bắt đầu hỗ trợ Web Assembly dưới dạng mã byte cho các hợp đồng thông minh được biên dịch. WASM mang lại hiệu quả, khả năng tương tác và nhiều trường hợp sử dụng cho chuỗi khối. Nó cũng đóng vai trò là chìa khóa để mở ra cánh cửa cho các nhà phát triển, hạ thấp rào cản tham gia phát triển blockchain. Hãy tưởng tượng, trong tương lai gần, khi các nhà phát triển Web 2.0 muốn thử sức mình trong việc phát triển blockchain, họ có thể sử dụng các ngôn ngữ quen thuộc như Python, C++ và JavaScript để xây dựng các ứng dụng quy mô lớn trên blockchain, tối đa hóa giá trị của các mạng phi tập trung. Đầu tiên, hạ thấp rào cản đối với người sáng tạo (nhà phát triển), sau đó hạ thấp rào cản đối với người dùng và tiến tới áp dụng đại trà.

4. Chỉ số

https://blog.scottlogic.com/2022/06/20/state-of-wasm-2022.html

https://www.notion.so/18f67cee15c147dfae68b06269a455c0?pvs=21

https://wiki.polkadot.network/docs/learn-wasm

https://docs.arbitrum.io/stylus/stylus-gentle-introduction

https://medium.com/@gear_techs/introducing-gear-easy-to-use-polkadot-parachain-9ccd05437a9c

https://medium.com/cosmwasm/cosmwasm-for-ctos-f1ffa19cccb8

https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-WebAssembly-2023.pdf

https://github.com/DelphinusLab/zkWasm

Cảm ơn Maggie và Xinyou Ji (CMU) vì lời khuyên và hướng dẫn của họ cho bài viết này.

Tuyên bố miễn trừ trách nhiệm: Tất cả các bài viết từ Foresight Ventures không nhằm mục đích tư vấn đầu tư. Đầu tư tiềm ẩn rủi ro, vì vậy vui lòng đánh giá mức độ chấp nhận rủi ro của chính bạn và đưa ra quyết định đầu tư một cách cẩn thận.

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

  1. Bài viết này được in lại từ [Nghiên cứu tầm nhìn xa]. Mọi bản quyền đều thuộc về tác giả gốc [Mike@ Foresight 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.
Jetzt anfangen
Registrieren Sie sich und erhalten Sie einen
100
-Euro-Gutschein!