Đặc biệt cảm ơn Liraz Siri, Yoav Weiss và các nhà phát triển ImToken, Metamask và OKX vì phản hồi và đánh giá của họ.
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 đã thấy ví Ethereum có những bước tiến 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 cho các giao dịch chéo L2
Hiện đã có lộ trình ngày càng chi tiết để cải thiện trải nghiệm người dùng trên L2, với các phần ngắn hạn và 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 tích hợp và (ii) 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 bản dự thảo ERC này ) như thế này:
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 trường Tới trên ví của mình và nhấp vào Gửi. Ví sẽ tự động xử lý dữ liệu được gửi theo bất kỳ cách nào có thể:
Nếu bạn đã có đủ mã thông báo thuộc loại được yêu cầu trên chuỗi mục tiêu, hãy gửi mã thông báo trực tiếp
Nếu bạn có loại mã thông báo mong muốn trên một chuỗi khác (hoặc nhiều chuỗi khác), hãy gửi mã thông báo bằng giao thức như ERC-7683 (thực tế là DEX chuỗi ché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 thành loại tiền tệ phù hợp 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
Ở trên dành cho trường hợp sử dụng bạn sao chép-dán địa chỉ (hoặc ENS, ví dụ: Vitalik.eth @optimism.eth ) và ai đó trả tiền cho bạn. Nếu một dapp yêu cầu gửi tiền (ví dụ: xem ví dụ Polymarket này ) 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 trực tiếp cho người tiêu dùng (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 Z trên chuỗi, với ID tham chiếu hoặc lệnh gọi lại W và ví sẽ có thể Hãy thoải mái thực hiện yêu cầu này bằng mọi cách. 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 xác nhận quyền sở hữu để nhận được 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 chính họ trong ví.
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. Ví dụ: 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. Một vài triệu Gas ETH trị giá để các giao dịch trong tương lai có thể chi tiêu Gas trực tiếp tại đó (vì nó rẻ hơn).
Bảo mật tài khoản
Một cách mà tôi khái niệm hóa thách thức bảo mật tài khoản là một chiếc ví tốt phải thực hiện hai việc cùng một lúc: (i) bảo vệ người dùng khỏi bị hack hoặc tấn công độc hại bởi các nhà phát triển ví và (ii) bảo vệ người dùng khỏi bị ảnh hưởng bởi những sai lầm của chính bạn.
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.
Giải pháp ưa thích của tôi cho vấn đề này, 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 phân cấp. 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.
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 những 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: các công ty chuyên cung cấp dịch vụ chỉ ký giao dịch khi nhận được xác nhận bổ sung về yêu cầu của bạn: vd. Mã xác nhận hoặc cuộc gọi video cho người dùng có giá trị cao. Ví dụ, mọi người từ lâu đã cố gắng tạo ra những thứ này. Tôi đã lập hồ sơ về CryptoCorp vào năm 2013 . Tuy nhiên, cho đến nay các công ty nà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, máy tính để bàn, ví phần cứng). Điều này hiệu quả nhưng cũng gây khó khăn cho người dùng thiếu kinh nghiệm trong việc thiết lập và quản lý. Cũng có nguy cơ các thiết bị bị mất hoặc bị đánh cắp cùng một lúc, đặ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 nhiều giải pháp dựa trên khóa chính hơn. Khóa chỉ có thể được sao lưu trên thiết bị của bạn, biến nó 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àosự kết hợp phức tạp giữa bảo mật mật mã, 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ủa gó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 dưới bất kỳ hình thức nào (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, giờ đây chúng tôi có nhiều tùy chọn và tính “thân thiện với người mới” độc đáo của ID tập trung được bao bọc bởi ZK.
Để thực hiện việc này, nó cần được triển khai thông qua giao diện người dùng được đơn giản hóa và tích hợp: bạn chỉ có thể chỉ định rằng bạn muốn example@gmail.com làm người giám hộ và nó sẽ tự động tạo địa chỉ Ethereum zk-email tương ứng trong 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.
Lưu ý rằng thách thức thực tế mà zk-email ngày nay phải đối mặt là nó dựa vào chữ ký DKIM , sử dụng các khóa được luân chuyển vài tháng một lần và bản thân chúng không được ký bởi bất kỳ cơ quan nào khác. Điều này có nghĩa là zk-email ngày nay có một số yêu cầu về mức độ 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 nhập số lượng lớn người giám hộ khi họ đăng ký lần đầu. 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 trải nghiệm người dùng khó hiểu khi 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ợ điều này:
Theo mặc định, việc khôi phục tài khoản Warpcast của bạn được kiểm soát bởi nhóm Warpcast. 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 lừa đảo và các mối đe dọa bên ngoài khác
Ngoài bảo mật tài khoản, 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, đồng thời cố gắng bảo vệ người dùng khỏi các mối đe dọa đó. Đồ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.
sự 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 sau để giảm rủi ro pháp lý (chẳng hạn như nhóm quyền riêng tư ) đang trở nên hoàn thiện hơ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 lợi thế của công nghệ này là nó là một con đường tự nhiên không chỉ cho việc chuyển giao 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 gốc gồm 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 minh 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 đảm quyền riêng tư trở nên hiệu quả và đáng tin cậy hơn nhưng tính năng này có thể được triển khai ngay bây giờ. 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ó đòi hỏi phải xem xét lại 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. Theo mặc định, chúng tôi cần quyền riêng tư để có được bộ ẩn danh đủ lớn. Tuy nhiên, việc tập trung trước tiên 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, cho dù là thanh toán, danh tính hay các trường hợp sử dụng khác, là nó tạo ra nhu cầu cho người dùng lưu trữ dữ liệu của họ ngoài chuỗi. Điều này được thể hiện rõ ràng trong Tornado Cash, yêu cầu người dùng lưu các “vé” tương ứng với 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à một 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. Ví dụ, thế giới phi tiền điện tử cũng ngày càng nhận ra điều này. Xem nghiên cứu 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 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 sẽ chồng chéo lên 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 sẽ cho họ biết bất kỳ thông tin nào về chuỗi. Đây là một lỗ hổng theo hai cách:
Ví dụ: các nhà cung cấp RPC có thể cố gắng ăn cắp tiền bằng cách cung cấp cho họ thông tin sai lệch. Về giá thị trường.
Nhà cung cấp RPC 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 ứng dụng khách nhẹ được tiêu chuẩn hóa cho L1 và L2 có thể trực tiếp xác minh 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ỉ cụ thể theo chuỗi) có thể khai báo một hàm, có thể theo cách tương tự như ERC-3668 , chứa chức năng lấy giá trị gần nhất gốc trạng thái và Xác minh trạng thái logic của chứng nhận và biên lai đối với gốc của các trạng thái đó. 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 tương đương với ứng dụng khách nhẹ ở đâ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.
Để giữ cho máy chủ luôn trung thực, bản thân các dự án cơ sở dữ liệu riêng lẻ đều là các nhánh Merkle nên khách hàng có thể sử dụng các ứng dụng khách đơn giản để xác minh chúng.
PIR (Deep Chao Note: Thường dùng để chỉ Truy xuất thông tin riêng tư (Private Information Retrieval), một giao thức hoặc công nghệ cho phép người dùng truy xuất thông tin từ cơ sở dữ liệu mà không tiết lộ thông tin truy xuất được. Khối lượng tính toán rất lớn. Có một số cách để giải quyết vấn đề này:
Với cường độ mạnh mẽ: 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ó thể có 1 triệu mixins cho mỗi lần tra cứu, do đó máy chủ sẽ biết 1 triệu giá trị có thể có mà khách hàng có quyền truy cập, 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ì thuật toán PIR thường nhanh hơn.
Ẩn danh thay vì bảo mật: Yêu cầu có thể được gửi qua mạng kết hợp, ẩn người gửi yêu cầu thay vì ẩn nội dung 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 truy cập trạng thái và truyền tải, một quy trình công việc quan trọng khác cần hoạt động trơn tru trên các ngữ cảnh L2 là thay đổi cấu hình xác thực của tài khoản: liệu nó có thay đổi khóa (ví dụ: 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 hay không. tài khoản. Thay đổi. Có ba cấp độ giải pháp ở đây, theo thứ tự độ 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ể.
Keystore trên L1: Thông tin cấu hình nằm trên L1, ví trên L2 đọc nó bằng L1S LOAD hoặc lệnh gọi tĩnh từ xa . 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 sử dụng ZK-SNARK để đọc nó. Đ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 hiệu quả vì nó đảm bảo được 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, xuất bản giá trị lá L 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ố (s, 2) họ kiểm soát những bí mật chưa từng được tiết lộ). Trình vô hiệu N được ban hành sao cho đảm bảo các khoản thanh toán 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, điều này phụ thuộc vào bảo mật của 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í (ví dụ: địa chỉ và khe lưu trữ) trên chuỗi 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, 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 nó, tên này sẽ chứa hàm băm IPFS của giao diện. Cập nhật giao diện yêu cầu giao dịch trực tuyến từ đa chữ ký 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 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 yêu cầu HTTP, không chỉ hoạt động web3:
Mô hình giao diện có thể có cho chế độ hoang tưởng
Một cách tiếp cận nâng cao hơn sẽ vượt xa HTML + Javascript và viết logic kinh doanh của dapp bằng ngôn ngữ chuyên dụng (có thể là lớp phủ tương đối mỏng trên Solidity hoặc Vyper). 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 trái phiếu sẽ được trả cho người nhận 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 cho những người dùng bị ảnh hưởng (những người được xác định). ) được xét 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 đều nằm trong bối cảnh của một giao diện truyền thống, bao gồm việc trỏ và nhấp vào mọi thứ cũng như nhập nội dung 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:
Trí tuệ nhân tạo, có thể đưa chúng ta từ mô hình nhấp chuột để gõ sang mô hình “nói những gì bạn muốn làm và robot sẽ tìm ra điều đó”
Giao diện não-máy tính bao gồm từ các phương pháp “nhẹ nhàng” như theo dõi mắt đến các công nghệ trực tiếp hơn và thậm chí xâm lấn (xem: bệnh nhân Neuralink đầu tiên của năm nay )
Bảo vệ 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 suy nghĩ lại sâu sắc hơn về cách hoạt động của giao diện. Thông qua đầu vào ngôn ngữ tự nhiên, theo dõi bằng mắt hoặc cuối cùng là giao diện máy tính-não 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 nơi bạn muốn đi. 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 phụ thuộc vào công nghệ còn rất 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 vào 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.