Tiêu đề gốc: Điều tôi muốn thấy trong một chiếc ví
Tác giả: Vitalik, người sáng lập Ethereum; Người biên dịch: Deng Tong, Golden Finance
Đặc biệt cảm ơn Liraz Siri, Yoav Weiss và các nhà phát triển ImToken, Metamask và OKX để nhận phản hồi và đánh giá.
Một lớp quan trọng của cơ sở hạ tầng Ethereum thường bị các nhà nghiên cứu và phát triển L1 cốt lõi đánh giá thấp là ví. Ví là cửa sổ giữa người dùng và thế giới Ethereum và người dùng chỉ có thể hưởng lợi từ mọi tính năng phân cấp, chống kiểm duyệt, bảo mật, quyền riêng tư hoặc các thuộc tính khác do Ethereum và các ứng dụng của nó cung cấp nếu bản thân ví cũng sở hữu các thuộc tính đó.
Gần đây, chúng tôi nhận thấy ví Ethereum đạt được tiến bộ lớn trong việc cải thiện trải nghiệm, bảo mật và chức năng của người dùng. Mục đích của bài viết này là đưa ra ý kiến của riêng tôi về một số tính năng mà một ví Ethereum lý tưởng nên có. Đây không phải là một danh sách đầy đủ; nó phản ánh khuynh hướng cypherpunk của tôi, nó tập trung vào bảo mật và quyền riêng tư và gần như chắc chắn là chưa đầy đủ về mặt trải nghiệm người dùng. Tuy nhiên, tôi không nghĩ danh sách mong muốn có hiệu quả trong việc tối ưu hóa trải nghiệm người dùng bằng việc chỉ triển khai và lặp lại dựa trên phản hồi, vì vậy tôi nghĩ việc tập trung vào các thuộc tính bảo mật và quyền riêng tư là có giá trị nhất.
Trải nghiệm người dùng đối với các giao dịch chéo L2
Hiện nay, giao dịch chéo L2 ngày càng được cải thiện chi tiết hơn trải nghiệm người dùng Lộ trình có phần ngắn hạn và phần dài hạn. Ở đây tôi sẽ nói về phần ngắn hạn: những ý tưởng mà về mặt lý thuyết vẫn có thể thực hiện được cho đến tận ngày nay.
Ý tưởng cốt lõi là (i) gửi qua L2 được tích hợp sẵn và (ii) các yêu cầu thanh toán và địa chỉ cụ thể theo chuỗi. Ví của bạn sẽ có thể cung cấp cho bạn một địa chỉ (theo kiểu của dự thảo ERC này) như thế này:
[email protected]
Khi ai đó (hoặc một số ứng dụng) cung cấp cho bạn một địa chỉ ở định dạng này, bạn có thể dán địa chỉ đó vào "Tới" của trường ví của bạn và nhấp vào Gửi . Ví sẽ tự động xử lý dữ liệu đã gửi theo bất kỳ cách nào có thể:
Nếu bạn Đã có đủ mã thông báo loại được yêu cầu trên chuỗi mục tiêu, vui lòng gửi mã thông báo trực tiếp;
Nếu bạn có mã thông báo trên chuỗi khác (hoặc nhiều chuỗi khác) Mã thông báo của loại bắt buộc, vui lòng sử dụng ERC-7683 (thực tế là chuỗi chéo DEX) và các giao thức khác để gửi mã thông báo;
Nếu bạn có các loại mã thông báo khác nhau trên cùng một chuỗi hoặc các chuỗi khác, hãy sử dụng sàn giao dịch phi tập trung để chuyển đổi chúng cho đúng loại mã thông báo trên chuỗi bên phải và gửi chúng. Điều này cần có sự cho phép rõ ràng từ người dùng: người dùng sẽ thấy số tiền họ đã trả và số tiền người nhận nhận được.
Mô hình giao diện ví có thể hỗ trợ địa chỉ chuỗi chéo
Điều trên áp dụng cho "bạn sao chép-dán một địa chỉ (hoặc ENS chẳng hạn) , Vitalik [email protected]) để ai đó trả tiền cho bạn" trong trường hợp sử dụng. Nếu một dapp yêu cầu gửi tiền (xem ví dụ về Polymarket), thì quy trình lý tưởng sẽ là mở rộng API web3 và cho phép dapp thực hiện các yêu cầu thanh toán theo chuỗi cụ thể. Ví của bạn sau đó sẽ có thể thực hiện yêu cầu theo bất kỳ cách nào cần thiết. Để có trải nghiệm tốt cho người dùng, các yêu cầu getAvailableBalance cũng cần phải được chuẩn hóa và ví cần xem xét cẩn thận xem tài sản của người dùng trong chuỗi nào sẽ được lưu trữ theo mặc định để tối đa hóa tính bảo mật và sự thuận tiện khi chuyển tiền.
Các yêu cầu thanh toán theo chuỗi cụ thể cũng có thể được đưa vào mã QR, mã này có thể được quét bằng ví di động. Trong trường hợp thanh toán tiêu dùng trực tiếp (hoặc trực tuyến), người nhận sẽ đưa ra lệnh gọi mã QR hoặc API web3 với nội dung "Tôi muốn X đơn vị mã thông báo Y trên chuỗi Z, với ID tham chiếu hoặc lệnh gọi lại W" và ví sẽ được có thể Hãy thoải mái đáp ứng yêu cầu này bằng mọi cách có thể. Một tùy chọn khác là giao thức liên kết xác nhận quyền sở hữu, trong đó ví của người dùng tạo mã QR hoặc URL chứa ủy quyền để yêu cầu một số tiền nhất định từ hợp đồng trực tuyến của họ và nhiệm vụ của người nhận là tìm ra cách chuyển số tiền đó cho họ trên tài khoản.
Một chủ đề liên quan khác là thanh toán Gas. Nếu bạn nhận được một tài sản trên L2 chưa có ETH và cần gửi giao dịch trên L2 đó, ví sẽ có thể tự động sử dụng giao thức (chẳng hạn như RIP-7755) để thanh toán gas trên chuỗi nơi bạn có ETH. Nếu ví muốn bạn thực hiện nhiều giao dịch hơn trên L2 trong tương lai thì ví đó cũng chỉ nên gửi bằng DEX. ETH trị giá vài triệu gas để các giao dịch trong tương lai có thể tiêu gas trực tiếp ở đó (vì nó rẻ hơn).
Bảo mật tài khoản
Theo tôi, thách thức của việc bảo mật tài khoản là một chiếc ví tốt. Nó sẽ hoạt động được trên hai mặt cùng một lúc: (i) bảo vệ người dùng khỏi các cuộc tấn công hoặc tấn công độc hại của các nhà phát triển ví và (ii) bảo vệ người dùng khỏi những sai lầm của chính họ.
"Lỗi" bên trái là ngoài ý muốn. Tuy nhiên, khi nhìn thấy nó, tôi nhận ra nó hoàn toàn phù hợp với bối cảnh nên quyết định giữ lại.
Các giải pháp ưa thích của tôi trong hơn một thập kỷ là phục hồi xã hội và ví đa chữ ký với khả năng kiểm soát truy cập theo cấp bậc. Tài khoản của người dùng có hai cấp khóa: khóa chính và N người giám hộ (ví dụ: N = 5). Khóa chính có khả năng thực hiện các hoạt động có giá trị thấp và phi tài chính. Hầu hết người giám hộ cần thực hiện (i) các hoạt động có giá trị cao, chẳng hạn như gửi toàn bộ giá trị trong tài khoản hoặc (ii) thay đổi khóa chính hoặc bất kỳ người giám hộ nào. Nếu muốn, các khóa chính có thể được phép thực hiện các thao tác có giá trị cao thông qua khóa thời gian.
Trên đây là thiết kế cơ bản và có thể mở rộng. Các cơ chế cấp phép như khóa phiên và ERC-7715 có thể giúp hỗ trợ sự cân bằng khác nhau về sự tiện lợi và bảo mật cho các ứng dụng khác nhau. Các kiến trúc giám hộ phức tạp hơn, chẳng hạn như có nhiều khoảng thời gian khóa thời gian ở các ngưỡng khác nhau, có thể giúp tối đa hóa cơ hội khôi phục thành công các tài khoản hợp pháp đồng thời giảm thiểu nguy cơ bị đánh cắp.
Người giám hộ nên là ai hoặc cái gì?
Một lựa chọn khả thi dành cho người dùng tiền điện tử có kinh nghiệm trong cộng đồng những người dùng tiền điện tử có kinh nghiệm là chìa khóa của bạn bè và gia đình bạn. Nếu bạn yêu cầu mọi người cung cấp cho bạn địa chỉ mới thì không ai cần biết họ là ai—trên thực tế, những người giám hộ của bạn thậm chí không cần biết nhau là ai. Nếu họ không báo trước cho bạn thì khả năng họ thông đồng với nhau là rất nhỏ. Tuy nhiên, đối với hầu hết người dùng mới, tùy chọn này không có sẵn.
Lựa chọn thứ hai là người giám hộ tổ chức: một công ty chuyên cung cấp dịch vụ và sẽ chỉ ký giao dịch nếu họ nhận được xác nhận bổ sung từ yêu cầu của bạn. Mã xác nhận hoặc cuộc gọi video cho người dùng có giá trị cao. Mọi người đã cố gắng làm những điều này trong một thời gian dài. Tôi đã giới thiệu CryptoCorp vào năm 2013. Tuy nhiên, cho đến nay, những công ty như vậy vẫn chưa thành công lắm.
Tùy chọn thứ ba là nhiều thiết bị cá nhân (ví dụ: điện thoại di động, máy tính để bàn, ví phần cứng). Điều này có thể thực hiện được nhưng cũng có thể khó thiết lập và quản lý đối với người dùng thiếu kinh nghiệm. Ngoài ra còn có nguy cơ bị mất hoặc đánh cắp thiết bị, đặc biệt nếu chúng ở cùng một vị trí.
Gần đây, chúng tôi bắt đầu thấy ngày càng có nhiều ví dựa trên khóa. Mật khẩu chỉ có thể được sao lưu trên thiết bị của bạn, biến chúng thành giải pháp thiết bị cá nhân hoặc trên đám mây, khiến tính bảo mật của chúng phụ thuộc vào sự kết hợp phức tạp giữa bảo mật mật khẩu, quyền hạn và các giả định phần cứng đáng tin cậy. Trên thực tế, chìa khóa là một lợi ích bảo mật có giá trị đối với người dùng bình thường, nhưng chỉ riêng chúng thôi thì không đủ để bảo vệ số tiền tiết kiệm cả đời của người dùng.
May mắn thay, với ZK-SNARK, chúng tôi có tùy chọn thứ tư: ID tập trung được bao bọc bởi ZK. Loại này bao gồm zk-email, Anon Aadhaar, Myna Wallet, v.v. Về cơ bản, bạn lấy ID tập trung ở một trong nhiều hình thức (công ty hoặc chính phủ) và chuyển đổi nó thành địa chỉ Ethereum và bạn chỉ có thể gửi giao dịch bằng cách tạo ZK-SNARK để chứng minh bạn có ID tập trung.
Với sự bổ sung này, hiện tại chúng tôi có nhiều lựa chọn và ID tập trung cho bao bì ZK Độc đáo "thân thiện với người mới".
Để làm được điều này, bạn cần đạt được điều này thông qua giao diện người dùng được tích hợp và đơn giản hóa: bạn chỉ có thể chỉ định rằng bạn muốn "[email protected]" làm người giám hộ và nó sẽ tự động tạo ra tương ứng zk-email ether Địa chỉ nhà máy nằm dưới mui xe. Người dùng nâng cao có thể nhập email của họ (và có thể cả muối riêng tư được lưu trong email đó) vào ứng dụng nguồn mở của bên thứ ba và xác nhận rằng địa chỉ kết quả là chính xác. Điều tương tự cũng đúng với bất kỳ loại người giám hộ được hỗ trợ nào khác.
Mô hình giao diện bảo mật khả thi
Lưu ý rằng thách thức thực tế mà zk-email ngày nay phải đối mặt là sự phụ thuộc vào chữ ký DKIM, sử dụng khóa và bản thân các khóa này không được ký bởi bất kỳ ai khác thẩm quyền. Điều này có nghĩa là zk-email ngày nay có một số yêu cầu về độ tin cậy ngoài chính nhà cung cấp; điều này có thể giảm bớt nếu zk-email sử dụng TLSNotary trong phần cứng đáng tin cậy để xác minh các khóa đã cập nhật, nhưng điều này không lý tưởng. Hy vọng các nhà cung cấp email sẽ bắt đầu ký trực tiếp các khóa DKIM của họ. Hôm nay, tôi khuyên dùng zk-email cho một người giám hộ, nhưng không phải cho hầu hết người giám hộ: không lưu trữ tiền trong một thiết lập mà email zk bị hỏng có nghĩa là bạn không thể sử dụng tiền.
Người dùng mới và ví trong ứng dụng
Người dùng mới thực sự không muốn bị nhầm lẫn trong quá trình trải nghiệm đăng ký đầu tiên Nhập một số lượng lớn người giám hộ. Do đó, ví nên cung cấp cho họ một tùy chọn rất đơn giản. Một cách tự nhiên sẽ là thực hiện 2/3 bằng cách sử dụng zk-email trên địa chỉ email của họ, một khóa được lưu trữ cục bộ trên thiết bị của người dùng (có thể là khóa chính) và khóa dự phòng do nhà cung cấp chọn. Khi người dùng trở nên có kinh nghiệm hơn hoặc tích lũy được nhiều tài sản hơn, tại một thời điểm nào đó, họ sẽ được nhắc thêm nhiều người giám hộ hơn.
Việc tích hợp ví vào ứng dụng là điều không thể tránh khỏi vì các ứng dụng đang cố gắng thu hút người dùng không sử dụng tiền điện tử không muốn người dùng tải xuống hai ứng dụng mới (chính ứng dụng đó và ví Ethereum) cùng một lúc. . Tuy nhiên, người dùng nhiều ví ứng dụng sẽ có thể liên kết tất cả các ví của họ với nhau để họ chỉ phải lo lắng về một "vấn đề kiểm soát truy cập". Cách tiếp cận đơn giản nhất là áp dụng sơ đồ phân lớp, trong đó có quy trình "liên kết" nhanh chóng cho phép người dùng thiết lập ví chính của họ làm người giám hộ cho tất cả các ví trong ứng dụng. Ứng dụng khách Farcaster Warpcast đã hỗ trợ tính năng này:
p >
Theo mặc định, việc khôi phục tài khoản Warpcast của bạn do nhóm Warpcast kiểm soát. Tuy nhiên, bạn có thể "tiếp quản" tài khoản Farcaster của mình và thay đổi khôi phục thành địa chỉ của chính bạn.
Bảo vệ người dùng khỏi các hành vi lừa đảo và các mối đe dọa từ bên ngoài khác
Ngoài bảo mật tài khoản, các ví ngày nay còn làm rất nhiều việc để xác định địa chỉ giả, lừa đảo, lừa đảo và các mối đe dọa bên ngoài khác, và cố gắng bảo vệ người dùng khỏi những mối đe dọa như vậy. Đồng thời, nhiều biện pháp đối phó vẫn còn khá thô sơ: ví dụ: yêu cầu một cú nhấp chuột để gửi ETH hoặc các mã thông báo khác đến bất kỳ địa chỉ mới nào, cho dù bạn đang gửi 100 đô la hay 100.000 đô la. Ở đây, không có viên đạn ma thuật nào cả. Đây là một loạt các bản sửa lỗi và cải tiến chậm, liên tục dành cho các loại mối đe dọa khác nhau. Tuy nhiên, có rất nhiều giá trị khi tiếp tục nỗ lực cải tiến ở đây.
Quyền riêng tư
Đã đến lúc bắt đầu coi trọng quyền riêng tư trên Ethereum một cách nghiêm túc hơn. Công nghệ ZK-SNARK hiện rất tiên tiến, các công nghệ bảo mật không dựa vào cửa hậu để giảm rủi ro pháp lý (chẳng hạn như nhóm quyền riêng tư) ngày càng hoàn thiện và cơ sở hạ tầng thứ cấp như các nhóm Waku và ERC-4337 đang dần trở nên ổn định hơn. Tuy nhiên, cho đến nay, việc thực hiện chuyển khoản riêng tư trên Ethereum yêu cầu người dùng phải tải xuống và sử dụng một cách rõ ràng một "ví riêng tư" như Railway (hoặc Umbra cho các địa chỉ ẩn). Điều này gây thêm sự bất tiện đáng kể và làm giảm số lượng người sẵn sàng thực hiện chuyển khoản cá nhân. Giải pháp là chuyển khoản riêng tư cần được tích hợp trực tiếp vào ví.
Cách thực hiện đơn giản như sau. Ví có thể lưu trữ một phần tài sản của người dùng dưới dạng "số dư riêng tư" trong nhóm riêng tư. Khi người dùng thực hiện chuyển khoản, trước tiên họ sẽ tự động thoát khỏi nhóm quyền riêng tư. Nếu người dùng cần nhận tiền, ví có thể tự động tạo địa chỉ ẩn.
Ngoài ra, ví có thể tự động tạo địa chỉ mới cho mỗi ứng dụng mà người dùng tham gia (ví dụ: giao thức defi). Tiền gửi sẽ đến từ nhóm riêng tư và số tiền rút sẽ được chuyển trực tiếp đến nhóm riêng tư. Điều này cho phép hủy liên kết hoạt động của người dùng trong bất kỳ ứng dụng nào khỏi hoạt động của họ trong các ứng dụng khác.
Một trong những ưu điểm của công nghệ này là nó là một cách tự nhiên không chỉ để chuyển tài sản bảo vệ quyền riêng tư mà còn cho cả danh tính bảo vệ quyền riêng tư. Danh tính đã diễn ra trên chuỗi: bất kỳ ứng dụng nào sử dụng cổng bằng chứng nhận dạng (ví dụ: Gitcoin Grants), mọi cuộc trò chuyện được kiểm soát bằng mã thông báo, các giao thức tuân theo Ethereum, v.v. đều là danh tính trên chuỗi. Chúng tôi muốn hệ sinh thái này cũng bảo vệ quyền riêng tư. Điều này có nghĩa là không nên thu thập hoạt động trên chuỗi của người dùng ở một nơi: mỗi dự án phải được lưu trữ riêng biệt và ví của người dùng phải là thứ duy nhất có "chế độ xem toàn cầu" có thể xem tất cả bằng chứng của bạn cùng một lúc . Hệ sinh thái nhiều tài khoản cho mỗi người dùng giúp đạt được điều này, cũng như các giao thức chứng thực ngoài chuỗi như EAS và Zupass.
Điều này thể hiện tầm nhìn thực tế về quyền riêng tư của Ethereum trong trung hạn. Mặc dù một số tính năng có thể được giới thiệu ở L1 và L2 để giúp việc truyền bảo vệ quyền riêng tư trở nên hiệu quả và đáng tin cậy hơn nhưng ngày nay điều đó là có thể. Một số người ủng hộ quyền riêng tư tin rằng điều duy nhất có thể chấp nhận được là quyền riêng tư hoàn toàn đối với mọi thứ: mã hóa toàn bộ EVM. Tôi nghĩ đây có thể là kết quả lý tưởng lâu dài, nhưng nó sẽ đòi hỏi phải suy nghĩ lại một cách cơ bản hơn về mô hình lập trình và vẫn chưa ở mức độ trưởng thành sẵn sàng để triển khai trên Ethereum. Chúng tôi thực sự cần quyền riêng tư mặc định để có được bộ ẩn danh đủ lớn. Tuy nhiên, trước tiên hãy tập trung vào (i) chuyển khoản giữa các tài khoản và (ii) danh tính và các trường hợp sử dụng liên quan đến danh tính (chẳng hạn như bằng chứng riêng tư) là những bước đầu tiên thực tế, dễ thực hiện hơn và ví có thể bắt đầu sử dụng ngay bây giờ.
Ví Ethereum cũng cần phải là ví dữ liệu
Một hệ quả của bất kỳ giải pháp bảo mật hiệu quả nào, dù là cho thanh toán, danh tính hay các trường hợp sử dụng khác, là nó sẽ tạo ra một chuỗi lưu trữ của người dùng Nhu cầu dữ liệu tiếp theo. Điều này được thể hiện rõ trong Tornado Cash, yêu cầu người dùng lưu “vé” mỗi vé đại diện cho khoản tiền gửi từ 0,1-100 ETH. Các giao thức bảo mật hiện đại hơn đôi khi giữ dữ liệu được mã hóa trên chuỗi và sử dụng một khóa riêng duy nhất để giải mã nó. Điều này rất rủi ro vì nếu khóa bị rò rỉ hoặc máy tính lượng tử trở nên khả thi, tất cả dữ liệu sẽ được công khai. Các bằng chứng ngoài chuỗi như EAS và Zupass có nhu cầu rõ ràng hơn về việc lưu trữ dữ liệu ngoài chuỗi.
Ví cần phải là phần mềm không chỉ lưu trữ quyền truy cập trên chuỗi mà còn cả dữ liệu riêng tư của bạn. Thế giới phi tiền điện tử cũng ngày càng nhận ra điều này, ví dụ: Xem công việc gần đây của Tim Berners-Lee về lưu trữ dữ liệu cá nhân. Tất cả các vấn đề mà chúng tôi cần giải quyết xung quanh việc đảm bảo kiểm soát truy cập một cách mạnh mẽ, chúng tôi cũng cần giải quyết xung quanh việc đảm bảo một cách mạnh mẽ rằng dữ liệu có thể truy cập được và không bị rò rỉ. Có thể các giải pháp này có thể kết hợp với nhau: nếu bạn có N người giám hộ, hãy sử dụng tính năng chia sẻ bí mật M-of-N giữa N người giám hộ đó để lưu trữ dữ liệu của bạn. Dữ liệu vốn khó bảo vệ hơn vì bạn không thể thu hồi quyền chia sẻ dữ liệu của ai đó, nhưng chúng ta nên đưa ra các giải pháp lưu trữ phi tập trung an toàn nhất có thể.
Truy cập chuỗi an toàn
Ngày nay, các ví tin tưởng nhà cung cấp RPC của họ sẽ cung cấp cho họ bất kỳ thông tin nào về chuỗi . Đây là một lỗ hổng theo hai cách:
Nhà cung cấp RPC có thể thử Ăn cắp tiền bằng cách cung cấp cho họ thông tin sai lệch, chẳng hạn như về giá cả thị trường
RPC Nhà cung cấp có thể trích xuất thông tin cá nhân về ứng dụng và các tài khoản khác mà người dùng đang tương tác
Lý tưởng nhất là chúng tôi muốn đóng cả hai lỗ hổng này. Để giải quyết vấn đề đầu tiên, chúng tôi cần các client nhẹ được tiêu chuẩn hóa cho L1 và L2 để có thể xác minh trực tiếp sự đồng thuận của blockchain. Helios đã thực hiện điều này cho L1 và đang thực hiện một số công việc sơ bộ để hỗ trợ một số L2 cụ thể. Để bao quát chính xác tất cả L2, chúng ta cần một tiêu chuẩn mà theo đó hợp đồng cấu hình đại diện cho L2 (cũng được sử dụng cho các địa chỉ dành riêng cho chuỗi) có thể khai báo một hàm, có lẽ theo cách tương tự như ERC-3668, chứa hàm để tận dụng tối đa nguồn gốc tiểu bang gần đây, và theo các giấy chứng nhận và biên lai nguồn gốc tiểu bang này. Bằng cách này, chúng tôi có thể có một ứng dụng khách phổ biến cho phép ví xác minh một cách an toàn mọi trạng thái hoặc sự kiện trên L1 và L2.
Để đảm bảo quyền riêng tư, cách tiếp cận thực tế duy nhất hiện nay là chạy nút đầy đủ của riêng bạn. Tuy nhiên, giờ đây L2 sắp được đưa vào sử dụng, việc chạy một nút đầy đủ với mọi thứ ngày càng trở nên khó khăn. Ứng dụng khách nhẹ tương đương ở đây là Truy xuất thông tin cá nhân (PIR). PIR liên quan đến một máy chủ giữ một bản sao của tất cả dữ liệu và một máy khách gửi yêu cầu được mã hóa đến máy chủ. Máy chủ thực hiện các phép tính trên tất cả dữ liệu, trả về dữ liệu khách hàng cần, được mã hóa bằng khóa của khách hàng mà không tiết lộ cho máy chủ biết phần dữ liệu nào khách hàng đã truy cập.
Để duy trì máy chủ Thành thật mà nói, bản thân mỗi dự án cơ sở dữ liệu đều là Merkle các chi nhánh để khách hàng có thể sử dụng các ứng dụng khách nhẹ để xác thực chúng.
PIR đòi hỏi tính toán rất chuyên sâu. Có một số cách để giải quyết vấn đề này:
Bạo lực:< / strong>Những cải tiến về thuật toán hoặc phần cứng chuyên dụng có thể giúp PIR chạy đủ nhanh. Các kỹ thuật này có thể phụ thuộc vào quá trình tiền xử lý: máy chủ có thể lưu trữ dữ liệu được mã hóa và xáo trộn cho từng máy khách và máy khách có thể truy vấn dữ liệu đó. Thách thức chính trong môi trường Ethereum là điều chỉnh các công nghệ này để phù hợp với các tập dữ liệu thay đổi nhanh chóng (giống như các quốc gia). Điều này làm cho việc tính toán theo thời gian thực rẻ hơn nhưng có thể khiến tổng chi phí tính toán và lưu trữ cao hơn.
Yêu cầu về quyền riêng tư yếu đi: Ví dụ: chỉ có 1 triệu "mixins" cho mỗi lần tra cứu, do đó máy chủ biết khách hàng có quyền truy cập vào những cái nào . Hàng triệu giá trị có thể có, nhưng không biết bất kỳ mức độ chi tiết nào tốt hơn.
PIR nhiều máy chủ: Nếu bạn sử dụng nhiều máy chủ và tính trung thực giữa các máy chủ này được coi là 1-of-N, thì PIR Các thuật toán thường nhanh hơn.
Ẩn danh thay vì bảo mật: Yêu cầu có thể được gửi qua mixnet, do đó ẩn người gửi yêu cầu thay vì ẩn nội dung của yêu cầu. Tuy nhiên, làm như vậy một cách hiệu quả chắc chắn sẽ làm tăng độ trễ, do đó làm xấu đi trải nghiệm của người dùng.
Việc tìm ra sự kết hợp phù hợp giữa các công nghệ để tối đa hóa quyền riêng tư trong khi vẫn duy trì tính thực tiễn trong môi trường Ethereum là một câu hỏi nghiên cứu mở và tôi hoan nghênh các nhà mật mã học cố gắng làm như vậy.
Ví kho khóa lý tưởng
Ngoài khả năng chuyển và truy cập trạng thái, nhu cầu về bối cảnh chéo L2 Một điều khác Quy trình công việc quan trọng hoạt động trơn tru trong quản trị viên là thay đổi cấu hình xác minh của tài khoản: cho dù đó là thay đổi khóa của tài khoản (chẳng hạn như khôi phục) hay thực hiện các thay đổi sâu hơn đối với toàn bộ logic của tài khoản. Dưới đây là ba cấp độ giải pháp, được sắp xếp theo độ khó tăng dần:
Phát lại cập nhật:Khi người dùng thay đổi cấu hình của họ, thông báo cho phép thay đổi này sẽ được phát lại trên mọi chuỗi nơi ví phát hiện rằng người dùng sở hữu tài sản. Có khả năng, các định dạng thông báo và quy tắc xác thực có thể độc lập với chuỗi và do đó được tự động phát lại trên nhiều chuỗi nhất có thể.
Kho khóa trên L1: Thông tin cấu hình nằm trên L1 và ví trên L2 đọc nó bằng L1SLOAD hoặc REMOTESTATICCALL. Bằng cách này, bạn chỉ cần cập nhật cấu hình trên L1 và cấu hình sẽ tự động có hiệu lực.
Kho khóa trên L2: Thông tin cấu hình tồn tại trên L2 và ví trên L2 đọc nó bằng ZK-SNARK. Điều này giống như (2), ngoại trừ việc các bản cập nhật kho khóa có thể rẻ hơn nhưng mặt khác việc đọc lại đắt hơn.
Giải pháp (3) đặc biệt mạnh mẽ vì nó tích hợp tốt với quyền riêng tư. Trong một "giải pháp bảo mật" thông thường, người dùng có một bí mật s, một "giá trị lá" L được xuất bản trên chuỗi và người dùng chứng minh rằng L = hash(s, 1) và N = hash(s, 2) đối với một số (không bao giờ tiết lộ) bí mật mà họ kiểm soát. Một người vô hiệu,N,được ban hành, đảm bảo rằng các khoản chi tiêu trong tương lai,của cùng một lá sẽ không thành công mà không tiết lộ,L,. Việc giữ an toàn là tùy thuộc vào người dùng. Giải pháp bảo mật thân thiện với việc khôi phục sẽ cho biết: s là một vị trí trên chuỗi (chẳng hạn như địa chỉ và khe lưu trữ) và người dùng phải chứng minh truy vấn trạng thái: L = hash(sload(s), 1) .
Bảo mật Dapp
Liên kết yếu nhất trong bảo mật người dùng thường là dapp. Hầu hết, người dùng tương tác với các ứng dụng bằng cách truy cập một trang web, trang web này ngầm tải mã giao diện người dùng xuống theo thời gian thực từ máy chủ và sau đó thực thi mã đó trong trình duyệt. Nếu máy chủ bị hack hoặc DNS bị hack, người dùng sẽ nhận được một bản sao giao diện giả mạo, điều này có thể lừa họ thực hiện các hành động tùy ý. Các tính năng của ví như mô phỏng giao dịch rất hữu ích trong việc giảm thiểu rủi ro, nhưng chúng vẫn chưa hoàn hảo.
Lý tưởng nhất là chúng tôi sẽ chuyển hệ sinh thái sang phiên bản nội dung trên chuỗi: người dùng sẽ truy cập dapp thông qua tên ENS của họ, tên này sẽ chứa hàm băm IPFS của giao diện. Việc cập nhật giao diện yêu cầu giao dịch trực tuyến từ multisig hoặc DAO. Ví sẽ hiển thị cho người dùng xem họ đang tương tác với giao diện trên chuỗi an toàn hơn hay giao diện Web2 kém an toàn hơn. Ví cũng có thể hiển thị cho người dùng xem họ có đang tương tác với chuỗi bảo mật hay không (ví dụ: Giai đoạn 1+, kiểm tra bảo mật nhiều lần).
Đối với những người dùng quan tâm đến quyền riêng tư, ví cũng có thể thêm chế độ hoang tưởng yêu cầu người dùng nhấp để chấp nhận các yêu cầu HTTP, không chỉ các hoạt động web3:
Mô hình giao diện khả thi cho chế độ hoang tưởng p>
Một cách tiếp cận nâng cao hơn là vượt xa HTML + Javascript và sử dụng ngôn ngữ chuyên dụng (có thể là Solidity hoặc Vyper viết logic nghiệp vụ của dapp trên một lớp phủ tương đối mỏng). Sau đó, trình duyệt có thể tự động tạo giao diện người dùng cho bất kỳ chức năng mong muốn nào. OKContract đã thực hiện việc này.
Một hướng khác là bảo vệ thông tin kinh tế tiền điện tử: các nhà phát triển dapp, công ty bảo mật, nhà triển khai chuỗi và những người khác có thể thiết lập một khoản tiền gửi để bảo vệ người dùng nếu dapp bị hack hoặc gây hại cho người dùng theo cách gây hiểu lầm cao. sau đó được trả cho người dùng bị ảnh hưởng. Được phân xử bởi một số DAO trên chuỗi. Ví có thể hiển thị điểm cho người dùng dựa trên quy mô của trái phiếu.
Tương lai lâu dài hơn
Tất cả những điều trên được thực hiện trong bối cảnh giao diện truyền thống, bao gồm trỏ và nhấp vào mọi thứ và gõ mọi thứ vào các trường văn bản. Tuy nhiên, chúng ta cũng đang trên đà thay đổi mô hình sâu sắc hơn:
Artificial Trí thông minh , có thể khiến chúng ta chuyển từ mô hình gõ bằng cú nhấp chuột sang mô hình "nói những gì bạn muốn làm và robot sẽ tìm ra điều đó"
Brain- Giao diện máy tính, cả hai đều có những phương pháp “nhẹ nhàng” như theo dõi bằng mắt, nhưng cũng có những kỹ thuật trực tiếp hơn, thậm chí là xâm lấn (xem: Số 1 năm nay Bệnh nhân Neuralink);
Phòng thủ chủ động phía khách hàng: Brave Browser chủ động bảo vệ người dùng khỏi quảng cáo, trình theo dõi và nhiều đối tượng không mong muốn khác. Nhiều trình duyệt, plugin và ví tiền điện tử có toàn bộ nhóm tích cực làm việc để bảo vệ người dùng khỏi các mối đe dọa về bảo mật và quyền riêng tư khác nhau. Những “người bảo vệ tích cực” này sẽ chỉ phát triển mạnh mẽ hơn trong thập kỷ tới.
Cùng với nhau, ba xu hướng này sẽ dẫn đến việc phải suy nghĩ lại sâu sắc hơn về cách hoạt động của giao diện. Thông qua việc nhập ngôn ngữ tự nhiên, theo dõi bằng mắt hoặc cuối cùng là giao diện não-máy tính trực tiếp hơn, kết hợp với lịch sử của bạn (có thể bao gồm cả tin nhắn văn bản, miễn là tất cả dữ liệu được xử lý cục bộ), "ví" có thể hiểu rõ ràng và trực quan những gì bạn muốn. làm điều đó. Sau đó, AI có thể chuyển trực giác này thành một “kế hoạch hành động” cụ thể: một loạt các tương tác trên chuỗi và ngoài chuỗi để đạt được điều bạn muốn. Điều này có thể làm giảm đáng kể nhu cầu về giao diện người dùng của bên thứ ba. Nếu người dùng tương tác với ứng dụng của bên thứ ba (hoặc người dùng khác), AI sẽ thay mặt người dùng suy nghĩ bất lợi, xác định bất kỳ mối đe dọa nào và đề xuất kế hoạch hành động để tránh chúng. Lý tưởng nhất là những AI này nên có một hệ sinh thái mở, được tạo ra bởi các nhóm đa dạng với những thành kiến và cơ cấu khuyến khích khác nhau.
Những ý tưởng cấp tiến hơn này dựa trên công nghệ cực kỳ non nớt ngày nay, vì vậy ngày nay tôi sẽ không đưa tài sản của mình vào một chiếc ví dựa trên chúng. Tuy nhiên, có vẻ rõ ràng rằng những điều như thế này là con đường của tương lai, vì vậy đáng để bắt đầu khám phá tích cực hơn theo hướng này.