Giao thức chuyên sâu
Last updated
Last updated
TIP
Để biết thêm thông tin về Mạng Mithril , vui lòng tham khảo trang .
Chi tiết đầy đủ của giao thức Mithril được cung cấp trong bài báo đã xuất bản. Phần này là mô tả cấp cao của giao thức theo thuật ngữ riêng.
Mithril là một sơ đồ chữ ký tạo ra một chứng chỉ thuyết phục người xác minh rằng một phần cổ phần của hệ thống đã ký một thông điệp.
Tuy nhiên, thay vì lấy toàn bộ tập hợp những người sở hữu cổ phần, Mithril "chọn ngẫu nhiên" một tập hợp con của họ và yêu cầu một phần của tập hợp con đó cung cấp chữ ký.
Một tương tự sẽ là Mithril signers tham gia vào một cuộc xổ số ngẫu nhiên xác định xem họ có được quyền ký một tin nhắn cụ thể hay không. Trong trường hợp họ trúng xổ số này, thì họ có thể tiếp tục và ký vào thông điệp. Bất cứ khi nào có đủ số lượng các bên đã trúng xổ số (và gửi chữ ký tương ứng của họ), một chứng chỉ có thể được tính toán.
Giao thức có 3 giai đoạn khác nhau:
Giai đoạn thiết lập giao thức xác định các tham số sẽ được sử dụng bởi những người tham gia Mithril. Ngoài ra, trong giai đoạn này, tập hợp "người ký được phép" được xác định.
Giai đoạn khởi tạo trong đó các nút Mithril tạo và trao đổi khóa.
Giai đoạn hoạt động trong đó các node ký và tổng hợp các chữ ký của thông báo để tạo ra chứng chỉ.
GHI CHÚ
Lưu ý rằng tất cả 3 giai đoạn yêu cầu tập hợp các bên (P
trong bài báo) phải được cố định. Trong giai đoạn thiết lập giao thức, ba thông số quan trọng được tạo ra:
m
, xác định số "xổ số" mà một người dùng có thể tham gia để ký một tin nhắn.
k
, xác định số lượng chữ ký đơn cần thiết để tạo ra một chứng chỉ hợp lệ.
phi_f
(như ký hiệu trong thư viện) có thể được hiểu là cơ hội trúng xổ số của người ký.
Bây giờ, giả sử rằng chúng ta muốn tạo một chữ ký hợp lệ cho nội dung msg
bằng cách sử dụng chữ ký mithril. Sau đó, chúng tôi cần k
chữ ký hợp lệ từ tập hợp con những người ký.
Muốn vậy, mỗi người chơi được tham gia m
"xổ số" để xem có "trúng" quyền ký tên hay không.
Nếu không có xổ số nào trong số này trúng thưởng bởi người ký tên cụ thể này, thì người đó sẽ không thể gửi chữ ký.
Ngược lại, nếu người ký trúng một trong các xổ số (hoặc nhiều hơn một), thì người đó có thể gửi chữ ký tương ứng (hoặc tất cả các chữ ký tương ứng tương ứng) để xuất trình giấy chứng nhận hợp lệ. Cơ hội trúng xổ số được xác định bởi một hàm trên phi_f
. phi_f
càng gần đến một, khả năng trúng số càng cao.
Điều này có nghĩa là tồn tại khả năng một nội dung cụ thể không thể được chứng nhận bằng cách sử dụng Mithril theo một bộ tham số nhất định. Có thể có một kịch bản mà không có đủ người ký tên trúng giải xổ số được phép để xuất trình giấy chứng nhận hợp lệ. Trong trường hợp đó các thông số có thể được điều chỉnh.
Chọn / sửa một nhóm thứ tự nguyên tố để được sử dụng làm cơ sở cho lược đồ đa chữ ký
Khi sử dụng bulletproof: Tạo chuỗi "ngẫu nhiên", ví dụ: bằng cách lấy một số dữ liệu không thể đoán trước từ mạng (hash của khối mới nhất, giá thị trường chứng khoán) và băm nó
Khi một bên yêu cầu, hãy trả về các tham số và chuỗi ngẫu nhiên
Giai đoạn thiết lập này chỉ phải được thực hiện một lần và có giá trị miễn là cùng một hệ thống chứng minh, ví dụ như các tham số rất có thể được truyền tĩnh vào các hệ thống khác nhau sản xuất và sử dụng các chứng minh Mithril.
Tương tự, trong giai đoạn thiết lập giao thức, các tham số k
và m
được phi_f
xác định, cũng như tập hợp những người ký được phép.
Giai đoạn này bao gồm cả giai đoạn khởi tạo thực tế của mỗi bên và đăng ký khóa.
Bên truy xuất các tham số giao thức
Nó sử dụng các tham số để tạo một cặp khóa mới gồm khóa xác minh verification key và khóa ký signing key, cùng với Bằng chứng sở hữu Proof-of-possession κ
. Khóa xác minh và PoP được phát cho tất cả các bên khác để đăng ký, dự kiến sẽ kéo dài trong một khoảng thời gian giới hạn. Một điểm khác biệt quan trọng với bài báo là việc đăng ký không được tập trung hóa theo cách "lý tưởng hóa" được mô tả trong bài báo. Thay vào đó, tất cả những người ký tên sẽ đăng ký chống lại tất cả những người ký tên khác. Có nghĩa là mỗi người ký sẽ theo dõi thủ tục đăng ký của riêng mình. Cùng với các khóa của những người tham gia khác, tiền đặt cọc của mỗi bên được lưu trữ.
Sau đó, một khóa xác minh tổng hợp ( AVK
trong bài báo) được tạo từ tài liệu đăng ký, ở dạng Merkle-tree.
Quá trình phổ biến khóa cũng có thể diễn ra theo chuỗi, điều này có ý nghĩa vì các bên cần có một số đảm bảo về tính hợp lệ của khóa và cổ phần của nhau.
Giai đoạn này xảy ra một lần cho mỗi phiên bản của giao thức đang chạy.
Các hoạt động chạy theo chu kỳ, trong đó mỗi chu kỳ được kích hoạt bởi một thông báo (ví dụ: ảnh chụp nhanh của bộ UTxO) để ký mà một số lượng lớn k
chữ ký hợp lệ phải được gửi.
Mỗi bên cần kiểm tra xem có đủ điều kiện để ký vào tin nhắn hay không. Nó có thể đủ điều kiện để ký cùng một tin nhắn nhiều hơn một lần. Kiểm tra này được thực hiện cho m
các chỉ số riêng biệt. Đối với mọi chỉ mục, người ký đánh giá một hàm (được tham số hóa với phi_f
) lấy cổ phần của nó làm đầu vào. Nếu kết quả của hàm là SUCCESS
, thì người ký có đủ điều kiện để ký thông báo này cho chỉ mục đã cho.
Đối với mọi chữ ký hợp lệ, nó tạo ra một bằng chứng ( π
) chứa chữ ký của thông điệp, khóa xác minh, cổ phần và đường dẫn của các bên trong Merkle-tree.
Sau đó, nhiều chữ ký có thể được tổng hợp lại với nhau để tạo thành một chứng chỉ ( τ
) bằng cách:
Xác minh chữ ký của mỗi bên:
Kiểm tra bên được ủy quyền ký vào chỉ mục đã cho (sử dụng quy trình tương tự như khi ký)
Kiểm tra bằng chứng hợp lệ có nghĩa là:
Kiểm tra ngưỡng đánh giá là chính xác đối với cổ phần của bên được cung cấp thông điệp, chỉ mục và chữ ký
Kiểm tra đường dẫn được cung cấp có tồn tại trong cây Merkle-tree của các khóa tổng hợp không
Xác minh chữ ký của tin nhắn là hợp lệ wrt đến khóa xác minh
Tạo khóa tổng hợp từ tất cả các khóa xác minh
Tạo chữ ký tổng hợp từ tất cả các chữ kýμ
Tạo bằng chứng bằng cách sử dụng các khóa tổng hợp, thông báo và vectơ của các bằng chứng riêng lẻ từ mỗi bên:
Trong hệ thống bằng chứng nối, tất cả các giá trị này chỉ đơn giản được đóng gói lại với nhau để tạo thành bằng chứng,
Trong trường hợp hệ thống chống đạn , một bằng chứng nhỏ gọn hơn được tạo ra.
Mỗi chứng chỉ τ
có thể được xác minh là hợp lệ cho một số thông báo, sử dụng các thông số thiết lập đã biết để xác minh bằng chứng của chứng chỉ và sau đó xác minh các chữ ký và khóa xác minh tổng hợp.