Polkadot và Cosmos đều là giao thức cung cấp giao diện cho các máy có trạng thái khác nhau để giao tiếp với nhau. Cả hai giao thức đều được dự đoán dựa trên luận điểm rằng tương lai sẽ có nhiều blockchain cần tương tác với nhau thay vì các blockchain riêng lẻ tồn tại riêng lẻ.
Mô hình
Polkadot sử dụng mô hình phân đoạn trong đó mỗi phân đoạn (shard) trong giao thức có một chức năng chuyển đổi trạng thái trừu tượng (STF). Polkadot sử dụng WebAssembly (Wasm) như một “siêu giao thức”. STF của shard có thể trừu tượng miễn là trình xác thực trên Polkadot thực thi nó trong môi trường Wasm.
Các shard của Polkadot được gọi là “parachain”. Mỗi khi parachain muốn thực hiện chuyển đổi trạng thái, nó sẽ gửi một khối (hàng loạt chuyển đổi trạng thái) cùng với bằng chứng trạng thái mà trình xác thực Polkadot có thể xác minh một cách độc lập. Các khối này được hoàn thiện cho các parachain khi chúng được chuỗi chính của hệ thống Relay Chain hoàn thiện. Do đó, tất cả các parachain chia sẻ trạng thái với toàn bộ hệ thống, có nghĩa là tổ chức lại một chuỗi của chỉ một parachain sẽ yêu cầu tổ chức lại tất cả các parachain và Relay Chain.
Cosmos sử dụng mô hình trung tâm cầu nối kết nối các chuỗi Tendermint. Hệ thống có thể có nhiều trung tâm (trung tâm chính là “Cosmos Hub”), nhưng mỗi trung tâm kết nối một nhóm các chuỗi bên ngoài, được gọi là “khu vực”. Mỗi khu vực chịu trách nhiệm bảo mật chuỗi bằng một bộ xác thực được phân cấp và stake đầy đủ. Các khu vực gửi thông điệp và token cho nhau thông qua trung tâm bằng cách sử dụng một giao thức được gọi là Giao tiếp giữa các blockchain (IBC). Vì các khu vực không chia sẻ trạng thái nên việc tổ chức lại một khu vực sẽ không tổ chức lại các khu vực khác, có nghĩa là mỗi thông điệp được ràng buộc bởi sự tin cậy của người nhận đối với tính bảo mật của người gửi.
Kiến trúc
Polkadot
Polkadot có Relay Chain hoạt động như chuỗi chính của hệ thống. Tất cả các trình xác thực trong Polkadot đều nằm trên Relay Chain. Parachain có trình đối chiếu (collator) để xây dựng và đề xuất các khối parachain cho trình xác thực. Trình đối chiếu không có bất kỳ trách nhiệm bảo mật nào và do đó không yêu cầu hệ thống khuyến khích mạnh mẽ. Trình đối chiếu có thể gửi một khối parachain duy nhất cho mỗi khối Relay Chain cứ sau 6 giây. Sau khi parachain gửi một khối, trình xác thực thực hiện một loạt các kiểm tra tính khả dụng và tính hợp lệ trước khi đưa nó vào chuỗi cuối cùng.
Vị trí parachain có giới hạn, và do đó, các ứng viên parachain tham gia đấu giá để giữ chỗ trong tối đa 2 năm. Đối với các chuỗi không có kinh phí cho vị trí parachain hoặc không cần thiết phải thực thi với thời gian khối 6 giây, Polkadot cũng có parathread. Parathread thực thi trên cơ sở trả tiền đến đâu dùng đến đó nên chỉ trả tiền để thực thi một khối khi chúng cần.
Để tương tác với các chuỗi muốn sử dụng quy trình hoàn thiện của riêng họ (ví dụ: Bitcoin), Polkadot có các parachain cầu nối cung cấp khả năng tương thích hai chiều.
Cosmos
Cosmos có một chuỗi chính được gọi là “Hub” (trung tâm) kết nối các blockchain khác được gọi là “khu vực”. Cosmos có thể có nhiều hub, nhưng bài viết này sẽ xem xét một hub duy nhất. Mỗi khu vực phải duy trì trạng thái riêng của mình và do đó có cộng đồng trình xác thực của riêng mình. Khi một khu vực muốn giao tiếp với khu vực khác, nó sẽ gửi các gói tin qua IBC. Hub duy trì sổ cái đa token về số dư token (các thông báo chưa chuyển được chuyển tiếp nhưng trạng thái của chúng không được lưu trữ trong Hub).
Các khu vực giám sát trạng thái của Hub bằng ứng dụng khách nhẹ, nhưng Hub không theo dõi trạng thái của khu vực. Các khu vực phải sử dụng thuật toán tất định hoàn thiện (hiện tại, tất cả đều sử dụng Tendermint) và triển khai giao diện IBC để có thể gửi thông điệp đến các chuỗi khác thông qua Hub.
Cosmos cũng có thể tương tác với các chuỗi bên ngoài bằng cách sử dụng “khu vực chốt”, tương tự như parachain cầu nối.
Đồng thuận
Polkadot sử dụng giao thức đồng thuận lai với 2 giao thức con: BABE và GRANDPA, cùng được gọi là “Fast Forward” (tiến về phía trước). BABE (Blind Assignment for Blockchain Extension) sử dụng chức năng ngẫu nhiên có thể xác minh được (VRF) để chỉ định các vị trí cho trình xác thực và mô hình quay vòng dự phòng để đảm bảo rằng mỗi vị trí đều có một tác giả. GRANDPA (GHOST-based Recursive Ancestor Deriving Prefix Agreement) bỏ phiếu cho các chuỗi, thay vì các khối riêng lẻ. BABE có thể tạo ra các khối ứng cử viên để mở rộng chuỗi đã hoàn thiện và GRANDPA có thể hoàn thiện chúng theo đợt (lên đến hàng triệu khối cùng một lúc).
Việc phân chia nhiệm vụ như vậy mang lại một số lợi ích. Đầu tiên, nó giảm bớt sự phức tạp trong vận chuyển cho cả quá trình sản xuất và hoàn thiện khối. BABE có độ phức tạp tuyến tính, giúp dễ dàng mở rộng quy mô đến hàng nghìn nhà sản xuất khối với chi phí mạng thấp. GRANDPA có độ phức tạp bậc hai, nhưng được giảm bớt bởi hệ số độ trễ hoặc số khối mà nó hoàn thiện trong một đợt.
Thứ hai, có khả năng mở rộng chuỗi với các khối chưa được hoàn thiện cho phép các trình xác thực khác thực hiện kiểm tra tính khả dụng và tính hợp lệ rộng rãi để đảm bảo rằng không có chuyển đổi trạng thái không hợp lệ nào đi vào chuỗi cuối cùng.
Cosmos (cả Hub và các khu vực) sử dụng đồng thuận Tendermint, một giao thức xoay vòng cung cấp khả năng hoàn thiện tức thì. Quá trình sản xuất và hoàn thiện khối nằm trên cùng một đường dẫn của thuật toán, có nghĩa là nó tạo ra và hoàn thiện từng khối một. Bởi vì là một thuật toán dựa trên PBFT (như GRANDPA), nó có độ phức tạp vận chuyển bậc hai, nhưng chỉ có thể hoàn thiện một khối tại một thời điểm.
Cơ chế staking
Polkadot sử dụng Nominated Proof of Stake (NPoS) để chọn trình xác thực bằng cách sử dụng thuật toán Phragmén tuần tự. Kích thước tập hợp trình xác thực do ban quản trị thiết lập (1.000 trình xác thực được lên kế hoạch) và các staker không muốn chạy cơ sở hạ tầng trình xác thực có thể chỉ định tối đa 16 trình xác thực. Thuật toán của Phragmén chọn cách phân bổ stake tối ưu, trong đó tính tối ưu dựa trên việc có tập hợp stake đồng đều nhất.
Tất cả các trình xác thực trong Polkadot đều có cùng trọng lượng trong các giao thức đồng thuận. Nghĩa là, để đạt được nhiều hơn 2/3 sự hỗ trợ cho một chuỗi, hơn 2/3 số trình xác thực phải cam kết với nó, thay vì 2/3 stake. Tương tự như vậy, phần thưởng của trình xác thực gắn liền với hoạt động của họ, chủ yếu là sản xuất khối và bằng chứng hoàn thiện, chứ không phải số stake. Điều này tạo ra động lực để đề cử những trình xác thực có stake thấp hơn, vì họ sẽ kiếm được lợi nhuận cao hơn từ các token đã được stake của họ.
Cosmos Hub sử dụng Bonded Proof of Stake (một biến thể của Delegated PoS) để chọn trình xác thực. Các staker phải ký quỹ và gửi một giao dịch ủy quyền cho mỗi trình xác thực mà họ muốn ủy quyền cùng với số lượng token để ủy quyền. Cosmos Hub có kế hoạch hỗ trợ tối đa 300 trình xác thực.
Bỏ phiếu đồng thuận và phần thưởng đều dựa trên stake trong Cosmos. Trong trường hợp biểu quyết đồng thuận, hơn 2/3 số stake phải cam kết, thay vì 2/3 số trình xác thực. Tương tự như vậy, trình xác thực có 10% tổng số stake sẽ kiếm được 10% phần thưởng.
Cuối cùng, với Cosmos, nếu một staker không bỏ phiếu trong cuộc trưng cầu ý kiến về quản trị, các trình xác thực sẽ đảm nhận quyền biểu quyết của họ. Bởi vì điều này, nhiều trình xác thực trong Cosmos không có hoa hồng để kiểm soát nhiều hơn đối với giao thức. Trong Polkadot, quản trị và staking hoàn toàn tách biệt, đề cử trình xác thực không chỉ định bất kỳ quyền biểu quyết quản trị nào cho trình xác thực.
Chuyển tiếp tin nhắn
Polkadot sử dụng Truyền tin nhắn chuỗi chéo (Cross-Chain Message Passing – XCMP) cho các parachain để gửi tin nhắn tùy ý cho nhau. Parachain mở các kết nối với nhau và có thể gửi tin nhắn qua các kênh đã thiết lập của họ. Trình đối chiếu là các node đầy đủ của parachain và các node đầy đủ của Relay Chain, vì vậy các node của trình đối chiếu là thành phần quan trọng của việc truyền tin nhắn. Tin nhắn không đi qua Relay Chain, cụ thể là các bằng chứng về bài đăng và hoạt động kênh (mở, đóng, v.v.) đi vào Relay Chain. Điều này nâng cao khả năng mở rộng bằng cách giữ dữ liệu trên hệ thống.
Trong trường hợp tổ chức lại chuỗi, các tin nhắn có thể quay trở lại điểm tổ chức lại dựa trên các bằng chứng về bài đăng trong Relay Chain. Trạng thái được chia sẻ giữa các parachain có nghĩa là các tin nhắn không có giới hạn tin cậy, tất cả đều hoạt động trong cùng một phạm vi.
Polkadot có một giao thức bổ sung được gọi là SPREE, cung cấp logic được chia sẻ cho các thông điệp xuyên chuỗi. Các tin nhắn được gửi bằng SPREE mang theo những đảm bảo bổ sung về xuất xứ và cách diễn giải của chuỗi nhận.
Cosmos sử dụng giao thức chuỗi chéo được gọi là Truyền thông liên blockchain (Inter-Blockchain Communication – IBC). Quá trình triển khai Cosmos hiện tại sử dụng Hub để chuyển token giữa các khu vực. Giờ đây, Cosmos có một đặc điểm kỹ thuật mới để truyền dữ liệu tùy ý. Tuy nhiên, vì các chuỗi không chia sẻ trạng thái nên chuỗi nhận phải tin tưởng vào tính bảo mật của nguồn gốc tin nhắn.
Quản trị
Polkadot có một hệ thống quản trị đa bộ phận với một số cách để thông qua các đề xuất. Tất cả các đề xuất cuối cùng đều thông qua một cuộc trưng cầu ý kiến công khai, nơi phần lớn các token luôn có thể kiểm soát kết quả. Đối với cuộc trưng cầu có tỷ lệ người bỏ phiếu thấp, Polkadot sử dụng xu hướng số đại biểu thích ứng để đặt ngưỡng vượt qua. Chương trình giới thiệu có thể chứa nhiều đề xuất khác nhau, bao gồm phân bổ vốn từ Kho bạc on-chain. Các quyết định được ban hành on-chain và có tính ràng buộc, tự chủ.
Polkadot có một số bộ phận on-chain, không cần cho phép. Bộ phận chính là Hội đồng, bao gồm một tập hợp các tài khoản được bầu chọn theo kiểu Phragmén. Hội đồng đại diện cho lợi ích thiểu số và do đó các đề xuất được Hội đồng nhất trí thông qua sẽ có ngưỡng thông qua thấp hơn trong cuộc trưng cầu ý kiến công khai. Ngoài ra còn có một Ủy ban kỹ thuật để đưa ra các khuyến nghị kỹ thuật (ví dụ: nâng cấp thời gian chạy khẩn cấp để sửa lỗi).
Cosmos sử dụng tín hiệu bỏ phiếu bằng coin để thông qua cuộc trưng cầu ý kiến. Việc ban hành thực tế các quyết định quản trị được thực hiện thông qua một giao thức fork, giống như các blockchain khác. Tất cả chủ sở hữu token đều có thể bỏ phiếu, tuy nhiên, nếu người được ủy quyền bỏ phiếu trắng thì trình xác thực họ ủy quyền sẽ đảm nhận quyền biểu quyết của họ. Trình xác thực ở Polkadot không nhận được bất kỳ quyền biểu quyết nào dựa trên những người được đề cử của họ.
Bản nâng cấp
Sử dụng siêu giao thức Wasm, Polkadot có thể nâng cấp chuỗi và đề xuất thành công mà không cần hard fork. Bất kỳ thứ gì nằm trong STF, hàng đợi giao dịch hoặc nhân viên off-chain đều có thể được nâng cấp mà không cần fork chuỗi.
Vì Cosmos không dựa trên siêu giao thức nên nó phải thực hiện các nâng cấp và đề xuất thông qua cơ chế fork thông thường.
Khung phát triển
Cả Cosmos và Polkadot đều được thiết kế để mỗi chuỗi có STF riêng và cả hai đều cung cấp hỗ trợ cho các hợp đồng thông minh trong cả Wasm và Ethereum Virtual Machine (EVM). Polkadot cung cấp trình biên dịch Wasm trước thời hạn cũng như trình thông dịch (Wasmi) để thực thi, trong khi Cosmos chỉ thực thi các hợp đồng thông minh trong trình thông dịch.
Chuỗi Cosmos có thể được phát triển bằng cách sử dụng Cosmos SDK, được viết bằng Go. Cosmos SDK chứa khoảng 10 mô-đun (ví dụ: staking, quản trị, …) có thể được đưa vào STF của chuỗi. SDK được xây dựng dựa trên Tendermint.
Khung phát triển chính cho parachain là Substrate, được viết bằng Rust. Substrate đi kèm với FRAME, một bộ gồm khoảng 40 mô-đun (được gọi là “pallet”) để sử dụng trong STF của chuỗi. Ngoài việc sử dụng các pallet một cách đơn giản, Substrate bổ sung thêm một lớp trừu tượng cho phép các nhà phát triển soạn các pallet của FRAME bằng cách thêm các mô-đun tùy chỉnh và định cấu hình các thông số, giá trị lưu trữ ban đầu cho chuỗi.
Lưu ý: Polkadot có thể hỗ trợ STF được viết bằng bất kỳ ngôn ngữ nào, miễn là nó biên dịch theo siêu giao thức Wasm. Tương tự như vậy, nó vẫn có thể sử dụng máy khách Substrate (cơ sở dữ liệu, RPC, mạng, …), chỉ cần triển khai các nguyên hàm tại giao diện.
Kết luận
Polkadot được thiết kế trên nguyên tắc khả năng mở rộng và khả năng tương tác yêu cầu logic xác thực được chia sẻ để tạo ra môi trường không cần niềm tin. Khi ngày càng nhiều blockchain được phát triển, khả năng bảo mật của chúng phải cùng nhau phát triển, không cạnh tranh. Do đó, Polkadot cung cấp logic xác thực được chia sẻ và các quy trình bảo mật trên các chuỗi để họ có thể tương tác khi biết rằng các trình đối thoại của họ thực thi trong cùng một phạm vi bảo mật.
Mạng Cosmos sử dụng mô hình trung tâm cầu nối để kết nối các chuỗi với các đảm bảo bảo mật độc lập, có nghĩa là giao tiếp giữa các chuỗi vẫn bị ràng buộc bởi niềm tin mà chuỗi nhận có trong chuỗi gửi.
- YFI bứt phá và có thể đạt mức cao nhất mọi thời đại mới
- Sự khác biệt giữa Polkadot và Kusama là gì?
- Parachain là gì? Tìm hiểu về parachain trên hệ sinh thái Polkadot
Minh Anh
Theo Polkadot Network