A large, metallic vault door with three golden

Giải thích ví multisig: cách phê duyệt M-trong-N thực sự chuyển tiền

By AI News Crypto Editorial Team9 min read

Ví multisig được giải thích: một ví đa chữ ký chỉ gửi tiền khi ít nhất M trong số N khóa được ủy quyền phê duyệt cùng một giao dịch, thay vì dựa vào một khóa riêng. Thiết kế đó biến việc giữ tiền thành một mô hình hoạt động, với một quy trình đề xuất và xem xét, logistics phí, và các lựa chọn triển khai cụ thể cho chuỗi có thể giữ tiền an toàn hoặc để chúng bị kẹt.

Điểm chính

  • Một ví multisig yêu cầu hai hoặc nhiều khóa riêng để ủy quyền cho một giao dịch, thường sử dụng ngưỡng m trong n như 2 trong 3 hoặc 3 trong 5.
  • Quy trình cốt lõi là một quy trình phê duyệt: một người ký đề xuất một giao dịch, các người ký khác thêm chữ ký, ví kiểm tra ngưỡng, sau đó giao dịch được phát sóng.
  • Multisig trên chuỗi được tích hợp vào một giao thức (như Bitcoin P2SH) hoạt động khác với một ví hợp đồng thông minh multisig trên Ethereum (như ví Safe), bao gồm rủi ro hợp đồng và dapp tương thích qua ERC-1271.
  • Multisig và mpc giải quyết “kiểm soát chia sẻ” khác nhau: multisig để lại một dấu vết phê duyệt trên chuỗi gắn liền với các khóa khác nhau, trong khi MPC tạo ra chữ ký thông qua tính toán ngoài chuỗi mà không bao giờ tập hợp một khóa đầy đủ.

Cách mà ví multisig thay đổi kiểm soát khóa

Một ví chữ ký đơn tập trung quyền lực vào một khóa riêng, có nghĩa là một sự thỏa hiệp hoặc một khóa bị mất có thể là kết thúc. Multisig thay đổi bề mặt kiểm soát đó bằng cách chia quyền lực giữa nhiều khóa và yêu cầu một ngưỡng phê duyệt trước khi tiền di chuyển. Đó là lý do tại sao multisig thường xuất hiện trong các cuộc thảo luận về bảo mật ví và trong các cuộc trò chuyện giải thích về các loại ví tiền điện tử rộng hơn. Nó không chỉ là “nhiều khóa hơn.” Đó là một bộ quy tắc cho ai có thể ủy quyền cho cái gì.

Mô hình tư duy quan trọng là quản trị, không phải mật mã. Một thiết lập multisig mã hóa một chính sách phê duyệt phù hợp với cách mà một đội, gia đình, hoặc DAO đã hành xử. Nếu quy trình thực tế là “hai người phải ký,” một 2 trong 2 phù hợp với ý định nhưng tạo ra rủi ro ngừng hoạt động nếu một trong hai người ký biến mất.

Nếu quy trình thực tế là “hai người ký, nhưng phải có một con đường phục hồi,” 2 trong 3 là mặc định phổ biến vì nó cho phép một khóa bị thiếu trong khi vẫn ngăn chặn quyền kiểm soát đơn phương.

Multisig cũng nằm ở một vị trí cụ thể trên phổ giữ tiền. Nó vẫn là một mô hình ví không giữ tiền khi các người ký kiểm soát các khóa và không bên thứ ba nào có thể di chuyển tiền một cách đơn phương. Sự khác biệt là “chủ sở hữu” giờ đây là một chính sách nhóm thay vì một cá nhân. Chính sách đó có thể được thực hiện một cách bản địa bởi một chuỗi, hoặc được thực thi bởi một hợp đồng trên các chuỗi hợp đồng thông minh. Lựa chọn triển khai đó là nơi nhiều bất ngờ hoạt động xuất hiện.

Mô hình M trong N và quy trình làm việc

Quy tắc ngưỡng là toàn bộ trò chơi: N là tổng số khóa được ủy quyền, và M là số chữ ký tối thiểu cần thiết để phê duyệt một giao dịch. Các cấu hình phổ biến ánh xạ rõ ràng đến các quy trình phê duyệt thực tế: 2 trong 2 cho các đối tác ngang hàng, 2 trong 3 cho các nhóm nhỏ với một khóa dự phòng, và 3 trong 5 cho kiểm soát kiểu ủy ban có thể sống sót qua các sự vắng mặt.

Quy trình làm việc quan trọng vì multisig là một quy trình phê duyệt diễn ra mỗi khi tiền di chuyển. Một quy trình điển hình theo một chuỗi có thứ tự:

1. Tạo một đề xuất giao dịch. Một người ký được ủy quyền soạn thảo địa chỉ đích, số tiền, và bất kỳ dữ liệu gọi nào. 2. Thu thập chữ ký. Các người ký được ủy quyền khác xem xét đề xuất và ký nó bằng các khóa riêng của họ. 3. Xác minh ngưỡng. Ví kiểm tra rằng ít nhất M phê duyệt của người ký hợp lệ có mặt. 4. Phát sóng và thực hiện. Giao dịch đã được phê duyệt hoàn toàn được gửi đến mạng để xác nhận.

Hai chi tiết hoạt động thường quyết định liệu multisig có cảm thấy “an toàn” hay “bị kẹt.” Chi tiết đầu tiên là sự sẵn có của người ký: nếu M người ký không thể phản hồi trong khoảng thời gian mà tổ chức cần, ví trở thành một điểm nghẽn. Chi tiết thứ hai là tài trợ phí.

EIP-86 đã chỉ ra một điểm đau cụ thể sớm trong lịch sử Ethereum: các hoạt động multisig có thể yêu cầu nhiều giao dịch phê duyệt, và các người tham gia có thể cần ETH để trả phí để gửi những phê duyệt đó. Đó không phải là một chú thích lý thuyết. Đó là loại ma sát xuất hiện khi một đội đang cố gắng di chuyển tiền dưới áp lực thời gian và phát hiện ra rằng các người ký thậm chí không thể trả tiền để phê duyệt.

Multisig trên chuỗi và hợp đồng thông minh

Multisig kiểu Bitcoin và multisig kiểu Ethereum có thể trông giống nhau từ bên ngoài, nhưng chúng thất bại khác nhau vì chúng được xây dựng khác nhau. Multisig trên chuỗi là hỗ trợ giao thức bản địa, với Bitcoin P2SH là ví dụ điển hình. Các điều kiện chi tiêu sống trong các quy tắc kịch bản của chuỗi. Điểm cộng là diện tích bề mặt nhỏ hơn vì không có mã hợp đồng riêng biệt để tin tưởng. Điểm trừ là tập hợp các tính năng bị hạn chế bởi những gì giao thức cơ bản hỗ trợ.

Multisig hợp đồng thông minh là một động vật khác. Trên Ethereum và các chuỗi tương tự, một multisig thường là một ví hợp đồng thông minh, với ví Safe là triển khai tham chiếu được sử dụng rộng rãi. Hợp đồng giữ tài sản và thực thi các quy tắc phê duyệt trong mã. Điều đó mở khóa tính linh hoạt, nhưng nó cũng giới thiệu rủi ro hợp đồng và công việc tương thích.

Tính tương thích là nơi multisig Ethereum trở nên ít về chữ ký và nhiều hơn về tiêu chuẩn. Nhiều ứng dụng mong đợi một thông điệp đã ký từ một tài khoản sở hữu bên ngoài. Một hợp đồng không thể tạo ra một chữ ký ECDSA bình thường vì nó không có khóa riêng.

ERC-1271 là cái bắt tay sửa chữa điều này: nó định nghĩa một phương thức isValidSignature(hash, signature) mà các ứng dụng có thể gọi khi “người ký” là một hợp đồng, và nó yêu cầu trả về giá trị ma thuật 0x1626ba7e khi xác thực thành công. Khi một dapp hỗ trợ ERC-1271, nó có thể coi các phê duyệt từ một ví hợp đồng là ủy quyền thực sự.

Khi nó không hỗ trợ, multisig có thể bị chặn khỏi các quy trình làm việc dựa vào các thông điệp đã ký, như các hệ thống đặt hàng ngoài chuỗi.

Nơi multisig được sử dụng

Multisig xuất hiện ở bất kỳ đâu yêu cầu thực sự là kiểm soát chia sẻ với một dấu vết kiểm toán. Các quỹ doanh nghiệp và dự án sử dụng multisig để buộc các phê duyệt rõ ràng cho các chuyển khoản, vì vậy không có một nhà điều hành nào có thể di chuyển tiền một cách đơn phương. Các DAO và quỹ cộng đồng sử dụng multisig như một lớp kiểm soát thực tiễn, đặc biệt khi nhóm muốn có trách nhiệm rõ ràng về ai đã phê duyệt cái gì.

Các thỏa thuận giống như ký quỹ là một sự phù hợp tự nhiên khác. Một mẫu 2 trong 3 có thể gán một khóa cho người mua, một cho người bán, và một cho một trọng tài trung lập. Tiền chỉ di chuyển khi hai bên đồng ý, điều này giảm bớt nhu cầu tin tưởng vào một trung gian duy nhất. Cấu trúc tương tự có thể được sử dụng cho các quỹ đối tác mà không bên nào muốn bên kia có quyền rút tiền đơn phương.

Các thiết lập bảo mật cá nhân là trường hợp sử dụng yên tĩnh hơn, và chúng thường bị hiểu lầm. Một 2 trong 3 có thể chia khóa giữa các thiết bị và vị trí, hoặc thêm một bản sao dự phòng từ một bên đáng tin cậy để phục hồi. Điểm không phải là tạo ra một nghi thức ký phức tạp. Điểm là tách biệt các miền thất bại.

Nếu tất cả các khóa sống trên cùng một hệ sinh thái thiết bị, hoặc tất cả các khóa đều được giữ bởi cùng một người “vì sự tiện lợi,” nhãn multisig đang làm công việc tiếp thị, không phải công việc rủi ro.

Đây cũng là nơi luận án mô hình hoạt động cắn. M là n đúng là cái phù hợp với quy trình phê duyệt và thời gian ngừng hoạt động chấp nhận được nếu một người ký biến mất. Một 2 trong 2 có thể hoàn hảo cho một tài khoản chung cho đến khi một khóa bị mất. Một 3 trong 5 có thể hoàn hảo cho sự liên tục cho đến khi nhóm nhận ra rằng các phê duyệt giờ đây yêu cầu lập lịch.

Lợi ích bảo mật và sự đánh đổi hoạt động

Lợi ích bảo mật của multisig là rõ ràng: việc thỏa hiệp một khóa không đủ để di chuyển tiền. Điều đó giảm bớt phạm vi thiệt hại của lừa đảo, phần mềm độc hại trên một thiết bị duy nhất, hoặc một người trong nội bộ đi lạc. Nó cũng tạo ra trách nhiệm rõ ràng hơn vì các phê duyệt được gắn với các khóa ký khác nhau và có thể được kiểm toán như một phần của lịch sử thực hiện của ví.

Các sự đánh đổi chủ yếu là hoạt động, và chúng xuất hiện như các chế độ thất bại. Sự phối hợp là điều hiển nhiên, nhưng các vấn đề tốn kém hơn thường là quy trình. Xem xét không chính thức dẫn đến việc ký sai tải trọng, gửi đến đích sai, hoặc phê duyệt nonce sai. Multisig làm cho việc xây dựng một văn hóa danh sách kiểm tra dễ dàng hơn, nhưng nó không thực thi một cách mặc định.

Logistics phí là cái bẫy lặp lại khác. EIP-86 đã chỉ ra rõ ràng rằng multisig có thể yêu cầu nhiều giao dịch phê duyệt và rằng các người tham gia có thể cần ETH để trả phí. Điều đó tạo ra một câu hỏi chính sách mà mọi nhóm multisig phải trả lời: ai chịu trách nhiệm giữ cho các người ký được tài trợ cho các phê duyệt, và điều gì xảy ra khi họ không được tài trợ.

Các phương pháp hợp đồng tài khoản được thúc đẩy một phần bởi mong muốn hợp đồng giữ ETH và trả phí, chính xác vì “mỗi người ký cần gas” là một giả định hoạt động dễ vỡ.

Lựa chọn ngưỡng là sự đánh đổi cuối cùng, và nó không được giải quyết bằng cách thêm nhiều người ký hơn. 2 trong 2 tối đa hóa kiểm soát lẫn nhau nhưng có thể đóng băng vĩnh viễn tiền nếu một khóa bị mất. 2 trong 3 phổ biến vì nó tích hợp tính dư thừa thông qua một khóa dự phòng. 3 trong 5 là cấp độ quản trị khi sự liên tục qua các sự vắng mặt quan trọng hơn tốc độ.

N cao hơn có thể tăng cường sự thất bại trong phối hợp, điều đó có nghĩa là “nhiều người ký hơn” có thể giảm xác suất rằng ví có thể hành động khi cần thiết.

Cách mà multisig so sánh với MPC

Multisig và MPC đều nhằm giảm thiểu rủi ro từ khóa đơn, nhưng chúng thực hiện điều đó với các thuộc tính trách nhiệm và vận hành khác nhau. Multisig sử dụng nhiều khóa hoàn chỉnh được giữ bởi các người ký khác nhau, và ví kết hợp các phê duyệt trên chuỗi để ủy quyền cho một giao dịch.

Dấu vết phê duyệt là rõ ràng và gắn liền với các danh tính người ký khác nhau, đó là lý do tại sao multisig thường được ưa chuộng khi tính minh bạch và khả năng kiểm toán là yêu cầu.

MPC chia một khóa ký thành các mảnh và tạo ra các chữ ký thông qua tính toán ngoài chuỗi, mà không có bên nào nắm giữ toàn bộ khóa. Kiến trúc đó có thể hỗ trợ tự động hóa mượt mà hơn và có thể không phụ thuộc vào blockchain, điều này quan trọng cho các hoạt động đa chuỗi. Sự đánh đổi là quy trình phê duyệt không tự nhiên là một dấu vết kiểm toán trên chuỗi, từng người ký một cách như multisig.

Khung quyết định không phải là “cái nào an toàn hơn” như một tuyên bố phổ quát. Nó là “cái gì cần được chứng minh trên chuỗi, và cái gì cần nhanh chóng và vận hành mượt mà.” Nếu yêu cầu là quản trị và trách nhiệm rõ ràng cho các phê duyệt, multisig phù hợp một cách tự nhiên. Nếu yêu cầu là thông lượng vận hành qua nhiều chuỗi với tự động hóa dựa trên chính sách, MPC thường phù hợp hơn.

Đây cũng là nơi mà các chi tiết thực hiện trở nên quan trọng. Một multisig trên một chuỗi có hỗ trợ bản địa hoạt động khác với một multisig dựa trên hợp đồng phụ thuộc vào khả năng tương thích ERC-1271 cho các quy trình thông điệp đã ký. Sự khác biệt đó là một phần của các loại ví được giải thích, và đó là lý do tại sao hai sản phẩm có thể đều được gọi là “multisig” trong khi thất bại theo những cách hoàn toàn khác nhau.

Lời kết

Tôi đã thấy các đội ngũ coi multisig như một ô kiểm, rồi sau đó phát hiện ra rằng họ đã xây dựng một quy trình phê duyệt dễ bị tổn thương. Khoảnh khắc tốn kém không phải là ngày ví được tạo ra. Đó là ngày một người ký đang đi du lịch, một thiết bị bị hỏng, và nhóm nhận ra rằng ngưỡng họ chọn có nghĩa là một ngân sách thời gian chết rất thực tế.

Tư thế sạch sẽ là thiết kế multisig như một hệ thống kiểm soát bàn làm việc: đề xuất, xem xét, chữ ký, kiểm tra ngưỡng, phát sóng, với quyền sở hữu cho việc tài trợ phí và một kế hoạch cho sự biến mất của người ký. 2-of-2 là kiểm soát tối đa và dễ bị đóng băng, 2-of-3 là mặc định thực tiễn vì nó có một con đường phục hồi, và 3-of-5 là những gì được sử dụng khi tính liên tục quan trọng hơn tốc độ. Số lượng người ký không phải là tính năng. Mô hình vận hành mới là.

Nguồn

Frequently Asked Questions

2 trong 3 multisig có nghĩa là gì?

Một multisig 2 trong 3 có nghĩa là có ba khóa được ủy quyền (N=3), và bất kỳ hai trong số đó (M=2) phải phê duyệt để giao dịch được thực hiện. Nó phổ biến vì cho phép một khóa bị thiếu hoặc mất mà vẫn ngăn chặn quyền kiểm soát đơn phương. Nhiều đội ngũ sử dụng khóa thứ ba như một bản sao lưu được lưu trữ riêng.

Ví multisig có phải là không giữ tài sản không?

Nó có thể không giữ tài sản nếu những người ký kiểm soát các khóa và không bên thứ ba nào có thể di chuyển quỹ một mình. Mô hình giữ tài sản là chia sẻ, có nghĩa là "chủ sở hữu" là quy tắc phê duyệt thay vì một người giữ khóa đơn lẻ. Một số thiết lập doanh nghiệp thêm các nhà cung cấp dịch vụ để phối hợp, nhưng đặc điểm xác định là liệu có bên bên ngoài nào có thể ký một cách đơn phương hay không.

Sự khác biệt giữa ví multisig và ví MPC là gì?

Multisig sử dụng nhiều khóa hoàn chỉnh và ủy quyền giao dịch bằng cách kết hợp các phê duyệt trên chuỗi. MPC chia một khóa thành các mảnh và tạo ra chữ ký thông qua tính toán ngoài chuỗi mà không bao giờ lắp ráp một khóa hoàn chỉnh. Multisig có xu hướng tối đa hóa khả năng kiểm toán trên chuỗi, trong khi MPC thường tối ưu hóa cho tự động hóa và hoạt động đa chuỗi.

Tại sao ERC-1271 lại quan trọng đối với ví multisig Safe trên Ethereum?

Nhiều ứng dụng Ethereum mong đợi một thông điệp đã ký từ một tài khoản thuộc sở hữu bên ngoài, nhưng một ví hợp đồng không thể tạo ra chữ ký ECDSA bình thường. ERC-1271 định nghĩa isValidSignature(hash, signature) để các ứng dụng có thể hỏi một ví hợp đồng liệu một chữ ký có nên được coi là hợp lệ hay không. Tiêu chuẩn yêu cầu trả về 0x1626ba7e khi xác thực thành công.

Các cách chính mà ví multisig bị kẹt là gì?

Nguyên nhân phổ biến nhất là sự sẵn có của người ký và logistics phí. Nếu ngưỡng yêu cầu những người ký không thể phản hồi kịp thời, các phê duyệt sẽ bị đình trệ. EIP-86 cũng đã nhấn mạnh rằng multisig có thể liên quan đến nhiều giao dịch phê duyệt và rằng các thành viên có thể cần ETH để trả phí để gửi phê duyệt.