Ví đa chữ ký là ví mà để chi tiêu, cần đủ m chữ ký trong tổng số n khoá, ví dụ hai trong ba, hoặc ba trong năm. Thay vì một khoá duy nhất là điểm hỏng duy nhất, quyền chi tiêu được chia ra: mất một khoá chưa mất tài sản, lộ một khoá chưa bị lấy. Đổi lại, thiết lập phức tạp hơn nhiều, và có một yêu cầu sao lưu mà nhiều người bỏ qua: phải giữ cấu hình ví cùng khoá công khai của mọi bên, chứ không chỉ cụm từ khôi phục của từng khoá.
Bài viết giải thích đa chữ ký hoạt động thế nào trên chuỗi, các cấu hình phổ biến, cách sao lưu đúng, những cải tiến từ Taproot, và các sai lầm hay gặp. Nội dung dành cho người muốn hiểu sâu; không phải hướng dẫn thiết lập cho tài sản thật.
Ý tưởng cơ bản
Hình dung một két sắt cần hai trong ba chìa khoá để mở. Ba người giữ ba chìa, hoặc một người giữ ba chìa ở ba nơi. Mất một chìa, vẫn mở được bằng hai chìa còn lại. Kẻ trộm lấy được một chìa, vẫn không mở được.
Đa chữ ký trong Bitcoin hiện thực ý tưởng đó bằng Script. Điều kiện chi tiêu của UTXO là: cần chữ ký hợp lệ từ m trong n khoá công khai đã định.
Với cấu hình hai trong ba, bạn có thể đặt ba khoá ở ba thiết bị khác nhau, ba địa điểm khác nhau. Một sự cố đơn lẻ, cháy nhà, mất thiết bị, bị trộm, không đủ để mất tài sản.
Đa chữ ký cũng dùng cho tổ chức: nhiều người cùng phê duyệt mới chi tiêu được, tránh một người tự ý.
Và cho thừa kế: người thân giữ một khoá, đủ để cùng với khoá dự phòng khôi phục khi cần.
Ý tưởng đơn giản, nhưng triển khai đúng thì không đơn giản.
Đa chữ ký trên chuỗi
Trong Script cổ điển, đa chữ ký dùng toán tử kiểm tra nhiều chữ ký, với danh sách n khoá công khai và con số m. Để gọn, script này thường được đặt sau P2SH hoặc P2WSH, nghĩa là địa chỉ chỉ chứa dấu vân tay của script.
Khi chi tiêu, người chi tiêu tiết lộ toàn bộ script, gồm cả n khoá công khai, và cung cấp m chữ ký. Ai quan sát chuỗi sẽ thấy đây là giao dịch đa chữ ký và cấu hình của nó.
Với Taproot, có cách hiện đại hơn: các bên kết hợp khoá thành một khoá chung, ký chung thành một chữ ký Schnorr. Trên chuỗi, giao dịch trông như giao dịch một chữ ký bình thường. Các giao thức như MuSig2 làm việc này.
Taproot cũng cho phép giấu các điều kiện dự phòng trong cây script, chỉ tiết lộ khi dùng.
Mỗi cách có ưu nhược: cách cổ điển được hỗ trợ rộng rãi; cách Taproot riêng tư và rẻ hơn nhưng đòi hỏi phần mềm hỗ trợ và quy trình ký phức tạp hơn.
Lựa chọn phụ thuộc vào phần mềm ví mà các bên dùng.
Các cấu hình phổ biến
Hai trong ba là cấu hình phổ biến nhất cho cá nhân: đủ dự phòng khi mất một khoá, đủ an toàn khi lộ một khoá.
Ba trong năm phù hợp cho tổ chức hay tài sản lớn, chịu được mất hai khoá, cần ba người đồng ý.
Hai trong hai thường không được khuyên cho dự phòng, vì mất một khoá là mất tất cả, nhưng dùng trong một số giao thức như kênh thanh toán.
Đa chữ ký hợp tác: bạn giữ hai khoá, một dịch vụ giữ một khoá. Dịch vụ không tự chi tiêu được, nhưng giúp được khi bạn mất một khoá.
Kết hợp với khoá thời gian: sau một thời gian dài không hoạt động, điều kiện nới lỏng, ví dụ một khoá dự phòng tự chi tiêu được. Phù hợp cho thừa kế.
Không có cấu hình đúng cho mọi người; cấu hình tốt là cấu hình bạn hiểu và khôi phục được.
Sao lưu: điều nhiều người quên
Với ví một khoá, cụm từ khôi phục là đủ. Với đa chữ ký, không đủ. Để tạo lại địa chỉ và chi tiêu, cần biết đủ n khoá công khai, con số m, loại script, và đường dẫn dẫn xuất.
Nếu bạn chỉ sao lưu cụm từ của hai khoá trong cấu hình hai trong ba, và mất thông tin khoá công khai của khoá thứ ba, bạn có thể không tạo lại được địa chỉ, dù có đủ hai chữ ký.
Cách hiện đại là sao lưu bộ mô tả ví, tiếng Anh là descriptor, một chuỗi văn bản mô tả đầy đủ cấu trúc ví kèm các khoá công khai mở rộng. Nhiều ví xuất được tệp cấu hình này.
Bộ mô tả không chứa khoá bí mật nên không cho phép chi tiêu, nhưng lộ quyền riêng tư. Nên lưu kèm mỗi bản sao lưu khoá, để bất kỳ m bản nào cũng đủ khôi phục.
Thử khôi phục toàn bộ với lượng nhỏ trước khi dùng thật là bước không thể bỏ qua.
Một thiết lập đa chữ ký không ai khôi phục được là một thiết lập tự khoá mình ngoài cửa.
Những sai lầm hay gặp
Sai lầm thứ nhất: để mọi khoá ở cùng một nơi hay cùng một thiết bị. Khi đó đa chữ ký chẳng khác gì một khoá.
Sai lầm thứ hai: dùng cùng một loại ví phần cứng cho mọi khoá. Nếu loại đó có lỗi, mọi khoá chịu chung. Đa dạng thiết bị giảm rủi ro chung.
Sai lầm thứ ba: không sao lưu cấu hình ví, như đã nói.
Sai lầm thứ tư: thiết lập quá phức tạp mà không ghi hướng dẫn, khiến người thân không thể khôi phục khi cần.
Sai lầm thứ năm: tin dịch vụ đa chữ ký mà không kiểm tra họ thật sự chỉ giữ một khoá. Hãy chắc chắn khoá của bạn được tạo trên thiết bị của bạn.
Đa chữ ký giảm rủi ro một điểm hỏng, nhưng thêm rủi ro sai sót trong vận hành. Cân nhắc kỹ trước khi dùng.
Đa chữ ký trong tổ chức và gia đình
Với một công ty hay một nhóm, đa chữ ký thay thế quy trình phê duyệt bằng giấy bằng một điều kiện toán học: không ai một mình chi tiêu được, dù là giám đốc. Điều này giảm rủi ro cả từ bên ngoài lẫn từ bên trong.
Nhưng nó cũng cần quy trình rõ ràng: ai giữ khoá nào, khi nhân sự thay đổi thì xử lý thế nào, ai đứng ra điều phối khi cần ký. Thay người giữ khoá thường có nghĩa là tạo ví mới và chuyển toàn bộ tài sản sang.
Với gia đình, đa chữ ký có thể phân quyền giữa vợ chồng, hoặc giữa cha mẹ và một người con đã trưởng thành, kèm một khoá dự phòng cất ở nơi an toàn.
Quan trọng là mọi người liên quan đều hiểu vai trò của mình, ít nhất ở mức biết khoá của mình cất ở đâu và không được đưa cho ai.
Về pháp lý, việc một tài sản cần nhiều chữ ký không tự động xác định ai là chủ sở hữu theo pháp luật. Với tài sản giá trị lớn, nên tìm hiểu thêm với người có chuyên môn.
Những điểm then chốt về đa chữ ký
M trong n Cần m chữ ký trong n khoá để chi tiêu.
Không điểm hỏng duy nhất Mất hay lộ một khoá chưa đủ để mất tài sản.
Script cổ điển Toán tử kiểm tra nhiều chữ ký, thường bọc trong P2SH hoặc P2WSH.
Taproot và MuSig2 Gộp khoá thành một, trên chuỗi trông như một chữ ký.
Hai trong ba Cấu hình phổ biến cho cá nhân.
Ba trong năm Phù hợp tổ chức và tài sản lớn.
Đa chữ ký hợp tác Dịch vụ giữ một khoá, không tự chi tiêu được.
Khoá thời gian Nới điều kiện sau thời gian dài, hữu ích cho thừa kế.
Bộ mô tả ví Sao lưu cấu trúc ví và khoá công khai của mọi bên.
Đa dạng thiết bị Giảm rủi ro lỗi chung.
Phân tán địa lý Các khoá ở nơi khác nhau.
Thử khôi phục Bắt buộc trước khi dùng thật.
Câu hỏi thường gặp
Đa chữ ký là gì?
Là cấu hình ví cần m chữ ký trong n khoá để chi tiêu, ví dụ hai trong ba.
Vì sao đa chữ ký an toàn hơn?
Vì loại bỏ điểm hỏng duy nhất: mất hay lộ một khoá chưa đủ để mất tài sản.
Sao lưu ví đa chữ ký cần những gì?
Cần cụm từ của các khoá và cấu hình ví gồm khoá công khai của mọi bên, thường qua bộ mô tả ví.
MuSig2 là gì?
Là giao thức cho phép nhiều bên gộp khoá và ký chung thành một chữ ký Schnorr, trên chuỗi trông như một chữ ký.
Có nên để mọi khoá ở cùng một nơi không?
Không. Như vậy đa chữ ký không còn ý nghĩa dự phòng.