Thập kỷ vừa qua đã chứng kiến sự mở rộng bùng nổ về lĩnh vực triển khai các mạng phi tập trung và công nghệ blockchain. Một trong những vấn đề quan trọng nhất là việc tích hợp các blockchains độc lập với các kiến trúc khác nhau được tạo ra cho các mục đích khác nhau và hoạt động theo các quy tắc khác nhau. Các sàn giao dịch tiền mã hoá đã tìm ra một số giải pháp cho vấn đề này, tuy nhiên, không được coi là phổ biến.
Trong bối cảnh này, ngành công nghiệp ghim hy vọng vào việc tạo ra một công nghệ blockchain “trung tâm” có thể hỗ trợ tích hợp các blockchain khác. Những gã khổng lồ công nghệ đáng chú ý nhất của lĩnh vực này là Polkadot và Cosmos. Các dự án này giống nhau về mục tiêu và kiến trúc nhưng khác nhau cơ bản về nhiều khía cạnh.
Mô hình
Polkadot sử dụng mô hình phân đoạn trong đó mỗi phân đoạn trong giao thức có một chức năng chuyển đổi trạng thái (STF). Polkadot sử dụng WebAssembly (Wasm) như một “siêu giao thức”. STF của phân đoạn có thể không hiện hữu miễn là validator trên Polkadot có thể thực thi nó trong môi trường Wasm.
Các phân đoạn của Polkadot được gọi là “parachains“. Mỗi khi parachain chuyển đổi trạng thái, nó sẽ gửi một block cùng với bằng chứng trạng thái mà validator Polkadot có thể tự xác minh được. Các block này được hoàn thiện cho các parachains khi chúng được hoàn thiện bởi relay chain của Polkadot, chuỗi chính của hệ thống. Như vậy, tất cả các parachains đều có thể chia sẻ trạng thái với toàn bộ hệ thống, nghĩa là một chuỗi tổ chức lại của một parachain duy nhất sẽ yêu cầu tổ chức lại tất cả các parachains và relay chain.
Cosmos sử dụng mô hình trung tâm cầu nối các chuỗi Tendermint. Hệ thống này có thể có nhiều hub “Cosmos hub”, nhưng mỗi trung tâm sẽ đảm nhiệm việc kết nối các chuỗi bên ngoài, được gọi là “zone”. Mỗi khu vực chịu trách nhiệm bảo mật chuỗi bằng một validator phân quyền và được phân cấp đầy đủ. Các khu vực liên lạc và gửi token cho nhau qua trung tâm bằng cách sử dụng một giao thức được gọi là Truyền thông liên chuỗi khối (IBC). Với các vùng không chia sẻ trạng thái, thì chỉ có vùng đó cần tổ chức lại mà không ảnh hưởng các vùng khác, nghĩa là mỗi lần giao dịch thì giao dịch đó sẽ được ràng buộc bởi sự tin cậy của người nhận đối với sự an toàn 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ả validator trong Polkadot đều nằm trên Relay Chain. Parachains có các collactor, là nơi xây dựng và đề xuất các block parachain cho các validator. Collactor không có bất kỳ trách nhiệm bảo mật nào và do đó không yêu cầu một hệ thống quá mạnh. Collators có thể gửi một block parachain duy nhất cho mỗi block Relay Chain sau mỗi 6 giây. Sau khi parachain gửi một block, validator thực hiện một loạt các kiểm tra về tính khả dụng cũng như tính hợp lệ trước khi chuyển nó vào chuỗi cuối cùng. Polkadot cũng có các actor được gọi là “Fishermen” (hiểu nôm na là nơi kiểm tra xem có sự khác biệt nào trên block đó không) để gắn cờ với bất kỳ block nào có dấu hiệu khả nghi và yêu cầu bổ sung kiểm tra tính hợp lệ.
Slot trên parachain có giới hạn, và do đó, các ứng viên parachain tham gia vào một cuộc đấu giá để giữ chỗ cho mình trong tối đa hai năm. Đối với các chuỗi không có kinh phí cho việc đấu giá này trên parachain hoặc đơn giản là cần khả năng thực thi với thời gian sinh block trong sáu giây, Polkadot cũng có parathreads . Parathreads thực thi trên cơ sở dùng bao nhiêu chi trả bấy nhiêu, chỉ trả tiền để thực thi một block khi chúng cần.
Để tương tác với các chuỗi khi mà chuỗi đó đã hoàn thiện rồi (ví dụ: Bitcoin), Polkadot có các parachains 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” nơi kết nối các blockchain khác được gọi là “zone”. Cosmos có thể có nhiều trung tâm, nhưng sẽ chỉ xem xét một trung tâm duy nhất. Mỗi khu vực phải duy trì trạng thái riêng của mình và do đó họ sẽ có cộng đồng validator cho riêng mình. Khi một vùng muốn giao tiếp với vùng khác, nó sẽ gửi các tệp tin qua IBC. Hub sẽ duy trì một sổ cái gồm nhiều token mà ở đó sẽ lưu trữ các số dư của token (các thông báo không chuyển sẽ được giữ lại nhưng trạng thái của chúng không được lưu trữ trong Hub).
Các vùng theo dõi trạng thái của Hub bằng ứng dụng khách, nhưng Hub không theo dõi các trạng thái của vùng. Các khu vực phải sử dụng thuật toán xác định hoàn tất (hiện tại, tất cả đều sử dụng Tendermint) và triển khai trên giao diện IBC để có thể gửi thông báo đế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 “peg zone”, tương tự như bridge trên parachains.
Tính đồng thuận
Polkadot sử dụng giao thức đồng thuận kết hợp với hai giao thức con: BABE và GRANDPA, được gọi chung là “Fast Forward”. BABE sử dụng một chức năng ngẫu nhiên có thể xác minh được (VRF) để chỉ định các vị trí cho các validator và một mô hình luân phiên dự phòng để đảm bảo rằng mỗi vị trí đều có một nơi tạo ra. GRANDPA bỏ phiếu trên các chuỗi, thay vì các block riêng lẻ. Và kết hợp lại, BABE có thể tạo ra các block ứng viên để mở rộng chuỗi đã hoàn thiện và GRANDPA có thể hoàn thiện chúng theo từng phần (có thể lên đến hàng triệu block cùng một lúc).
Sự tách biệt của các nhiệm vụ này mang lại một số lợi ích. Đầu tiên, nó sẽ giảm bớt sự phức tạp trong việc vận chuyển của cảquá trình tạo và hoàn thiện block. 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 block với chi phí mạng thấp. GRANDPA có độ phức tạp còn hơn cả BABE, nhưng được giảm bớt bởi một hệ số từ độ trễ, hoặc số block mà nó hoàn thành trong một đợt sẽ được giảm đi.
Thứ hai, có khả năng mở rộng chuỗi với các block chưa hoàn thiện cho phép Fishermen và những validator 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ó bất kỳ sự 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à zone) sử dụng đồng thuận Tendermint, một giao thức vòng cung cấp tính chính xác ngay lập tức. Quá trình sản xuất và hoàn thiện khối nằm trên cùng một hệ thống của thuật toán, có nghĩa là nó sẽ tạo ra và hoàn thiện từng block một. Bởi vì nó là một thuật toán dựa trên PBFT (như GRANDPA), nó có độ phức tạp bậc hai, nhưng chỉ có thể hoàn thiện một block tại một thời điểm.
Cơ chế staking
Polkadot sử dụng NPoS để chọn validator bằng cách sử dụng thuật toán Phragmén. Kích thước của bộ validator được đặt bởi ban quản trị (1.000 validator được bổ nhiệm từ trước) và những bên stake không muốn chạy cơ sở hạ tầng validator có thể chỉ định tối đa 16 validator. Thuật toán của Phragmén chọn cách phân bổ số stake một cách tối ưu nhất, và việc tối ưu sẽ dựa trên việc tập hợp số stake đồng đều ra sao.
Tất cả các validator trong Polkadot đều có cùng kích thước trong các giao thức đồng thuận. Có nghĩa là, để đạt được hơn 2/3 sự hỗ trợ cho một chuỗi, hơn 2/3 số validator phải cam kết với nó, thay vì 2/3 số tiền stake. Tương tự như vậy, phần thưởng của validator gắn liền với hoạt động của họ, chủ yếu là các block được sản xuất và các kiểm tra cuối cùng, chứ không phải số tiền từ cổ phần của họ. Điều này tạo ra động lực để đề cử những validtor với số stake thấp hơn, vì họ sẽ kiếm được lợi nhuận cao hơn từ các token đã stake của họ.
Cosmos Hub sử dụng BPoS (một biến thể của PoS được ủy quyền) để chọn validator. Các nhà phân phối phải ký quỹ và gửi một giao dịch cho mỗi validator mà họ muốn ủy quyền với một lượng token dùng để ủy quyền cho các validator này. Cosmos Hub có kế hoạch hỗ trợ tối đa 300 validator.
Bỏ phiếu đồng thuận và phần thưởng đều dựa trên số stake trong Cosmos. Trong trường hợp biểu quyết đồng thuận, hơn 2/3 số stake phải được cam kết, thay vì 2/3 số validator. Tương tự như vậy, validator có 10% tổng số stake sẽ kiếm được 10% phần thưởng.
Cuối cùng thì tại Cosmos, nếu người stake không bỏ phiếu trong cuộc trưng cầu dân ý về quản trị, thì validator sẽ đảm nhận quyền biểu quyết của họ. Cũng vì vậy cho nên, nhiều validator trong Cosmos không có hoa hồng để có được nhiều quyền kiểm soát hơn đối với giao thức. Ở Polkadot, quản trị và stake hoàn toàn tách biệt; đề cử validator không cần phải chỉ định bất kỳ quyền biểu quyết quản trị nào.
Giải quyết các dữ liệu
Polkadot sử dụng XCMP cho các parachains để liên lạc cho nhau. Các Parachains mở các kết nối với nhau và có thể liên lạc qua các kênh đã thiết lập của họ. Nếu hai parachains có bất kỳ điểm chung nào, chúng có thể truyền dữ liệu qua cácnode. Nếu không, validator trên Relay Chain sẽ xử lý việc liên lạc. Nếu dữ liệu không đi qua Relay Chain, thì chỉ có các bằng chứng về hoạt động đăng và hoạt động trên kênh (mở, đóng, v.v.) mới đi vào Relay Chain. Điều này tăng cường khả năng mở rộng bằng cách giữ dữ liệu trên các bề mặt của hệ thống.
Trong trường hợp tổ chức lại chuỗi, các dữ liệu có thể được đưa trở lại điểm ngay trước khi việc tổ chức lại bắt đầu. Việc này sẽ dựa trên các bằng chứng được đưa lên Relay Chain. Trạng thái được chia sẻ giữa các parachains có nghĩa là các dữ liệu không có giới hạn tin cậy; tất cả đều hoạt động trong cùng một bối cảnh.
Polkadot có một giao thức bổ sung gọi là SPREE cung cấp logic được chia sẻ cho các dữ liệu chuỗi chéo. Các dữ liệu được gửi bằng SPREE mang theo những đảm bảo bổ sung về nguồn gốc và cách diễn giải của chuỗi nhận.
Cosmos sử dụng một giao thức chuỗi chéo được gọi là IBC. Cosmos hiện tại sử dụng Hub để gửi token giữa các zone. Tuy nhiên, 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, cho nên các chuỗi nhận sẽ phải tự tin tưởng vào tính bảo mật của nguồn gốc các dữ liệu này.
Quản trị
Polkadot có một hệ thống quản trị đa vùng để 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 dân ý, 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ệ cử tri thấp, Polkadot sử dụng xu hướng số đại biểu chấp nhận để đặt ngưỡng vượt qua. Việc 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 trực tuyến . Các quyết định được ban hành theo chuỗi, có tính ràng buộc và tự trị.
Polkadot có một số on-chain, những on-chain này không cần được cấp phép. Đó 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 dâ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 phiếu bầu bằng coin để thông qua cuộc trưng cầu. 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 một người được ủy quyền bỏ phiếu trắng thì người xác nhận mà họ ủy quyền sẽ đảm nhận quyền biểu quyết của họ. Validator ở Polkadot không được nhận bất kỳ quyền biểu quyết nào với 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 việc nâng cấp thành công mà không cần hard fork. Bất kỳ thứ gì nằm trong STF, hàng chờ giao dịch hoặc các việc ngoài chuỗi đều có thể được nâng cấp mà không cần fork chuỗi.
Vì Cosmos không dựa trên giao thức meta 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 đều có một 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ởi ngôn ngữ Go. Cosmos SDK chứa khoảng 10 mô-đun (ví dụ: stake, quản trị, v.v.) 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 parachains là Substrate , được viết bởi ngôn ngữ Rust. Subtrate đi kèm với FRAME, một bộ gồm khoảng 35 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ố cũng như giá trị lưu trữ ban đầu cho chuỗi.
Kết luận
Polkadot được thiết kế theo nguyên tắc là khả năng mở rộng và khả năng tương tác yêu cầu việc xác thực logic được chia sẻ để tạo ra một môi trường không cần sự tin cậy lẫn nhau. Khi ngày càng nhiều blockchain được phát triển, sự bảo mật của chúng phải mang tính hợp tác, không phải cạnh tranh. Do đó, Polkadot cung cấp các logic xác thự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 những người giao tiếp của họ thực thi trong cùng một ngữ cảnh 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 việc 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 do vẫn cần có sự tin tưởng giữa chuỗi nhận và chuỗi gửi.
Các hệ thống Polkadot và Cosmos được thiết kế để tích hợp các công nghệ blockchain độc lập trong một cơ sở hạ tầng duy nhất hỗ trợ giao tiếp giữa chúng. Cả hai kiến trúc đều đề xuất sử dụng các công nghệ blockchain đặc biệt làm các nút tương tác trung tâm. Điểm khác biệt chính là Relay Chain Polkadot – chuỗi Relay cung cấp bảo mật cho tất cả các chuỗi khác trong hệ thống. Polkadot có một hệ sinh thái phức tạp hơn và rất nhiều thách thức phải được giải quyết, tuy nhiên, các lựa chọn của nó rộng hơn và tiềm năng hơn.
Polka.Warriors Community
? Website | ? Tele ANN | ? Tele Chat | ? Twitter | ? Discord