Skip to main content

Cardano có mạng P2P kết nối động

Ngày 20 tháng 03 năm 2023

Pic

Nhiều người nghĩ rằng việc Phi tập trung các blockchain chỉ cần dựa trên việc sản xuất khối. Bên dưới lớp Proof-of-Stake (hoặc một sự đồng thuận khác) là mạng ngang hàng (hoặc mạng lan truyền - Gossip network) được sử dụng để kết nối các node. Đây là cơ sở hạ tầng vật lý khi các node được kết nối bằng cáp mạng. Trên các lớp này, có lớp quản trị được sử dụng để quản lý dự án. Không thể đạt được sự phi tập trung nếu không có sự tồn tại của một mạng phân tán. Bảo mật phụ thuộc vào cả hai lớp này. Điều quan trọng là phải xem xét tính Bảo mật và Phi tập trung một cách toàn diện và bao gồm cả ba lớp. Một cuộc tấn công vào blockchain có thể nhắm mục tiêu vào bất kỳ lớp nào. Nếu lớp mạng bị tấn công thành công, lớp đồng thuận cũng có thể bị xâm phạm. Với node Cardano mới phiên bản 1.35.6, những người tham gia mạng có thể bắt đầu sử dụng cấu hình P2P được cập nhật động tự động mà không cần bảo trì thủ công. Lớp mạng Cardano đang trở nên an toàn và hiệu quả hơn.

TÓM TẮT

  • Với phiên bản cũ hơn của node Cardano, SPO phải duy trì thủ công một số lượng lớn kết nối không cần thiết với các node khác.
  • P2P động cho phép một quy trình tự động thông qua việc tự khám phá và tối ưu hóa để tìm ra các node khác phù hợp nhất.
  • Mạng có khả năng chống lại các cuộc tấn công DoS cao hơn.
  • Node Cardano sẽ tự động cấu hình lại kết nối với các node ngang hàng để làm cho tốc độ phân phối dữ liệu trong mạng P2P gần tối ưu.

Mạng ngang hàng (P2P)

Mạng ngang hàng, còn được gọi là mạng lan truyền, được sử dụng để phổ biến thông tin hiệu quả trên toàn mạng. Trong mạng blockchain, các node cần được thông báo về các giao dịch, khối mới và các thông tin liên quan khác để duy trì tính toàn vẹn của mạng. Mỗi node phải thiết lập nhiều kết nối vào và ra với các node đã được chọn. Điều này đảm bảo việc tiếp nhận thông tin và phân phối block của nó.

Khi một node nhận được thông tin mới, nó sẽ chia sẻ thông tin đó với một tập hợp con các node được chọn ngẫu nhiên trong mạng. Đến lượt mình, các node đó chia sẻ thông tin với tập hợp con các node được chọn ngẫu nhiên của riêng chúng và quá trình tiếp tục cho đến khi tất cả các node trong mạng nhận biết được thông tin mới. Nhờ đó, thông tin từ một node duy nhất (ví dụ: khi khối mới được tạo) sẽ đến được tất cả các node trong toàn bộ mạng.

Phương pháp chia sẻ thông tin này có khả năng phục hồi cao đối với lỗi node hoặc phân vùng mạng, vì các node sẽ tiếp tục chia sẻ thông tin với các node khác mà chúng có thể giao tiếp, ngay cả khi một số node không thể truy cập được. Tuy nhiên, có khả năng một node có thể có kết nối với một vài node ngang hàng và tất cả có thể ngoại tuyến (offline) do một số lỗi kỳ thuật hoặc có thể do bị tấn công. Do đó, điều quan trọng là phải liên tục theo dõi trạng thái sẵn sàng của các node khác để có thể chuyển sang khi cần.

Khi một node mới được bật lần đầu tiên, nó sẽ kết nối với ai? Hầu hết các blockchain bao gồm Bitcoin và Ethereum đều yêu cầu cái gọi là khởi động (bootstrap) node để khởi tạo một node mới ra nhập vào mạng lưới và giúp nó khởi tạo danh sách các node ngang hàng. Bootstrap node thường là điểm ra nhập mạng P2P, từ điểm đó, mọi node mới sau đó có thể tìm thấy các node khác mới một cách cơ học. Trong hầu hết các trường hợp, điều này xảy ra ngẫu nhiên hoặc người dùng có thể tự thiết lập kết nối với các node khác đáng tin cậy (có thể sử dụng các công cụ khác nhau cho việc đó). Khi một node có một danh sách các node ngang hàng, nó có thể bắt đầu trao đổi thông tin (nhưng trước hết, dữ liệu của blockchain đầy đủ cần phải được đồng bộ hóa).

Một node mới được kết nối không phải ngẫu nhiên có thể liên hệ với các node trong mạng và tìm kiếm ai đó cung cấp thông tin cần thiết để kết nối. Mối nguy hiểm với một node bootstrap là nếu nó không được xác thực, nó có thể là một node độc hại và thực hiện một cuộc tấn trung gian hoặc ẩn danh.

Điều quan trọng cần biết là ở cấp độ mạng, thường có một số node khởi động đáng tin cậy (thường do nhóm điều hành) mà các node mới kết nối với. Lưu ý rằng tính năng kết nối P2P động trong phiên bản mới của node Cardano không giải quyết được vấn đề khởi động.

Kể từ thời Shelley, các node tạo khối gửi và nhận thông tin liên lạc thông qua các relay đáng tin cậy. SPO có thể sử dụng một công cụ do cộng đồng quản lý và phát triển thủ công có tên là trình cập nhật cấu trúc liên kết để thiết lập danh sách tĩnh các node khác trong tệp cấu hình.

Hãy để chúng tôi nói thêm rằng trong mạng Cardano, các node tạo khối được ẩn sau các node chuyển tiếp để bảo mật tốt hơn.

Lớp đồng thuận phụ thuộc vào mạng P2P, vì nó cần thông tin để có thể đạt được sự đồng thuận mới (thêm một khối mới). Slot leader phải có khả năng phân phối khối mới và đóng block một cách kịp thời. Nếu anh ta không làm như vậy, khối có thể trở thành mồ côi (orphaned) khi một node khác đóng block một khối khác lan truyền nhanh hơn. Điều kiện này (các nhánh blockchain) là không mong muốn. Lý tưởng nhất là phải đảm bảo rằng tất cả các node trong mạng đều có sẵn tất cả thông tin một cách kịp thời. Điều này có nghĩa là kết nối với các node khác phải được cấu hình sao cho tối ưu và đáng tin cậy nhất có thể.

Kết nối P2P động

Trước khi cập nhật node Cardano, cái gọi là chế độ kết hợp đã được sử dụng. Mỗi node phải đặt các kết nối đến và đi cho các node khác đã chọn trong cấu hình. Công cụ cập nhật cấu trúc liên kết đã giúp SPO định cấu hình node và nhận thông tin về các thay đổi. SPO cần dành thời gian và công sức để chạy công cụ theo cách thủ công (công cụ này có thể được tự động hóa ở một mức độ nào đó).

Node Cardano phiên bản 1.35.6 tgiúp môt node ự động kết nối với các node khác. P2P động cho phép một quy trình tự động thông qua tự khám phá và tối ưu hóa để tìm ra các node khác phù hợp nhất cho một node nhất định tại một thời điểm nhất định. Nó loại bỏ nhu cầu duy trì cấu hình tĩnh theo cách thủ công theo yêu cầu của thiết lập kết hợp.

Bản cập nhật giúp mạng hoạt động hiệu quả hơn và linh hoạt hơn trước những thay đổi. Node tự động phản ứng với các thay đổi, chẳng hạn như lỗi ngang hàng hoặc suy giảm tốc độ phân phối dữ liệu và thay đổi cấu hình tĩnh theo cách phù hợp nhất. Nó hợp lý hóa luồng thông tin giữa hàng ngàn node phân tán.

Trong phiên bản cũ hơn của node Cardano, SPO phải định tự cấu hình thủ công các kết nối tới nhiều node ngang hàng, chẳng hạn như 50. Đây là một con số lớn không cần thiết nhưng hợp lý vì các SPO muốn đảm bảo rằng nếu một số lượng lớn node ngoại tuyến thì ít nhất một một vài trong số họ sẽ vẫn có sẵn. 20 là một số lượng đủ lớn các node khác, với điều kiện là node đó có thể tự động phản ứng với những thay đổi trong mạng.

Node chia thành 3 nhóm node khác. Nhóm các node lạnh (cold) được nhận diện, nhưng hiện không có kết nối nào được thiết lập với chúng. Nhóm các node ấm (warm) ngang hàng là các node mà kết nối được thiết lập, nhưng chỉ dành cho các phép đo mạng (giám sát hiệu suất). Nhóm các node khác nóng (hot) được sử dụng tích cực để phát tán dữ liệu phục vụ cho sự đồng thuận.

Trong thiết lập P2P động, SPO có thể nhắm mục tiêu định cấu hình 20 kết nối tới các node ngang hàng (ngang hàng nóng), có thể được chọn từ hàng nghìn relay SPO (ngang hàng lạnh), chứ không chỉ 50. Và nếu bất kỳ kết nối nào ngoại tuyến, node sẽ tự động chọn kết nối mới khác, để đạt được mục tiêu đề ra. Vì vậy, cấu hình không còn bị giới hạn trong một nhóm tĩnh gồm 50 node khác.

Lợi ích của thiết lập P2P động là nó tối ưu hóa lựa chọn ngang hàng để giảm thiểu việc truyền khối qua toàn bộ mạng. Điều này xảy ra liên tục dựa trên những thay đổi trong mạng.

Nghiên cứu do nhóm IOG thực hiện đã chỉ ra rằng bằng cách tối ưu hóa cấu hình của các node ở cấp cục bộ, có thể đạt được thiết lập gần như lý tưởng trong bối cảnh của toàn bộ mạng. Nó đo tần suất mà các node khác đầu tiên cung cấp tiêu đề khối mà sau đó sẽ kết thúc trong chuỗi. Các ứng dụng ngang hàng ít hữu ích nhất (chậm hơn) theo chỉ số này sẽ bị "loại bỏ" định kỳ và được thay thế bằng các ứng dụng ngang hàng được chọn ngẫu nhiên khác. Các mô phỏng đã chỉ ra rằng phương pháp đơn giản này dẫn đến thiết lập mạng tối ưu dẫn đến hiệu suất cao liên quan đến phân phối dữ liệu.

Tối ưu hóa động tự động giúp mạng linh hoạt hơn trước mọi sự chậm trễ hoặc thời gian ngừng hoạt động của giao tiếp. Hơn nữa, nó tăng cường bảo mật bằng cách ngăn chặn các cuộc tấn công từ chối dịch vụ (DoS). Nếu một node đang bị tấn công, các node khác sẽ tự động nhận thấy sự cố ngừng hoạt động và thay đổi cài đặt của chúng sang các node khác.

KẾT LUẬN

Cấu hình động tự động của các kết nối với các node khác sẽ giúp công việc của các SPO dễ dàng hơn và quan trọng hơn là tăng tốc độ phân phối thông tin. Thiết lập thủ công có thể hiệu quả tương đương hoặc hiệu quả hơn nhưng cần có kiến ​​thức. Một quy trình tự động có lợi thế là nó có thể đáp ứng linh hoạt với những thay đổi trong một mạng phát triển năng động. Nếu một node ngang hàng ngoại tuyến, cấu hình sẽ tự động thay đổi và kết nối với node tốt nhất có thể được tìm thấy. Nếu các nhà khai thác node đầy đủ dựa vào danh sách các node khác được chọn ngẫu nhiên, điều này có thể không tối ưu. Node Cardano có thể đo tốc độ kết nối với các node khác và tự động thay đổi cài đặt để giữ cho hiệu suất mạng tổng thể gần tối ưu. Hãy nói thêm rằng các SPO có thể duy trì danh sách node khác được thiết lập thủ công và không cần sử dụng tính năng mới này.

Nguồn bài viết tại đây


Picture


Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới