- vừa được xem lúc

Tìm hiểu Cosmos: "Internet of Blockchains"

0 0 14

Người đăng: Le Thanh Cong

Theo Viblo Asia

1. Cosmos là gì ?

Cosmos được định nghĩa một hệ sinh thái blockchain mã nguồn mở.

Không giống như các mạng blockchain khá "độc lập" khác như Bitcoin, Ethereum, ... Cosmos là một hệ sinh thái bao gồm nhiều mạng blockchain khác nhau, được xây dựng, kết nối và tương tác với nhau thông qua các giao thức chung (IBC).

Hệ sinh thái Interchain

Interchain là cái tên được sử dụng để gọi hệ sinh thái Cosmos. Bao gồm rất nhiều mạng blockchain, token cũng như các công cụ để xây dựng và tương tác với hệ sinh thái phi tập trung Cosmos.

Năm 2022, có khoảng 100 tỷ USD tài sản số được quản lý trên Interchain, với khoảng hơn 70 blockchain khác nhau cùng với đó là 33 loại ví mà người dùng có thể thoải mái lựa chọn khi quản lý tài sản trong hệ sinh thái.

Danh sách 1 số blockchain nổi tiếng trong hệ sinh thái Interchain như BNB Chain, Cronos của Crypto.com, Luna ... Các bạn có thể xem đầy đủ các chain tại đây

Tendermint BFT

Tendermint là một phần mềm nằm ở tầng giao thức blockchain, được đóng gói sẵn. Với Tendermint, việc xây dựng một blockchain mới không cần là việc khó khăn khi nhà phát triển không cần quan tâm và hiểu sâu về giao thức P2P hay thuật toán đồng thuận.

Tendermint gồm có 2 phần chính:

  • Tendermint core: Phần thuật toán đồng thuận (blockchain consensus engine)
  • Generic application interface (ABCI): Giao diện lập trình để tương tác với lớp ứng dụng ở trên.

Hệ sinh thái Cosmos hiện tại không sử dụng Tendermint BFT mà tùy chỉnh 1 chút từ Tendermint (fork() tạo ra CometBFT

Cosmos SDK

Interchain hướng đến một hệ sinh thái có thể phát triển thêm các mạng blockchain mới 1 cách dễ dàng, tùy biến.

Trước đây, việc xây dựng một mạng blockchain mới là không hề dễ dàng một chút nào. Kể cả việc fork source code từ các blockchain đã hoạt động như Ethereum cũng yêu cầu kiến thức rất sâu về lập trình để có thể điều chỉnh, tùy biến.

Với công cụ Cosmos SDK, việc xây dựng 1 mạng blockchain sẽ dễ dàng, linh hoạt hơn. Vậy Cosmos SDK là gì ?

Cosmos SDK là một framework mã nguồn mở giúp xây dựng blockchain trên nền Tendermint BFT.

Inter-Blockchain Communication (giao thức IBC)

Inter-Blockchain Communication (IBC) là giao thức giúp việc chuyển tài sản (token) giữa các chain trong hệ sinh thái Cosmos.

Nếu không có giao thức IBC, các nhà phát triển sẽ phải tốn công xây dựng các cầu nối (bridge) bằng viết các bộ smart contract trên các chain khác nhau để chuyển đổi tài sản. Việc đó cũng tiềm ẩn rủi ro bảo mật vì chúng ta đã được chứng kiến nhiều vụ hack lớn nhỏ liên qua tới cầu nối chuyển token.

Các blockchain trong hệ sinh thái Interchain được chia làm 2 loại: HubZone

  • Các hub là các blockchain có nhiệm vụ làm trung gian kết nối giữa các chain khác qua giao thức IBC. Khi 2 zone muốn trao đổi tài sản với nhau, chúng sẽ kết nối với 1 hub chung.
  • Các zone là các blockchain còn lại, không có nhiệm vụ làm trung gian kết nối.

HubZone chỉ khác nhau trong việc chuyển tiếp kết nối IBC hay không mà thôi.

Chúng ta có thể xem chi tiết hơn kết nối giữa các hubzone của Interchain tại đây

Cosmos Hub

Cosmos Hub là blockchain đầu tiên trong hệ sinh thái Interchain. Với token nền tảng là ATOM, thuật toán đồng thuận Proof-of-Stake (PoS). Cái tên Cosmos Hub dễ làm chúng ta nhầm lẫn với khái niệm Hub Zone ở trên.

Ignite CLI

https://docs.ignite.com/ là một công cụ dòng lệnh (command-line interface) giúp việc xây dựng chain mới trở nên tiện lợi, nhanh chóng. Được xây dựng trên Tendermint/CometBFT và Cosmos SDK. Một số tính năng của IgniteCLI có thể kể đến như sau:

  • Tạo 1 modular blockchain với chỉ 1 lệnh
  • Chuyển token qua giao thức IBC
  • Khởi động node blockchain

CosmWasm

Cosmwasm là smart contracting platform trong hệ sinh thái Cosmos. Bao gồm môi trường với các công cụ giúp phát triển, kiểm thử cũng như triển khai smart contract.

Hiện tại smart contract sẽ được viết bằng ngôn ngữ Rust, tương lai có thể tích hợp thêm AssemblyScript.

2. Cùng thử tạo 1 mạng blockchain

Trong phần này chúng ta sẽ cùng thử đi tạo ra một mạng blockchain mới với Cosmos SDK thông qua Ignite CLI. Việc tạo cả một mạng blockchain thật sẽ rất phức tạp từ việc chuẩn bị các node, cài đặt client, kết nối ... nên chúng ta chọn cách đơn giản hơn nhiều là chạy trên máy local.

Cài đặt Ignite CLI

curl https://get.ignite.com/cli@v0.22.1! | bash

Kiểm tra phiên bản khi đã cài đặt xong

Chúng ta cũng có thể dùng Docker nếu không muốn cài đặt trực tiếp Ignite CLI lên máy. Các bạn có thể tham khảo tại đây

Source code

Chúng ta kéo mã nguồn của node client về bằng lệnh

ignite scaffold chain github.com/alice/checkers

Code được viết bằng ngôn ngữ Go, ngôn ngữ quen thuộc được dùng triển khai node client trên Ethereum và các phiên bản fork của nó.

  • Thư mục app: Chứa các files có nhiệm vụ kết nối các phần của blockchain với nhau, quan trọng nhất là file app.go , nó bao gồm các định nghĩa, cài đặt cấu hình để khởi chạy mạng blockchain ví dụ như định dạng địa chỉ bắt đầu bằng cosmos.
  • Thư mục cmd: Nơi định nghĩa các lệnh Ignite CLI và các thực thi chúng
  • Thư mục proto: Chứa các files .proto (một dạng dữ liệu tương tự như JSON hay XML) để mô tả các cấu trúc dữ liệu của blockchain.
  • Thư mục testutil: Chứa các thư viện phục vụ việc viết unit test
  • Thư mục x: Chứa các mô-đun của mạng blockchain đã được tuy chỉnh so với mặc định của Cosmos SDK. Ví dụ như staking, governance, ...
  • config.yml: Chứa các thiết lập ban đầu về tài khoản, network ID, số dư, ...

Kích hoạt blockchain

cd checkers
ignite chain serve

Vậy là mạng blockchain mới đã được kích hoạt , ta hãy cùng thử faucet 1 ít tiền xem sao

Kiểm tra số dư, tài khoản đã có thêm 10token

Lưu ý: blockchain local chúng ta được dựa trên Cosmos Hub (cosmos1uzv4v9g9xln2qx2vtqhz99yxum33calja5vruz) nên nếu truyền dạng địa chỉ của các chain khác thì sẽ không hợp lệ. Vd như osmo16w76z5wl0nehjxqcp9clpp0km4f5265r2kwv5q

Lời cuối

Cosmos blockchain vẫn đang phát triển rất mạnh mẽ trong thời kỳ thị trường vô cùng ảm đạm. Còn rất nhiều khái niệm, kiến thức mới so với các nền tảng Ethereum mà trong khuôn khổ bài viết chưa thể đề cập đến được. Hy vọng qua bài này chúng ta sẽ có cái nhìn tổng quan về hệ sinh thái Cosmos (Interchain).

Tài liệu tham khảo

https://tutorials.cosmos.network/academy/1-what-is-cosmos/2-cosmos-ecosystem.html

https://docs.cosmos.network/main

https://mapofzones.com/home?columnKey=ibcVolume&period=24h

https://docs.ignite.com

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Blockchain] Road to Bitcoin

. Chắc mọi người hẳn đã không còn xa lạ gì với anh chàng tỷ phú đã ném vỡ cửa kính ô tô nhà mình cùng với siêu năng lực điều khiển vật giá chỉ bằng lời nói, người đã đẩy định giá Bitcoin trên thị trường vượt ngưỡng 50K dolar/coin với những bài twitter để đời . .

0 0 61

- vừa được xem lúc

Khi Ethereum có chi phí giao dịch quá đắt đỏ - Tương lai cho layer2 ?

Với sự phát triển như vũ bão của Blockchain, ETH dường như đang quá tải và hệ quả là chi phí Gas đã lên đến 1000Gwei, phí để tạo những transaction phức tạp đã xấp xỉ 500$ . Và một giải pháp cứu cánh cho các sản phẩm Defi trên ETH chính là Layer2, và trong nhiệm vụ lần này Matic đang thể hiện khả năn

0 0 89

- vừa được xem lúc

Blockchain với Java - Tại sao không?

Cuộc cách mạng công nghiệp 4.0 ra đời kéo theo nhiều sự thay đổi và xu hướng mới được hình thành. Riêng đối với lĩnh vực CNTT cũng không nằm ngoài vùng ảnh hưởng mạnh mẽ. Chính làn sóng 4.

0 0 92

- vừa được xem lúc

Phân loại và tầm quan trọng của các node trong mạng blockchain

Trước khi đi vào phân loại và nêu rõ được tầm quan trọng của các node trọng mạng blockchain thì mình xin được trích dẫn khái niệm về blockchain từ Wikipedia như sau:. .

0 1 65

- vừa được xem lúc

Code Smart Contract bằng Assembly ?

Introduction. Hồi còn học trong ghế nhà trường bộ môn lập trình tốn nhiều não nhất của mình là code assembly. Nôm na thì bất cứ ngôn ngữ bậc cao nào như C , Go, Java,... được sinh ra để người dễ hiểu và dễ code , tuy nhiên chúng đều sẽ được compiled down xuống assembly một ngôn ngữ bậc thấp để máy h

0 0 58

- vừa được xem lúc

Dextool - Công cụ phân tích Decentralized Exchange tuyệt vời

. Trend Defi mặc dù đã bớt nhiệt nhưng những sản phẩm nổi bật của làn sóng này mang lại thì vẫn rất được người dùng ưa chuộng. Đặc biệt là các nền tảng Decentralized Exchange, tiêu biểu là Uniswap, SushiSwap, 1inch Exchange, FalconSwap,... Nhưng khi đã sử dụng các nền tảng DEx này mà không biết đến

0 0 106