Skip to main content

Hiểu về Mithril

Ngày 01 tháng 08 năm 2023 - Chia sẻ bài viết này trên Twitter | FacebookTelegram

Mithril đã chính thức hoạt động trên mạng chính Cardano. Hãy cùng giải thích cách Mithril hoạt động và nó hữu ích cho việc gì.

Đừng tin, hãy tự kiểm chứng

Một trong những nguyên tắc cơ bản của Phi tập trung là không có bên thứ ba mà bạn, với tư cách là người tham gia hệ thống, phải tin tưởng vào họ. Thay vì tin tưởng, bạn có cơ hội tự xác minh tất cả thông tin và do đó có được một phiên bản duy nhất của sự thật. Điều gì đúng với bạn tại bất kỳ thời điểm nào cũng đúng với tất cả những người tham gia khác trong hệ thống.

Nếu bạn muốn trở thành người tham gia đầy đủ trong mạng blockchain, bạn cần chạy node đầy đủ của riêng mình để cho phép bạn xác minh lịch sử của tất cả các giao dịch. Mọi người thường không sẵn sàng chạy một node đầy đủ của riêng họ và điều đó thậm chí không thể thực hiện được trên thiết bị di động. Chạy một node đầy đủ cần nhiều tài nguyên phần cứng. Hơn nữa, nó đòi hỏi thời gian và kỹ năng công nghệ nhất định.

Vấn đề đã được giải quyết một phần bằng cái gọi là node nhẹ chỉ lưu trữ các tiêu đề của khối (một loại tóm tắt các giao dịch của từng khối) thay vì toàn bộ khối. Điều này đã làm giảm các yêu cầu về lưu trữ, sức mạnh xử lý và băng thông. Tuy nhiên, nhược điểm là node nhẹ không thể xác minh các giao dịch độc lập với node đầy đủ. Các node nhẹ cũng phải dựa vào các node đầy đủ để chuyển các giao dịch của chúng lên mạng và nhận lại các bản cập nhật về trạng thái blockchain.

Các node nhẹ chỉ có thể xác minh các giao dịch mà không có node đầy đủ nếu chúng có nguồn thông tin đáng tin cậy, chẳng hạn như bằng chứng mật mã hoặc điểm kiểm tra đáng tin cậy. Ví dụ: một số node nhẹ sử dụng giao thức Xác minh thanh toán đơn giản hóa (SPV), cho phép chúng xác minh giao dịch bằng cách yêu cầu bằng chứng đưa vào từ các node đầy đủ. Bằng chứng đưa vào là một chuỗi các tiêu đề khối liên kết giao dịch với khối gần đây nhất. Sau đó, node ánh sáng có thể kiểm tra bằng chứng đối với các tiêu đề khối của chính nó và xác nhận rằng giao dịch là hợp lệ và được xác nhận bởi mạng.

Có một số ví nhẹ không phải là node nhẹ và chỉ giao tiếp thông qua các giao thức độc quyền với máy chủ. Đây thường là ví trực tuyến hoặc ví lưu ký lưu trữ khóa riêng của bạn trên máy chủ của họ và quản lý giao dịch cho bạn. Những ví này không tương tác trực tiếp với blockchain mà dựa vào máy chủ của chính họ để làm như vậy.

Ngay cả khi bạn sử dụng ví phần cứng Trezor hoặc Ledger theo cách thông thường, bạn vẫn phụ thuộc vào các máy chủ của bên thứ ba được kết nối với các node đầy đủ của các blockchain riêng lẻ.

Sự phụ thuộc vào các bên thứ ba là trái với lý tưởng của Phi tập trung, vì nó tiềm ẩn nguy cơ kiểm duyệt giao dịch, thu thập dữ liệu, rò rỉ thông tin cá nhân hoặc thậm chí là đóng băng tài khoản.

Thật ngây thơ khi mong đợi tất cả mọi người chạy các node đầy đủ vì tính phi tập trung. Cần phải tạo ra một giải pháp công nghệ cung cấp cho họ tất cả các lợi thế của một node đầy đủ và họ sẽ có thể chạy thuận tiện trên điện thoại di động.

Mithril sẽ cho phép tạo các ứng dụng khách ánh sáng đáng tin cậy và ứng dụng DeFi hoàn toàn độc lập với bên thứ ba về khả năng xác minh dữ liệu hiệu quả trên thiết bị của chính bạn. Nó cũng cho phép khởi động node nhanh và đồng bộ hóa dữ liệu an toàn, bỏ phiếu phi tập trung dựa trên phân phối stake (quản trị trên chuỗi), quản lý sidechain hiệu quả, tạo điều kiện phát triển blockchain có khả năng mở rộng hơn, v.v.

Lược đồ đa chữ ký dựa trên ngưỡng stake (STM: Stake-based Threshold Multi-signature)

Mithril về cơ bản là một sơ đồ chữ ký cho phép mạng Cardano tạo chứng chỉ mật mã. Các chứng chỉ này là bằng chứng có thể kiểm chứng dễ dàng rằng nó đã được tạo (ký bằng mật mã) bởi những người tham gia sở hữu số tiền stake cần thiết.

Bạn có thể coi chứng chỉ là một thông báo mà nhiều người tham gia (người nắm giữ ADA) đồng ý và tích cực xác thực thông báo bằng chữ ký (kỹ thuật số) của họ để tuyên bố công khai thỏa thuận của họ. Những người tham gia về cơ bản có thể xác nhận bất kỳ thông tin nào bằng chữ ký của họ. Một trong những cách sử dụng cụ thể có thể là tạo snapshot thường xuyên với trạng thái của blockchain.

Tất cả các bên liên quan không cần thiết phải xác nhận thông báo. Thay vào đó, mỗi khi một chứng chỉ mới được tạo, một nhóm người tham gia ngẫu nhiên sẽ được chọn và một nhóm nhỏ những người tham gia đó được yêu cầu ký tên vào chứng chỉ đó. Tương tự như slot leader có quyền tạo một khối mới trong một vị trí nhất định, những người tham gia Mithril được lựa chọn ngẫu nhiên.

Đa chữ ký dựa trên ngưỡng stake (STM) là một loại sơ đồ chữ ký ngưỡng (threshold signature scheme - TSS) tôn trọng việc phân phối stake (tiền) trong mạng blockchain. TSS là một hệ thống cho phép tạo một chữ ký số duy nhất dựa trên chữ ký của nhiều người ký.

Đây là một khái niệm tương tự như lược đồ đa chữ ký K-of-N. Ví dụ, trong sơ đồ này, 5 người tham gia sở hữu một khóa riêng có thể được sử dụng để ký một tin nhắn. Nếu một tin nhắn chỉ được ký bởi 3 người tham gia, nó được coi là hợp lệ (3/5).

Sơ đồ STM khác với sơ đồ K-of-N ở chỗ số lượng người tham gia có thể ký chứng chỉ được xác định dựa trên số lượng người tham gia đã đăng ký (người ký) và stake của họ.

Ví dụ, nếu bạn biết cách thức hoạt động của chữ ký số thông thường mà bạn sử dụng khi tạo giao dịch blockchain, bạn sẽ dễ dàng hiểu được các nguyên tắc cơ bản về cách thức hoạt động của STM.

STM là một loại giao thức chữ ký số cho phép một nhóm các bên ký chung một tin nhắn (tạo chứng chỉ) mà không tiết lộ khóa riêng của họ. Chữ ký điện tử là một cách để chứng minh tính xác thực và tính toàn vẹn của một thông điệp. Chữ ký số thường được tạo bằng cách ứng dụng một hàm toán học cho thông điệp và khóa riêng của người ký. Khóa riêng là một phần thông tin bí mật mà chỉ người ký biết, trong khi khóa chung là một phần thông tin liên quan mà bất kỳ ai cũng có thể sử dụng để xác minh chữ ký.

Lưu ý: Bạn sẽ hiểu rõ hơn về hình ảnh bên dưới khi đọc về vai trò của những người tham gia trong mạng Mithril trong phần tiếp theo.

STM hoạt động bằng cách chia khóa riêng thành nhiều phần và phân phối chúng giữa các bên khác nhau dựa trên stake (tiền ADA). Sau đó, mỗi bên có thể sử dụng chia sẻ của mình để tạo chữ ký một phần trên tin nhắn mà không cần biết khóa riêng đầy đủ. Sau đó, các chữ ký một phần có thể được kết hợp (bởi trình tổng hợp) để tạo ra chữ ký hợp lệ không thể phân biệt được với chữ ký được tạo bởi khóa riêng đầy đủ. Ưu điểm của phương pháp này là nó tăng tính bảo mật và khả năng phục hồi của quá trình ký, vì không một bên nào có thể ký hoặc xâm phạm khóa riêng.

Vì đây là sơ đồ chữ ký ngưỡng, nên cần có số lượng người ký cần thiết tham gia vào việc ký chứng chỉ. Mặt khác, không thể tạo chứng chỉ mới, đây không phải là vấn đề, vì nó có thể được thực hiện trong vòng tiếp theo với một nhóm người ký được chọn ngẫu nhiên khác.

Người ký hành động độc lập với nhau và mỗi chữ ký cá nhân có thể được xác minh. Các chữ ký riêng lẻ được tổng hợp và có thể tạo chứng chỉ mới nếu đã đạt đến ngưỡng yêu cầu. Chữ ký tổng hợp có thể được xác minh đối với khóa công khai toàn cầu đại diện cho tập hợp các bên liên quan.

Việc tạo chứng chỉ Mithril được điều chỉnh bởi một số tham số. Tham số m xác định số lượng xổ số mà một người tham gia có thể ký. Tham số k xác định số lượng chữ ký được yêu cầu để tạo chứng chỉ hợp lệ. Tham số φ xác định tính ngẫu nhiên trong hệ thống ảnh hưởng đến cơ hội trúng xổ số và ký chứng nhận.

Tạo chứng chỉ Mithril

Một số vai trò được xác định tham gia vào việc tạo chứng chỉ Mithril.

Người ký Mithril là một node hoạt động minh bạch trên các node SPO Cardano. Nó hoạt động cùng với bộ tổng hợp Mithril. Người ký Mithril tạo một cặp khóa Mithril mới cho mỗi epoch và ký chúng bằng khóa KES. Sau đó, các khóa xác minh (khóa chung) sẽ được phát cho tất cả những người ký khác trong mạng Mithril. Node người ký thường xuyên xác minh các snapshot về trạng thái đầy đủ của blockchain Cardano và ký các snapshot này bằng cách sử dụng khóa riêng Mithril.

Bộ tổng hợp Mithril là một node đáng tin cậy chịu trách nhiệm điều phối các hoạt động của các node ký tên Mithril. Node tổng hợp kiểm soát việc tạo chứng chỉ Mithril mới. Để làm điều này, bộ tổng hợp cần hợp tác với các node người ký và điều phối chúng. Tất cả những người ký trong một vòng nhất định sẽ ký trạng thái đầy đủ của blockchain Cardano (ảnh chụp nhanh) và gửi chữ ký đến bộ tổng hợp. Một số người ký có thể không gửi được chữ ký (mất điện, tấn công, v.v.). Sau khi trình tổng hợp nhận đủ số lượng chữ ký, nó có thể tạo chứng chỉ Mithril dựa trên việc kết hợp tất cả các chữ ký lại với nhau (kết hợp các chữ ký một phần sẽ tạo ra một chữ ký tương đương như thể đó là chứng chỉ được ký bằng khóa riêng).

Trình tổng hợp node lưu trữ tất cả snapshot và chứng chỉ liên quan. Khách hàng có thể lấy thông tin này từ node tổng hợp và làm việc với nó, chẳng hạn như nhanh chóng khởi động và node.

Máy khách có thể có được snapshot và xác minh chúng thông qua các chứng chỉ, vì nó sử dụng cùng nguyên tắc mật mã Mithril như người ký và người tổng hợp. Khách hàng có thể nhanh chóng xác minh tính xác thực của dữ liệu, tức là tính toàn vẹn của blockchain.

Trong hình ảnh bên dưới, bạn có thể thấy các bước riêng lẻ dẫn đến việc tạo chứng chỉ Mithril. Đây là một hình thức đơn giản hóa, vì quá trình này hơi phức tạp hơn và bao gồm nhiều bước hơn cho tất cả những người tham gia. Chỉ có một người ký tên trong hình để rõ ràng, nhưng trên thực tế, có nhiều người trong số họ hơn.

Cần phải nhận ra rằng toàn bộ quá trình tạo chứng chỉ diễn ra theo các giai đoạn riêng lẻ.

Trong giai đoạn đầu tiên, được gọi là giai đoạn thiết lập, các node đồng ý về các tham số Mithil và một nhóm người ký.

Trong giai đoạn thứ hai, các khóa được đăng ký trên tất cả các node của người ký. Khóa xác minh tổng hợp được tạo dựa trên tất cả các đăng ký tại một thời điểm nhất định.

Giai đoạn thứ ba được gọi là hoạt động và diễn ra theo chu kỳ. Sự bắt đầu của mỗi chu kỳ mới được báo hiệu thông qua một tin nhắn. Ảnh chụp nhanh bộ UTXO sẽ xuất hiện và người ký phải ký vào thông báo. Mỗi người ký kiểm tra xem nó có đủ điều kiện để ký tin nhắn hay không. Đố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 tin nhắn, khóa xác minh, stake và đường dẫn của bên trong cây Merkle.

Node tổng hợp xác minh chữ ký từ tất cả những người ký. 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ỉ. Nếu đạt được số đại biểu cần thiết, có thể tạo chữ ký tổng hợp từ tất cả các chữ ký riêng lẻ. Node tạo ra một 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.

Chữ ký cá nhân được phát cho tất cả các bên trong mạng. Điều quan trọng là mỗi bên có thể xuất trình chứng chỉ một cách độc lập. Đặc biệt, bên thực hiện tổng hợp không bắt buộc phải có bất kỳ kiến ​​thức cụ thể nào, cũng như không được giả định là trung thực. Có thể nói rằng bất kỳ bên thứ ba nào có quyền truy cập vào các chữ ký riêng lẻ đều có thể thực hiện việc tổng hợp chữ ký. Nói cách khác, tất cả những người ký hoặc bất kỳ node nào khác đều có thể trở thành node tổng hợp.

Tiềm năng của công nghệ Mithril

Mithril đại diện cho một nguyên thủy rất hữu ích có khả năng thú vị đối với tất cả các blockchain hiện có. Bằng cách liên kết các khóa STM với các tài khoản crypto riêng lẻ, chủ sở hữu Token có thể tham gia xác nhận chung bất kỳ thông báo nào theo cách hoàn toàn phi tập trung.

Thông qua các tham số, có thể dễ dàng xác định ngưỡng (1/2 hoặc 2/3) phải đạt được để chứng minh bằng mật mã rằng nhóm (stake) được yêu cầu xác nhận thông báo. Người ký có thể ký tin nhắn riêng lẻ và xuất bản chữ ký thông qua blockchain. Điều này rất hữu ích cho quản trị on-chain. Ngay cả trong trường hợp của Bitcoin, những người nắm giữ BTC có thể phê chuẩn, chẳng hạn như nâng cấp phần mềm.

Mithril có thể được sử dụng để thường xuyên tạo snapshot, tức là lưu trữ trạng thái của blockchain Cardano. Điều này sẽ cho phép khởi động một node rất nhanh, vì không cần thiết phải tải xuống toàn bộ blockchain và xác minh tất cả các giao dịch riêng lẻ trong lịch sử. Khách hàng chỉ cần tải xuống tất cả snapshot cùng với chứng chỉ và xác minh chúng là đủ. Điều này có thể thực hiện được trong một thời gian tương đối ngắn (vài phút) và ngay sau đó node có thể xác minh các giao dịch và khối mới nhất. Nói cách khác, trở thành một ứng dụng khách nhẹ không phụ thuộc vào giao tiếp với một node đầy đủ. Nhờ có Mithril, một ứng dụng khách nhẹ có thể có cùng mức độ bảo mật như một node đầy đủ và các yêu cầu về tài nguyên sẽ thấp đến mức có thể chạy ứng dụng khách nhẹ trên điện thoại di động.

Một cách sử dụng quan trọng khác của nguyên mẫu mật mã Mithril là dành cho sidechain, vì việc chuyển tài sản giữa các mạng sẽ dễ dàng hơn đáng kể thông qua khả năng xác minh nhanh trạng thái toàn cầu mới nhất.

Như chúng tôi đã đề cập ở trên, Mithril là một công nghệ phù hợp để quản trị on-chain, vì nó dễ dàng tổ chức bỏ phiếu dựa trên quyền sở hữu Token. Việc bỏ phiếu không thể bị thao túng bởi bên thứ ba theo bất kỳ cách nào và không ai có thể bị ngăn cản bỏ phiếu, vì mỗi ứng dụng khách nhẹ sẽ hoàn toàn độc lập với bên thứ ba. Tất cả các kết quả bỏ phiếu sẽ được lưu trữ minh bạch trên blockchain và mọi người có thể xác thực kết quả đó.

Mithril sẽ là một khối xây dựng quan trọng đối với Ouroboros Leios (Input endorsers), vì thông qua các chứng chỉ, có thể chuẩn bị trước (xác thực trước) các khối trước khi đưa chúng vào blockchain lần cuối.

Phần kết luận

Mithril có thể được coi là một bước tiến lớn cho việc Phi tập trung, khi một bộ phận lớn người dùng vẫn đang phải dựa vào bên thứ ba. Mọi người muốn có các giao dịch nhanh và rẻ trên điện thoại di động của họ và điều này là không thể trong hầu hết các trường hợp nếu không tương tác với một node đầy đủ chạy trên thiết bị khác. Hầu hết mọi người không muốn và sẽ không bao giờ sẵn sàng chạy node đầy đủ của riêng họ. Mithril sẽ cho phép giao tiếp mạng ngang hàng không tin cậy từ điện thoại di động của bạn. Nói cách khác, điện thoại của bạn chỉ có thể giao tiếp với mạng Cardano và có bảo mật của một node đầ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