Khóa riêng tư là lõi cho phép chúng ta ký giao dịch trên Ethereum, nhưng việc quản lý nó đã là một cơn ác mộng, ngay cả trong dạng đọc được của “seed phrases”. Tuy nhiên, mục tiêu của chúng tôi không bao giờ là biến blockchain thành một trò chơi phức tạp.
Xác thực người dùng được ủy quyền là rất quan trọng đối với các giao dịch an toàn. Với sự phát triển của bảo mật internet và UX, chúng tôi đã chuyển từ xác thực mật khẩu sang sinh trắc học như nhận dạng khuôn mặt và dấu vân tay. WebAuthn là một sự phát triển quan trọng trong tiến trình này. Bài viết này thảo luận chặt chẽ về ba thuật ngữ:
WebAuthn: Một tiêu chuẩn xác thực web sử dụng thông tin đăng nhập dựa trên khóa công khai, thường được tạo bởi các thiết bị xác thực bên ngoài. Nó loại bỏ nhu cầu sử dụng mật khẩu và cho phép xác thực người dùng một cách an toàn.
Secure Enclave: Một khu vực an toàn dựa trên phần cứng bên trong thiết bị tính toán, Secure Enclave được thiết kế để bảo vệ dữ liệu nhạy cảm. Các phiên bản của Secure Enclave được tìm thấy trong các thiết bị iOS, Android và Windows. Nó có thể phục vụ như một người xác thực an toàn bằng cách triển khai WebAuthn, nhưng khóa riêng tư, được liên kết với SE, thường gây ra thách thức trên nhiều thiết bị.
Passkey: Một cài đặt của WebAuthn ở cấp độ hệ điều hành, được tùy chỉnh bởi các nhà cung cấp thiết bị và hệ thống khác nhau. Ví dụ, Passkey của Apple sử dụng khóa được lưu trữ trong iCloud Keychain để đồng bộ trên nhiều thiết bị. Tuy nhiên, phương pháp này thường bị khóa vào các nền tảng hoặc hệ thống cụ thể.
Như đã mô tả ở trên, các triển khai webAuthn tương thích với mục tiêu của chúng tôi dành cho người dùng blockchain hàng ngày, để đạt được mức độ an toàn chống lừa đảo cao và trải nghiệm thân thiện. Đây là ý tưởng để kết hợp chúng vào blockchain:
Lớp khóa: Người dùng xác thực bằng cách sử dụng các phương pháp sinh trắc học mượt mà như nhận diện khuôn mặt hoặc dấu vân tay. Bên trong, đó là bộ xử lý bảo mật dựa trên phần cứng như Secure Enclave hoặc dịch vụ đám mây như iCloud và Google Cloud xử lý việc quản lý khóa. Tôi sẽ đi sâu vào việc giải quyết các vấn đề liên quan đến thiết bị và nền tảng sau này.
Lớp Tài khoản: Một Tài khoản Hợp đồng Thông minh (SCA) cung cấp khả năng chỉ định các bên ký tự tùy ý (ví dụ: SE và Passkey) và cơ chế ngưỡng. Hơn nữa, thiết kế modular của nó tăng cường tính linh hoạt và khả năng nâng cấp. Ví dụ, một SCA có thể điều chỉnh yêu cầu ký tự của mình một cách linh hoạt dựa trên các yếu tố như số tiền giao dịch, thời gian hoặc địa chỉ IP. Ngược lại, một Tài khoản Ngoại vi truyền thống (EOA) có thể được bổ sung bằng dịch vụ MPC, sự kết hợp của họ cung cấp tính tương thích và hiệu quả chi phí tốt hơn so với SCA, mặc dù thiếu các chức năng tiên tiến mà SCA cung cấp, đặc biệt là cho việc xoay chìa khóa.
Lớp ký: Ethereum hỗ trợ nguyên bản của dạng cong k1, nhưng việc xác minh chữ ký của WebAuthn gây ra chi phí cao hơn, vì nó sử dụng dạng cong r1 để tạo khóa. Do đó, một số giải pháp Lớp 2 như zkSync, đang lên kế hoạch triển khai trước các dạng công r1 của EIP-7212 nguyên bản. Ngoài ra, có các dịch vụ bên thứ ba, các trình xác minh Solidity, các trình xác minh Zero-Knowledge (ZK) và các hệ thống quản lý khóa phân tán, để hỗ trợ việc ký dạng cong r1 một cách hiệu quả về chi phí hơn.
Tuyên bố từ chối trách nhiệm:
Sự tiến bộ công nghệ không đảm bảo thành công trên thị trường; Không phải tất cả các thiết bị và nền tảng đều đã chấp nhận Passkey; Sử dụng SCA có thể tốn kém hơn EOA; Giải pháp đề xuất phát triển cùng với tiến bộ công nghệ.
Trong lĩnh vực blockchain, việc kiểm soát thực sự của tài sản blockchain không nằm trong tay người dùng hoặc nhà cung cấp ví, mà nằm trong khóa riêng tư. Khóa này là quan trọng nhất đối với toàn bộ quá trình thực hiện giao dịch trên Ethereum. Để hiểu rõ hơn về điều này, hãy xem EOA như một ví dụ:
Tạo khóa: Một số ngẫu nhiên được chọn từ đường cong elliptic secp256k1 được sử dụng làm khóa riêng. Khóa này sau đó được nhân với một điểm đã được xác định trước trên đường cong để tạo ra khóa công khai. Địa chỉ Ethereum được suy ra từ 20 byte cuối cùng của khóa công khai đã băm. 'Cụm từ gốc' thường được giới thiệu để sao lưu có thể đọc được cho việc tìm ra quy luật của khóa riêng và khóa công khai.
Ký giao dịch: Một giao dịch, chứa các chi tiết như nonce (một số tuần tự), số tiền, giá gas, và địa chỉ người nhận, được ký bằng cách sử dụng khóa riêng. Quá trình này, liên quan đến ECDSA, một thuật toán chữ ký số sử dụng mật mã đường cong elip và áp dụng secp256k1 làm đường cong, tạo ra một chữ ký bao gồm các giá trị (r, s, v). Chữ ký và giao dịch gốc sau đó được phát sóng trên mạng.
Xác minh giao dịch: Khi một giao dịch đến các nút Ethereum, nó sẽ trải qua quá trình xác thực trong mempool của nút. Để xác minh người ký, các nút sử dụng chữ ký và giao dịch băm để lấy khóa công khai của người gửi và xác nhận tính xác thực của giao dịch bằng cách khớp địa chỉ dẫn xuất với địa chỉ của người gửi.
Như mô tả ở trên, khóa riêng tư là một thực thể quan trọng trên chuỗi. Ban đầu, tài khoản Ethereum, được gọi là Tài khoản Sở hữu Bên ngoài (EOAs), hoàn toàn phụ thuộc vào một khóa riêng tư duy nhất, điều này đặt ra rủi ro đáng kể, vì mất khóa có nghĩa là mất quyền truy cập vào tài khoản.
Nhiều người có thể nghĩ rằng Trừu tượng tài khoản (AA) là giải pháp cho mọi thứ liên quan đến trải nghiệm người dùng xấu, điều mà tôi sẽ nói không chính xác. AA là về việc thay đổi các quy tắc hợp lệ để có thể lập trình và khả năng lập trình của Tài khoản hợp đồng thông minh (SCA) làm cho nó có thể. AA mạnh mẽ, cho phép gửi nhiều giao dịch song song (nonce trừu tượng), tài trợ gas và thanh toán gas trong ERC20 (khí trừu tượng) và phù hợp hơn với chủ đề của bài viết này, để phá vỡ xác thực chữ ký cố định (chữ ký ECDSA trừu tượng). Thay vì EOA, SCA có thể chỉ định người ký tùy ý và các cơ chế ký như đa chữ ký (multisigs) hoặc khóa phạm vi (khóa phiên). Tuy nhiên, bất chấp sự tiến bộ về tính linh hoạt và khả năng nâng cấp của AA, sự phụ thuộc cơ bản vào (các) khóa để ký giao dịch vẫn không thay đổi.
Ngay cả khi được chuyển đổi thành một cụm từ hạt giống 12 từ, việc quản lý khóa riêng vẫn đầy thách thức, đặt ra nguy cơ mất mát hoặc bị tấn công lừa đảo. Người dùng phải điều hướng giữa các tầng lớp phức tạp của các giải pháp phi tập trung hoặc sự ôm ấp ấm áp của dịch vụ tập trung, cả hai đều không phải là lựa chọn lý tưởng.
Tại sao trải nghiệm tiền điện tử lại tệ? Một phần lớn là do việc quản lý khóa tệ. Luôn luôn đòi hỏi sự cân nhắc giữa trải nghiệm, bảo mật và phân cấp. Bài viết này khám phá các giải pháp tối ưu tiềm năng cho việc quản lý khóa.
Không bao giờ tồn tại một giải pháp phù hợp với tất cả mọi người, cách tốt nhất để bảo quản khóa là phù hợp với các tình huống người dùng cụ thể, được ảnh hưởng bởi các yếu tố như loại người dùng (tổ chức hoặc cá nhân), số vốn, tần suất giao dịch và loại hình tương tác.
Để làm rõ từ đầu, tôi tránh việc sử dụng các phương pháp 'tự, bán tự và tự do tồn kho' phổ biến để phân loại. Theo quan điểm của tôi, sự tự lưu giữ thực sự có nghĩa là ký một giao dịch độc lập, mà không phụ thuộc vào một bên thứ ba, điều này vẫn đúng ngay cả khi giải pháp không phải là lưu trữ theo cách truyền thống (như được lưu trữ trong TEE của các nút phân cấp phân tán). Phân loại các giải pháp chỉ đơn thuần là 'tốt' hoặc 'xấu' dựa trên loại tồn kho là quá đơn giản và không tính đến sự phù hợp biến thiên của chúng. Để đánh giá một cách tinh tế hơn về các phương pháp quản lý khóa chính, tôi đề xuất phân tích chúng qua ba lớp khác nhau:
Xem xét việc chia sẻ trách nhiệm quản lý một khóa vào các bên khác nhau.
Vì cá nhân thường gặp khó khăn trong việc quản lý khóa, việc phân phối trách nhiệm bảo vệ khóa trở thành một chiến lược giảm thiểu rủi ro tự nhiên. Danh mục này bao gồm các phương pháp như sử dụng nhiều khóa để ký kết theo cách hợp tác, như trong các hệ thống Đa-Chữ-Ký (Multi-sig), và chia khóa riêng thành các phần thông qua một Mô Hình Chia Sẻ Bí Mật (SSS) hoặc Tính Toán Đa Bên (MPC).
Multi-sig: Yêu cầu nhiều khóa riêng tư hoàn chỉnh để tạo ra chữ ký giao dịch. Phương pháp này đòi hỏi sự giao tiếp trên chuỗi về các bên ký khác nhau, gây ra các khoản phí giao dịch cao hơn và ảnh hưởng đến sự riêng tư vì số lượng bên ký là rõ ràng trên chuỗi.
SSS: một khóa riêng tư được tạo ra tại một vị trí duy nhất, và một người bán phân phối các phần của khóa này cho các bên khác nhau. Tất cả các bên phải tái tạo lại toàn bộ khóa riêng tư để ký giao dịch. Tuy nhiên, quá trình tái tạo tạm thời này có thể tạo ra lỗ hổng.
MPC-TSS(Threshold Signature Scheme): là một cách tiếp cận mật mã cho phép nhiều bên thực hiện các phép tính trong khi giữ nguyên riêng tư đầu vào của họ cùng nhau. Mỗi bên tạo một phần chia khóa bí mật độc lập, và các giao dịch được ký mà không cần những bên này phải gặp nhau mặt. Nó giới thiệu các phí thấp vì nó nằm ngoài chuỗi, và không có rủi ro điểm hỏng duy nhất như SSS.
Lưu trữ khóa hoặc cổ phần, bị ảnh hưởng bởi các yếu tố an ninh, tính sẵn có, chi phí và phân tán.
Dịch vụ đám mây tập trung như AWS, iCloud và các máy chủ khác. Chúng tiện lợi cho các giao dịch thường xuyên, nhưng dễ bị kiểm duyệt hơn.
Lưu trữ phi tập trung như IPFS và Filecoin.
Máy tính/điện thoại cục bộ: Các khóa được lưu trữ cục bộ trong bộ nhớ an toàn của trình duyệt.
Ví giấy: Bản in vật lý của các khóa riêng tư hoặc mã QR.
Môi trường thực thi đáng tin cậy (TEE): TEE cung cấp một khu vực an toàn bên trong bộ xử lý chính để thực thi hoặc lưu trữ dữ liệu nhạy cảm, được cô lập khỏi hệ điều hành chính.
Miền Bảo mật: Miền Bảo mật trên các thiết bị hiện đại được cô lập khỏi bộ xử lý chính để cung cấp một lớp bảo mật bổ sung và được thiết kế để giữ cho dữ liệu người dùng nhạy cảm an toàn ngay cả khi hạt nhân Bộ xử lý Ứng dụng bị tấn công.
Ví cứng: Thiết bị vật lý như Ledger và Trezor, được thiết kế đặc biệt để lưu trữ an toàn các khóa riêng tư.
Mô-đun Bảo mật Phần cứng (HSM): HSM là thiết bị phần cứng chuyên biệt được thiết kế để quản lý khóa an toàn và thực hiện các hoạt động mật mã. Thông thường chúng được sử dụng trong môi trường doanh nghiệp và cung cấp các tính năng bảo mật cấp cao.
Làm thế nào để xác minh danh tính người dùng để truy cập khóa được lưu trữ
Xác thực liên quan đến việc truy cập khóa được lưu trữ. Đó là về việc xác minh rằng người cố gắng truy cập thực sự được ủy quyền để làm điều đó. Nhìn lại vào lịch sử, chúng ta có thể phân loại lịch sử như sau:
Một điều bạn biết: Mật khẩu, PIN, câu trả lời cho câu hỏi bảo mật, hoặc các mẫu cụ thể.
Something You Have:Bao gồm thẻ thông minh, mã thông báo phần cứng (mật khẩu một lần dựa trên thời gian), hoặc yếu tố số như xác minh tài khoản mạng xã hội và mã SMS gửi đến điện thoại.
Một số Đặc Điểm Riêng của Bạn: Liên quan đến các đặc điểm vật lý độc đáo của người dùng, như vân tay, nhận dạng khuôn mặt (như Face ID của Apple hoặc Windows Hello), nhận dạng giọng nói, hoặc quét mống mắt/ võng mạc.
Trên những cơ sở này, 2FA và MFA là những phương pháp kết hợp hai hoặc nhiều yếu tố, như thông báo đẩy kết hợp SMS, để thêm các lớp bảo mật cho tài khoản người dùng.
MetaMask cho phép người dùng sử dụng mật khẩu để truy cập khóa được lưu trữ trong bộ nhớ của trình duyệt cục bộ của người dùng.
Trust Wallet cho phép người dùng sử dụng mật khẩu hoặc faceID để truy cập khóa được lưu trữ trong bộ nhớ trình duyệt cục bộ của người dùng, người dùng cũng có thể chọn dịch vụ đám mây để sao lưu khóa riêng tư.
Privy cho phép người dùng sử dụng nhiều phương pháp đăng nhập xã hội như email, sử dụng SSS để chia sẻ ba phân.
Chia sẻ thiết bị: Trình duyệt-iFrame, di động-an toàn.
Chia sẻ xác thực: Được lưu trữ bởi privy, liên kết đến id privy).
Chia sẻ khôi phục: Mật khẩu người dùng hoặc được mã hóa bởi Privy lưu trữ trong mô-đun bảo mật phần cứng (HSM).
Particle cho phép người dùng sử dụng đăng nhập xã hội, sử dụng MPC-TSS có hai phần:
Chia sẻ thiết bị: trình duyệt-iFrame
Mã chia sẻ khóa máy chủ: Máy chủ của Particle
Các giải pháp hiện có trên đã đóng vai trò quan trọng trong việc giới thiệu người dùng với web3. Tuy nhiên, chúng thường đi kèm với những thách thức: mật khẩu có thể bị quên hoặc bị mục tiêu trong các cuộc tấn công lừa đảo, và thậm chí 2FA, mặc dù an toàn hơn, cũng có thể gây phiền toái với nhiều bước. Ngoài ra, không phải ai cũng thoải mái khi giao phó việc quản lý khóa cho một bên thứ ba, người dùng vẫn phụ thuộc vào sự có sẵn và hoạt động của hệ thống trong khi một số dịch vụ đảm bảo rằng họ không thể truy cập vào khóa.
Điều này đưa chúng ta suy nghĩ liệu có một giải pháp hiệu quả hơn - một giải pháp mang lại trải nghiệm người dùng không tin cậy, an ninh cao và mượt mà nhất. Tìm kiếm này dẫn chúng ta đến các phương pháp web2 tối ưu. Một số thuật ngữ chặt chẽ liên quan đến chủ đề, như tôi đã mô tả ở đầu bài viết, WebAuthn là tiêu chuẩn xác thực chính nó, trong khi Secure Enclave và Passkey là các triển khai hoặc thành phần liên quan đến tiêu chuẩn này.
WebAuthn
Tiêu chuẩn WebAuthn chuẩn hóa giao diện xác thực người dùng đối với ứng dụng web. Nó cho phép người dùng đăng nhập vào tài khoản internet bằng cách sử dụng các thiết bị xác thực bên ngoài thay vì mật khẩu. Các thiết bị xác thực có thể là Thiết bị Xác thực Di động (Yubikey, Titan key) hoặc Thiết bị Xác thực Nền tảng (Keychain tích hợp trên thiết bị Apple), và cũng có thể là nhiều loại khác.
Liên minh FIDO (Fast IDentity Online) ban đầu đã phát triển các công nghệ đằng sau WebAuthn. Nó chính thức được xác định là một tiêu chuẩn web bởi W3C vào tháng 3 năm 2019 và cùng với việc tiêu chuẩn hóa, các trình duyệt lớn như Google Chrome, Mozilla Firefox, Microsoft Edge và Apple Safari đã áp dụng WebAuthn, tăng đáng kể phạm vi và tính khả dụng của nó. Hiện nay, nó được hỗ trợ bởi nhiều thiết bị tiên tiến.
Lợi ích của webAuthn:
Bảo mật nâng cao: Loại bỏ sự phụ thuộc vào mật khẩu, giảm sự dễ bị tấn công qua mạng phishing, tấn công brute force và tấn công replay.
Trải nghiệm người dùng được cải thiện: Cung cấp quy trình đăng nhập đơn giản và nhanh chóng hơn, thường chỉ cần chạm hoặc xác minh sinh trắc học.
Bảo vệ quyền riêng tư: Không có bí mật được chia sẻ trong quá trình xác thực, và các trang web cá nhân không nhận bất kỳ thông tin cá nhân nào.
Khả năng mở rộng và tiêu chuẩn hóa: Là một tiêu chuẩn web, WebAuthn đảm bảo tính nhất quán và tương thích trên các trình duyệt và nền tảng khác nhau.
WebAuthn có giới hạn thiết bị, ví dụ Secure Enclave
Trong các trường hợp hiện đại, chúng ta có thể sử dụng bộ xử lý phần cứng như bộ xác thực, như Secure Enclave cho thiết bị Apple, Trustzone cho Android và Strongbox cho Google Pixel.
Tạo khóa: Sử dụng mật mã khóa công khai, một cặp khóa được tạo theo tiêu chuẩn WebAuthn, thường sử dụng đường cong P-256 r1. Khóa công khai được gửi đến dịch vụ, trong khi khóa riêng KHÔNG BAO GIỜ rời khỏi Secure Enclave. Người dùng không bao giờ xử lý khóa văn bản thuần túy, khiến khóa riêng khó bị xâm phạm.
Lưu trữ khóa: Khóa riêng tư được lưu trữ an toàn trong Secure Enclave của thiết bị, một hệ thống phụ cô lập khỏi bộ xử lý chính. Nó bảo vệ dữ liệu nhạy cảm, đảm bảo rằng ngay cả khi hệ thống chính bị đe dọa, nguyên liệu khóa gốc vẫn không thể truy cập được. Rào cản để đe dọa Secure Enclave rất cao, và do đó các loại dữ liệu nhạy cảm nhất như Apple Pay và dữ liệu FaceID được lưu trữ ở đó. Dưới đây là một giải thích chi tiết về cách SE hoạt động.
Xác thực: Người dùng sử dụng nhận dạng khuôn mặt hoặc vân tay của mình để truy cập, Secure Enclave sử dụng khóa riêng để ký một thách thức từ dịch vụ, và dịch vụ xác minh bằng cách sử dụng khóa công khai.
Ưu điểm của webAuthn dựa trên thiết bị:
Bảo mật cấp phần cứng: Sử dụng Secure Enclave, một bộ quản lý khóa dựa trên phần cứng cô lập để cung cấp một lớp bảo mật bổ sung.
Sự chống lừa đảo: Không nên nhập bất kỳ thông tin nào trên các thiết bị hoặc trang web có thể bị xâm nhập.
Trải nghiệm tiện lợi: Họ cung cấp trải nghiệm thân thiện với người dùng hơn. Người dùng không cần phải nhớ mật khẩu phức tạp cho các trang web khác nhau nữa.
Nhược điểm của webAuthn dựa trên thiết bị:
Ràng buộc thiết bị: Khóa riêng tư không thể được xuất hoặc khôi phục nếu thiết bị bị mất hoặc hỏng, việc vận hành qua các thiết bị khác không thể thực hiện được.
Cloud-based WebAuthn, Passkey
Giải quyết thách thức về chức năng đa thiết bị, những gã khổng lồ công nghệ đã giới thiệu triển khai webAuthn dựa trên đám mây, Passkey quen thuộc rộng rãi vì Apple.
Hãy lấy Passkey của Apple làm ví dụ:
Quá trình tạo khóa: Thiết bị macOS, iOS hoặc iPadOS của người dùng, được xác thực như một công cụ xác thực, tạo ra một cặp khóa công khai - khóa bí mật khi người dùng tạo tài khoản. Sau đó gửi khóa công khai đến máy chủ, và khóa bí mật được lưu trữ trên iCloud Keychain của thiết bị. Dữ liệu iCloud Keychain được mã hóa bằng một cặp khóa liên kết vật lý, và được lưu trữ trong mô-đun bảo mật phần cứng (HSM). Khóa không thể truy cập được bởi Apple.
Đồng bộ trên các thiết bị: Quy trình này sẽ giống như truy cập vào iCloud. Xác thực vào tài khoản iCloud, nhận mã SMS, và nhập mã bảo mật của một trong các thiết bị.
Ưu điểm của webAuthn dựa trên đám mây:
Cross-device: Passkeys được thiết kế để tiện lợi và dễ truy cập từ tất cả các thiết bị được sử dụng định kỳ. Nhưng hiện tại chỉ hỗ trợ trên các thiết bị Apple, với Android thì khó hơn do sự đa dạng về phiên bản và cấu hình phần cứng.
Chống lừa đảo: Giống như trên.
Trải nghiệm thuận tiện: Giống như ở trên.
Nhược điểm của Passkey dựa trên đám mây:
Phụ thuộc vào dịch vụ đám mây: So sánh với webAuthn dựa trên thiết bị, passkey dựa trên đám mây chuyển độ an toàn từ phần cứng Secure Enclave sang khóa iCloud, một số người có thể tranh cãi rằng nó là của bạn dịch vụ đám mây. Một số khía cạnh quan trọng cần xem xét bao gồm: Tài khoản AppleID của người dùng được sử dụng với iCloud bị xâm nhập; Trong khi iCloud Keychain sử dụng mã hóa end-to-end để bảo vệ dữ liệu, các lỗi hoạt động hoặc lỗ hổng có thể tạo ra một rủi ro.
Hạn chế đối với nền tảng: Ví dụ, việc sử dụng một mã thông qua iCloud trên thiết bị Android là vô cùng thách thức. Hơn nữa, khác với các phương pháp truyền thống, Apple và Google không gửi các khẳng định cụ thể cho từng thiết bị. Điều này có nghĩa là hiện tại không thể xác minh loại thiết bị tạo ra một khóa, điều này đặt ra những câu hỏi về tính đáng tin cậy của khóa và siêu dữ liệu liên quan của nó.
Cho đến nay, chúng ta có thể thấy việc duy trì bảo mật cấp phần cứng trong khi giải quyết sự tương thích giữa các thiết bị và nền tảng là một thách thức. Tương tự quan trọng là tùy chọn phục hồi xã hội, chẳng hạn như thêm nhiều người bảo vệ để tăng cường bảo mật. Trong bối cảnh này, blockchain có thể cho chúng ta thấy một con đường.
Một khoảng cách đáng chú ý khi chúng ta cố gắng triển khai web2 webAuthn sang web3: Web2 chỉ yêu cầu chứng minh sở hữu, trong khi web3 cũng đòi hỏi ủy quyền giao dịch đồng thời. Với Passkey, các nhà phát triển thiếu kiểm soát trên thông điệp ký, thường là thông điệp chung chung, như 'đăng nhập'. Điều này có thể dẫn đến việc xâm phạm phía trước tiềm ẩn, người dùng ký các thông điệp mà họ không biết - vấn đề nhỏ nhưng quan trọng.
Tài khoản Hợp đồng Thông minh (SCA), vốn là chính các hợp đồng thông minh, hoạt động như các thực thể trên chuỗi, có khả năng chỉ định người ký tùy ý. Tính linh hoạt này cho phép lập trình các thiết bị và nền tảng khác nhau - chẳng hạn như thiết lập điện thoại Android, Macbook và iPhone - làm người ký. Thậm chí, Tài khoản Hợp đồng Thông minh Linh hoạt cho phép nâng cấp, thay đổi người ký mới, thay đổi ngưỡng ký từ 2 trên tổng số 3 người ký đến cấu hình phức tạp hơn nữa.
Hãy tưởng tượng một ví tiền điện tử điều chỉnh yêu cầu bảo mật dựa trên ngữ cảnh: nó cho phép xác thực bằng một người ký khi người dùng ở địa chỉ IP địa phương quen thuộc, nhưng yêu cầu nhiều người ký cho các giao dịch từ địa chỉ IP không xác định hoặc trên một giá trị nhất định. Với tính linh hoạt và khả năng lập trình, trí tưởng tượng của chúng ta là giới hạn duy nhất cho những đổi mới như vậy. Nhiều nhà cung cấp dịch vụ SCA đều tích cực xây dựng không gian này, bao gồm Safe, Zerodev, Biconomy, Etherspots, Rhinestone, v.v. Cũng như ghi nhận hạ tầng như Stackup, Plimico, Alchemy đã làm cho điều này trở thành hiện thực.
Vui lòng kiểm tra nghiên cứu trước đây của tôi cung cấp bối cảnh toàn diện hơn xung quanh SCA.
EOAs có thể đạt được khôi phục xã hội và khả năng tương thích trên nhiều thiết bị/nền tảng thông qua dịch vụ MPC. Mặc dù EOAs có người ký cố định, các nhà cung cấp MPC có thể chia khóa thành các phần để tăng cường tính bảo mật và linh hoạt. Phương pháp này thiếu các tính năng có thể lập trình và nâng cấp của SCA, chẳng hạn như khôi phục khóa theo thời gian và việc vô hiệu hóa khóa dễ dàng. Tuy nhiên, nó vẫn cung cấp khả năng chuyển mạch giữa chuỗi vượt trội bằng cách không phụ thuộc vào chuỗi và hiện đang hiệu quả về chi phí hơn so với SCAs. Các nhà cung cấp MPC đáng chú ý bao gồm Privy, Particle Network, web3Auth, ví OKX, ví Binance, v.v.
Hãy dừng lại một chút để hiểu rõ bối cảnh: Trên Ethereum, các khóa riêng tư là các số ngẫu nhiên được chọn từ đường cong k1, và quá trình ký cũng sử dụng đường cong này.
Tuy nhiên, các cặp khóa được tạo theo tiêu chuẩn WebAuthn, sử dụng đường cong r1. Do đó, việc xác minh chữ ký r1 trên Ethereum tốn khoảng ba lần chi phí hơn so với chữ ký k1. Dưới đây là một số cách tiếp cận để giải quyết vấn đề này:
Tín dụng cho Dogan, để biết thêm về kiến thức chi tiết, vui lòng kiểm tra nghiên cứu của anh ấy.
Giải pháp Giao thức:
Giải pháp: EIP7212, Biên dịch sẵn cho Hỗ trợ đường cong secp256r1 do nhóm Clave đề xuất.
Đánh giá: Đề xuất này tạo ra một hợp đồng được biên soạn trước thực hiện xác minh chữ ký trong đường cong elliptic “secp256r1” bằng các thông số cụ thể của bản băm thông điệp, các thành phần r và s của chữ ký, và tọa độ x, y của khóa công khai. Nhờ đó, bất kỳ chuỗi EVM nào - đặc biệt là các rollups Ethereum - đều có thể tích hợp hợp đồng được biên soạn này một cách dễ dàng. Cho đến nay, hợp đồng được biên soạn có thể là giải pháp tiết kiệm gas nhất.
Thực hiện: zkSync
Dịch vụ của bên thứ ba
Giải pháp: Turnkey
Đánh giá: Một Cái Türkiye TEE đảm bảo rằng khóa riêng tư chỉ có thể truy cập bởi người dùng thông qua PassKey của họ và không bao giờ có thể truy cập cho Turnkey, tuy nhiên điều này vẫn yêu cầu tính sống của dịch vụ.
Thực hiện: Goldfinch
Giải pháp Solidity Verifier:
Giải pháp: FCL's Solidity Verifier, FCL's Solidity Verifier With Precomputation, P256Verifier của Daimo
Thực hiện: Clave, Ví Obvious
Máy xác minh không thông tin (ZK):
Giải pháp: Risc0 bonsai, Axiom's halo2-ecc
Đánh giá: Phương pháp này tận dụng các chứng minh không thông báo để xác minh tính toán ngoài Máy ảo Ethereum (EVM), giảm chi phí tính toán trên chuỗi.
Thực hiện: Ví Bonfire(Risc0), Know Nothing Labs(Axiom)
Mỗi giải pháp này cung cấp một phương pháp khác nhau để trao quyền xác minh chữ ký r1 rẻ hơn và khả thi trong hệ sinh thái của Ethereum và đây là đánh giá của Dogan.
*Vui lòng lưu ý rằng đến tháng 12 năm 2023, hầu hết các giải pháp này đều đang ở giai đoạn đầu và có thể thay đổi hoặc cải thiện bất kỳ lúc nào. Những ví dụ này chỉ dành cho mục đích học tập; luôn tham khảo trang web chính thức của họ để có thông tin chính xác.
Cơ bản:
Demo: https://getclave.io/
Tài khoản: SCA
Chain: ZkSync
Quá trình giao dịch:
Tạo khóa: Người dùng cung cấp xác thực sinh trắc học như dấu vân tay hoặc nhận diện khuôn mặt, một cặp khóa được tạo ra bên trong Secure Enclave, không bao giờ tiết lộ hoặc rời khỏi bên ngoài.
Ký khóa: Ứng dụng lấy một tin nhắn giao dịch cần thiết và chuyển tiếp một yêu cầu ký vào Secure Enclave, người dùng cung cấp xác thực sinh học để phê duyệt việc ký, và Secure Enclave ký tin nhắn với khóa, và được phát sóng đến các nút blockchain.
Các chức năng bổ sung: Tài khoản hợp đồng thông minh cho phép nhiều chức năng mạnh mẽ. Đầu tiên, tài trợ gas. Do người thanh toán, các bên khác như dApp hoặc nhà quảng cáo có thể thanh toán phí gas cho người dùng, làm cho quá trình giao dịch trở nên mượt mà, và cũng cho phép người dùng thanh toán gas bằng ERC20 thay vì Ether hoặc token bản địa. Và sử dụng khóa phiên, người dùng có thể thực hiện giao dịch không cần chữ ký trong một khoảng thời gian.
Cơ chế phục hồi:
Quá trình phục hồi được thực hiện bởi hợp đồng thông minh của Clave trên zkSync, người dùng có thể hủy quá trình phục hồi trong thời gian khóa 48 giờ, để ngăn chặn các hoạt động không được ủy quyền và độc hại.
Sao lưu đám mây: EOA sẽ được tạo khi người dùng chọn sao lưu đám mây, khóa riêng của EOA được lưu trữ trong iCloud hoặc Google Drive, người dùng có thể sử dụng khóa riêng được lưu trữ trên đám mây này để truy cập tài khoản của họ từ các thiết bị khác và người dùng có thể xóa hoặc ghi đè lên phần sao lưu này bất cứ lúc nào.
Khôi phục xã hội: Người dùng có thể chỉ định địa chỉ clave của gia đình hoặc bạn bè của họ làm sao lưu, nếu M trong N người bảo vệ xác nhận cho việc phục hồi, việc phục hồi sẽ được thực hiện sau 48 giờ bị khóa nếu không hủy bỏ.
Cơ bản:
Demo: https://alpha.soulwallet.io/wallet
Tài khoản: ERC4337 SCA
Chain: Ethereum, Optimism, Arbitrum và sớm nhất là tất cả EVM layer2
Quá trình giao dịch:
Tạo khóa: Người dùng cung cấp xác thực sinh trắc học như vân tay hoặc nhận diện khuôn mặt, và hệ điều hành tạo Passkey và sao lưu nó bằng dịch vụ đám mây. Bạn có thể thêm nhiều hơn một passkey trên nhiều thiết bị và nền tảng khác nhau.
Thêm người giám hộ (Tùy chọn): Người dùng có thể chỉ định địa chỉ EVM EOA khác nhau làm người giám hộ và thiết lập ngưỡng cho quá trình khôi phục tài khoản.
Tạo tài khoản: Sử dụng triển khai tưởng tượng, người dùng không cần thanh toán bất kỳ phí nào cho đến giao dịch đầu tiên
Cơ chế phục hồi:
Passkey: Sử dụng bất kỳ passkey đã xác định nào để đăng nhập vào ví bằng thiết bị tùy ý.
Khôi phục người bảo vệ: Các người bảo vệ được chỉ định có thể xoay ví theo ngưỡng, và một khóa thời gian có thể được đề cập sau này để ngăn chặn hành vi độc hại.
Cơ bản:
Demo: https://www.okx.com/help/what-is-an-aa-smart-contract-wallet
Chain: 30+ chuỗi
Khóa: MPC-TSS, 2/3
Tài khoản: 4337 SCA
Quá trình giao dịch:
Tạo khóa: Bằng cách tạo ví, OKX chuyển đổi một khóa riêng lẻ thành ba phần riêng biệt. Phần thứ nhất được lưu trữ trên máy chủ OKX, phần thứ hai được lưu trữ trên bộ nhớ cục bộ của thiết bị người dùng, và phần thứ ba được tạo ra bởi thiết bị, được mã hóa và có thể được sao lưu lên các dịch vụ đám mây ưa thích của thiết bị, như Google Cloud, iCloud và Huawei Cloud.
Ký chính: OKX sử dụng công nghệ MPC-TSS, người dùng có thể nhận chữ ký đầy đủ bằng cách sử dụng hai trong ba phần private key khi ký giao dịch, các phần private key không bao giờ gặp nhau trong quá trình này.
Cơ chế phục hồi:
Cơ chế 2/3: Khi người dùng đăng xuất, thiết bị không khả dụng hoặc một trong số các khóa trên thiết bị bị đe dọa, bạn có thể sử dụng thiết bị mới để đăng nhập ví OKX (nhận chia sẻ từ máy chủ) và nhận chia sẻ dịch vụ đám mây, kết hợp 2 chia sẻ này để khôi phục ví, ví OKX sẽ tạo ra các chia sẻ bí mật mới.
Cơ bản:
Demo: https://w3a.link/passkeysDemo
Chain: Tất cả EVM và Solana
Khóa: MPC-TSS, thường là 2/3
Tài khoản: Bất kỳ tài khoản nào như EOA, 4337 SCA hoặc SCA tổng quát
Quy trình giao dịch:
Tạo khóa: Bằng cách tạo ví, ba phần khóa được tạo ra. Phần chia sẻ 1 là phần chia sẻ đăng nhập xã hội, người dùng có thể nhập email của họ, và một mạng lưới phân tán của nút mạng lưu trữ khóa cho mỗi người dùng; Phần chia sẻ 2 là phần chia sẻ thiết bị được lưu trữ trên bộ nhớ cục bộ của thiết bị người dùng; Phần chia sẻ 3 được tạo ra bởi máy tính cục bộ và được sao lưu bởi dịch vụ đám mây ưa thích của người dùng.
Chữ ký khóa: Kiến trúc Web3Auth MPC-TSS đảm bảo rằng khóa của người dùng luôn có sẵn, ngay cả khi sử dụng chữ ký ngưỡng, các khóa không bao giờ được tái tạo hoặc lưu trữ ở một nơi duy nhất.
Cơ chế khôi phục:
Khi người dùng đăng xuất, thiết bị không khả dụng hoặc một trong các khóa trên thiết bị bị đe dọa, bạn có thể sử dụng phương thức đăng nhập xã hội để đăng nhập vào tài khoản webAuthn và nhận chia sẻ đám mây của passkey, kết hợp các chia sẻ này để khôi phục ví.
Thông tin cơ bản:
Demo: https://lit-pkp-auth-demo.vercel.app/
Chain: Hầu hết EVM, Cosmos, Solana.
Tài khoản: MPC-TSS, 20 trong 30 mạng, có thể được áp dụng bởi cả SCA và EOA.
Quy trình giao dịch:
Tạo khóa: Khi người dùng muốn tạo ví, trước tiên sử dụng phương thức xác thực (passkey, đăng nhập xã hội oAuth được hỗ trợ), sau đó gửi yêu cầu đến người truyền thông để tạo cặp khóa và lưu trữ logic xác thực vào hợp đồng thông minh. Mỗi cặp khóa được tạo ra một cách tập thể bởi các nút Lit thông qua quy trình gọi là Phân phối Khóa Phân tán (DKG). Hoạt động như một mạng phi tập trung, 30 nút Lit chạy bên trong TEE, mỗi nút giữ một phần của khóa nhưng khóa riêng tư không bao giờ tồn tại hoàn toàn.
Ký chữ ký: Nhận yêu cầu, các nút Lit độc lập xác thực hoặc từ chối yêu cầu so với phương pháp xác thực được chỉ định, và sử dụng công nghệ MPC-TSS,1. Các phần chia khóa được thu thập vượt ngưỡng (20 trên 30) để tạo ra một chữ ký và kết hợp bởi khách hàng để hoàn thành yêu cầu.
Cơ chế phục hồi:
Cơ chế 2/3: Sử dụng phương pháp xác thực được lưu trữ trong hợp đồng thông minh để truy cập vào tài khoản, các nút Lit xác minh các yêu cầu và nó sẽ tiến hành nếu hơn 2/3 các nút xác nhận.
Được thúc đẩy bởi sự nhiệt huyết cho Layer2, Layer3, và giải pháp khả dụng dữ liệu, chúng tôi rất mong muốn cải thiện hiệu suất của blockchain. Ngoài ra, theo đuổi an ninh thực sự, kết hợp Sự riêng tư Zero Knowledge Proof với tính chất minh bạch. Tất cả những nỗ lực đều hướng đến một mục tiêu duy nhất: Sẵn sàng cho người dùng thực sự thường xuyên tương tác với blockchain và áp dụng tiền điện tử vào cuộc sống của họ.
Dễ dàng bị mắc kẹt trong giấc mơ về công nghệ tối ưu, nhưng chúng ta phải hỏi: chúng ta đang hướng đến trải nghiệm loại nào? Chúng tôi mường tượng một thế giới nơi tiền điện tử liên quan đến trực giác hơn là những thuật ngữ công nghệ đáng sợ, nơi mà người dùng nhảy vào hang thỏ mà không do dự và phiền toái.
Hãy tưởng tượng một người dùng Rui: Cô ấy phát hiện ra một ứng dụng phi tập trung tuyệt vời, dễ dàng đăng ký bằng nhận dạng khuôn mặt hoặc vân tay, với tùy chọn thiết lập bản sao lưu hoặc người bảo vệ. Khi tương tác với ứng dụng, cô ấy thực hiện giao dịch một cách mượt mà, có thể với các khoản phí ERC20 nhỏ hoặc thậm chí không phí nào. Sau đó, cô ấy tùy chỉnh cài đặt ví của mình - có thể kích hoạt khóa thời gian cho các giao dịch tự động, thêm một thiết bị khác làm người ký dự phòng, hoặc điều chỉnh danh sách người bảo vệ của mình.
Các nhà xây dựng của chúng tôi làm cho điều đó xảy ra. Tích hợp WebAuthn và Passkey, chúng tôi tăng cường quản lý khóa riêng, làm cho nó vừa an toàn vừa thân thiện với người dùng. Trên hết, SCA với tư cách là một thực thể mở ra một lĩnh vực bảo mật và chức năng được cá nhân hóa. Và đối với phí xăng? Chúng trở nên ít gánh nặng hơn, nhờ các nhà cung cấp Paymaster, những người có thể tạo ra một 'kho tiền' để hoán đổi hoặc thậm chí cho phép các nhà quảng cáo trang trải phí cho người dùng. Trọng tâm của sự phát triển này, đặc biệt là đối với mạng chính Ethereum và các Lớp 2 tương đương của nó, là ERC4337. Nó giới thiệu một mempool thay thế tách biệt các giao dịch SCA khỏi EOA, mà không cần đại tu giao thức lớn. Mặt khác, một số mạng Lớp 2 thậm chí còn chấp nhận SCA nguyên bản, kết hợp liền mạch chúng vào hệ thống của chúng.
Yêu cầu nỗ lực to lớn để làm cho mọi thứ trở nên dễ dàng. Nhiều thách thức tồn tại như giảm phí triển khai, xác thực và thực thi cho SCA; Tiêu chuẩn hóa giao diện để tăng khả năng tương thích tài khoản; Đồng bộ trạng thái tài khoản qua các chuỗi; và nhiều hơn nữa. Ghi công cho tất cả những người xây dựng, chúng ta đang ngày càng tiến gần hơn để giải quyết câu đố từng ngày. Và các dự án tiền điện tử như chúng tôi - SevenX, sẵn sàng giúp các công ty lớn thực hiện tầm nhìn của họ.
Khóa riêng tư là lõi cho phép chúng ta ký giao dịch trên Ethereum, nhưng việc quản lý nó đã là một cơn ác mộng, ngay cả trong dạng đọc được của “seed phrases”. Tuy nhiên, mục tiêu của chúng tôi không bao giờ là biến blockchain thành một trò chơi phức tạp.
Xác thực người dùng được ủy quyền là rất quan trọng đối với các giao dịch an toàn. Với sự phát triển của bảo mật internet và UX, chúng tôi đã chuyển từ xác thực mật khẩu sang sinh trắc học như nhận dạng khuôn mặt và dấu vân tay. WebAuthn là một sự phát triển quan trọng trong tiến trình này. Bài viết này thảo luận chặt chẽ về ba thuật ngữ:
WebAuthn: Một tiêu chuẩn xác thực web sử dụng thông tin đăng nhập dựa trên khóa công khai, thường được tạo bởi các thiết bị xác thực bên ngoài. Nó loại bỏ nhu cầu sử dụng mật khẩu và cho phép xác thực người dùng một cách an toàn.
Secure Enclave: Một khu vực an toàn dựa trên phần cứng bên trong thiết bị tính toán, Secure Enclave được thiết kế để bảo vệ dữ liệu nhạy cảm. Các phiên bản của Secure Enclave được tìm thấy trong các thiết bị iOS, Android và Windows. Nó có thể phục vụ như một người xác thực an toàn bằng cách triển khai WebAuthn, nhưng khóa riêng tư, được liên kết với SE, thường gây ra thách thức trên nhiều thiết bị.
Passkey: Một cài đặt của WebAuthn ở cấp độ hệ điều hành, được tùy chỉnh bởi các nhà cung cấp thiết bị và hệ thống khác nhau. Ví dụ, Passkey của Apple sử dụng khóa được lưu trữ trong iCloud Keychain để đồng bộ trên nhiều thiết bị. Tuy nhiên, phương pháp này thường bị khóa vào các nền tảng hoặc hệ thống cụ thể.
Như đã mô tả ở trên, các triển khai webAuthn tương thích với mục tiêu của chúng tôi dành cho người dùng blockchain hàng ngày, để đạt được mức độ an toàn chống lừa đảo cao và trải nghiệm thân thiện. Đây là ý tưởng để kết hợp chúng vào blockchain:
Lớp khóa: Người dùng xác thực bằng cách sử dụng các phương pháp sinh trắc học mượt mà như nhận diện khuôn mặt hoặc dấu vân tay. Bên trong, đó là bộ xử lý bảo mật dựa trên phần cứng như Secure Enclave hoặc dịch vụ đám mây như iCloud và Google Cloud xử lý việc quản lý khóa. Tôi sẽ đi sâu vào việc giải quyết các vấn đề liên quan đến thiết bị và nền tảng sau này.
Lớp Tài khoản: Một Tài khoản Hợp đồng Thông minh (SCA) cung cấp khả năng chỉ định các bên ký tự tùy ý (ví dụ: SE và Passkey) và cơ chế ngưỡng. Hơn nữa, thiết kế modular của nó tăng cường tính linh hoạt và khả năng nâng cấp. Ví dụ, một SCA có thể điều chỉnh yêu cầu ký tự của mình một cách linh hoạt dựa trên các yếu tố như số tiền giao dịch, thời gian hoặc địa chỉ IP. Ngược lại, một Tài khoản Ngoại vi truyền thống (EOA) có thể được bổ sung bằng dịch vụ MPC, sự kết hợp của họ cung cấp tính tương thích và hiệu quả chi phí tốt hơn so với SCA, mặc dù thiếu các chức năng tiên tiến mà SCA cung cấp, đặc biệt là cho việc xoay chìa khóa.
Lớp ký: Ethereum hỗ trợ nguyên bản của dạng cong k1, nhưng việc xác minh chữ ký của WebAuthn gây ra chi phí cao hơn, vì nó sử dụng dạng cong r1 để tạo khóa. Do đó, một số giải pháp Lớp 2 như zkSync, đang lên kế hoạch triển khai trước các dạng công r1 của EIP-7212 nguyên bản. Ngoài ra, có các dịch vụ bên thứ ba, các trình xác minh Solidity, các trình xác minh Zero-Knowledge (ZK) và các hệ thống quản lý khóa phân tán, để hỗ trợ việc ký dạng cong r1 một cách hiệu quả về chi phí hơn.
Tuyên bố từ chối trách nhiệm:
Sự tiến bộ công nghệ không đảm bảo thành công trên thị trường; Không phải tất cả các thiết bị và nền tảng đều đã chấp nhận Passkey; Sử dụng SCA có thể tốn kém hơn EOA; Giải pháp đề xuất phát triển cùng với tiến bộ công nghệ.
Trong lĩnh vực blockchain, việc kiểm soát thực sự của tài sản blockchain không nằm trong tay người dùng hoặc nhà cung cấp ví, mà nằm trong khóa riêng tư. Khóa này là quan trọng nhất đối với toàn bộ quá trình thực hiện giao dịch trên Ethereum. Để hiểu rõ hơn về điều này, hãy xem EOA như một ví dụ:
Tạo khóa: Một số ngẫu nhiên được chọn từ đường cong elliptic secp256k1 được sử dụng làm khóa riêng. Khóa này sau đó được nhân với một điểm đã được xác định trước trên đường cong để tạo ra khóa công khai. Địa chỉ Ethereum được suy ra từ 20 byte cuối cùng của khóa công khai đã băm. 'Cụm từ gốc' thường được giới thiệu để sao lưu có thể đọc được cho việc tìm ra quy luật của khóa riêng và khóa công khai.
Ký giao dịch: Một giao dịch, chứa các chi tiết như nonce (một số tuần tự), số tiền, giá gas, và địa chỉ người nhận, được ký bằng cách sử dụng khóa riêng. Quá trình này, liên quan đến ECDSA, một thuật toán chữ ký số sử dụng mật mã đường cong elip và áp dụng secp256k1 làm đường cong, tạo ra một chữ ký bao gồm các giá trị (r, s, v). Chữ ký và giao dịch gốc sau đó được phát sóng trên mạng.
Xác minh giao dịch: Khi một giao dịch đến các nút Ethereum, nó sẽ trải qua quá trình xác thực trong mempool của nút. Để xác minh người ký, các nút sử dụng chữ ký và giao dịch băm để lấy khóa công khai của người gửi và xác nhận tính xác thực của giao dịch bằng cách khớp địa chỉ dẫn xuất với địa chỉ của người gửi.
Như mô tả ở trên, khóa riêng tư là một thực thể quan trọng trên chuỗi. Ban đầu, tài khoản Ethereum, được gọi là Tài khoản Sở hữu Bên ngoài (EOAs), hoàn toàn phụ thuộc vào một khóa riêng tư duy nhất, điều này đặt ra rủi ro đáng kể, vì mất khóa có nghĩa là mất quyền truy cập vào tài khoản.
Nhiều người có thể nghĩ rằng Trừu tượng tài khoản (AA) là giải pháp cho mọi thứ liên quan đến trải nghiệm người dùng xấu, điều mà tôi sẽ nói không chính xác. AA là về việc thay đổi các quy tắc hợp lệ để có thể lập trình và khả năng lập trình của Tài khoản hợp đồng thông minh (SCA) làm cho nó có thể. AA mạnh mẽ, cho phép gửi nhiều giao dịch song song (nonce trừu tượng), tài trợ gas và thanh toán gas trong ERC20 (khí trừu tượng) và phù hợp hơn với chủ đề của bài viết này, để phá vỡ xác thực chữ ký cố định (chữ ký ECDSA trừu tượng). Thay vì EOA, SCA có thể chỉ định người ký tùy ý và các cơ chế ký như đa chữ ký (multisigs) hoặc khóa phạm vi (khóa phiên). Tuy nhiên, bất chấp sự tiến bộ về tính linh hoạt và khả năng nâng cấp của AA, sự phụ thuộc cơ bản vào (các) khóa để ký giao dịch vẫn không thay đổi.
Ngay cả khi được chuyển đổi thành một cụm từ hạt giống 12 từ, việc quản lý khóa riêng vẫn đầy thách thức, đặt ra nguy cơ mất mát hoặc bị tấn công lừa đảo. Người dùng phải điều hướng giữa các tầng lớp phức tạp của các giải pháp phi tập trung hoặc sự ôm ấp ấm áp của dịch vụ tập trung, cả hai đều không phải là lựa chọn lý tưởng.
Tại sao trải nghiệm tiền điện tử lại tệ? Một phần lớn là do việc quản lý khóa tệ. Luôn luôn đòi hỏi sự cân nhắc giữa trải nghiệm, bảo mật và phân cấp. Bài viết này khám phá các giải pháp tối ưu tiềm năng cho việc quản lý khóa.
Không bao giờ tồn tại một giải pháp phù hợp với tất cả mọi người, cách tốt nhất để bảo quản khóa là phù hợp với các tình huống người dùng cụ thể, được ảnh hưởng bởi các yếu tố như loại người dùng (tổ chức hoặc cá nhân), số vốn, tần suất giao dịch và loại hình tương tác.
Để làm rõ từ đầu, tôi tránh việc sử dụng các phương pháp 'tự, bán tự và tự do tồn kho' phổ biến để phân loại. Theo quan điểm của tôi, sự tự lưu giữ thực sự có nghĩa là ký một giao dịch độc lập, mà không phụ thuộc vào một bên thứ ba, điều này vẫn đúng ngay cả khi giải pháp không phải là lưu trữ theo cách truyền thống (như được lưu trữ trong TEE của các nút phân cấp phân tán). Phân loại các giải pháp chỉ đơn thuần là 'tốt' hoặc 'xấu' dựa trên loại tồn kho là quá đơn giản và không tính đến sự phù hợp biến thiên của chúng. Để đánh giá một cách tinh tế hơn về các phương pháp quản lý khóa chính, tôi đề xuất phân tích chúng qua ba lớp khác nhau:
Xem xét việc chia sẻ trách nhiệm quản lý một khóa vào các bên khác nhau.
Vì cá nhân thường gặp khó khăn trong việc quản lý khóa, việc phân phối trách nhiệm bảo vệ khóa trở thành một chiến lược giảm thiểu rủi ro tự nhiên. Danh mục này bao gồm các phương pháp như sử dụng nhiều khóa để ký kết theo cách hợp tác, như trong các hệ thống Đa-Chữ-Ký (Multi-sig), và chia khóa riêng thành các phần thông qua một Mô Hình Chia Sẻ Bí Mật (SSS) hoặc Tính Toán Đa Bên (MPC).
Multi-sig: Yêu cầu nhiều khóa riêng tư hoàn chỉnh để tạo ra chữ ký giao dịch. Phương pháp này đòi hỏi sự giao tiếp trên chuỗi về các bên ký khác nhau, gây ra các khoản phí giao dịch cao hơn và ảnh hưởng đến sự riêng tư vì số lượng bên ký là rõ ràng trên chuỗi.
SSS: một khóa riêng tư được tạo ra tại một vị trí duy nhất, và một người bán phân phối các phần của khóa này cho các bên khác nhau. Tất cả các bên phải tái tạo lại toàn bộ khóa riêng tư để ký giao dịch. Tuy nhiên, quá trình tái tạo tạm thời này có thể tạo ra lỗ hổng.
MPC-TSS(Threshold Signature Scheme): là một cách tiếp cận mật mã cho phép nhiều bên thực hiện các phép tính trong khi giữ nguyên riêng tư đầu vào của họ cùng nhau. Mỗi bên tạo một phần chia khóa bí mật độc lập, và các giao dịch được ký mà không cần những bên này phải gặp nhau mặt. Nó giới thiệu các phí thấp vì nó nằm ngoài chuỗi, và không có rủi ro điểm hỏng duy nhất như SSS.
Lưu trữ khóa hoặc cổ phần, bị ảnh hưởng bởi các yếu tố an ninh, tính sẵn có, chi phí và phân tán.
Dịch vụ đám mây tập trung như AWS, iCloud và các máy chủ khác. Chúng tiện lợi cho các giao dịch thường xuyên, nhưng dễ bị kiểm duyệt hơn.
Lưu trữ phi tập trung như IPFS và Filecoin.
Máy tính/điện thoại cục bộ: Các khóa được lưu trữ cục bộ trong bộ nhớ an toàn của trình duyệt.
Ví giấy: Bản in vật lý của các khóa riêng tư hoặc mã QR.
Môi trường thực thi đáng tin cậy (TEE): TEE cung cấp một khu vực an toàn bên trong bộ xử lý chính để thực thi hoặc lưu trữ dữ liệu nhạy cảm, được cô lập khỏi hệ điều hành chính.
Miền Bảo mật: Miền Bảo mật trên các thiết bị hiện đại được cô lập khỏi bộ xử lý chính để cung cấp một lớp bảo mật bổ sung và được thiết kế để giữ cho dữ liệu người dùng nhạy cảm an toàn ngay cả khi hạt nhân Bộ xử lý Ứng dụng bị tấn công.
Ví cứng: Thiết bị vật lý như Ledger và Trezor, được thiết kế đặc biệt để lưu trữ an toàn các khóa riêng tư.
Mô-đun Bảo mật Phần cứng (HSM): HSM là thiết bị phần cứng chuyên biệt được thiết kế để quản lý khóa an toàn và thực hiện các hoạt động mật mã. Thông thường chúng được sử dụng trong môi trường doanh nghiệp và cung cấp các tính năng bảo mật cấp cao.
Làm thế nào để xác minh danh tính người dùng để truy cập khóa được lưu trữ
Xác thực liên quan đến việc truy cập khóa được lưu trữ. Đó là về việc xác minh rằng người cố gắng truy cập thực sự được ủy quyền để làm điều đó. Nhìn lại vào lịch sử, chúng ta có thể phân loại lịch sử như sau:
Một điều bạn biết: Mật khẩu, PIN, câu trả lời cho câu hỏi bảo mật, hoặc các mẫu cụ thể.
Something You Have:Bao gồm thẻ thông minh, mã thông báo phần cứng (mật khẩu một lần dựa trên thời gian), hoặc yếu tố số như xác minh tài khoản mạng xã hội và mã SMS gửi đến điện thoại.
Một số Đặc Điểm Riêng của Bạn: Liên quan đến các đặc điểm vật lý độc đáo của người dùng, như vân tay, nhận dạng khuôn mặt (như Face ID của Apple hoặc Windows Hello), nhận dạng giọng nói, hoặc quét mống mắt/ võng mạc.
Trên những cơ sở này, 2FA và MFA là những phương pháp kết hợp hai hoặc nhiều yếu tố, như thông báo đẩy kết hợp SMS, để thêm các lớp bảo mật cho tài khoản người dùng.
MetaMask cho phép người dùng sử dụng mật khẩu để truy cập khóa được lưu trữ trong bộ nhớ của trình duyệt cục bộ của người dùng.
Trust Wallet cho phép người dùng sử dụng mật khẩu hoặc faceID để truy cập khóa được lưu trữ trong bộ nhớ trình duyệt cục bộ của người dùng, người dùng cũng có thể chọn dịch vụ đám mây để sao lưu khóa riêng tư.
Privy cho phép người dùng sử dụng nhiều phương pháp đăng nhập xã hội như email, sử dụng SSS để chia sẻ ba phân.
Chia sẻ thiết bị: Trình duyệt-iFrame, di động-an toàn.
Chia sẻ xác thực: Được lưu trữ bởi privy, liên kết đến id privy).
Chia sẻ khôi phục: Mật khẩu người dùng hoặc được mã hóa bởi Privy lưu trữ trong mô-đun bảo mật phần cứng (HSM).
Particle cho phép người dùng sử dụng đăng nhập xã hội, sử dụng MPC-TSS có hai phần:
Chia sẻ thiết bị: trình duyệt-iFrame
Mã chia sẻ khóa máy chủ: Máy chủ của Particle
Các giải pháp hiện có trên đã đóng vai trò quan trọng trong việc giới thiệu người dùng với web3. Tuy nhiên, chúng thường đi kèm với những thách thức: mật khẩu có thể bị quên hoặc bị mục tiêu trong các cuộc tấn công lừa đảo, và thậm chí 2FA, mặc dù an toàn hơn, cũng có thể gây phiền toái với nhiều bước. Ngoài ra, không phải ai cũng thoải mái khi giao phó việc quản lý khóa cho một bên thứ ba, người dùng vẫn phụ thuộc vào sự có sẵn và hoạt động của hệ thống trong khi một số dịch vụ đảm bảo rằng họ không thể truy cập vào khóa.
Điều này đưa chúng ta suy nghĩ liệu có một giải pháp hiệu quả hơn - một giải pháp mang lại trải nghiệm người dùng không tin cậy, an ninh cao và mượt mà nhất. Tìm kiếm này dẫn chúng ta đến các phương pháp web2 tối ưu. Một số thuật ngữ chặt chẽ liên quan đến chủ đề, như tôi đã mô tả ở đầu bài viết, WebAuthn là tiêu chuẩn xác thực chính nó, trong khi Secure Enclave và Passkey là các triển khai hoặc thành phần liên quan đến tiêu chuẩn này.
WebAuthn
Tiêu chuẩn WebAuthn chuẩn hóa giao diện xác thực người dùng đối với ứng dụng web. Nó cho phép người dùng đăng nhập vào tài khoản internet bằng cách sử dụng các thiết bị xác thực bên ngoài thay vì mật khẩu. Các thiết bị xác thực có thể là Thiết bị Xác thực Di động (Yubikey, Titan key) hoặc Thiết bị Xác thực Nền tảng (Keychain tích hợp trên thiết bị Apple), và cũng có thể là nhiều loại khác.
Liên minh FIDO (Fast IDentity Online) ban đầu đã phát triển các công nghệ đằng sau WebAuthn. Nó chính thức được xác định là một tiêu chuẩn web bởi W3C vào tháng 3 năm 2019 và cùng với việc tiêu chuẩn hóa, các trình duyệt lớn như Google Chrome, Mozilla Firefox, Microsoft Edge và Apple Safari đã áp dụng WebAuthn, tăng đáng kể phạm vi và tính khả dụng của nó. Hiện nay, nó được hỗ trợ bởi nhiều thiết bị tiên tiến.
Lợi ích của webAuthn:
Bảo mật nâng cao: Loại bỏ sự phụ thuộc vào mật khẩu, giảm sự dễ bị tấn công qua mạng phishing, tấn công brute force và tấn công replay.
Trải nghiệm người dùng được cải thiện: Cung cấp quy trình đăng nhập đơn giản và nhanh chóng hơn, thường chỉ cần chạm hoặc xác minh sinh trắc học.
Bảo vệ quyền riêng tư: Không có bí mật được chia sẻ trong quá trình xác thực, và các trang web cá nhân không nhận bất kỳ thông tin cá nhân nào.
Khả năng mở rộng và tiêu chuẩn hóa: Là một tiêu chuẩn web, WebAuthn đảm bảo tính nhất quán và tương thích trên các trình duyệt và nền tảng khác nhau.
WebAuthn có giới hạn thiết bị, ví dụ Secure Enclave
Trong các trường hợp hiện đại, chúng ta có thể sử dụng bộ xử lý phần cứng như bộ xác thực, như Secure Enclave cho thiết bị Apple, Trustzone cho Android và Strongbox cho Google Pixel.
Tạo khóa: Sử dụng mật mã khóa công khai, một cặp khóa được tạo theo tiêu chuẩn WebAuthn, thường sử dụng đường cong P-256 r1. Khóa công khai được gửi đến dịch vụ, trong khi khóa riêng KHÔNG BAO GIỜ rời khỏi Secure Enclave. Người dùng không bao giờ xử lý khóa văn bản thuần túy, khiến khóa riêng khó bị xâm phạm.
Lưu trữ khóa: Khóa riêng tư được lưu trữ an toàn trong Secure Enclave của thiết bị, một hệ thống phụ cô lập khỏi bộ xử lý chính. Nó bảo vệ dữ liệu nhạy cảm, đảm bảo rằng ngay cả khi hệ thống chính bị đe dọa, nguyên liệu khóa gốc vẫn không thể truy cập được. Rào cản để đe dọa Secure Enclave rất cao, và do đó các loại dữ liệu nhạy cảm nhất như Apple Pay và dữ liệu FaceID được lưu trữ ở đó. Dưới đây là một giải thích chi tiết về cách SE hoạt động.
Xác thực: Người dùng sử dụng nhận dạng khuôn mặt hoặc vân tay của mình để truy cập, Secure Enclave sử dụng khóa riêng để ký một thách thức từ dịch vụ, và dịch vụ xác minh bằng cách sử dụng khóa công khai.
Ưu điểm của webAuthn dựa trên thiết bị:
Bảo mật cấp phần cứng: Sử dụng Secure Enclave, một bộ quản lý khóa dựa trên phần cứng cô lập để cung cấp một lớp bảo mật bổ sung.
Sự chống lừa đảo: Không nên nhập bất kỳ thông tin nào trên các thiết bị hoặc trang web có thể bị xâm nhập.
Trải nghiệm tiện lợi: Họ cung cấp trải nghiệm thân thiện với người dùng hơn. Người dùng không cần phải nhớ mật khẩu phức tạp cho các trang web khác nhau nữa.
Nhược điểm của webAuthn dựa trên thiết bị:
Ràng buộc thiết bị: Khóa riêng tư không thể được xuất hoặc khôi phục nếu thiết bị bị mất hoặc hỏng, việc vận hành qua các thiết bị khác không thể thực hiện được.
Cloud-based WebAuthn, Passkey
Giải quyết thách thức về chức năng đa thiết bị, những gã khổng lồ công nghệ đã giới thiệu triển khai webAuthn dựa trên đám mây, Passkey quen thuộc rộng rãi vì Apple.
Hãy lấy Passkey của Apple làm ví dụ:
Quá trình tạo khóa: Thiết bị macOS, iOS hoặc iPadOS của người dùng, được xác thực như một công cụ xác thực, tạo ra một cặp khóa công khai - khóa bí mật khi người dùng tạo tài khoản. Sau đó gửi khóa công khai đến máy chủ, và khóa bí mật được lưu trữ trên iCloud Keychain của thiết bị. Dữ liệu iCloud Keychain được mã hóa bằng một cặp khóa liên kết vật lý, và được lưu trữ trong mô-đun bảo mật phần cứng (HSM). Khóa không thể truy cập được bởi Apple.
Đồng bộ trên các thiết bị: Quy trình này sẽ giống như truy cập vào iCloud. Xác thực vào tài khoản iCloud, nhận mã SMS, và nhập mã bảo mật của một trong các thiết bị.
Ưu điểm của webAuthn dựa trên đám mây:
Cross-device: Passkeys được thiết kế để tiện lợi và dễ truy cập từ tất cả các thiết bị được sử dụng định kỳ. Nhưng hiện tại chỉ hỗ trợ trên các thiết bị Apple, với Android thì khó hơn do sự đa dạng về phiên bản và cấu hình phần cứng.
Chống lừa đảo: Giống như trên.
Trải nghiệm thuận tiện: Giống như ở trên.
Nhược điểm của Passkey dựa trên đám mây:
Phụ thuộc vào dịch vụ đám mây: So sánh với webAuthn dựa trên thiết bị, passkey dựa trên đám mây chuyển độ an toàn từ phần cứng Secure Enclave sang khóa iCloud, một số người có thể tranh cãi rằng nó là của bạn dịch vụ đám mây. Một số khía cạnh quan trọng cần xem xét bao gồm: Tài khoản AppleID của người dùng được sử dụng với iCloud bị xâm nhập; Trong khi iCloud Keychain sử dụng mã hóa end-to-end để bảo vệ dữ liệu, các lỗi hoạt động hoặc lỗ hổng có thể tạo ra một rủi ro.
Hạn chế đối với nền tảng: Ví dụ, việc sử dụng một mã thông qua iCloud trên thiết bị Android là vô cùng thách thức. Hơn nữa, khác với các phương pháp truyền thống, Apple và Google không gửi các khẳng định cụ thể cho từng thiết bị. Điều này có nghĩa là hiện tại không thể xác minh loại thiết bị tạo ra một khóa, điều này đặt ra những câu hỏi về tính đáng tin cậy của khóa và siêu dữ liệu liên quan của nó.
Cho đến nay, chúng ta có thể thấy việc duy trì bảo mật cấp phần cứng trong khi giải quyết sự tương thích giữa các thiết bị và nền tảng là một thách thức. Tương tự quan trọng là tùy chọn phục hồi xã hội, chẳng hạn như thêm nhiều người bảo vệ để tăng cường bảo mật. Trong bối cảnh này, blockchain có thể cho chúng ta thấy một con đường.
Một khoảng cách đáng chú ý khi chúng ta cố gắng triển khai web2 webAuthn sang web3: Web2 chỉ yêu cầu chứng minh sở hữu, trong khi web3 cũng đòi hỏi ủy quyền giao dịch đồng thời. Với Passkey, các nhà phát triển thiếu kiểm soát trên thông điệp ký, thường là thông điệp chung chung, như 'đăng nhập'. Điều này có thể dẫn đến việc xâm phạm phía trước tiềm ẩn, người dùng ký các thông điệp mà họ không biết - vấn đề nhỏ nhưng quan trọng.
Tài khoản Hợp đồng Thông minh (SCA), vốn là chính các hợp đồng thông minh, hoạt động như các thực thể trên chuỗi, có khả năng chỉ định người ký tùy ý. Tính linh hoạt này cho phép lập trình các thiết bị và nền tảng khác nhau - chẳng hạn như thiết lập điện thoại Android, Macbook và iPhone - làm người ký. Thậm chí, Tài khoản Hợp đồng Thông minh Linh hoạt cho phép nâng cấp, thay đổi người ký mới, thay đổi ngưỡng ký từ 2 trên tổng số 3 người ký đến cấu hình phức tạp hơn nữa.
Hãy tưởng tượng một ví tiền điện tử điều chỉnh yêu cầu bảo mật dựa trên ngữ cảnh: nó cho phép xác thực bằng một người ký khi người dùng ở địa chỉ IP địa phương quen thuộc, nhưng yêu cầu nhiều người ký cho các giao dịch từ địa chỉ IP không xác định hoặc trên một giá trị nhất định. Với tính linh hoạt và khả năng lập trình, trí tưởng tượng của chúng ta là giới hạn duy nhất cho những đổi mới như vậy. Nhiều nhà cung cấp dịch vụ SCA đều tích cực xây dựng không gian này, bao gồm Safe, Zerodev, Biconomy, Etherspots, Rhinestone, v.v. Cũng như ghi nhận hạ tầng như Stackup, Plimico, Alchemy đã làm cho điều này trở thành hiện thực.
Vui lòng kiểm tra nghiên cứu trước đây của tôi cung cấp bối cảnh toàn diện hơn xung quanh SCA.
EOAs có thể đạt được khôi phục xã hội và khả năng tương thích trên nhiều thiết bị/nền tảng thông qua dịch vụ MPC. Mặc dù EOAs có người ký cố định, các nhà cung cấp MPC có thể chia khóa thành các phần để tăng cường tính bảo mật và linh hoạt. Phương pháp này thiếu các tính năng có thể lập trình và nâng cấp của SCA, chẳng hạn như khôi phục khóa theo thời gian và việc vô hiệu hóa khóa dễ dàng. Tuy nhiên, nó vẫn cung cấp khả năng chuyển mạch giữa chuỗi vượt trội bằng cách không phụ thuộc vào chuỗi và hiện đang hiệu quả về chi phí hơn so với SCAs. Các nhà cung cấp MPC đáng chú ý bao gồm Privy, Particle Network, web3Auth, ví OKX, ví Binance, v.v.
Hãy dừng lại một chút để hiểu rõ bối cảnh: Trên Ethereum, các khóa riêng tư là các số ngẫu nhiên được chọn từ đường cong k1, và quá trình ký cũng sử dụng đường cong này.
Tuy nhiên, các cặp khóa được tạo theo tiêu chuẩn WebAuthn, sử dụng đường cong r1. Do đó, việc xác minh chữ ký r1 trên Ethereum tốn khoảng ba lần chi phí hơn so với chữ ký k1. Dưới đây là một số cách tiếp cận để giải quyết vấn đề này:
Tín dụng cho Dogan, để biết thêm về kiến thức chi tiết, vui lòng kiểm tra nghiên cứu của anh ấy.
Giải pháp Giao thức:
Giải pháp: EIP7212, Biên dịch sẵn cho Hỗ trợ đường cong secp256r1 do nhóm Clave đề xuất.
Đánh giá: Đề xuất này tạo ra một hợp đồng được biên soạn trước thực hiện xác minh chữ ký trong đường cong elliptic “secp256r1” bằng các thông số cụ thể của bản băm thông điệp, các thành phần r và s của chữ ký, và tọa độ x, y của khóa công khai. Nhờ đó, bất kỳ chuỗi EVM nào - đặc biệt là các rollups Ethereum - đều có thể tích hợp hợp đồng được biên soạn này một cách dễ dàng. Cho đến nay, hợp đồng được biên soạn có thể là giải pháp tiết kiệm gas nhất.
Thực hiện: zkSync
Dịch vụ của bên thứ ba
Giải pháp: Turnkey
Đánh giá: Một Cái Türkiye TEE đảm bảo rằng khóa riêng tư chỉ có thể truy cập bởi người dùng thông qua PassKey của họ và không bao giờ có thể truy cập cho Turnkey, tuy nhiên điều này vẫn yêu cầu tính sống của dịch vụ.
Thực hiện: Goldfinch
Giải pháp Solidity Verifier:
Giải pháp: FCL's Solidity Verifier, FCL's Solidity Verifier With Precomputation, P256Verifier của Daimo
Thực hiện: Clave, Ví Obvious
Máy xác minh không thông tin (ZK):
Giải pháp: Risc0 bonsai, Axiom's halo2-ecc
Đánh giá: Phương pháp này tận dụng các chứng minh không thông báo để xác minh tính toán ngoài Máy ảo Ethereum (EVM), giảm chi phí tính toán trên chuỗi.
Thực hiện: Ví Bonfire(Risc0), Know Nothing Labs(Axiom)
Mỗi giải pháp này cung cấp một phương pháp khác nhau để trao quyền xác minh chữ ký r1 rẻ hơn và khả thi trong hệ sinh thái của Ethereum và đây là đánh giá của Dogan.
*Vui lòng lưu ý rằng đến tháng 12 năm 2023, hầu hết các giải pháp này đều đang ở giai đoạn đầu và có thể thay đổi hoặc cải thiện bất kỳ lúc nào. Những ví dụ này chỉ dành cho mục đích học tập; luôn tham khảo trang web chính thức của họ để có thông tin chính xác.
Cơ bản:
Demo: https://getclave.io/
Tài khoản: SCA
Chain: ZkSync
Quá trình giao dịch:
Tạo khóa: Người dùng cung cấp xác thực sinh trắc học như dấu vân tay hoặc nhận diện khuôn mặt, một cặp khóa được tạo ra bên trong Secure Enclave, không bao giờ tiết lộ hoặc rời khỏi bên ngoài.
Ký khóa: Ứng dụng lấy một tin nhắn giao dịch cần thiết và chuyển tiếp một yêu cầu ký vào Secure Enclave, người dùng cung cấp xác thực sinh học để phê duyệt việc ký, và Secure Enclave ký tin nhắn với khóa, và được phát sóng đến các nút blockchain.
Các chức năng bổ sung: Tài khoản hợp đồng thông minh cho phép nhiều chức năng mạnh mẽ. Đầu tiên, tài trợ gas. Do người thanh toán, các bên khác như dApp hoặc nhà quảng cáo có thể thanh toán phí gas cho người dùng, làm cho quá trình giao dịch trở nên mượt mà, và cũng cho phép người dùng thanh toán gas bằng ERC20 thay vì Ether hoặc token bản địa. Và sử dụng khóa phiên, người dùng có thể thực hiện giao dịch không cần chữ ký trong một khoảng thời gian.
Cơ chế phục hồi:
Quá trình phục hồi được thực hiện bởi hợp đồng thông minh của Clave trên zkSync, người dùng có thể hủy quá trình phục hồi trong thời gian khóa 48 giờ, để ngăn chặn các hoạt động không được ủy quyền và độc hại.
Sao lưu đám mây: EOA sẽ được tạo khi người dùng chọn sao lưu đám mây, khóa riêng của EOA được lưu trữ trong iCloud hoặc Google Drive, người dùng có thể sử dụng khóa riêng được lưu trữ trên đám mây này để truy cập tài khoản của họ từ các thiết bị khác và người dùng có thể xóa hoặc ghi đè lên phần sao lưu này bất cứ lúc nào.
Khôi phục xã hội: Người dùng có thể chỉ định địa chỉ clave của gia đình hoặc bạn bè của họ làm sao lưu, nếu M trong N người bảo vệ xác nhận cho việc phục hồi, việc phục hồi sẽ được thực hiện sau 48 giờ bị khóa nếu không hủy bỏ.
Cơ bản:
Demo: https://alpha.soulwallet.io/wallet
Tài khoản: ERC4337 SCA
Chain: Ethereum, Optimism, Arbitrum và sớm nhất là tất cả EVM layer2
Quá trình giao dịch:
Tạo khóa: Người dùng cung cấp xác thực sinh trắc học như vân tay hoặc nhận diện khuôn mặt, và hệ điều hành tạo Passkey và sao lưu nó bằng dịch vụ đám mây. Bạn có thể thêm nhiều hơn một passkey trên nhiều thiết bị và nền tảng khác nhau.
Thêm người giám hộ (Tùy chọn): Người dùng có thể chỉ định địa chỉ EVM EOA khác nhau làm người giám hộ và thiết lập ngưỡng cho quá trình khôi phục tài khoản.
Tạo tài khoản: Sử dụng triển khai tưởng tượng, người dùng không cần thanh toán bất kỳ phí nào cho đến giao dịch đầu tiên
Cơ chế phục hồi:
Passkey: Sử dụng bất kỳ passkey đã xác định nào để đăng nhập vào ví bằng thiết bị tùy ý.
Khôi phục người bảo vệ: Các người bảo vệ được chỉ định có thể xoay ví theo ngưỡng, và một khóa thời gian có thể được đề cập sau này để ngăn chặn hành vi độc hại.
Cơ bản:
Demo: https://www.okx.com/help/what-is-an-aa-smart-contract-wallet
Chain: 30+ chuỗi
Khóa: MPC-TSS, 2/3
Tài khoản: 4337 SCA
Quá trình giao dịch:
Tạo khóa: Bằng cách tạo ví, OKX chuyển đổi một khóa riêng lẻ thành ba phần riêng biệt. Phần thứ nhất được lưu trữ trên máy chủ OKX, phần thứ hai được lưu trữ trên bộ nhớ cục bộ của thiết bị người dùng, và phần thứ ba được tạo ra bởi thiết bị, được mã hóa và có thể được sao lưu lên các dịch vụ đám mây ưa thích của thiết bị, như Google Cloud, iCloud và Huawei Cloud.
Ký chính: OKX sử dụng công nghệ MPC-TSS, người dùng có thể nhận chữ ký đầy đủ bằng cách sử dụng hai trong ba phần private key khi ký giao dịch, các phần private key không bao giờ gặp nhau trong quá trình này.
Cơ chế phục hồi:
Cơ chế 2/3: Khi người dùng đăng xuất, thiết bị không khả dụng hoặc một trong số các khóa trên thiết bị bị đe dọa, bạn có thể sử dụng thiết bị mới để đăng nhập ví OKX (nhận chia sẻ từ máy chủ) và nhận chia sẻ dịch vụ đám mây, kết hợp 2 chia sẻ này để khôi phục ví, ví OKX sẽ tạo ra các chia sẻ bí mật mới.
Cơ bản:
Demo: https://w3a.link/passkeysDemo
Chain: Tất cả EVM và Solana
Khóa: MPC-TSS, thường là 2/3
Tài khoản: Bất kỳ tài khoản nào như EOA, 4337 SCA hoặc SCA tổng quát
Quy trình giao dịch:
Tạo khóa: Bằng cách tạo ví, ba phần khóa được tạo ra. Phần chia sẻ 1 là phần chia sẻ đăng nhập xã hội, người dùng có thể nhập email của họ, và một mạng lưới phân tán của nút mạng lưu trữ khóa cho mỗi người dùng; Phần chia sẻ 2 là phần chia sẻ thiết bị được lưu trữ trên bộ nhớ cục bộ của thiết bị người dùng; Phần chia sẻ 3 được tạo ra bởi máy tính cục bộ và được sao lưu bởi dịch vụ đám mây ưa thích của người dùng.
Chữ ký khóa: Kiến trúc Web3Auth MPC-TSS đảm bảo rằng khóa của người dùng luôn có sẵn, ngay cả khi sử dụng chữ ký ngưỡng, các khóa không bao giờ được tái tạo hoặc lưu trữ ở một nơi duy nhất.
Cơ chế khôi phục:
Khi người dùng đăng xuất, thiết bị không khả dụng hoặc một trong các khóa trên thiết bị bị đe dọa, bạn có thể sử dụng phương thức đăng nhập xã hội để đăng nhập vào tài khoản webAuthn và nhận chia sẻ đám mây của passkey, kết hợp các chia sẻ này để khôi phục ví.
Thông tin cơ bản:
Demo: https://lit-pkp-auth-demo.vercel.app/
Chain: Hầu hết EVM, Cosmos, Solana.
Tài khoản: MPC-TSS, 20 trong 30 mạng, có thể được áp dụng bởi cả SCA và EOA.
Quy trình giao dịch:
Tạo khóa: Khi người dùng muốn tạo ví, trước tiên sử dụng phương thức xác thực (passkey, đăng nhập xã hội oAuth được hỗ trợ), sau đó gửi yêu cầu đến người truyền thông để tạo cặp khóa và lưu trữ logic xác thực vào hợp đồng thông minh. Mỗi cặp khóa được tạo ra một cách tập thể bởi các nút Lit thông qua quy trình gọi là Phân phối Khóa Phân tán (DKG). Hoạt động như một mạng phi tập trung, 30 nút Lit chạy bên trong TEE, mỗi nút giữ một phần của khóa nhưng khóa riêng tư không bao giờ tồn tại hoàn toàn.
Ký chữ ký: Nhận yêu cầu, các nút Lit độc lập xác thực hoặc từ chối yêu cầu so với phương pháp xác thực được chỉ định, và sử dụng công nghệ MPC-TSS,1. Các phần chia khóa được thu thập vượt ngưỡng (20 trên 30) để tạo ra một chữ ký và kết hợp bởi khách hàng để hoàn thành yêu cầu.
Cơ chế phục hồi:
Cơ chế 2/3: Sử dụng phương pháp xác thực được lưu trữ trong hợp đồng thông minh để truy cập vào tài khoản, các nút Lit xác minh các yêu cầu và nó sẽ tiến hành nếu hơn 2/3 các nút xác nhận.
Được thúc đẩy bởi sự nhiệt huyết cho Layer2, Layer3, và giải pháp khả dụng dữ liệu, chúng tôi rất mong muốn cải thiện hiệu suất của blockchain. Ngoài ra, theo đuổi an ninh thực sự, kết hợp Sự riêng tư Zero Knowledge Proof với tính chất minh bạch. Tất cả những nỗ lực đều hướng đến một mục tiêu duy nhất: Sẵn sàng cho người dùng thực sự thường xuyên tương tác với blockchain và áp dụng tiền điện tử vào cuộc sống của họ.
Dễ dàng bị mắc kẹt trong giấc mơ về công nghệ tối ưu, nhưng chúng ta phải hỏi: chúng ta đang hướng đến trải nghiệm loại nào? Chúng tôi mường tượng một thế giới nơi tiền điện tử liên quan đến trực giác hơn là những thuật ngữ công nghệ đáng sợ, nơi mà người dùng nhảy vào hang thỏ mà không do dự và phiền toái.
Hãy tưởng tượng một người dùng Rui: Cô ấy phát hiện ra một ứng dụng phi tập trung tuyệt vời, dễ dàng đăng ký bằng nhận dạng khuôn mặt hoặc vân tay, với tùy chọn thiết lập bản sao lưu hoặc người bảo vệ. Khi tương tác với ứng dụng, cô ấy thực hiện giao dịch một cách mượt mà, có thể với các khoản phí ERC20 nhỏ hoặc thậm chí không phí nào. Sau đó, cô ấy tùy chỉnh cài đặt ví của mình - có thể kích hoạt khóa thời gian cho các giao dịch tự động, thêm một thiết bị khác làm người ký dự phòng, hoặc điều chỉnh danh sách người bảo vệ của mình.
Các nhà xây dựng của chúng tôi làm cho điều đó xảy ra. Tích hợp WebAuthn và Passkey, chúng tôi tăng cường quản lý khóa riêng, làm cho nó vừa an toàn vừa thân thiện với người dùng. Trên hết, SCA với tư cách là một thực thể mở ra một lĩnh vực bảo mật và chức năng được cá nhân hóa. Và đối với phí xăng? Chúng trở nên ít gánh nặng hơn, nhờ các nhà cung cấp Paymaster, những người có thể tạo ra một 'kho tiền' để hoán đổi hoặc thậm chí cho phép các nhà quảng cáo trang trải phí cho người dùng. Trọng tâm của sự phát triển này, đặc biệt là đối với mạng chính Ethereum và các Lớp 2 tương đương của nó, là ERC4337. Nó giới thiệu một mempool thay thế tách biệt các giao dịch SCA khỏi EOA, mà không cần đại tu giao thức lớn. Mặt khác, một số mạng Lớp 2 thậm chí còn chấp nhận SCA nguyên bản, kết hợp liền mạch chúng vào hệ thống của chúng.
Yêu cầu nỗ lực to lớn để làm cho mọi thứ trở nên dễ dàng. Nhiều thách thức tồn tại như giảm phí triển khai, xác thực và thực thi cho SCA; Tiêu chuẩn hóa giao diện để tăng khả năng tương thích tài khoản; Đồng bộ trạng thái tài khoản qua các chuỗi; và nhiều hơn nữa. Ghi công cho tất cả những người xây dựng, chúng ta đang ngày càng tiến gần hơn để giải quyết câu đố từng ngày. Và các dự án tiền điện tử như chúng tôi - SevenX, sẵn sàng giúp các công ty lớn thực hiện tầm nhìn của họ.