Cấu trúc Web3 xuất hiện cho thấy sự phát triển vượt bậc của công nghệ. Công nghệ Web3 được phát triển với mã nguồn mở, mang tính phân quyền, sử dụng công nghệ Blockchain,… và vô số những tính ưu việt khác. Vậy cấu trúc Web3 thực sự khác biệt như nào, chúng ta hãy cùng so sánh Web3 và Web2 để thấy được sự khác biệt.
Cấu trúc hoạt động của Web2
Web 2.0 là phiên bản nâng cấp của Web, bao gồm trang web hay ứng dụng cho phép người dùng lưu trữ, chia sẻ thông tin và tương tác với nhau. Những ứng dụng Web 2.0 như: LinkedIn, Facebook, Twitter,…
Cấu trúc hoạt động của Web 2 như sau:
- Cơ sở lưu trữ dữ liệu: Những dữ liệu người dùng như thời gian đăng ký, lượt thích, lượt retweet,… được cập nhật liên tục qua một cơ sở dữ liệu.
- Back – end code: được viết bởi ngôn ngữ lập trình chuyên dụng như Node.js, C+,… Back – end code giúp xác định logic hoạt động của các ứng dụng.
- Front – end code: được viết bằng Javascript, HTML và CSS. Điều này giúp xác định giao diện người dùng của các ứng dụng.
Khi người dùng có hoạt động trên ứng dụng thì họ đang tương tác với front – end của ứng dụng, front – end này tương tác với back – end và cuối cùng back – end tương tác với cơ sở dữ liệu.
Cấu trúc Web3 hoạt động như nào?
Cấu trúc Web3 hoàn toàn khác với Web3, trừ Front – end code. Các ứng dụng Web3 loại bỏ tính trung gian với Blockchain. Web3 là một mạng lưới phân tán lưu trữ dữ liệu, dùng để viết Smart Contract hay còn gọi là hợp đồng thông minh giúp xác định tính logic hoạt động của ứng dụng.
Vì không có server tập trung, Smart Contract được viết để truy vấn dữ liệu và thực hiện các hoạt động logic. Đây là những loại mã dùng để tương tác với Ethereum blockchain thông qua máy ảo Ethereum. Front – end code sẽ tương tác trực tiếp với logic ứng dụng được xác định trong Smart Contract và không cần thông qua Back – end code.
Với Web3, người dùng sẽ có hoàn toàn kiểm soát và sở hữu dữ liệu của mình, đồng thời cũng có thể tự bảo mật thông tin đó bằng mật mã hoá. Bằng cách này, thông tin sẽ được chia sẻ dựa trên mục đích hoặc sự cho phép cụ thể.
Cấu trúc Web3 phân tích qua Ethereum
Để có thể thấy cấu trúc hoạt động của Web3 thì ta có thể phân tích Ethereum.
Blockchain
Ethereum còn được gọi là “máy tính thế giới”, nó có thể được truy cập bởi bất cứ ai tại bất cứ địa điểm nào. Ethereum không thuộc sở hữu của ai vì nó có tính phi tập trung.
Ethereum được cấu thành bởi mạng lưới máy tính hay còn gọi là các node. Những thay đổi được điều chỉnh phải thông qua cơ chế đồng thuận. Dữ liệu chỉ có thể được ghi thêm vào chứ không được cập nhật hoặc thay đổi.
Smart Contract
Để xây dựng tính phi tập trung của Ethereum, các nhà phát triển cần phải triển khai các hợp đồng thông minh qua ngôn ngữ lập trình cấp cao như Solidity,… Smart Contract giúp xác định logic đằng sau những thay đổi trạng thái xảy ra trên Blockchain. Hợp đồng thông minh có đặc tính là không thể sửa đổi và can thiệp.
Ethereum Virtual Machine (EVM)
EVM (máy ảo Ethereum) chịu trách nhiệm thực thi logic được xác định trong các smart contract trên mạng lưới Ethereum. EVM không hiểu các ngôn ngữ cấp cao như Solidity và Vyper, vì vậy, các nhà phát triển cần biên dịch những ngôn ngữ này thành bytecode. Mỗi Ethereum node được trang bị một EVM riêng, giúp đảm bảo tính bảo mật và phi tập trung.
Front – end
Giao diện người dùng xác định logic và giao tiếp với logic ứng dụng được xác định trong smart contract thông qua các node.
Mỗi node trong Ethereum đều giữ một bản sao của tất cả các trạng thái trên Ethereum state machine. Nó bao gồm mã và dữ liệu được liên kết với mọi smart contract. Các node đều có thể phát yêu cầu thực hiện giao dịch trên EVM.
Sau khi tương tác với một trong những node này, một thợ đào sẽ thực hiện giao dịch và gửi kết quả thay đổi trạng thái cho phần còn lại của mạng.
Có hai cách để bắt đầu một giao dịch mới:
- Cách 1: Thiết lập node của riêng mình và chạy phần mềm tương thích (yêu cầu 32E và node setup). Tuy nhiên, ơ thời điểm hiện tại, người dùng không cần đủ 32E vẫn có thể tham gia quá trình trên nhờ giải pháp liquid staking.
- Cách 2: Sử dụng các node được cung cấp bởi các dịch vụ của bên thứ ba như Infura, Alchemy và Quicknode.
Những node mà người dùng kết nối khi tương tác với Blockchain thường được gọi là “Provider”.
Mọi “provider” đều triển khai JSON-RPC nhằm đảm bảo có một bộ phương pháp thống nhất khi front – end của các ứng dụng muốn tương tác với Blockchain. Đây là giao thức RPC giúp xác định cấu trúc dữ liệu và quy tắc xử lý, sử dụng JSON (RFC 4627) làm định dạng dữ liệu.
Như vậy, cấu trúc Web3 phức tạp hơn so với Web2. Cấu trúc Web3 mang đặc tính phi tập trung, cho phép người dùng toàn quyền kiểm soát dữ liệu cũng như hoạt động của mình. Bất cứ ai cũng có thể truy cập và sử dụng Web3. Với công nghệ cao của mình thì trong tương lai, Web3 sẽ cung cấp rất nhiều tiện ích cho con người.