Multisig (đa chữ ký) là cách thiết lập để một khoản tài sản chỉ chi được khi có đủ số chữ ký theo quy định, ví dụ 2 trên 3 khóa. Trang này giải thích ngưỡng M-of-N, multisig giúp chống những rủi ro nào và vì sao phục hồi cần cả thông tin cấu hình.
Nếu một khoản tiền chỉ cần một khóa để chi, mất hoặc lộ khóa ấy có thể quyết định toàn bộ khả năng truy cập. Multisig đặt một điều kiện khác: một nhóm chữ ký phải cùng đáp ứng chính sách chi tiêu. Nhờ đó, thiết kế quyền kiểm soát có thể dựa vào tổ hợp khóa thay vì một bí mật duy nhất.
Multisig và ngưỡng M-of-N
Multisig — đa chữ ký — yêu cầu các chữ ký theo một policy, tức chính sách chi tiêu. Trong mô hình M-of-N, có N khóa được chỉ định và cần đủ M khóa ký theo điều kiện. BIP11 là tài liệu lịch sử mô tả dạng giao dịch M-of-N; nó giúp giải thích nguyên tắc, không phải khuyến nghị dùng nguyên dạng triển khai ban đầu cho ví hiện tại. Nguồn: BIP11.
Nếu chưa quen khái niệm khóa và chữ ký, xem Khóa riêng, khóa công khai và địa chỉ và Chữ ký số. Nhiều người cùng biết mật khẩu của một khóa không biến khóa đó thành N khóa độc lập.
Ví dụ logic 2-of-3
Ví dụ giả định policy có ba khóa A, B, C, yêu cầu hai khóa và không có điều kiện chi tiêu bổ sung. A, B và C chỉ là nhãn.
| Tổ hợp | Đạt ngưỡng hai khóa? |
|---|---|
| A | Không |
| B | Không |
| C | Không |
| A và B | Có |
| A và C | Có |
| B và C | Có |
Kết quả này có thể kiểm chứng bằng đếm số khóa trong tổ hợp. Nó phù hợp cách Bitcoin Core mô tả policy k-of-n trong hàm descriptor multisig: bất kỳ k khóa trong n khóa quy định phải ký. Nguồn: Bitcoin Core — Output Descriptors, Multisig.
Ví dụ chỉ xét điều kiện ngưỡng. Khi áp dụng, toàn bộ giao dịch vẫn phải đáp ứng các quy tắc khác, chứ có hai chữ ký không tự làm mọi dữ liệu giao dịch trở nên hợp lệ.
Chống mất một khóa khác chống hai khóa bị chiếm
Từ giả định 2-of-3, có thể suy ra hai tình huống. Nếu A không còn khả dụng nhưng B và C còn, tổ hợp B+C vẫn đạt ngưỡng. Nếu A và B cùng nằm trong tay một bên không được phép, tổ hợp ấy cũng đạt ngưỡng kỹ thuật. Cùng một policy vừa cho khả năng chịu mất một khóa, vừa có giới hạn khi đủ khóa bị chiếm.
Đó là suy luận của mô hình, không phải thống kê tần suất sự cố. Muốn đánh giá độ độc lập giữa các khóa phải biết nơi lưu trữ, người vận hành và các điểm lỗi chung. Ba khóa có chung một điểm lỗi có thể cùng bị ảnh hưởng khi điểm đó gặp sự cố.
Vì sao phục hồi cần cả thông tin cấu hình?
Người phục hồi cần biết mình đang tái tạo điều kiện nào, không chỉ giữ một vật liệu bí mật rời rạc. Bitcoin Core descriptors diễn đạt ngưỡng, các khóa và cấu trúc script; thứ tự khóa có ý nghĩa đối với một số cách mô tả. Vì vậy, bỏ qua thông tin policy có thể khiến việc tìm lại đúng đầu ra phức tạp hơn. Nguồn: Bitcoin Core — Output Descriptors.
Chi tiết lưu gì và vận hành ra sao phụ thuộc cấu hình cụ thể. Bài này không đưa bộ hướng dẫn phục hồi production. Nền tảng được giải thích tại Seed phrase, ví HD và phục hồi.
Multisig không tự xác định mô hình lưu ký
Một policy nhiều khóa có thể phân bố quyền giữa các thiết bị của một người, giữa nhiều người hoặc giữa người dùng và bên cung cấp dịch vụ. Cần kiểm tra tổ hợp thực sự đủ quyền, chứ không chỉ đếm số bên được giới thiệu trên giao diện.
Ví dụ giả định, nếu một tổ chức nắm hai trong ba khóa của policy 2-of-3, tổ chức ấy có thể đạt ngưỡng mà không cần khóa còn lại. Đây là hệ quả số học của ví dụ, không phải nhận định về một dịch vụ có thật. Xem Custodial và self-custody để đọc quyền kiểm soát cùng trách nhiệm của các bên.
Những ngộ nhận cần tránh
Nhiều khóa luôn an toàn hơn. Thêm khóa có thể giảm một điểm lỗi, đồng thời thêm yêu cầu sao lưu và phối hợp.
Multisig nghĩa là không ai tự quyết định được. Kết luận phụ thuộc ai có thể đạt ngưỡng trong thực tế.
Mọi công nghệ ký nhiều bên đều giống nhau. Tên gọi multisig không đủ để đánh đồng các cơ chế khác; bài này chỉ trình bày policy nhiều chữ ký và không mở rộng sang thuật toán ký ngưỡng hoặc MPC.
Kết luận
Multisig thay một khóa duy nhất bằng một ngưỡng chữ ký, như 2 trên 3, nên mất một khóa chưa làm mất khả năng chi và lộ một khóa chưa đủ để chi. Đổi lại, người dùng phải quản lý nhiều khóa hơn và giữ cả thông tin cấu hình để phục hồi. Multisig cũng không tự cho biết ai nắm quyền — điều đó tùy cách phân bổ các khóa.
Đọc tiếp
- Seed phrase và phục hồi — xét dữ liệu bí mật cùng cấu hình.
- Custodial và self-custody — phân tích bên nào kiểm soát tổ hợp đủ quyền.
- Ví, khóa và quyền kiểm soát — bối cảnh vận hành chung.
- Thư viện thuật ngữ — tra cứu khái niệm liên quan.