HomecaretTin Tức

Hiểu về Web3 - Internet kiểm soát bởi người dùng

Đăng bởi Trang Nguyễn vào 25 tháng 12 2020

Hiện tại anh em đang sử dụng là Web 2.0 (Web2), bài viết này sẽ cũng anh em tìm hiểu một sự phát triển công nghệ cho web sắp tới là Web 3.0 (Web3).

Bài viết này bao gồm 3 phần, phân tích về động cơ cũng như công nghệ phía sau sự phát triển của Web3 bởi Coinbase:

Phần 1: Nhược điểm của Internet hiện nay và những vấn đề Web3 có thể giải quyết.

Phần 2: Phân tích stack (cách thức lưu trữ dữ liệu) của Web3.

Phần 3: So sánh cấu trúc Web2 và Web3.

Lưu ý: có một số thuật ngữ anh em tham khảo trước khi đọc để hiểu rõ hơn về Web3:

  • State: trạng thái lưu trữ dữ liệu của client ( máy khách) và server (máy chủ).
  • Stateless: khi client gửi dữ liệu lên server, server thực thi xong, trả kết quả thì “quan hệ” giữa client và server bị “cắt đứt” – server không lưu bất cứ dữ liệu gì của client.
  • Stack: cách thức lưu trữ dữ liệu.

Phần 1: Tại sao lại xuất hiện Web3?

Lý do: Web2 có nhiều nhược điểm và vấn đề

Nhược điểm

  • Sử dụng Stateless protocol: Giao thức không lưu dữ liệu của client trên server.
  • Không có cơ chế gốc để chuyển “state”.

Chính 2 nhược điểm này, đặt ra cho web 2 hai vấn đề lớn:

Vấn đề 1: Thiếu state

Khi thiếu state, anh em sẽ không thấy bất cứ thông tin lưu trữ nào khi truy vấn từ một nút (một thiết bị được kết nối với internet) về lịch sử hoặc trạng thái hiện tại của nó.

Nói đơn giản khi anh em sử dụng bất kỳ thứ gì được kết nối với Internet, anh em đều phải thiết lập lại toàn bộ thông tin giống như sử dụng Internet lần đầu tiên từ một trình duyệt mới (không có lịch sử, mục yêu thích, cài đặt đã lưu hoặc tự động hoàn tất).

Điều này khiến tính ứng dụng và hiệu quả của Internet không cao.

Nguyên nhân: Các web được xây dựng trên các stateless protocol đơn giản như HTTP và SMTP, không thể lưu trữ thông tin client trên server.

Các giải pháp hiệu quả hiện thời:

  • Sử dụng Cookie:
    • Công dụng: Cho phép truy vấn thông tin đã được lưu vào cookie trong lần truy vấn trước đó.
    • Vấn đề đặt ra: Cookie được tạo ra và kiểm soát bởi các nhà cung cấp dịch vụ. Chính vì vậy, người dùng không biết được bên nào đang cung cấp hay truy cập state của họ.
  • Sử dụng các bên cung cấp dịch vụ lưu trữ state tập trung ví dụ Google, Facebook:
    • Công dụng: Giá trị từ state được tạo ra bởi hàng tỷ người trên thế giới, mang lại lợi ích cho cả bên cung cấp ( tìm insight của người dùng) và người dùng dịch vụ (không phải thiết lập lại thông tin sau mỗi lần truy vấn)
    • Vấn đề: Lợi ích state mang lại cho các bên cung cấp dịch vụ lớn hơn rất nhiều so với cho công chúng

Vấn đề 2: Thiếu cơ chế gốc để chuyển đổi state

Nguyên nhân: Nếu anh em không nắm giữ state và giá trị nó mang lại, anh em sẽ không thể chuyển đổi nó được, chính vì vậy kéo theo thiếu một cơ chế để chuyển đổi state.

Tuy nhiên, với công nghệ hiện nay, state chỉ mang lại giá trị cho mô hình kinh doanh quảng cáo, vì các doanh nghiệp quảng cáo là những doanh nghiệp duy nhất có thể lưu trữ và truyền tải state của hàng tỷ người dùng một cách hiệu quả.

Vấn đề:

  • Các trung gian của bên thứ ba tìm mọi cách để thu lợi nhuận từ giao dịch quảng cáo (internet marketing,...);
  • Quảng cáo chỉ đẩy mạnh sự phát triển của các doanh nghiệp lớn, trong khi gây bất lợi cho doanh nghiệp mới cũng như hạn chế tiềm năng tăng trưởng của nền kinh tế;
  • Ngành công nghiệp quảng cáo sử dụng dữ liệu người dùng phục vụ cho các nghiên cứu mô hình quảng cáo, đôi khi kích thích những nhu cầu không cần thiết với người dùng đồng thời kéo trải nghiệm người dùng xuống.

Phần 2: Web3 và stack của Web3

Khái niệm

Web3 là internet tận dụng sức mạnh blockchain, cho phép mỗi cá nhân tham gia trong mạng lưới có thể giữ và chuyển đổi state ở dạng kỹ thuật số.

Web3 mang lại 2 lợi ích lớn nhất là:

  • Tạo ra giá trị kinh tế từ bất cứ người tham gia nào.
  • Chuyển đổi giá trị gốc đến bất cứ người tham gia nào.

Ví dụ: L4 là một dự án đã tận dụng được giải pháp này.

Stack của Web3

Image for post

The Web 3 Stack — A modular framework

  • Các layer: trong framework xếp theo từ trên xuống theo trục y.
  • Màu sắc: thể hiện mức độ tương thích giữa các module trong các lớp khác nhau. Ví dụ: Crypto Goods (màu vàng) tương thích với EVM (màu xanh lam đến màu vàng) nhưng không tương thích với Bitcoin Script (màu xanh lá cây sang màu đỏ).
  • Một module trong framework: giúp nâng cấp một trong các layer mà không cần viết lại hoàn toàn mọi thứ ở các layer bên dưới nó. Điều này rất quan trọng đối với sự phát triển mạnh mẽ của Web 3, mặc dù các module trong mỗi lớp có thể trông hoàn toàn khác nhau sau 5 năm, nhưng tự bản thân các lớp đã được thiết kế để hoàn thiện và bao gồm tất cả các phần tạo nên Web 3.

State Layer (lớp state)

Image for post

Chức năng:

  • Bảo toàn state của tất cả dữ liệu xảy ra ở layer dưới nó.
  • Được độc quyền cung cấp bởi cơ sở hạ tầng blockchain và mọi người đều có thể tham gia miễn là tuân theo các quy tắc của mạng lưới.
  • Bất kỳ sự xác thực thành công nào của mạng lưới cũng sẽ trở thành cơ sở hạ tầng mặc định và đáng tin cậy, giống như các nhà cung cấp DNS ngày nay.
  • State Layer có 3 loại: công khai, riêng tư và cần cấp quyền truy cập.

Lưu ý: Từ đây, mọi lớp được xây dựng dựa trên hoặc tương thích với các lớp nằm bên dưới nó.

Computation Layer (Lớp điện toán)

Image for post

Chức năng:

  • Cho phép người dùng hướng dẫn State layer thực hiện theo yêu cầu. Tuy nhiên không phải tất cả Computation Layer đều cho phép làm điều này.

Ví dụ:

  1. Bitcoin’s Script chỉ cho phép điều chỉnh rất ít ngoài các lệnh giao dịch.
  2. Ethereum Virtual Machine (Máy ảo Ethereum - EVM), có một đầu là máy Turing Complete nhằm cho phép mọi tính toán phức tạp tùy chỉnh được thực hiện bởi một state layer hỗ trợ EVM.
  • Việc ứng dụng phát triển trên Computation Layer nào sẽ quyết định blockchain mà ứng dụng đó sẽ hoạt động trên.

Ví dụ: Bất kỳ ứng dụng nào được đã được chuyển đổi bởi EVM ( Ethereum Virtual Machine ) đều có thể chạy trên blockchain Ethereum nhưng không thể chạy trên blockchain Bitcoin.

Component Layer (Lớp thành phần)

Image for post
  • Components được xây dựng trên lớp Computation Layer và sử dụng lại các template hợp đồng thông minh có sẵn đã được chuẩn hóa. OpenZeppelin là một nguồn để truy cập các template như vậy.
  • Người tạo Components layer mới phải yêu cầu phát hành hợp đồng thông minh mới trên State Layer.

Một số component cơ bản:

  • Tiền điện tử của chính blockchain (Native Currency).
  • Tài sản số (Crypto Assets).
  • Hàng hóa số (Crypto Goods).
  • Danh tính (Identity).
  • Stablecoins.

Protocol Layer (Lớp giao thức)

Image for post

Chức năng:

  • Protocol layer giúp các thành phần hoạt động được với nhau, tận dụng sự hỗ trợ từ mạng lưới để có hiệu quả cao hơn.
  • Cho phép hình thành thị trường lành mạnh cho các thành phần có liên quan, tương tự thị trường ngoài thực tế, tuy nhiên có quy mô rẻ hơn và hiệu quả hơn.
  • Protocol có dạng các hợp đồng thông minh chuẩn hóa là một trong các protocol đang nhận được sự quan tâm, điển hình bao gồm:
    1. Trading (Giao dịch): Các protocol cho phép giao dịch crypto giữa các Wallet mà không cần sự tin tưởng giữa các Wallet với nhau.
    2. Lending (Cho vay): Protocol cho vay làm tăng lợi nhuận của bất kỳ tài sản crypto thông qua việc tạo điều kiện cho lợi tức đầu tư.
    3. Derivatives (Phái sinh): Protocol cho phép các thị trường không dựa vào niềm tin, hình thành cho các thành phần có nguồn gốc từ State Layer.
    4. Scalability/Transfer Layer (Lớp mở rộng/ chuyển đổi): Protocol cho phép tạo một layer khác ( Layer 2) để chuyển state nhằm hỗ trợ liên kết cấu trúc nhiều hơn so với Layer 1.

Ứng dụng nổi bật của Web3 thời điểm hiện tại

  • Payment Channels (Kênh thanh toán): Chỉ cho phép chuyển đổi giữa các native currency, được thực hiện thông qua xác thực chữ ký gắn với giao dịch diễn ra trên state layer. Có yêu cầu đặt cọc tài sản để xử lý tranh chấp dễ dàng. Ví dụ: Lighting Network cho Bitcoin, Raiden cho Ether, SpankChain’s Vynos cho Ether.
  • State Channels( Kênh state): Cho phép giao dịch ở bất kì state nào và được thực hiện thông qua xác thực chữ ký gắn với các giao dịch ở lớp State Layer. Có yêu cầu đặt cọc tài sản để xử lý tranh chấp dễ dàng. Ví dụ: Counterfactual cho EVM, Celer Network cho EVM, Arcadeum cho EVM, FunFair’s Fate Channel cho EVM, Connext cho EVM.
  • Side Chains: Cho phép chuyển bất kỳ state nào. Được thực hiện bởi các blockchain khác tương thích với chuỗi chính. Yêu cầu side chain có thể tương tác với Computation Layer trên chuỗi chính. Đồng thời yêu cầu chìa khóa của quỹ để để xử lý tranh chấp. Có thể được quản lý tập trung hoặc tư nhân. Ví dụ: PoA Network cho EVM, Loom Network cho EVM, Plasma Framewok cho EVM.

User Control Layer (Lớp người dùng kiểm soát - Wallet)

Image for post

Chức năng:

  • Quản lý private key của người dùng và có thể ký xác thực các giao dịch trên State Layer.
  • Giao dịch ở State Layer sẽ làm thay đổi tài khoản của người dùng, vì vậy nó ảnh hưởng trực tiếp tới cách người dùng tương tác với các ứng dụng Web 3.
Image for post

Anatomy of a Transaction on the Ethereum Blockchain

Phân loại:

Hosted Wallets (Ví chủ): Là wallet đại diện cho người dùng, quản lý tài khoản thông qua kiểm soát số dư chỉ có trên State Layer.

  • Nhược điểm: Web3 làm tăng số lượng state khiến việc tổng hợp tài sản của Hosted Wallet trở nên phức tạp hơn khi nó chỉ khả thi với nền kinh tế cân nhắc giá trị tiền tệ,
  • Giải pháp tiềm năng: Hosted Wallets mới được quản lý bởi blockchain wallet chuyên dụng cho mỗi người dùng và hỗ trợ các ứng dụng phi tập trung. Đây là giải pháp được cho là linh hoạt hơn nhưng vẫn chưa được chứng minh trên quy mô lớn.

User Controlled Wallet:

  • Định nghĩa: User Controlled Wallet là ví cho phép người dùng có quyền kiểm soát hoàn toàn private key và xác thực giao dịch mà không cần thông qua một bên thứ 3,
  • Ưu điểm:
    1. Phần mềm wallet không sao chép các khóa cá nhân của người dùng
    2. Linh hoạt và mang tính trực tiếp hơn khi sử dụng các ứng dụng phức tạp hơn của web3
    3. Đây là điểm tiếp xúc cuối cùng của người dùng đối với tất cả các lớp bên dưới và do đó cần thể hiện tất cả các chức năng có sẵn cho các ứng dụng được truy cập qua lớp này. Điều này thường được thực hiện thông qua các thư viện front-end như web3.js.

Application Layer (Lớp ứng dụng)

Image for post

Ở layer này, các bên thứ ba tập trung xây dựng DApp trên tất cả các layer bên dưới.

DApp cũng được coi là hoạt động chính của Web3.

Ví dụ: Người dùng nhận ra giá trị trong CryptoKitties, một dạng Crypto Goods, thông qua sử dụng các DApp của CryptoKitties như cryptokitties.co, kittyrace.com, cryptogoods.com.

Một số chức năng thể hiện sự ưu việt của DApps:

  • Fundraising (Kêu gọi vốn).
  • Trading Platforms (Nền tảng giao dịch).
  • Games and Collectibles (Game và sưu tầm).
Image for post

Phần 3: So sánh cấu trúc Web 2 và Web 3

Web 3 thêm một layer cơ sở hạ tầng hoàn toàn mới để các ứng dụng, các chức năng và yêu cầu mới của client tương tác với nhau. Kiến trúc của các ứng dụng Web 3 giới thiệu các yếu tố bổ sung cho Web 2.0 framework, cũng như xây dựng block và tool mới để nhà developers làm quen.

Image for post

Cấu trúc ứng dụng Web2 và Web3

Web2

Cấu trúc

Một phiên bản đơn giản của Web2 bao gồm:

  • Một phần mềm client (một trình duyệt, một ứng dụng độc lập,….).
  • Một bộ server cung cấp thông tin và các thuật toán logic, tất cả đều được kiểm soát bởi cùng một tổ chức - tạm gọi là Game Co.

Mô hình hoạt động

Game Co. là bên duy nhất có quyền kiểm soát những thứ sau:

  • Ai có quyền truy cập thông tin và thuật toán logic được kiểm soát bởi chính server đó.
  • Theo dõi người dùng sở hữu nội dung nào và thời gian lưu trữ nội dung đó.

Vấn đề

Đã có nhiều công ty internet thay đổi các quy tắc sử dụng hoặc ngừng cung cấp dịch vụ cho người dùng . Người dùng không có quyền lưu giữ lại những giá trị họ đã tạo ra.

Web3

Cấu trúc Web3 tận dụng mọi thứ được kích hoạt bởi State Layer thông qua 2 thứ:

  • Cho phép các ứng dụng đặt một số hoặc toàn bộ nội dung và thuật toán logic của chúng vào public blockchain. Những thông tin này có thể công khai và truy cập bởi bất kì người dùng nào.
  • Cho phép người dùng trực tiếp sử dụng nội dung và thuật toán logic này mà không nhất thiết cần tài khoản hay khóa API đặc quyền để tương tác với mọi thứ trên blockchain.

Hai thành phần cơ sở hạ tầng chính hỗ trợ các ứng dụng trên Web3:

1. Wallet (ví):

  • Là User Control Layer cho stack của Web 3.
  • Các modern wallet (các ví hiện đại), ví dụ: Coinbase Wallet, tương tác với front-end chính của client giúp liền mạch trải nghiệm người dùng, thông qua cho phép các ứng dụng gửi yêu cầu đến thư viện tiêu chuẩn của chính wallet đó, ví dụ: web3.js.

2. Blockchain Node: Có hai bên liên tục theo dõi và tương tác với blockchain là miner và node

  • Miner trực tiếp duy trì và vận hành blockchain.
  • Node giám sát và gửi các giao dịch lên blockchain.

Một số vấn đề của Web3 đang tìm cách giải quyết:

  • Người trả phí gas: Ví dụ: Đa số Dapp trên Ethereum yêu cầu người dùng trả phí giao dịch. Khi số lượng người dùng tăng cao, việc trả phí bởi người dùng là không khả thi. Có giải pháp rơ-le gas tuy nhiên chưa thực sự hoạt động.
  • Nên có tài khoản dành riêng cho App hay không? Một trong những ứng dụng thú vị của Web 3 là nhận dạng phổ quát. Một khi tìm ra giải pháp cho nhận diện phi tập trung, DApps nên sử dụng như thế nào? ANh em có thể tham khảo bản xây dựng demo Origin bằng ERC-725 và 735.

Tổng kết

Bài viết đã phân tích về 3 vấn đề chính của web3:

  • Phần 1: cho thấy sự cần thiết của Web3 đối với người dùng, nhằm khắc phục vấn đề thiếu state của Web2 đồng thời mang đến trải nghiệm Internet phi tập trung nhờ công nghệ Blockchain.
  • Phần 2: Tìm hiểu về các lớp hình thành nên Web3, với cấu trúc 7 layer giúp Web3 trở nên linh hoạt với nhiều ứng dụng đa dạng.
  • Phần 3: Cho thấy rõ sự khác biệt giữa hai cấu trúc Web2 và Web3 để thấy được sự vượt trội và tiềm năng của Web3.

Nhìn chung, Web3 đang sở hữu rất nhiều tiềm năng và có thể là một điểm sáng trong ngành công nghệ trong thời gian sắp tới.

Anh em tham khảo link bài viết gốc tại đây.

#web3 #web2 #internetkiemsoatboinguoidung

Bạn là người mới, muốn học đầu tư Crypto từ đầu để có kiến thức nền tảng?

Học tại đây
Trang Nguyễn

Trang Nguyễn

Be simple, be patient, be me

back to top