Tang-cuong-phan-quyen-mang-voi-P2P
Tang-cuong-phan-quyen-mang-voi-P2P

Sự phân quyền của Cardano đặt trách nhiệm vận hành blockchain vào tay các stake pool. Một yếu tố cần thiết trong việc này là các kết nối đáng tin cậy và hiệu quả giữa tất cả các node được phân phối và đảm bảo rằng mạng có khả năng phục hồi khi gặp sự cố.

Với phiên bản Byron đơn giản hơn của blockchain, các node liên kết (OBFT) được kiểm soát bởi Cardano Foundation, Emurgo và IOHK chịu trách nhiệm hoàn toàn về việc quản lý sản xuất khối và kết nối mạng. Điều này duy trì mạng lưới, đồng thời xây dựng một hệ thống gồm hàng nghìn node phân tán, được vận hành bởi các stake pool. Để đạt được sự phân quyền, Cardano hiện đã chấm dứt sự phổ biến của các node liên kết đã hỗ trợ hệ thống kể từ khi được tạo ra vào năm 2017.

Vào ngày 6 tháng 12 năm 2020, chúng tôi đặt tham số k thành 500 để mở rộng số lượng pool ‘khả thi’ và thúc đẩy phân cấp hơn nữa. Chúng tôi cũng đã giảm dần hệ số d để đặt hoàn toàn sức mạnh sản xuất khối vào tay cộng đồng. 100% các khối hiện đang được sản xuất bởi cộng đồng nhà điều hành stake pool (SPO), có nghĩa là việc sản xuất khối trong Cardano hoàn toàn phi tập trung. Những thay đổi về tham số này hỗ trợ tính bền vững của chuỗi dài hạn và khuyến khích việc chia sẻ stake và tiền thưởng tiềm năng đồng đều hơn giữa các stake pool.

Chỉ trong hơn sáu tháng, chúng tôi đã phát triển từ một hệ thống dựa vào một số ít các node được liên kết, thành một hệ thống bằng chứng cổ phần do cộng đồng điều hành, với hàng nghìn khối được tạo ra trong mỗi giai đoạn bởi hơn 2.000 stake pool.

Mạng lưới

Lớp (layer) mạng của Cardano là một cơ sở hạ tầng vật lý kết hợp các node và sự tương tác của chúng thành một hệ thống thống nhất. Mạng phân phối thông tin về các giao dịch và tạo khối giữa tất cả các node đang hoạt động. Bằng cách này, hệ thống xác nhận thêm các khối vào chuỗi và xác minh các giao dịch. Do đó, một mạng lưới phân tán gồm các node phải hạn chế sự chậm trễ ở mức tối thiểu và đủ khả năng phục hồi để đối phó với sự cố, hạn chế về dung lượng hoặc hacker.

Theo hệ thống liên kết cũ, các node được kết nối bằng cấu hình tĩnh được xác định trong tệp cấu trúc liên kết. Kể từ khi Shelley ra đời, hệ thống đã hoạt động ở chế độ kết hợp, nơi các node kết nối với các relay liên hợp và với các relay khác của SPO. Kết nối này được xây dựng một phần theo cách thủ công, tuy nhiên, các SPO có thể trao đổi thông tin khối và giao dịch mà không cần dựa vào các node liên kết.

Trong bài viết ‘Con đường dẫn đến phân quyền của Cardano’, Marcin Szamotulski đã thảo luận về thiết kế của mạng và giải thích cách tiếp cận của Cardano đối với phân cấp mạng với sự ra đời của Shelley. Giờ đây, chúng tôi đã đạt được sự phân quyền hoàn toàn về mặt sản xuất khối, điều quan trọng là kết nối mạng cũng được phân cấp. Cardano sẽ đạt được điều này thông qua sự chuyển đổi sang kết nối peer-to-peer (P2P).

Mạng P2P

Tại thời điểm này, chúng ta nên nói về ‘stack’(ngăn xếp) mạng, một bộ công cụ phần mềm được nhóm kỹ sư của chúng tôi cải tiến gần đây để đối phó với một mạng lớn hơn, năng động hơn và phức tạp hơn.

Giao tiếp P2P sẽ tăng cường luồng thông tin giữa các node, do đó giảm (và cuối cùng là loại bỏ) sự phụ thuộc của mạng vào các node được liên kết và cho phép phân cấp Cardano. Để đạt được khả năng phục hồi mong muốn, team network của IOHK đã bận rộn cải thiện hệ thống mạng với các khả năng P2P nâng cao. Những cải tiến này không yêu cầu thay đổi giao thức, mà cho phép giao tiếp và lựa chọn peer tự động.

Mạng P2P được bật do sử dụng các thành phần sau:

Hình 1. Cấu trúc P2P

Chúng ta hãy xem xét kỹ hơn quá trình thiết lập các kết nối node và xem những phát triển mới nhất hợp lý hóa việc trao đổi dữ liệu giữa các node như thế nào.

Giao thức mini

Một tập hợp các giao thức nhỏ cho phép giao tiếp giữa các node. Mỗi giao thức thực hiện một yêu cầu trao đổi thông tin cơ bản, chẳng hạn như thông báo cho các peer về khối mới nhất, khối chia sẻ hoặc xử lý các giao dịch. Các giao thức đồng bộ hóa chuỗi , block-fetchtx-submission đã được sử dụng để phân phối chuỗi khối và giao dịch cho giao tiếp giữa node-to-node trong mạng:

  • Block-fetch lấy thông tin từ cơ sở dữ liệu chuỗi.
  • Chain-sync đồng bộ hóa dữ liệu đã tìm nạp qua mạng.
  • Tx-submission2 sử dụng các giao dịch từ các mempools peer và thêm chúng vào mempool cục bộ, cho phép các peer gửi các giao dịch của họ đến node. Đây là một sửa đổi của giao thức tx-submission hiện tại.

Các giao thức nhỏ này hỗ trợ giao thức đồng thuận Ouroboros. Để đảm bảo dịch vụ mạng tối ưu, team đã triển khai các giao thức bổ sung:

  • Duy trì hoạt động: điều này đảm bảo kết nối liên tục giữa các node và giảm thiểu lỗi hiệu suất.
  • Tip-sample: cung cấp thông tin về những đối tác cung cấp kết nối tốt hơn về mặt hiệu suất.

Bạn có thể tìm hiểu thêm về kiến ​​trúc mạng và các ví dụ về giao thức mini trên trang web tài liệu Cardano.

Quản lý kết nối

Dịch vụ mạng hỗ trợ Linux, Windows và macOS, nhưng số lượng kết nối được hỗ trợ bởi mỗi hệ điều hành khác nhau.

Để tránh quá tải hệ thống, bộ Multiplayer (mạch ghép kênh) kết hợp nhiều kênh thành một kênh kết nối Giao thức điều khiển truyền vận (TCP) duy nhất. Điều này mang lại hai lợi thế: Một, giao tiếp hai chiều giữa các peer (vì vậy bất kỳ peer nào cũng có thể bắt đầu giao tiếp mà không có hạn chế vì cả hai bên đều có quyền đọc và ghi trong cùng một kênh) và giao tiếp giữa các node với nhau được nâng cao mà không ảnh hưởng đến hiệu suất.

Team mạng đã triển khai một ‘trình quản lý kết nối’ nhận biết hai chiều tích hợp với trình quản lý P2P, hiện đang trải qua thử nghiệm cuối cùng trước khi triển khai. Ngoài ra, API của bộ ghép kênh đã được nâng cấp để giám sát các kết nối và giao thức mới. Cải tiến này giới thiệu quản lý kết nối hiệu quả hơn và cải thiện việc theo dõi sự cố.

Chức năng bộ điều hành P2P

Mạng Cardano liên quan đến nhiều node peer. Một số hoạt động tích cực hơn những mạng khác, một số đã thiết lập kết nối và một số cần được thúc đẩy để đảm bảo hệ thống hoạt động tốt nhất. Như đã thảo luận trong ‘Con đường dẫn đến sự phân quyền của Cardano’, các peer được xếp sếp thành ba loại:

  • Peer (cool)
  • Peer (warm)
  • Peer (hot)

Để thiết lập kết nối hai chiều giữa chúng, điều quan trọng là chúng ta phải biết kết nối nào đang hoạt động.

Hình 2. Khám phá peer trên Cardano

P2P governor quản lý các kết nối và cung cấp thông tin về những peer nào đang hoạt động và hoạt động tốt. Tính năng này thúc đẩy các kết nối peer để nâng cao hiệu suất hệ thống và cũng cung cấp khả năng hiển thị tuyệt vời bằng cách xây dựng và duy trì bản đồ kết nối của toàn bộ mạng. Governor sẽ đơn giản hóa quá trình định nghĩa kết nối bằng cách xử lý chúng tự động để một số stake pool trung tâm không còn phải cấu hình chúng theo cách thủ công. Governor thúc đẩy hoặc hạ cấp các peer giữa các trạng thái lạnh, ấm và nóng, đồng thời cũng tương tác với người quản lý kết nối để mở các kết nối mới hoặc sử dụng lại các kết nối hiện có.

Lộ trình triển khai P2P

Nhóm mạng IOHK đang trong giai đoạn cuối cùng của quá trình kiểm tra chất lượng tích hợp P2P governor với node. Sau đó, nhóm nghiên cứu sẽ mở rộng ngăn xếp mạng với nhiều giao thức – gossip, nói riêng, mà sẽ cung cấp trao đổi dữ liệu thông suốt giữa các peer và giúp đỡ xây dựng một bản đồ giao tiếp phân cấp.

Những nâng cấp kỹ thuật này cho phép chúng tôi đơn giản hóa các giao diện node Cardano và cải thiện cấu hình của hệ thống. Khi quá trình thử nghiệm được hoàn tất, tất cả SPO sẽ có thể cập nhật và đơn giản hóa các tùy chọn cấu hình của họ để tăng cường kết nối.

Điều này liên quan đến các giai đoạn sau trước khi triển khai P2P đầy đủ:

Hình 3. Lộ trình triển khai P2P

Để có hướng dẫn về kế hoạch từ kiến ​​trúc sư trưởng Duncan Coutts, hãy xem video này từ buổi Cardano360 tháng 3.

Mặc dù quản trị đóng vai trò quan trọng trong việc thiết lập, duy trì và hỗ trợ mạng lưới, nhưng chỉ với sự phân quyền, chúng ta mới có thể đạt được sự bền vững thực sự của mạng lưới để đảm bảo cơ hội bình đẳng cho tất cả các stake pool. Do đó, mục tiêu của cải tiến ngăn xếp là cho phép tất cả các stake pool chạy cùng một cấu hình, thiết lập các khả năng bình đẳng trong một môi trường phi tập trung.

Chúng tôi sẽ tiếp tục cung cấp thêm các bản cập nhật phát triển trong blog này và bạn cũng có thể theo dõi cập nhật trạng thái Cardano để tìm hiểu về các cải tiến và phát triển gần đây.

 

Source: https://iohk.io/en/blog/posts/2021/04/06/boosting-network-decentralization-with-p2p/