Đường đến Neo3: Phân phối trạng thái tách rời thông qua giao thức P2P

TIN TỨC NEO
2020-02-29



Trong bài viết Đường đến Neo3 trước đây, chúng ta đã được lưu ý các các cân nhắc về hiệu suất và khả năng sửa lỗi là các yếu tố chính ảnh hưởng đến việc triển khai gốc trạng thái đang diễn ra. Tiếp theo, chúng ta hãy cùng xem xét cách tiếp cận hiện tại trong quá trình phát triển -  phân tán trạng thái qua các tin nhắn P2P.


Xem các bài trong chuỗi bài Đường đến Neo3 tại đây.


Giao thức mạng

Cả hai node đồng thuận và các node bình thường trên mạng Neo được kết nối với nhau theo cấu trúc ngang hàng (P2P). Mỗi node sẽ có nhiều kết nối đến các node khác trên mạng, đảm bảo rằng thông tin mới có thể nhanh chóng được truyền qua nó.


Giao tiếp giữa các node được thực hiện dưới dạng tin nhắn, mỗi tin nhắn mang một lệnh và tải trọng cần được xử lý. Những tin nhắn này có thể là một yêu cầu thông tin như chi tiết khối mới nhất hoặc chúng có thể mang thông tin được ưu tiên như dữ liệu đồng thuận.


Vì tất cả các node trên mạng liên tục lắng nghe các tin nhắn P2P đến, đây là nơi lý tưởng để một trạng thái đã được đồng ý được phân phối. Cách tiếp cận này lần đầu tiên được đề xuất bởi Igor Coelho:


“Tôi nghĩ rằng nó tốt hơn khi có trạng thái băm được đẩy qua các tin nhắn P2P, được ký bởi các node đồng thuận, để các node vẫn có thể theo dõi trạng thái “chính thức”, trong khi không khóa chúng mãi mãi trên blockchain.”


Trạng thái tách rời

Không giống như cách tiếp cận tiêu đề khối, phân phối trạng thái thông qua mạng P2P có nghĩa là trạng thái toàn cầu đã được đồng ý không bao giờ được cam kết đối với blockchain. Điều này tách rời trạng thái từ các khối, đáp ứng các mục tiêu đề xuất ban đầu bằng cách cho phép cải thiện hiệu suất tiềm năng.


Ngoài ra, do trạng thái không bao giờ được cam kết trên chuỗi, các bản sửa lỗi ảnh hưởng đến trạng thái vẫn có thể được triển khai mà không dẫn đến xung đột với dữ liệu khối. Nếu một tình huống như vậy xảy ra, băm mới ký có thể được phân phối. Nhà phát triển lõi Neo Jeff Solinsky giải thích:


“Nếu một phiên bản cập nhật của Neo cần khắc phục một số vấn đề sẽ thay đổi băm MPT, một tệp băm MPT ngoại tuyến có thể được phân phối sẽ chứa các băm MPT cập nhật được ký bởi các node CN. Máy khách có thể tải cái này khi đồng bộ lại chuỗi từ tệp chuỗi ngoại tuyến.”


Một nhược điểm tiềm năng của phương pháp này là tải thêm vào giao thức mạng có thể ảnh hưởng đến thông lượng giao dịch, vì việc thêm tin nhắn mới hoặc tăng tần suất tin nhắn sẽ làm giảm thời gian dành cho các tác vụ khác. Tuy nhiên, nếu băm gốc trạng thái được phân phối trong các tin nhắn hiện có, chẳng hạn như những thông báo liên quan đến quá trình đồng thuận, gánh nặng sẽ được giảm thiểu.


Đề xuất triển khai

Sau khi quyết định phân phối trạng thái thông qua tin nhắn P2P, một bài đăng được chia sẻ bởi kỹ sư phần mềm Neo, Zhang Tao đã phác thảo các phương pháp triển khai tiềm năng.


Ba hướng đã được nêu chi tiết:


  1. Thêm gốc trạng thái vào thông báo đồng thuận và chữ ký của PrepRequest vào tin nhắn Cam kết đồng thuận

  2. Sử dụng quy trình dBFT riêng để thống nhất gốc trạng thái

  3. Có các node đồng thuận ký và phát gốc trạng thái hiện tại sau khi tạo khối


Do phiếu bầu từ các nhà phát triển khác đang có sự phân chia giữa lựa chọn thứ nhất và thứ ba, Tao đã đề xuất kết hợp cả hai. Trong trường hợp này, các node đồng thuận gửi gốc trạng thái cùng với một khối mới như trong (1), tuy nhiên các gốc trạng thái chưa được xác nhận có thể được xác minh bằng chữ ký node đồng thuận như trong (3).


Tao cũng chia sẻ hai vấn đề cần được giải quyết. Trong trường hợp nâng cấp, cả thế hệ ban đầu của chuỗi gốc trạng thái mới và phát sóng tới các node khác sẽ yêu cầu một số lượng lớn tin nhắn P2P, ảnh hưởng xấu đến hiệu suất.


Tuy nhiên, vì mỗi node đầy đủ vẫn sẽ tạo một gốc trạng thái cục bộ, nên chỉ cần kiểm tra gốc trạng thái chính thức mới nhất được ký bởi các node đồng thuận. Điều này loại bỏ sự cần thiết phải tạo ra một số lượng lớn các thông điệp P2P, vì mỗi node nhẹ hoặc node đầy đủ chỉ yêu cầu gốc trạng thái mới nhất cho mục đích xác minh.


TINTUCNEO – Tham gia các cộng đồng Tin tức NEO tại:

Website tin tức

Medium tin tức

Telegram tin tức

Telegram Thảo luận

Fanpage tin tức

Kênh Youtube




0 bình luận. Để lại câu hỏi & nhận trả lời nhanh qua email.




Bài cùng chủ đề
KardiaChain bắt tay với Neo EcoBoost để giảm rào cản tích hợp KardiaChain vào bất kỳ Blockchain nào tương tự Neo
Neo rất vui mừng thông báo sự hợp tác của Neo EcoBoost với KardiaChain. Neo là một trong những blockchain công khai đầu tiên mà KardiaChain đã chọn để cung cấp khả năng tương tác thông qua công nghệ Node Kép độc ​​đáo của họ.

2020-07-16

Tổng quan về AMA của Novem trên Reddit Neo và diễn đàn Cộng đồng Nash
Vào ngày 3/7, Nash đã niêm yết token NNN backed bởi vàng của Novem để giao dịch với USDC. Để quảng bá việc niêm yết, Nash đã tổ chức AMA trên diễn đàn cộng đồng của họ với đại diện từ nhóm Novem. Ngoài ra, vào ngày 6/7, Novem đã tham gia AMA trên sub-Reddit Neo. Novem đã trả lời các câu hỏi liên quan đến lợi ích của việc nắm giữ tài sản được hỗ trợ bằng vàng, việc tuân thủ quy định, xác minh quyền sở hữu vàng, công ty của họ tại Liechtenstein, đổi token NNN lấy vàng vật chất, v.v.

2020-07-08

Bản tin tuần TINTUCNEO: 29/06 - 05/07
Nhà đồng sáng lập Neo, Da Hongfei, đã xuất bản một bản op-ed trên Coin Telegraph, trong đó nêu rõ cách ông tin rằng USDT stablecoin đã tác động đến địa chính trị và sự phát triển của các loại tiền mã hóa có chủ quyền trong tương lai.

2020-07-07

Paul diMarzio của IWA: “Sau 36 năm trong ngành, tôi lại cảm thấy mình như một đứa trẻ."
Sau gần 33 năm làm việc tại IBM, Paul diMarzio được tiếp thêm năng lượng với vai trò là giám đốc marketing cho Liên minh InterWork (IWA) và công việc mà anh ấy làm để phát triển hệ sinh thái. “Sau 36 năm trong ngành, tôi lại cảm thấy như một đứa trẻ. Điều này rất thú vị, đó là một nơi tuyệt vời,” anh ấy nói. NNT đã nói chuyện với diMarzio cho tập 34 của podcast Neo News Today.

2020-07-07

Tham gia Cộng đồng NEO Việt Nam - TINTUCNEO
NEO-based projects? Contact us at [email protected] for collaborations in the Vietnam market