
Multisig trên EVM theo cách account abstraction
Multisig rất dễ mô tả — yêu cầu nhiều hơn một chữ ký để di chuyển tiền — nhưng cách nó được xây dựng lại khác nhau rõ rệt giữa các blockchain. Trên Bitcoin, multisig được tích hợp ngay trong chính giao thức. Trên Ethereum và các chuỗi EVM khác thì không, và chỉ riêng sự thật này đã định hình cách mọi ví multisig nghiêm túc trên Ethereum hoạt động, bao gồm cả SSP. Bài viết này giải thích vì sao multisig trên EVM lại khác, đưa ra một lượt giới thiệu bằng ngôn ngữ dễ hiểu về các công cụ account abstraction giúp nó trở nên khả thi, và cho thấy chính xác cách SSP mang lại một 2-of-2 thực thụ trên Ethereum.
Nếu bạn đến đây từ phần đầu của loạt bài EVM, Ethereum trong SSP đặt nền móng; bài viết này là phần đào sâu vào cơ chế bảo mật nằm bên dưới. Mức độ đọc ở đây cao hơn một bậc — trung cấp — bởi vì để làm cho chủ đề xứng tầm thì phải chạm đến ERC-4337 và việc tổng hợp chữ ký một cách trung thực thay vì nói vòng vo.
Vì sao multisig trên EVM khác với multisig trên Bitcoin
Cách rõ ràng nhất để hiểu SSP trên Ethereum là trước hết thấy được vì sao cách tiếp cận của Bitcoin không thể đơn giản sao chép sang.
Bitcoin có multisig dạng script gốc. Giao thức bao gồm một opcode cho phép bạn khóa tiền sau một quy tắc kiểu như "hai bất kỳ trong số ba khóa công khai này phải ký". Một địa chỉ multisig trên Bitcoin chỉ là một địa chỉ có gắn kèm quy tắc chi tiêu đó, và mạng lưới thực thi nó trực tiếp. SSP dùng điều này trên Bitcoin và các chuỗi UTXO khác thông qua multisig script BIP-48: hai khóa, một script, cần cả hai chữ ký. Nếu mô hình nền tảng này còn mới với bạn, 2-of-2 multisig là gì là nơi để bắt đầu.
Ethereum không có thứ tương đương. Trên một chuỗi EVM chỉ tồn tại hai loại tài khoản. Loại thứ nhất là EOA — một tài khoản thuộc sở hữu bên ngoài, được kiểm soát bởi đúng một khóa riêng tư. Một khóa, một người ký, hết; không có opcode gốc nào để yêu cầu hai chữ ký trên một EOA. Loại thứ hai là tài khoản hợp đồng thông minh, vốn có mã thay vì một khóa kiểm soát duy nhất và làm đúng những gì mã đó quy định.
Vì vậy trên Ethereum, "multisig" luôn có nghĩa là một ví hợp đồng thông minh: một hợp đồng được lập trình để chỉ giải ngân tiền khi quy tắc đa chữ ký của nó được thỏa mãn. Đây là mô hình mà các ví như Gnosis Safe / Safe đã tiên phong, và nó hoạt động tốt. Sự đánh đổi là các hợp đồng multisig on-chain cổ điển thường lưu chữ ký của từng chủ sở hữu và xác minh chúng từng cái một trên chuỗi, điều này tốn gas và tăng lên theo số người ký. Account abstraction mang lại một con đường gọn gàng hơn, và đó là con đường SSP chọn.
Một bài nhập môn ngắn gọn và trung thực về ERC-4337
Account abstraction là ý tưởng rằng ví của bạn nên là một hợp đồng thông minh — một tài khoản có thể lập trình — thay vì một cặp khóa đơn thuần. ERC-4337 là tiêu chuẩn hiện thực hóa điều này trên Ethereum mà không thay đổi giao thức nền. Bạn không cần phải thông thạo nó để dùng SSP, nhưng vài thuật ngữ sẽ giúp phần còn lại của bài viết này khớp vào chỗ. Để có phần trình bày đầy đủ, hãy đọc account abstraction (ERC-4337) là gì; dưới đây là bản đồ ở mức người dùng.
- Smart account. Tiền của bạn nằm trong một smart account mà mã của nó định nghĩa điều gì được coi là một giao dịch hợp lệ. Vì là mã, tài khoản có thể thực thi các quy tắc tùy chỉnh — bao gồm "yêu cầu một chữ ký 2-of-2 hợp lệ".
- UserOperation. Thay vì gửi một giao dịch thông thường, một smart account biểu đạt ý định của nó dưới dạng một UserOperation: một yêu cầu có cấu trúc nói rõ nó muốn làm gì và mang theo dữ liệu chữ ký cho phép điều đó.
- Bundler. Một bundler là một dịch vụ thu thập các UserOperations, gói chúng vào một giao dịch on-chain thực và gửi đi. Nó trả gas trước và được hoàn lại; nó không bao giờ có được khả năng di chuyển tiền của bạn.
- EntryPoint. Một hợp đồng EntryPoint duy nhất đã được kiểm toán là bộ điều phối đáng tin cậy trên chuỗi. Nó nhận các UserOperations được gói lại và gọi từng smart account để xác thực rồi thực thi thao tác của nó.
- Paymaster. Một hợp đồng paymaster tùy chọn có thể tài trợ gas hoặc cho phép trả phí bằng một token thay vì đồng coin gốc. Nó là tùy chọn và độc lập với chính multisig.
Nhận thức then chốt: với một smart account, quy tắc về "ai có thể cho phép một giao dịch" là phần mềm do bạn kiểm soát, chứ không phải một hành vi cố định của giao thức. Đó chính xác là sự tự do mà multisig cần trên một chuỗi không có multisig gốc.
SSP thực hiện 2-of-2 trên EVM như thế nào
SSP giữ vững cùng một lời hứa trên mọi chuỗi mà nó hỗ trợ: hai khóa trên hai thiết bị, và không khóa nào một mình có thể di chuyển tiền của bạn. Khóa 1 nằm trong tiện ích mở rộng trình duyệt SSP Wallet; khóa 2 nằm trong ứng dụng di động SSP Key. Bạn dựng và ký một giao dịch trong tiện ích mở rộng, rồi phê duyệt nó trên điện thoại qua một push — cần cả hai chữ ký.
Trên Bitcoin, đảm bảo đó đến từ multisig script BIP-48. Trên các chuỗi EVM, SSP tái tạo nó thành một smart account ERC-4337 xác minh một chữ ký 2-of-2 được tổng hợp theo Schnorr. Đây là ý tưởng ở mức tổng quát, giữ ở dạng chung chung tại những chỗ mà chi tiết nội bộ chính xác của hợp đồng không phải là điểm mấu chốt.
Mỗi khóa trong hai khóa của bạn tạo ra một chữ ký từng phần trên giao dịch. Thay vì gửi cả hai chữ ký lên chuỗi một cách riêng rẽ, hai thiết bị kết hợp chúng — dùng cách tổng hợp chữ ký kiểu MuSig2 — thành một chữ ký nhỏ gọn duy nhất. Smart account được lập trình để chỉ chấp nhận một UserOperation khi chữ ký tổng hợp đó được xác minh đối chiếu với khóa kỳ vọng của ví. Do đó chuỗi nhìn thấy một chữ ký trông bình thường, vậy mà về mặt toán học chữ ký đó không thể được tạo ra nếu thiếu sự tham gia của cả hai khóa.
Thiết kế này có những lợi thế thực sự so với việc lưu trữ và kiểm tra N chữ ký riêng rẽ trên chuỗi:
- Dấu chân on-chain nhỏ hơn. Một chữ ký tổng hợp rẻ hơn để xác minh và lưu trữ so với hai chữ ký độc lập, điều này có xu hướng đồng nghĩa với ít gas hơn cho mức bảo mật bạn nhận được.
- UX giống hệt một ví một người ký. Vì chuỗi xác thực một chữ ký duy nhất, smart account của bạn hành xử như bất kỳ tài khoản bình thường nào dưới góc nhìn của mạng lưới. Gửi ETH, di chuyển token ERC-20 hay tương tác với DeFi đều cho cảm giác như nhau — chữ ký thứ hai diễn ra lặng lẽ giữa hai thiết bị của bạn.
- Cùng một mô hình ở khắp nơi. Schnorr và cách tổng hợp này dựa trên nền mật mã đã được nghiên cứu kỹ trên secp256k1, và cùng một thiết kế smart account được chuyển sang các chuỗi EVM mà SSP hỗ trợ, bao gồm Ethereum, Polygon, Base, BNB Smart Chain và Avalanche.
Các hợp đồng thông minh của SSP đứng sau điều này đã được Halborn kiểm toán vào năm 2025. Để hiểu cơ chế account abstraction sâu hơn — EntryPoint, bundler và bước xác thực khớp với nhau ra sao — hãy tìm đến phần giải thích về account abstraction (ERC-4337) thay vì coi bất kỳ chi tiết hợp đồng đơn lẻ nào ở đây là chuẩn mực.
Điều này có ý nghĩa gì với bạn trong vai trò người dùng
Mật mã học thì thú vị, nhưng điều quan trọng hằng ngày là sự bảo vệ mà nó mua được.
- Cần cả hai thiết bị để di chuyển tiền. Một giao dịch chỉ hợp lệ một khi tiện ích mở rộng và SSP Key mỗi bên đã đóng góp phần của mình. Sở hữu một thiết bị — hay một khóa — là chưa đủ.
- Mất một thiết bị không phải là mất tiền của bạn. Vì không thiết bị đơn lẻ nào có thể ký một mình, một chiếc điện thoại bị mất hoặc bị xóa, hay một trình duyệt được cài lại, đều không trao cho ai quyền kiểm soát tiền của bạn. Khôi phục quyền truy cập là một chủ đề riêng với các biện pháp bảo vệ của nó; việc khôi phục được trình bày trong các hướng dẫn riêng, không phải ở đây.
- Một khóa bị xâm phạm không phải là một điểm hỏng đơn lẻ. Nếu phần mềm độc hại hoặc phishing chiếm được những gì có trên một thiết bị, nó vẫn không thể tạo ra chữ ký 2-of-2 tổng hợp mà smart account đòi hỏi. Kẻ tấn công sẽ phải xâm phạm cả hai thiết bị của bạn cùng lúc — một ngưỡng cao hơn nhiều so với việc rút sạch một ví một khóa.
Đây là những biện pháp bảo vệ chung, không phải bảo đảm tuyệt đối; vệ sinh cụm từ seed tốt và bảo mật thiết bị vẫn quan trọng. Nhưng điểm cốt lõi về mặt cấu trúc vẫn đứng vững: hai yếu tố độc lập phải đồng thuận trước khi giá trị di chuyển.
Một so sánh trung lập với ví EOA một khóa
Hầu hết các ví Ethereum đều là EOA một khóa. Chúng đơn giản và được hỗ trợ rộng rãi, và với nhiều người dùng thì chúng ổn. Sự đánh đổi là một khóa riêng tư chính là toàn bộ câu chuyện: ai nắm giữ nó đều có thể di chuyển mọi thứ, nên chỉ một cụm từ seed bị rò rỉ hay một máy bị xâm phạm cũng có thể là chí tử.
Một multisig hợp đồng thông minh thay đổi hồ sơ rủi ro đó bằng cách đòi hỏi sự đồng thuận giữa hai khóa thay vì tin tưởng vào một khóa. Có những ví multisig hợp đồng thông minh khác — Safe là một ví dụ nổi tiếng — và chúng giải quyết cùng một vấn đề cốt lõi theo cách riêng của mình. Lựa chọn riêng của SSP là mang lại 2-of-2 thông qua ERC-4337 với một chữ ký Schnorr tổng hợp, để bạn có được sự bảo mật của multisig cùng với dấu chân on-chain và cảm giác hằng ngày của một tài khoản một người ký.
Đi tiếp đến đâu
Nếu bạn muốn nền tảng khái niệm, hãy đọc account abstraction (ERC-4337) là gì và bài nền tảng 2-of-2 multisig là gì. Để thấy điều này khớp vào bức tranh Ethereum rộng hơn trong SSP như thế nào, hãy quay lại Ethereum trong SSP. Còn với bản thân tiêu chuẩn, các nguồn chuẩn mực là đặc tả ERC-4337 và tổng quan về account abstraction của Ethereum Foundation. Sợi chỉ xuyên suốt ở đây cũng chính là sợi chỉ chạy qua mọi chuỗi mà SSP hỗ trợ: hai khóa, hai thiết bị, một chữ ký — và bạn nắm quyền kiểm soát.


