Tổng quan
TrustMesh là một kiến trúc Consensus dựa trên động lực phát sinh. Mục tiêu của nó là cho phép toàn bộ mạng lưới cuối cùng hội tụ về một đề xuất duy nhất trong mỗi Vòng. Bất kỳ nút nào cũng có thể đề xuất, và thông qua tương tác cục bộ và sự hội tụ động, mạng lưới sẽ chọn một đề xuất duy nhất. Trong suốt quá trình, không nút nào cần biết về bất kỳ quan điểm toàn cục nào; các khối không tham chiếu lẫn nhau, và các nút phản ứng hoàn toàn dựa trên thông tin cục bộ.
Bản thử nghiệm (PoC) hiện tại chứng minh rằng ngay cả trong điều kiện bất lợi với độ tin cậy được gán ngẫu nhiên, hệ thống vẫn thể hiện các điểm hút rõ ràng và hội tụ một cách đáng tin cậy. Mã nguồn của bản PoC có sẵn tại đây: TrustMesh
Khái niệm cốt lõi
Tròn
Một Vòng (Round) là đơn vị cơ bản của một quy trình Consensus hoàn chỉnh trong TrustMesh. TrustMesh cố ý không quy định cách thức tiến hành các vòng. (Trong bản thử nghiệm, các vòng được điều khiển bởi các khung thời gian cố định để dễ quan sát.)
Nếu không yêu cầu tính nhất quán cao, các vòng có thể được thực hiện song song. Mỗi vòng cuối cùng đều tạo ra lịch sử hợp lệ (tức là kết quả Consensus không bao giờ bị cắt tỉa hoặc loại bỏ). Trong mô hình ngữ nghĩa này, không có nhánh rẽ nào cần được giải quyết hoặc cắt tỉa.
Danh tiếng
Uy tín là khái niệm cốt lõi của TrustMesh, và tính bảo mật của hệ thống phụ thuộc trực tiếp vào nó. Uy tín được lưu trữ trong Bảng Uy tín Quan sát Cục bộ (LORT) của mỗi nút và phải được liên kết với các định danh có thể xác minh được (ví dụ: khóa công khai). Mặc dù thuật ngữ “uy tín” được sử dụng, nhưng nó không đại diện cho uy tín chủ quan. Để ngăn chặn uy tín biến thành quyền lực toàn cầu, TrustMesh thực thi các ràng buộc thiết kế sau:
Quyền riêng tư địa phương
Bảng uy tín của một nút không được phép chia sẻ, phát tán, sao chép hoặc xuất khẩu cho bất kỳ bên thứ ba nào.Phương pháp suy luận chỉ dựa trên quan sát
Tất cả các giá trị uy tín phải được xác định hoàn toàn dựa trên các hành vi được chính nút đó quan sát trực tiếp, chứ không phải được nhập từ các đề xuất của bên thứ ba hoặc các nguồn cấp dữ liệu uy tín bên ngoài.Xây dựng quy tắc dựa trên mục đích
Các quy tắc cập nhật danh tiếng phải được xác định phù hợp với mục đích cụ thể và mô hình dịch vụ của mạng lưới.
Quy trình Consensus
1. Lập đề xuất
Vào đầu mỗi vòng, các nút xây dựng và phát sóng các đề xuất. Các nút không tự chấm điểm đề xuất của mình, vì việc tự chấm điểm không cung cấp thông tin có ý nghĩa và tạo ra các điểm yếu dễ bị tấn công. Tuy nhiên, hệ thống yêu cầu một sự nhiễu loạn ban đầu; nếu không, tất cả điểm số đề xuất sẽ vẫn bằng không.
Do đó, các nút nhận có thể áp dụng điểm số cơ bản có thể cấu hình, về mặt khái niệm tương đương với việc giả định rằng người đề xuất gán điểm số ban đầu cho đề xuất của chính họ. (Trong bản thử nghiệm, điều này được đơn giản hóa bằng cách cho phép người đề xuất tự chấm điểm và tự ký với một giá trị bất biến; điều này có thể được ánh xạ ngược lại mà không mất dữ liệu về cơ chế điểm số cơ bản.)
Mỗi nút đều có thể đưa ra một đề xuất hợp lệ trong mỗi vòng. TrustMesh loại bỏ hoàn toàn sự phân biệt giữa người dẫn đầu và người bỏ phiếu: tất cả các nút đều có cả quyền đề xuất và quyền chấm điểm đề xuất.
2. Tiếp nhận và chấm điểm đề xuất
Khi nhận được một đề xuất, một nút sẽ kiểm tra tập hợp chữ ký của mình và áp dụng phương pháp giảm trọng số uy tín cho mỗi chữ ký dựa trên bảng uy tín cục bộ của nó (các nút chưa biết có trọng số bằng không). Tổng của tất cả các điểm số đã được giảm trọng số sẽ tạo thành điểm số cục bộ của nút đó cho đề xuất đó tại thời điểm này.
Quá trình chấm điểm này hoàn toàn dựa trên thông tin địa phương và không yêu cầu bất kỳ cái nhìn tổng quát nào.
Trong bản thử nghiệm hiện tại, phương pháp trọng số tuyến tính được sử dụng. Hãy xem xét bảng uy tín cục bộ sau:
| Tên | Danh tiếng | Điểm |
|---|---|---|
| nútA | 2677 | 500 |
| NútB | 7906 | 1000 |
| NodeC | 3845 | 490 |
Tổng điểm uy tín là:
2677 + 7906 + 3845 = 14428Các trọng số và đóng góp có trọng số thu được là:
| Tên | Cân nặng | Điểm số có trọng số |
|---|---|---|
| nútA | 2677 / 14428 ≈ 0,19 | 500 × 0,19 = 95 |
| NútB | 7906 / 14428 ≈ 0,55 | 1000 × 0,55 = 550 |
| NodeC | 3845 / 14428 ≈ 0,27 | 490 × 0,27 = 132,3 |
Điểm số cục bộ thu được là:
95 + 550 + 132.3 = 777.3Sau đó, nút này thêm chữ ký điểm số của riêng nó vào đề xuất và phát sóng. Các nút khác lặp lại quy trình tương tự một cách độc lập.
Trong mô hình chấm điểm PoC, điểm số đề xuất cục bộ về mặt lý thuyết là đơn điệu không giảm . Các chữ ký bị thiếu đóng góp 0 điểm. Điểm số phải không âm. Đối với cùng một đề xuất, một nút chỉ chấp nhận các bản cập nhật điểm số lớn hơn hoặc bằng điểm số trước đó của nó; điểm số thấp hơn được coi là lỗi thời và bị bỏ qua. Theo các quy tắc này, sự phát triển và cập nhật tập hợp chữ ký chỉ có thể làm tăng hoặc duy trì điểm số cục bộ.
3. Đồng bộ hóa và kết thúc cuối cùng
Khi mạng lưới đã đạt được mức độ hội tụ cao và chỉ còn lại sự khác biệt nhỏ về quan điểm (trong PoC, điều này được xác định bởi một khoảng thời gian cố định), đề xuất có điểm số cục bộ cao nhất sẽ được chọn là Người chiến thắng và được lưu trữ. Đây là hành vi kết thúc đơn giản nhất.
Một số nút vẫn có thể chọn Người chiến thắng khác do sự khác biệt về quan điểm cục bộ. Một cơ chế đồng bộ hóa cuối cùng có thể loại bỏ sự sai lệch còn lại này. Để quan sát rõ hơn sự hội tụ tự nhiên, cơ chế này không được triển khai trong bản thử nghiệm và chỉ được cung cấp để tham khảo lý thuyết.
Trong quá trình đồng bộ hóa cuối cùng, mỗi nút sẽ phát đi chính xác một người chiến thắng cục bộ và ngừng tính điểm. Các nút thu thập thông báo người chiến thắng từ các nút khác và xếp hạng chúng bằng cách sử dụng trọng số cục bộ, loại trừ người chiến thắng mà chính chúng đã chọn trước đó khỏi bảng xếp hạng. Nếu người chiến thắng được xếp hạng cao nhất thay đổi, một thông báo cập nhật sẽ được phát đi. Khi bảng xếp hạng ổn định, đề xuất được xếp hạng cao nhất sẽ được hoàn thiện và lưu trữ.
Kết quả thực nghiệm
Hình dưới đây thể hiện kết quả PoC (Proof of Concept) với hệ số uy tín ngẫu nhiên, 30 nút, mỗi vòng 60 giây và trung bình 8 nút lân cận, trải qua 31 vòng. Mỗi nút gửi một đề xuất mỗi vòng và hệ số uy tín được ngẫu nhiên hóa lại vào đầu mỗi vòng.
Trung bình, 26,61 trên 30 nút (88,7%) đã cùng đưa ra một đề xuất giống nhau.
Điều này đạt được chỉ bằng cách sử dụng thông tin cục bộ, không cần bỏ phiếu đồng bộ hoặc cấu trúc chuỗi toàn cầu.Trong tất cả các vòng, số người ủng hộ đề xuất chiến thắng luôn nhiều hơn tất cả các đề xuất khác cộng lại.
Điều này cho thấy sự khuếch đại mạnh mẽ lợi thế và sự thống trị của đa số.Ngay cả khi có nhiều đề xuất cùng tồn tại, đề xuất chiến thắng cuối cùng vẫn giữ được ưu thế áp đảo.
Các cụm thiểu số chỉ tạo thành các điểm ổn định cục bộ và không làm gián đoạn sự hội tụ toàn cầu.Các thí nghiệm trước đó với 21 nút cho thấy xác suất hội tụ thấp hơn trong điều kiện tham số giống nhau.
Điều này cho thấy TrustMesh có thể thể hiện tính ổn định ngày càng tăng khi quy mô mạng lưới mở rộng.
Câu hỏi thường gặp
Hỏi: TrustMesh có tương tự như các hệ thống Consensus kiểu RAG không?
A: Không. TrustMesh khác biệt về cơ bản so với RAG, IOTA và các hệ thống tương tự.
RAG và hầu hết các hệ thống dựa trên DAG đều hướng đến tính chính xác gần đúng và tối ưu về xác suất. Chúng cho phép nhiều nhánh ứng cử viên song song, nhưng cuối cùng phải giải quyết và loại bỏ một phần đáng kể trong số đó, gây ra chi phí mạng thực tế.
Trong TrustMesh, mỗi vòng là một quy trình Consensus hoàn chỉnh và độc lập . Việc thực thi song song không tạo ra các nhánh có thể cắt tỉa; mỗi vòng đều tạo ra kết quả Consensus có thể sử dụng được.
Hỏi: Kẻ tấn công có thể tích lũy danh tiếng thông qua các danh tính Sybil và sau đó "phá hủy" nó để tấn công không?
A: TrustMesh giải quyết vấn đề này từ hai hướng.
Thứ nhất, sự phát triển danh tiếng gắn liền mật thiết với nỗ lực thực sự.
Uy tín chỉ mang tính cục bộ; các nút không thể quan sát hoặc kiểm soát bất kỳ giá trị uy tín toàn cầu nào. Để có được uy tín cao trên nhiều nút, một tác nhân phải tham gia vào các tương tác lâu dài, bền vững và chân thực với nhiều người dùng độc lập khác. Danh tính Sybil không thể nhanh chóng thổi phồng uy tín thông qua sự tự khẳng định hoặc các vòng lặp nội bộ. Các cơ chế suy giảm uy tín (ví dụ: suy giảm theo thời gian do không hoạt động) có thể hạn chế hơn nữa farming Sybil lâu dài.
Thứ hai, tầm ảnh hưởng của danh tiếng được cố tình làm suy yếu chứ không phải khuếch đại.
Uy tín chỉ đóng vai trò như một trọng số được chuẩn hóa. Khi bảng uy tín cục bộ của một nút tăng lên, ảnh hưởng biên của bất kỳ nút nào có uy tín cao sẽ ngày càng bị pha loãng. Không giống như Stake, uy tín không mang lại quyền lãnh đạo hoặc quyền ra quyết định trực tiếp; nó chỉ đơn thuần đẩy nhanh quá trình hội tụ và ngăn chặn nhiễu Sybil.
Do đó, danh tiếng trong TrustMesh rất khó tích lũy và không thể chuyển hóa thành sức mạnh tấn công tức thì.
Hỏi: TrustMesh xử lý việc chi tiêu trùng lặp như thế nào?
A: Công trình này tập trung vào các hệ thống Consensus không nhất quán hơn là sổ cái tiền tệ.
Trong các trường hợp như chứng thực, lựa chọn kết quả thực thi hoặc thỏa thuận tham số, việc bao gồm trùng lặp giữa các vòng là vô hại và có thể loại bỏ trùng lặp, do đó không phát sinh chi tiêu gấp đôi.
Về nguyên tắc, TrustMesh có thể đảm bảo tính nhất quán mạnh mẽ thông qua các kiểm tra tính hợp lệ bổ sung, nhưng điều này sẽ yêu cầu sắp xếp hoặc phân xử toàn cục, phá hủy tính song song và do đó nằm ngoài phạm vi của dự án.
Đối với các hệ thống tiền tệ, một lịch sử tuyến tính duy nhất vẫn là một thiết kế hiệu quả và hợp lý. Bất kỳ nỗ lực nào nhằm song song hóa trạng thái giao dịch cuối cùng đều dẫn đến việc tái thiết lập Consensus toàn cầu tốn kém thông qua trọng tài hoặc dấu thời gian đáng tin cậy. Tính nhất quán mạnh mẽ là một nguồn lực khan hiếm và tốn kém, cần được giảm thiểu và tách rời khỏi các lớp thực thi không nhất quán.
Hỏi: TrustMesh có thể nhanh chóng xử phạt hành vi độc hại không?
A: Đúng vậy — linh hoạt hơn so với các hệ thống dựa trên cổ phần.
Vì danh tiếng không bị ràng buộc bởi tiền bạc, nên các quy tắc giảm thiểu danh tiếng có thể nhạy cảm hơn nhiều.
Đối với các hành vi sai trái có thể chứng minh bằng mật mã (ví dụ: đề xuất kép trong cùng một vòng), các nút có thể phát sóng bằng chứng. Các nút khác độc lập xác minh bằng chứng và giảm uy tín của người vi phạm cục bộ. Không cần đến Slashing toàn cục, trừng phạt đồng bộ hoặc khôi phục hệ thống, giúp duy trì tính song song và tiến trình hoạt động.
Lời kêu gọi tham gia
Nếu bạn cho rằng TrustMesh đáng được nghiên cứu thêm, vui lòng giúp cải thiện nó.
Điều này bao gồm phản hồi mang tính xây dựng, những thách thức về mặt lý thuyết, việc tái tạo thí nghiệm, đóng góp mã nguồn, hoặc đơn giản là chia sẻ ý tưởng với người khác.
TrustMesh vẫn đang trong giai đoạn thử nghiệm và sự phát triển của nó phụ thuộc vào các cuộc thảo luận nghiêm túc và nỗ lực chung.
E-mail: yangzhixun-@outlook.com
Kho lưu trữ Github: GitHub - BinGo-Lab-Team/TrustMesh: TrustMesh: Consensus như một sự nổi lên, Bảo mật từ Hành vi


