Mithril - nhẹ hơn và hiệu quả hơn
Ngày 29 tháng 10 năm 2021
Một giao thức mới do IOHK phát triển hoạt động như một sơ đồ chữ ký ngưỡng dựa trên cổ phần cho phép tận dụng cổ phần minh bạch, an toàn và nhẹ.
Tại Hội nghị thượng đỉnh Cardano 2021, các nhà nghiên cứu Pyrros Chaidos và Roman Oliynykov của IOHK đã trình bày về thiết kế và mục tiêu của Mithril - nỗ lực nghiên cứu và kỹ thuật mới do IOHK thực hiện. Mithril sẽ cung cấp một lược đồ chữ ký ngưỡng dựa trên cổ phần có thể được triển khai như một giao thức để giải quyết các vấn đề về đồng bộ hóa chuỗi, khởi động trạng thái và tin cậy trong các ứng dụng blockchain.
Mithril là tên được sử dụng cho một loại kim loại hư cấu ở Trung Địa - một vật liệu dễ uốn, trọng lượng rất nhẹ nhưng bền như 'thép ba', không bị xỉn màu hoặc mờ đi. Do đó, cái tên tượng trưng cho sức mạnh về mặt bảo mật và một cách tiếp cận gọn nhẹ đối với giao thức đã phát triển.
Sử dụng Stake cho Tổng hợp chữ ký
Hãy bắt đầu với một số thông tin cơ bản để hiểu lợi ích của Mithril đối với sự phát triển của các giải pháp blockchain.
Cardano là một blockchain sủ dụng Bằng chứng về cổ phần (POS), do đó, thuật toán đồng thuận sẽ chọn ngẫu nhiên các node để trở thành nhà sản xuất khối dựa theo số cổ phần mà họ nắm giữ hoặc được ủy thác. Đối với một số thông điệp hoặc hành động nhất định, điều quan trọng là một số lượng bên liên quan cụ thể phải cung cấp chữ ký mật mã của họ. Giao thức đồng thuận xác định cách các node riêng lẻ đánh giá trạng thái hiện tại của hệ thống sổ cái và có ba trách nhiệm chính:
- Thực hiện kiểm tra kế hoạch phân bổ block và quyết định xem có tạo khối (block) hay không
- Xử lý lựa chọn chuỗi
- Xác minh các khối được sản xuất.
Để đạt được khả năng mở rộng lớn hơn trong một thiết lập blockchain, điều cần thiết là phải giải quyết sự phức tạp của các hoạt động quan trọng phụ thuộc theo lôgarit vào số lượng người tham gia. Điều này có nghĩa là số lượng người tham gia càng cao (được cho là rất nhiều), thì việc tổng hợp hiệu quả chữ ký của họ càng trở nên phức tạp hơn. Trong một kịch bản cơ sở, để giả định một chữ ký nói cho đa số các bên liên quan, mọi bên liên quan cần phải ký vào thông điệp cá nhân thích hợp. Mặc dù điều này là có thể, nhưng nó không hiệu quả về khả năng mở rộng và tốc độ.
Với thời gian cần thiết để xác thực một thông báo cụ thể và việc sử dụng tài nguyên trong quá trình đồng bộ hóa chuỗi, điều quan trọng là phải cung cấp một giải pháp giúp tổng hợp đa chữ ký nhanh chóng và hiệu quả mà không ảnh hưởng đến các tính năng bảo mật.
Thiết kế giao thức Mithril
Mithril là một giao thức được thiết kế để:
- Tận dụng cổ phần (stake) để đạt được hiệu quả cao hơn
- Đảm bảo thiết lập minh bạch trong khi không yêu cầu cài đặt tin cậy cao hơn
- Tận dụng sự cân bằng giữa kích thước và hiệu quả, được đảm bảo bởi thiết kế thành phần mô-đun.
Mithril hoạt động trong môi trường công khai nơi người ký không cần phải tương tác với những người ký khác để tạo ra chữ ký hợp lệ. Bộ tổng hợp kết hợp tất cả các chữ ký thành một và quá trình này là logarit đối với số lượng chữ ký, dẫn đến hiệu suất tuyến tính dưới cho phép tổng hợp Mithril. Ví dụ: khi được áp dụng cho các máy khách đầy đủ node như Daedalus, Mithril có thể tăng cường đồng bộ hóa dữ liệu node đầy đủ, đảm bảo tốc độ và giảm mức tiêu thụ tài nguyên.
Để thể hiện một phần đáng kể trong tổng số tiền đặt cược, Mithril sử dụng thiết lập ngưỡng dựa trên số tiền đặt cược. Hành vi này khác với cài đặt tiêu chuẩn, trong đó số lượng người tham gia nhất định được yêu cầu để xác thực một thông báo cụ thể. Trong cài đặt ngưỡng dựa trên số tiền đặt cược, giao thức yêu cầu một phần nhỏ của tổng số tiền đặt cược để xác thực một thông báo nhất định nhằm tạo ra một chữ ký chính xác.
Mithril cũng chứng nhận sự đồng thuận trong một môi trường không đáng tin cậy. Điều này có nghĩa là nó không bao gồm bất kỳ giả định tin cậy bổ sung nào. Có thể đạt được chứng nhận đồng thuận mà không bao gồm bất kỳ giả định bổ sung nào, ngoài những giả định đã có trong bằng chứng cổ phần. Ví dụ: nó có thể hoạt động trong ví-as-a-service và máy khách di động sẽ sử dụng chứng chỉ thu được từ một node Mithril. Với cài đặt bảo mật nâng cao, quy trình như vậy có khả năng hiệu quả hơn so với xác minh chuỗi khối SPO.
Cuối cùng, để đảm bảo khởi động trạng thái chuỗi nhanh chóng, sơ đồ chữ ký cho phép các bên liên quan khác nhau chỉ xác nhận một điểm kiểm tra nhất định của chuỗi. Các bên liên quan không cần phải xem qua toàn bộ lịch sử giao dịch của trạng thái nhất định - họ chỉ cần đi qua các điểm kiểm tra để xác minh rằng cổ phần cuối cùng là hợp lệ. Điều này có lợi cho các ứng dụng khách hàng nhẹ như ví nhẹ cần hoạt động nhanh mà không cần đồng bộ hóa chuỗi đầy đủ. Chữ ký Mithril cũng có thể hữu ích cho việc xác minh kiểm đếm nhẹ hoặc ra quyết định quản trị tiền điện tử.
Làm thế nào nó hoạt động
Mithril cho phép chữ ký của nhiều bên bằng cách nắm giữ một số xổ số riêng lẻ ( M ) và coi một tin nhắn là hợp lệ nếu nó đã được ký bởi một số người chiến thắng khác nhau ( K ) đối với các xổ số đó. Do đó, mỗi người dùng cố gắng ký vào tin nhắn và sau đó chuyển chữ ký của nó thông qua những gì được coi là một chức năng xổ số. Chức năng này cho phép người dùng cá nhân kiểm tra xem chữ ký của họ có đủ điều kiện là người trúng số hay không và xuất ra những chữ ký đó mà không cần chờ đợi. Điều này khác với cài đặt tiêu chuẩn, trong đó các nhà lãnh đạo vị trí cần đợi cho đến khi vị trí của họ hoạt động để tham gia. Khi có chữ ký trường hợp qua các loại xổ số khác nhau, chúng có thể được tổng hợp thành một chữ ký Mithril duy nhất.
Giai đoạn
Thiết kế của Mithril bao gồm ba giai đoạn:
Hình 1. Các giai đoạn của hoạt động Mithril
Thiết lập tham số
Để thiết lập giao thức Mithril, người dùng cần:
- Cố định thiết lập nhóm nơi mật mã sẽ diễn ra
- Chọn phạm vi chỉ số M , là số cuộc bầu cử mà họ sẽ tổ chức
- Đặt kích thước túc số K , là số lượng người thắng cử cần phải ký chữ ký để được chấp nhận.
Việc cung cấp một chuỗi tham chiếu cho hệ thống chứng minh cũng rất quan trọng. Điều này có thể thực hiện một cách minh bạch và không yêu cầu bất kỳ giả định tin cậy cao nào.
Khởi tạo
Trong giai đoạn này, người dùng nên cập nhật phân phối trạng thái. Điều này cho phép mọi bên liên quan biết họ đang nắm giữ cổ phần nào. Sau đó, mỗi bên liên quan có trách nhiệm đăng ký khóa của họ . Điều này có thể xảy ra trong hoặc ngoài chuỗi.
Cuối cùng, người dùng cần phân phối tiền cược và nén các khóa kiểm tra của họ , điều này được thực hiện bằng cách sử dụng cây Merkle. Chức năng này cho phép các chữ ký Mithril được xác minh dựa trên một hàm băm duy nhất đại diện cho cây Merkle đó. Vì vậy, kích thước trạng thái cần thiết để xác minh chữ ký có thể được giữ ở mức thấp.
Hoạt động
Trong khi làm việc với chuỗi, người dùng có thể sản xuất, tổng hợp và xác minh chữ ký Mithril. Sản xuất chữ ký liên quan đến việc người dùng cố gắng kiểm tra xem chữ ký mà họ tạo ra có thực sự là người chiến thắng ở một trong các cuộc xổ số được tổ chức song song hay không. Nếu đúng, người dùng sẽ phát đi chữ ký của họ. Nếu có đủ chữ ký hỗ trợ một thông điệp cụ thể qua các giải xổ số khác nhau, chúng có thể được tổng hợp thành một chữ ký Mithril duy nhất. Sau đó, nó có thể được truyền phát và xác minh bởi bất kỳ ai chỉ sử dụng chuỗi tham chiếu cho hệ thống bằng chứng và phân phối cổ phần băm cây Merkle rất ngắn.
Ví dụ: một người dùng có thể tạo chữ ký bằng Mithril như sau:
Hình 2. Tạo chữ ký Mithril
Đầu tiên, người dùng sẽ kiểm tra số tiền họ nắm giữ và chuyển nó qua một chức năng tính điểm để nhận được ngưỡng điểm T của họ . Sau đó, họ sẽ cố gắng tạo ra một chữ ký ứng viên S. Đối với mỗi chỉ mục, họ sẽ đánh giá xem chữ ký của ứng viên mà họ đưa ra có ghép nối với thông điệp mà họ vừa ký hay không. Số chỉ mục của xổ số mà họ đang kiểm tra cũng phải tạo ra một giá trị điểm nhỏ hơn ngưỡng T của chúng . Nếu điều đó là đúng, thì chữ ký ứng cử viên mà họ đưa ra đã thực sự trúng xổ số trên số chỉ mục cụ thể đó. Nếu không, họ sẽ thực hiện lần thử tiếp theo.
Sau khi thử tất cả các chỉ mục có thể có, người dùng có thể sẽ có một hoặc nhiều chỉ mục mà chữ ký S của họ là hợp lệ. Đối với mỗi chỉ mục đó, họ có thể xuất ra một chữ ký riêng bao gồm chữ ký ứng cử viên của họ, số chỉ mục mà nó hợp lệ và bằng chứng xác minh rằng điểm của họ phù hợp với số tiền đã đăng ký.
Kiến trúc mạng
Triển khai Mithril trên Cardano, chúng tôi có thể biểu diễn tương tác phần mềm như sau:
Hình 3. Kiến trúc mạng Mithril
Một đại diện cấp cao của phần mềm xung quanh nhà điều hành nhóm cổ phần (SPO) bao gồm kết nối của nó với mạng ngang hàng Cardano (P2P), mạng P2P của node Mithril và ứng dụng khách Mithril được kết nối với node do SPO điều hành.
Node Mithril trên nền tảng SPO truy cập vào chuỗi khối đã được xác minh của nó tại kho lưu trữ cục bộ và chạy giao thức để tạo ra các chứng chỉ Mithril được lưu giữ tại kho lưu trữ Mithril. Các chứng chỉ Mithril đã sản xuất có thể được đồng bộ hóa một cách xác minh trên toàn bộ mạng. Do đó, SPO có thể chia sẻ cả blockchain Cardano đầy đủ và danh sách các chứng chỉ Mithril hợp lệ cho nó. Khi ứng dụng khách Mithril kết nối với mạng, nó yêu cầu một danh sách các chứng chỉ Mithril và chỉ yêu cầu chuỗi dài nhất của chuỗi khối Cardano.
Một số SPO cũng có thể tham gia vào một thiết lập như vậy. Sau đó, khách hàng Mithril sẽ xác minh rằng các chứng chỉ xác nhận hoàn toàn chuỗi khối Cardano thu được. Toàn bộ quy trình này nhẹ và sẽ không yêu cầu sự tham gia của các tài nguyên tính toán hoặc lưu trữ mạng đáng kể. Hơn nữa, đồng bộ hóa node đầy đủ Cardano và đồng bộ hóa nhanh với các thủ tục Mithril không loại trừ lẫn nhau - chúng có thể chạy song song. Đồng bộ hóa nhanh Mithril sau này sẽ được xác nhận bởi đồng bộ hóa node đầy đủ.
Trường hợp ứng dụng
Chúng ta hãy xem xét các trường hợp sử dụng mà khả năng ứng dụng Mithril mang lại lợi ích cao.
Mithril nâng cao hiệu quả của các ứng dụng hoặc ứng dụng node đầy đủ như Daedalus . Nó đảm bảo sự đồng bộ hóa nhanh chóng và an toàn của dữ liệu node đầy đủ, cải thiện đáng kể thời gian và tài nguyên cần thiết bao gồm tính toán, trao đổi mạng và lưu trữ cục bộ trong khi vẫn đảm bảo bảo mật cấp cao.
Mithril cũng có thể áp dụng cho các ứng dụng di động và ứng dụng nhẹ, đảm bảo một cách tiếp cận không tin cậy. Một lợi thế đáng kể khác là sử dụng chữ ký Mithril để chạy các sidechains . Blockchain chính có thể kết nối với các sidechains khác nhau, thậm chí có thể có các giao thức đồng thuận khác nhau. Mithril có lợi ích trong việc xác minh trạng thái blockchain nhẹ và do đó, các chứng chỉ có thể xác thực trạng thái hiện tại của blockchain cụ thể cũng như tính đúng đắn của việc chuyển tiếp và chuyển ngược một cách an toàn.
Cuối cùng, các ứng dụng bỏ phiếu dựa trên cổ phần và các giải pháp quản trị có thể sử dụng Mithril bất kể mức độ phức tạp của giao thức bỏ phiếu. Chữ ký Mithril có thể được sử dụng để xác minh kiểm đếm an toàn và nhẹ. Điều này cũng hữu ích trong quản trị khi các bên liên quan trải qua quá trình ra quyết định phi tập trung và đưa ra kết quả cuối cùng một cách dễ dàng và có thể kiểm chứng được.
Triển khai
Một số công ty đã quan tâm đến việc triển khai Mithril trong các giải pháp blockchain của họ. Galois , một công ty nghiên cứu và phát triển tiên tiến tập trung vào các phương pháp chính thức, mật mã và phần cứng, sẽ triển khai nguyên mẫu Mithril đầu tiên dựa trên nghiên cứu do IOHK thực hiện. Galois sẽ triển khai Mithril bằng ngôn ngữ lập trình Rust do tính năng tạo mẫu nhanh của nó. Trước tiên, họ có kế hoạch trình bày các chữ ký nhỏ hơn với BulletProofs, sau đó là các triển khai sẵn sàng sản xuất và cuối cùng là các bằng chứng chính thức về tính đúng đắn.
Idyllic Visionlà một công ty khác tập trung vào việc xây dựng giao thức nhận dạng độc quyền dựa trên các bằng chứng không có kiến thức, hệ thống quản lý thông tin xác thực cho các tổ chức và ví di động cho người dùng cuối hỗ trợ khả năng tương tác giữa các giải pháp xã hội đa dạng. Họ đang có kế hoạch triển khai khái niệm bằng chứng về node Mithril. Trong những tháng tiếp theo, họ sẽ bắt đầu với việc tạo bản thiết kế kiến trúc giải pháp, xác định một số thành phần hệ thống cần được phát triển và tích hợp hữu cơ vào cơ sở hạ tầng hiện có. Điều này bao gồm tích hợp với thư viện tiền điện tử Mithril và node Cardano và một lớp mạng để giao tiếp giữa các node. Kết quả của giai đoạn này sẽ được tích hợp vào Cardano để cho phép node khởi động nhanh và hỗ trợ các chức năng bổ sung như các ứng dụng khách nhẹ như những ứng dụng khác.
Để tìm hiểu thêm, hãy đọc bài nghiên cứu của Mithril và xem bài thuyết trình của Hội nghị thượng đỉnh Cardano .
Nguồn bài viết tại đây
Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới