图片

Internet Computer Blockchain dựa trên giao thức ngang hàng (P2P), phân phối các tin nhắn (tạo phẩm) giữa các nút trên mỗi mạng con. Giao thức này là một tập hợp các giao thức chạy Blockchain máy tính Internet, bao gồm Giao thức đồng thuận máy tính Internet, Giao thức DKG (tạo khóa phân tán) hoặc giao thức đồng bộ hóa trạng thái.

Mỗi giao thức như vậy tạo ra các thành phần lạ và yêu cầu lớp P2P phân phối các thành phần này đến các thành phần ngang hàng trong mạng con. Chúng tôi mô tả từng giao thức này dưới dạng máy khách P2P, đóng vai trò là các bản cập nhật phía trên lớp P2P. Được triển khai bởi các thành phần cấp cao.

图片
Hình 1: Kiến trúc tổng thể của máy tính Internet

Sau khi giới thiệu lớp P2P riêng để đồng bộ hóa trạng thái, lớp P2P mới đang được giới thiệu cho tất cả các máy khách P2P khác trong ngăn xếp giao thức máy tính Internet. Lớp P2P mới này cung cấp hiệu suất mạng được cải thiện, đảm bảo nút được đảm bảo cần thiết và dễ dàng phát hiện hơn. hành vi sai trái.

Lớp P2P mới được đề xuất sử dụng lớp truyền tải mới được ra mắt gần đây dựa trên QUIC. Do đó, với việc chuyển sang lớp mới này, lớp P2P của các máy tính Internet sẽ hoàn toàn ngừng sử dụng TCP. Lớp P2P thực hiện chuyển đổi.

Mỗi yêu cầu được gửi dưới dạng một luồng QUIC mới và được xử lý độc lập với các yêu cầu khác, điều này ngăn chặn các sự cố chặn đầu dòng tiềm ẩn mà ít nhất về mặt lý thuyết có thể gây ra các vấn đề về độ sống.

Lớp P2P mới giới thiệu việc sử dụng cấu trúc dữ liệu trừu tượng mới được gọi là bảng khe, giúp kiểm soát việc phân phối các tạo phẩm đến các đồng nghiệp dễ dàng hơn trong khi vẫn duy trì đủ phân phối đến từng đồng nghiệp dựa trên tốc độ kết nối mà không ảnh hưởng đến các đồng nghiệp khác. nó cũng giúp việc phát hiện hành vi sai trái của bạn bè dễ dàng hơn.

Khi lớp P2P mới được đề xuất được chấp nhận, mỗi máy khách sẽ sử dụng một phiên bản riêng của giao thức P2P, trong đó đồng bộ hóa trạng thái sẽ sử dụng một phiên bản được thiết kế riêng cho nó và các máy khách còn lại sẽ sử dụng một phiên bản riêng của lớp P2P mới. sẽ được thảo luận trong bài viết này được mô tả chi tiết.

Việc triển khai lớp P2P mới được đề xuất bắt đầu bằng việc áp dụng một loạt đề xuất NNS chuyển đổi phân phối tạo phẩm HTTPS-outcall sang sử dụng lớp P2P mới, sau đó tất cả các máy khách còn lại sẽ được di chuyển, bao gồm cả giao thức đồng thuận, cuối cùng sử dụng lớp P2P cũ. Lớp P2P đã lỗi thời.

Bối cảnh: Lớp P2P của máy tính Internet

Ở mức rất cao, giao thức P2P chịu trách nhiệm phân phối bất kỳ tạo phẩm nào có trong nhóm tạo phẩm đã được xác minh của mỗi khách hàng cho các đồng nghiệp trong cùng một mạng con, dựa vào đó khách hàng sẽ phát các tạo phẩm đó cho các đồng nghiệp của mình.

图片
Hình 2: Giao diện giữa lớp P2P và các máy khách của nó

Hình 2 cho thấy giao diện giữa P2P và các máy khách phía trên nó, giao diện này có thể tùy ý thay đổi nhóm tạo phẩm mỗi khi on_state_change() được gọi.

Mỗi lệnh gọi như vậy cuối cùng sẽ trả về một tập hợp các ChangeActions tương ứng với việc thêm và xóa các thành phần lạ khỏi nhóm các thành phần đã được xác thực của khách hàng đó và lớp P2P sẽ sử dụng thông tin này để truyền bá nội dung của nhóm đã được xác thực đến các đồng nghiệp.

Các giao thức P2P hiện có dành cho máy tính Internet dựa trên luồng tạo phẩm từ mỗi nút đến các nút ngang hàng của nó. Bất cứ khi nào một tạo phẩm được thêm vào nhóm đã được xác minh, một quảng cáo sẽ được phát tới tất cả các nút ngang hàng. Quảng cáo là một mô tả nhỏ về thông tin tạo tác đó. .

Gửi nó thay vì chính tạo phẩm như một biện pháp tiết kiệm băng thông để người nhận có thể quyết định có tải xuống tạo tác (có khả năng lớn) hay không, nút gửi sẽ duy trì luồng TCP đến từng thiết bị ngang hàng mà quảng cáo được gửi (và sau đó dựa trên yêu cầu). hiện vật).

Lớp P2P phải đảm bảo phân phối các tạo phẩm giữa các nút trung thực và các nút hoạt động, đồng thời có khả năng phục hồi các hành vi độc hại của các nút độc hại tiềm ẩn.

Tất cả các máy khách liên quan đến sự đồng thuận trong lớp P2P đều có hai thuộc tính quan trọng:

  • P1 - Số lượng tạo phẩm đang hoạt động có giới hạn: Nhóm các tạo phẩm được xác thực có kích thước hữu hạn tại bất kỳ thời điểm nào và giao thức đồng thuận sử dụng các điểm kiểm tra để lọc các tạo phẩm theo định kỳ, do đó, kích thước tối đa C của nhóm có thể được sử dụng làm khoảng thời gian điểm kiểm tra ( được đo bằng khối) ) và kích thước mạng con.

  • P2 - Hết hạn rõ ràng của các tạo phẩm: Nếu một tạo phẩm bị xóa khỏi nhóm (bị xóa), nó không cần phải được truyền bá cho các đồng nghiệp nữa, hoặc, theo quan điểm của người nhận, nếu không có đồng nghiệp nào sở hữu một hiện vật, nó được đảm bảo. người nhận không yêu cầu tạo tác này ngay cả khi nó không nhận được nó khi nó bị tất cả các đồng nghiệp khác xóa.

Hai đặc tính này được nhấn mạnh ở đây vì chúng hỗ trợ các quyết định thiết kế quan trọng, điều này sẽ được giải thích ngay sau đây.

Áp lực ngược mạng

Trong các ứng dụng máy khách-máy chủ truyền thống, khái niệm áp suất ngược được sử dụng rộng rãi: nếu người nhận chậm tiêu thụ tin nhắn, bộ đệm của người gửi sẽ đầy và khi đó lớp mạng của người gửi phải áp dụng ba Một trong các đường dẫn sau:

  • Truyền áp lực ngược đến lớp ứng dụng, khiến ứng dụng làm chậm quá trình sản xuất dữ liệu

  • Tin nhắn đệm (có thể vô thời hạn)

  • loại bỏ tin nhắn thoát

Trên blockchain, điều này trở nên phức tạp hơn, hãy tưởng tượng rằng người gửi gặp phải áp lực ngược từ một người ngang hàng có thể trung thực hoặc không trung thực, việc thực hiện bất kỳ cách tiếp cận nào ở trên có thể dẫn đến vấn đề nghiêm trọng:

  • Làm chậm quá trình sản xuất dữ liệu có nghĩa là làm chậm chuỗi khối, cho phép hành vi này sẽ là một vectơ tấn công Từ chối Dịch vụ (DoS);

  • Bộ đệm (có thể là vô thời hạn) cũng sẽ trở thành vectơ tấn công;

  • Việc loại bỏ các tin nhắn đầu ra có thể có nghĩa là việc gửi tin nhắn đến các nút trung thực nhưng chậm không được đảm bảo.

Do rủi ro bảo mật của tùy chọn 1 và 2, hầu hết các blockchain đều chọn tùy chọn 3, tuy nhiên, tùy chọn 3 có nguy cơ tồn tại của blockchain (tức là nếu đủ tin nhắn bị loại bỏ, nó có thể bị kẹt), tạo ra sự cố cho Internet P2P mới lớp do Máy tính đề xuất khắc phục rủi ro mà không làm mất tin nhắn.

Lớp P2P mới

Lớp P2P mới hoạt động rất khác so với lớp hiện có, thứ nhất, nó không phải lúc nào cũng sử dụng quảng cáo, nếu các tạo phẩm đủ nhỏ, chúng sẽ được gửi ngay lập tức mà không cần bất kỳ quảng cáo nào; cùng một kết nối QUIC sử dụng nhiều luồng; thứ ba, vì nó không sử dụng một luồng duy nhất nên nó quản lý việc gửi các tạo phẩm rất khác nhau; thứ tư, nó đưa ra một giao thức hơi khác để liên lạc giữa các đồng nghiệp.

Hãy lùi lại một bước và xem xét mục đích của lớp P2P khi phục vụ các giao thức đồng thuận và các ứng dụng khách khác có nhu cầu tương tự (tức là đồng bộ hóa phi trạng thái). Tất nhiên, nút có trong nhóm các tạo phẩm đã được xác thực trong khi vẫn giữ mọi thứ an toàn, có thể mở rộng và hoạt động hiệu quả.

Lớp P2P mới đạt được điều này bằng cách giới thiệu một cấu trúc dữ liệu trừu tượng mới được gọi là bảng vị trí, được sử dụng để theo dõi nội dung của nhóm tạo tác đã được xác thực và quá trình cập nhật ngang hàng về nội dung đó. nó cung cấp chính xác những gì cần thiết để đáp ứng các yêu cầu.

Cấu trúc dữ liệu bảng slot

Bảng vị trí là cấu trúc dữ liệu trừu tượng được duy trì bởi mọi nút ở phía gửi và được suy ra bởi mọi nút ở phía nhận. Kích thước của bảng vị trí ở phía gửi tương ứng chính xác với số lượng tạo phẩm đang hoạt động trong nhóm xác thực. , nếu bạn nhớ Thuộc tính P1 ở trên, điều này có nghĩa là bảng slot bị giới hạn ở một số hằng số C.

Bất cứ khi nào một tạo phẩm được thêm vào nhóm xác thực, nó sẽ được thêm vào một vị trí trống trong bảng vị trí ở phía gửi. Một thông báo cập nhật vị trí sẽ được gửi tới tất cả các đồng nghiệp cho họ biết rằng nội dung của vị trí đó đã thay đổi ở bên nhận. bên cạnh, mỗi máy ngang hàng theo dõi trạng thái của từng bảng vị trí của nó dựa trên sự xuất hiện của các thông báo cập nhật vị trí mới.

Tuy nhiên, lưu ý rằng tắc nghẽn mạng và áp suất ngược có thể gây ra sự chậm trễ trong các cập nhật này, do đó, chế độ xem của người nhận cuối cùng chỉ đồng ý với bảng vị trí của người gửi.

Ngoài thông tin giả, mỗi vị trí còn có số phiên bản được tăng lên trên toàn cầu với mỗi bản cập nhật vào nhóm xác thực, để người nhận có thể nhận được thông báo cập nhật bằng cách chỉ chấp nhận số phiên bản cao hơn bản cập nhật của họ để biết liệu có hay không. bản cập nhật mới hoặc bản cập nhật cũ.

图片
Hình 3: Ví dụ về cấu trúc dữ liệu trừu tượng của slot table

Hình 3 cho thấy một ví dụ về quy trình này: người gửi tạo ra các tạo phẩm từ A đến F, nó cũng xóa một số trong số chúng trong quy trình và vì việc xóa không nhất thiết phải được truyền tới các đồng nghiệp nên chúng được đặt vào bảng vị trí của các đồng nghiệp của họ. Bạn vẫn có thể đã xóa các thành phần lạ trong chế độ xem và điều này đúng vì nội dung của vùng cuối cùng sẽ được cập nhật và phổ biến.

Đối với mỗi vị trí ở phía người gửi, một tập hợp tác vụ không đồng bộ mới (tức là các luồng màu xanh lá cây) sẽ được tạo ra - một tác vụ trên mỗi vị trí trên mỗi thiết bị ngang hàng và vì các tác vụ này rất nhẹ nên chúng cũng có thể được chia tỷ lệ cho các mạng con lớn hơn, Mỗi tác vụ chịu trách nhiệm để đẩy cập nhật vị trí, tin nhắn đến vị trí tương ứng và thiết bị ngang hàng tương ứng một cách đáng tin cậy.

Điều này có nghĩa là tác vụ sẽ thử đẩy lại bản cập nhật cho đến khi nhận được xác nhận và bất cứ khi nào nội dung của vị trí thay đổi, tác vụ sẽ ngừng cố gắng đẩy nội dung cũ và bắt đầu cố gắng đẩy nội dung mới, điều mà các đồng nghiệp chậm có thể tìm nạp chậm Cập nhật, nhưng không can thiệp vào các đồng nghiệp nhanh hơn.

Cách tiếp cận này hơi giống sự kết hợp của cách tiếp cận 2 và 3 trong phần thảo luận về áp suất ngược ở trên (đệm các thông báo ở lớp mạng và loại bỏ các thông báo), đồng thời nó giải quyết vấn đề áp suất ngược mà không làm mất đi khả năng phục hồi và sự sống động.

Tính đúng đắn của phương pháp này xuất phát từ thuộc tính P1 đã đề cập trước đó của máy khách, tức là số lượng tạo phẩm hoạt động có giới hạn, đảm bảo rằng các khe C là đủ trong mọi trường hợp và do đó các khe này có thể được sử dụng lại.

Giao thức trên không chỉ cho phép các đồng nghiệp đồng bộ hóa nội dung của nhóm tạo phẩm đã được xác minh của họ mà còn cho phép các nút đảm bảo rằng các đồng nghiệp của họ sẽ không quảng cáo nhiều hơn C tạo phẩm tại một thời điểm. người nhận có thể suy ra ngay hành vi không phù hợp của người gửi.

Khi một nút thông báo ở đầu nhận rằng một tạo phẩm không còn tồn tại trong các bảng vị trí của bất kỳ nút ngang hàng nào của nó, nút đó có thể xóa tạo phẩm đó khỏi nhóm tạo tác không được xác thực một cách an toàn (nếu nó vẫn tồn tại) hoặc dừng mọi nỗ lực truy xuất dữ liệu này tạo tác nếu nó chưa được lấy ra.

Thuộc tính P2: Việc hết hạn rõ ràng của các tạo phẩm được đề cập trước đó đảm bảo rằng các tạo phẩm đó không còn cần thiết bởi bất kỳ thiết bị ngang hàng nào, do đó, bảng vị trí cũng áp đặt một giới hạn ngầm về kích thước của nhóm tạo phẩm không được xác thực: nhóm không được xác thực có thể chứa tối đa C tạo tác từ trung thực các đồng nghiệp (vì chúng phải có nội dung gần giống nhau trong nhóm được xác thực) và, nhiều nhất là C tạo phẩm từ mỗi đồng nghiệp độc hại, vì nó có thể sử dụng C Một tạo phẩm hoàn toàn khác gửi thư rác cho IC.

Ít hơn 1/3 số nút có khả năng độc hại, do đó tổng kích thước của nhóm không được xác thực không thể vượt quá C*4*n/3 tạo phẩm.

Bạn có thể nhận thấy rằng mô tả thiết kế ở trên chỉ đề cập đến các tạo phẩm và không đề cập đến quảng cáo. Lý do là quảng cáo chỉ là sự tối ưu hóa để cải thiện việc sử dụng băng thông và lớp P2P mới chỉ sử dụng quảng cáo cho các tạo phẩm lớn (ngưỡng hiện tại được đặt thành. 1KB).

Các thành phần nhỏ hơn ngưỡng được gửi trong thông báo cập nhật vị trí và do đó người nhận không cần phải yêu cầu rõ ràng sau này, đối với các thành phần lớn hơn ngưỡng mà quảng cáo được tạo và gửi trong tin nhắn cập nhật, khi đó, máy khách của người nhận có thể quyết định xem liệu nó muốn Yêu cầu nó và nó được yêu cầu từ ngang hàng nào.

Cải thiện hiệu quả làm việc

Việc triển khai không đồng bộ bằng QUIC và đẩy trực tiếp các tạo phẩm nhỏ hơn sẽ cải thiện hiệu suất mạng và do đó hiệu suất đồng thuận.

图片图片
Hình 4: (Trên cùng, lớp P2P hiện có/dưới cùng, lớp P2P mới) Tốc độ chặn theo thời gian trên mạng con 60 nút có và không có tải mạng con nặng và độ trễ liên kết tăng giả tạo, đường thẳng đứng biểu thị sự kết thúc của tải cao.


Hình 4 cho thấy kết quả của một thử nghiệm mà chúng tôi đã tiến hành để so sánh hiệu suất của lớp P2P hiện có và lớp P2P mới. Trong thử nghiệm này, chúng tôi đã chạy tải 200 x 100 KB yêu cầu mỗi giây trong một mạng con của trung tâm dữ liệu gồm 60 nút. và tỷ lệ khối đồng thuận đã được đo.

Biểu đồ hiển thị tốc độ chặn theo thời gian bằng một đường cho mỗi nút. Chúng tôi đã thêm thủ công độ trễ liên kết là 80 ms cho tất cả các liên kết mạng trong cả hai thử nghiệm để mô phỏng mạng con phân bố theo địa lý.

Biểu đồ trên cho thấy tốc độ chặn của lớp P2P hiện tại. Mặc dù mạng con đã thực hiện thành công nhưng tốc độ chặn rất không ổn định khi tải cao. Sau khi tải xong, nó sẽ trở lại bình thường, nhưng khi tải cao, điều này có nghĩa là. tốc độ chặn trên toàn mạng con thấp hơn và do đó độ trễ mà người dùng cảm nhận được cao hơn.

Hình bên dưới cho thấy mức độ mạnh mẽ của tốc độ chặn của lớp P2P mới được đề xuất, với mạng con hoạt động ở tốc độ khối rất ổn định ngay cả khi tải nặng.

Tóm lại là

Lớp P2P mới dành cho sự đồng thuận và các máy khách tương tự giúp tăng hiệu suất của máy tính Internet, cho phép khả năng mở rộng tốt hơn, giảm độ phức tạp của mã và cải thiện hành vi trong điều kiện mạng không hoàn hảo.

Tính năng này đã được kích hoạt trên một số mạng con chỉ dành cho các tạo phẩm liên quan đến chú thích HTTPS và DFINITY Foundation sẽ sớm gửi đề xuất kích hoạt tính năng này cho các khách hàng khác.

Nếu được chấp nhận và triển khai, toàn bộ lớp P2P của máy tính Internet sẽ chuyển sang sử dụng QUIC thay vì TCP, làm cho lớp mạng của máy tính Internet mạnh mẽ hơn, có khả năng mở rộng và hoạt động hiệu quả hơn.

Tìm hiểu thêm về máy tính Internet:

图片图片

#内容挖矿 #P2P #ICP

Nội dung IC bạn quan tâm

Tiến độ Công nghệ Thông tin Dự án |

Thu thập và theo dõi Kênh IC Binance

Luôn cập nhật những thông tin mới nhất