Kết quả nghiên cứu của ConsenSys: Đạt được quyền riêng tư trên Ethereum
Lưu ý của biên tập viên: Bài viết này đến từThung lũng tiền điện tử trực tiếp (ID: cryptovalley)Lưu ý của biên tập viên: Bài viết này đến từ
Thung lũng tiền điện tử trực tiếp (ID: cryptovalley)
Thung lũng tiền điện tử trực tiếp (ID: cryptovalley)
, Tác giả: Dean Pierce (ConsenSys Diligence), Robert Drost (Bộ phận R&D của ConsenSys), Mason Nystrom (ConsenSys), bản dịch: Flash Chan, Odaily sao chép với sự cho phép.
Trong một thế giới ngày càng kết nối, nơi thông tin của chúng ta ngày càng được phân loại, sao chép, chia sẻ và bán, việc duy trì một mức độ riêng tư nhất định là một thách thức quan trọng.
Quyền riêng tư không phải là một cấu trúc nhị phân, mà là một danh mục dao động từ hoàn toàn công khai sang hoàn toàn riêng tư. Vì vậy, khi nói đến quyền riêng tư, có ba vấn đề cần thảo luận trước tiên:
Người tiêu dùng và doanh nghiệp muốn bảo vệ quyền riêng tư nào?
Mọi người có sẵn sàng trả giá cho sự riêng tư không?
Sự đánh đổi của việc thực hiện các giao dịch riêng tư trên một chuỗi khối công khai là gì?
Mục đích của bài báo này là kiểm tra ngắn gọn các nhu cầu về quyền riêng tư thực tế trên các chuỗi khối công khai và thảo luận về các con đường thực tế dẫn đến các giải pháp về quyền riêng tư.
Một khía cạnh của quyền riêng tư là ẩn danh hoặc quyền giữ kín danh tính của một người. Trong ngữ cảnh của các chuỗi khối công khai, tính ẩn danh đề cập đến khả năng các bên trao đổi thứ gì đó (tiền, mã thông báo hoặc dữ liệu) mà không tiết lộ danh tính hoặc thông tin khác về giao dịch của họ. Mặc dù đây chỉ là một khía cạnh của quyền riêng tư, nhưng tầm quan trọng của nó đã tăng lên cùng với sự phát triển của chuỗi khối.
Các loại tiền điện tử như BTC và ETH đang ngày càng được theo dõi và bằng cách liên kết các địa chỉ công khai trong các giao dịch, có thể phân tích và liên kết với danh tính thực của địa chỉ khi chuyển đổi tiền điện tử và tiền tệ fiat. Kết quả cuối cùng của việc này là danh tính của cả hai bên tham gia giao dịch trở nên công khai. Vì các chuỗi khối công khai về cơ bản phải cung cấp nhật ký của tất cả các giao dịch, nên việc sử dụng các giao thức và thuật toán mã hóa để bảo vệ quyền riêng tư của người dùng và doanh nghiệp ngày càng trở nên quan trọng.
Các doanh nghiệp và người tiêu dùng có những nhu cầu rất khác nhau khi nói đến quyền riêng tư. Các doanh nghiệp thường cần duy trì quyền riêng tư của dữ liệu giao dịch như tên sản phẩm, số lượng, giá cả, địa chỉ, thông tin tài chính có thể nhận dạng cá nhân, v.v.
Danh tính người tham gia mạng thường được biết đến, nhưng tùy thuộc vào danh tính vai trò, có thể cần được giữ lại hoặc cung cấp cho những người tham gia khác.
Ví dụ, một công ty giao nhận vận tải có thể không cần biết nội dung của một công-te-nơ nào đó, chỉ cần biết công-ten-nơ đó đã đến nơi hay chưa. Các quy tắc ngân hàng cũng giới hạn những người có thể truy cập dữ liệu giao dịch. Giao thức Nightfall của EY, sử dụng zk-snarks cho các giao dịch riêng tư trên Ethereum và việc phát triển Anonymous-Zether cho Quorum của JPMorgan Chase là những ví dụ điển hình về giải pháp bảo mật do các doanh nghiệp phát triển cho Ethereum.
Các công ty có xu hướng có động cơ thương mại mạnh mẽ hoặc các quy định về quyền riêng tư, ngược lại, người tiêu dùng có xu hướng ít quan tâm đến quyền riêng tư hơn và thường ít quan tâm hơn. Người tiêu dùng có thể chỉ muốn bảo vệ danh tính, thông tin thẻ tín dụng hoặc dữ liệu nhạy cảm khác của họ khỏi hành vi gian lận hoặc đánh cắp danh tính. Đôi khi người tiêu dùng muốn giao dịch ẩn danh, điều này yêu cầu cả người gửi và người nhận giao dịch đều ẩn danh. Tuy nhiên, trong cuộc sống hàng ngày, quyền riêng tư thường bị người dùng bỏ qua và hầu hết mọi người sẵn sàng hy sinh quyền riêng tư của mình để được thuận tiện hoặc truy cập miễn phí (chấp nhận cookie, sử dụng wifi miễn phí, v.v.).
Thông qua nghiên cứu hàn lâm và áp dụng doanh nghiệp, nhiều kết quả đã được rút ra từ các tiêu chuẩn mở và nhiều công nghệ trong số này đã tìm được hướng đi trong ngăn xếp công nghệ người dùng cá nhân, cuối cùng mang lại lợi ích cho người dùng cuối.
Đối với blockchain, chỉ có khoảng 5% ZEC hiện có được lưu trữ bằng SNARK, mặc dù Zcash đã gần 3 năm tuổi. Khoảng 95% ZEC được lưu trữ trong các địa chỉ minh bạch với rất ít quyền riêng tư. Dựa trên tỷ lệ chấp nhận thấp này, chúng tôi có thể suy luận rằng có lẽ hầu hết người dùng chưa có nhu cầu trả chi phí và công sức cho quyền riêng tư.
Nhìn lại, sự thành công của lớp bảo mật tích hợp (chẳng hạn như SSL) đã biến Internet trở thành một phương tiện thương mại đáng tin cậy và việc áp dụng chính thống công nghệ chuỗi khối vẫn không tránh khỏi vấn đề quan trọng về quyền riêng tư.
tiêu đề phụ
Đánh đổi quyền riêng tư
Câu hỏi này là kỹ thuật hơn. Chúng ta cần tìm hiểu sâu hơn về cách đạt được quyền riêng tư trên Ethereum. Mạng chuỗi khối đánh đổi khả năng mở rộng để phân cấp và có sự đánh đổi giữa cơ chế bảo mật và công nghệ. Chúng tôi sẽ bắt đầu bằng cách xem xét những gì các chuỗi khối tập trung vào quyền riêng tư khác đã đạt được, sau đó thảo luận về các giải pháp quyền riêng tư trên mạng Ethereum.
Các dự án blockchain điển hình khác tập trung vào quyền riêng tư (Monero và Zcash)
Trước khi tìm hiểu chi tiết về Ethereum, hãy giới thiệu Monero và Zcash, hai người chơi chính trong không gian tiền riêng tư.
Trong những ngày đầu của các altcoin, Monero rất đặc biệt vì mã của nó hoàn toàn không dựa trên BTC mà là một dự án tài sản mã hóa hoàn toàn không liên quan có tên là Bytecoin (Bytecoin là tài sản mã hóa đầu tiên sử dụng giao thức CryptoNote).
Thiết kế CryptoNote ban đầu đã trộn lẫn (mixins) chữ ký của người gửi giao dịch với nhiều chữ ký giả khác, do đó làm xáo trộn người gửi giao dịch. Điều này, kết hợp với đầu ra địa chỉ ẩn, mang lại sự đảm bảo quyền riêng tư rất mạnh mẽ. Sơ đồ "chữ ký vòng" từ lâu đã được công nhận là một bộ trộn tích hợp tiên tiến, điều này không có gì mới.
Vào năm 2017, với sự ra đời của RingCT, khả năng ẩn dữ liệu giao dịch của chữ ký vòng đã được cải thiện rất nhiều. RingCT sử dụng Zero-Knowledge Range Proof (ZKRP) để tăng các loại chữ ký có thể được xử lý theo đợt.
Vào cuối năm 2018, chúng tôi đã chứng kiến sự ra đời của "Bulletproofs" trên mạng Monero, một cấu trúc không kiến thức mới thú vị có tỷ lệ logarit với số lượng chữ ký trong vòng, giảm quy mô giao dịch cần thiết. Cải tiến này mang lại chức năng Monero phù hợp với các dự án chuỗi khối khác.
Zcash là tài sản tiền điện tử đầu tiên sử dụng zksnark. Sử dụng kỹ thuật này, người dùng có thể gửi các giao dịch hoàn toàn riêng tư chỉ hiển thị cho người nhận. Đối với người quan sát bên ngoài, ZEC được gửi đến một địa chỉ riêng dường như biến mất trong một hộp đen mật mã lớn và khi người nhận muốn chuyển mã thông báo của họ trở lại địa chỉ không riêng tư (tương tự như địa chỉ BTC tiêu chuẩn), mã thông báo Dường như xuất hiện từ hư không, không có kết nối có thể quan sát được giữa người gửi và người nhận.
Một lưu ý quan trọng về bằng chứng không kiến thức là nó đòi hỏi nhiều sức mạnh tính toán hơn để chạy, điều này làm cho các giao dịch trở nên đắt đỏ hơn.
tiêu đề phụ
Mạng Ethereum cung cấp tính ẩn danh giả (nghĩa là: các giao dịch được liên kết với các địa chỉ khóa công khai được ký bởi khóa riêng của người dùng, thay vì được ký bởi tên người dùng/mật khẩu), và tính chất phân tán và minh bạch của nó giúp có thể thực hiện được nhiều chức năng kỹ thuật mới.
Tuy nhiên, tương tự như BTC, Ethereum cũng vô tình để lộ những người dùng có thể không nhận ra phạm vi thông tin được chia sẻ của họ khi sử dụng chuyển tài sản kỹ thuật số thay thế.
Một mối đe dọa đối với quyền riêng tư là người dùng biết danh tính liên quan đến khóa chung và khóa riêng. Xem xét tính chất công khai của các chuỗi khối như BTC và Ethereum, việc sử dụng một cách ngây thơ các khung giao dịch tích hợp sẵn của chúng giống như để lại đường dẫn cho người khác theo dõi dấu vết chuyển giao của tài sản (thậm chí cả tài sản có thể thay thế được).
Đảm bảo quyền riêng tư bằng cách tạo địa chỉ
Khi các công nghệ bảo mật tiếp tục phát triển, nhiều mô hình mối đe dọa phức tạp hơn có thể được xem xét. Vào năm 2012, BIP32 đã giới thiệu các khóa Xác định phân cấp, cho phép một cụm từ gốc duy nhất tạo ra một luồng địa chỉ BTC "mới" không bao giờ kết thúc. Điều này cho phép người dùng tạo địa chỉ mới mỗi khi họ chấp nhận giao dịch và tất cả các địa chỉ này có thể dễ dàng xuất và nhập vào ví mới mà không phải nhập nhiều khóa được tạo ngẫu nhiên một cách riêng biệt.
Ethereum có chức năng tương tự, nhưng các khóa mới được tạo không thể tương tác với hợp đồng thông minh cho đến khi có đủ số tiền ETH cần thiết. Vấn đề phức tạp hơn là thực tế là nhiều hệ thống được xây dựng trên Ethereum liên kết danh tính trong thế giới thực của người dùng với các địa chỉ. Siêu dữ liệu bổ sung này được liên kết với các địa chỉ Ethereum sẽ khiến Ethereum đặc biệt dễ bị tấn công bởi các cuộc tấn công hủy bỏ danh nghĩa. May mắn thay, chức năng hợp đồng thông minh khiến Ethereum gặp phải những mối đe dọa này cũng có thể sử dụng mật mã tiên tiến, cho phép các giao dịch riêng tư, liền mạch, an toàn.
tiêu đề phụ
Nhiều cấu trúc không có kiến thức yêu cầu cái gọi là "Thiết lập đáng tin cậy". Điều này có nghĩa là toàn bộ cấu trúc dựa trên việc tạo ra các số ngẫu nhiên đặc biệt mà bất kỳ ai biết các số ngẫu nhiên này đều có thể nhìn vào hoạt động bên trong của chúng.
Zero-Knowledge Notes (ZK-Notes)
Để xoa dịu mối lo ngại này, các nhà phát triển đã nghĩ ra các sơ đồ phức tạp để tạo ra các tham số ngẫu nhiên nhằm đảm bảo rằng các cấu trúc có thể được tin cậy. Điều này thường liên quan đến một số thành viên đáng tin cậy của cộng đồng, mỗi người nhận dữ liệu ngẫu nhiên riêng tư của riêng họ và kết hợp chúng với nhau theo một cách nào đó; nếu "bất kỳ" bên nào xóa dữ liệu chính của họ, giá trị bí mật sẽ an toàn. Do đó, cấu trúc chỉ có thể gặp rủi ro nếu tất cả các bên liên quan thông đồng với nhau.
Điều đáng chú ý là Bulletproofs được sử dụng bởi Monero không yêu cầu thiết lập ban đầu đáng tin cậy, nhưng zksnark trong Zcash thì có. Thiết lập ban đầu đáng tin cậy của Zcash được ghi lại trong RadioLab. Ngược lại, STARK không yêu cầu thiết lập ban đầu đáng tin cậy vì chúng chọn sử dụng hàm băm làm "thiết lập" thay vì bất kỳ loại số đặc biệt nào.
tiêu đề phụ
Là người tiên phong trong lĩnh vực bảo mật Ethereum, Giao thức AZTEC sử dụng hệ thống "ghi chú không có kiến thức" để theo dõi thông tin tài chính ẩn. Các ghi chú này có thể nhìn thấy trên mạng Ethereum, bao gồm cả chủ sở hữu của mỗi ghi chú, nhưng số tiền được lưu trữ trên mỗi ghi chú bị ẩn với mọi người ngoại trừ chủ sở hữu của ghi chú.
Trong trường hợp sử dụng phổ biến, hợp đồng "ZK-Asset" có thể được kết nối với bất kỳ mã thông báo tương thích ERC-20 nào và cho phép người dùng ký gửi mã thông báo để tạo ZK-Notes hoặc ghi ZK-Notes để rút tiền. Cơ chế này cho phép bất kỳ tài sản hiện có nào trên mạng Ethereum được giao dịch theo cách bảo vệ quyền riêng tư. Các bằng chứng được sử dụng bởi Giao thức AZTEC dễ sử dụng hơn zk-snarks, nhưng vẫn yêu cầu thiết lập ban đầu đáng tin cậy.
Aztec cũng đang sử dụng các giải pháp mới khác để thiết lập các cài đặt đáng tin cậy. PLONK là một cấu trúc ZK-SNARK mới, hiệu quả, yêu cầu một thiết lập đáng tin cậy duy nhất có thể được sử dụng lại bởi tất cả các chương trình. Do yêu cầu về gas thấp, PLONK đủ hiệu quả trong ứng dụng thực tế của Ethereum.
Giám đốc điều hành của Giao thức AZTEC Tom Pocock tin rằng PLONK có thể được sử dụng để viết các câu lệnh logic phức tạp trong khi vẫn duy trì sự riêng tư hoàn hảo.
tiêu đề phụ
Sự kết hợp của ZK và tính toán đa bên an toàn (MPC an toàn)
Cách tiếp cận này, được triển khai trong ZKBoo và Ligero, cho phép người xác minh "biên dịch" giao thức tính toán nhiều bên an toàn vào hệ thống ZK-PCP (một trong những hệ thống ZK đầu tiên sử dụng bằng chứng xác suất) bằng cách yêu cầu người xác minh gửi một bản sao của giao thức nhiều bên an toàn giao thức tính toán.Đánh giá ngẫu nhiên một trong các khung nhìn. Điều này có nghĩa là một thực thể có kiến thức về dữ liệu liên quan có thể tùy ý mô phỏng một phép tính phân tán giữa nhiều bên và sau đó hiển thị một bản sao của phép tính tại một điểm đánh giá ngẫu nhiên. Quan trọng hơn, việc sử dụng MPC cho phép tạo các hợp đồng thông minh riêng tư.
Giống như ZK-STARK, bằng chứng dựa trên MPC có các đặc điểm sau:
Minh bạch: Việc tạo ra các số ngẫu nhiên là thông tin công khai;
Có thể mở rộng: Bằng chứng dựa trên MPC có thời gian bằng chứng gần như tuyến tính và thời gian xác minh, đồng thời có thể thực hiện hiệu quả các phép tính hàng loạt;
Một số đánh đổi xung quanh việc sử dụng các kỹ thuật như vậy liên quan đến cách chúng được tối ưu hóa cho các sự cố "mạch" từ nhỏ đến trung bình, điều này có thể gây ra các vấn đề về khả năng mở rộng cho trình xác minh.
tiêu đề phụ
giới hạn phần cứng
Khi Zcash lần đầu tiên đưa ra ý tưởng sử dụng zk-snarks để gửi giao dịch, đã có những lo ngại nghiêm trọng về sức mạnh tính toán cần thiết để sử dụng các giao dịch bí mật, vì sẽ mất hàng giờ hoặc lâu hơn để tạo một giao dịch. Nhưng kể từ đó, chúng tôi đã đi một chặng đường dài và giờ đây có thể thực hiện các tác vụ tương tự trong trình duyệt hoặc thậm chí trên thiết bị di động chỉ trong vài giây.
tiêu đề phụ
máy trộn
Máy trộn Ethereum tạo điều kiện thuận lợi cho các giao dịch riêng tư cục bộ cho ví hoặc cá nhân. Khả năng truy xuất nguồn gốc của ETH có nghĩa là các giao dịch cụ thể có thể được theo dõi và liên kết với các ví hoặc tài khoản khác. Máy trộn được sử dụng để trao đổi ETH nhằm tiếp tục ẩn danh các giao dịch.
Nhiều nhóm đang làm việc để làm cho các bộ trộn Ethereum trở nên thiết thực hơn. Dưới đây là biểu đồ cập nhật về phí tính toán và gas để lưu trữ và rút ETH hỗn hợp.
Một bộ trộn duy nhất ở lớp ứng dụng có thể chưa cung cấp cho người dùng quyền riêng tư tuyệt đối mà chỉ đảm bảo mang tính xác suất. Tuy nhiên, điều này đã đủ cho hầu hết các nhu cầu cá nhân và kinh doanh.
tiêu đề phụ
Ai trả tiền xăng?
Một lỗ hổng chết người của những cách tiếp cận này là vào cuối ngày, ai đó cần phải trả phí gas để có được đầu ra. Tất cả số ETH này đến từ đâu? Nếu ETH được thanh toán cuối cùng có thể được truy ngược lại cho người dùng, thì người dùng đó có thể được hủy ẩn danh, điều này sẽ đánh bại mục đích của chính nó.
Điều này tạo ra một kịch bản "con gà và quả trứng" về quyền riêng tư, trong đó cách duy nhất để chấp nhận ETH ẩn danh là đã có ETH ẩn danh. Trong bài đăng trên blog của Vitalik về máy trộn, anh ấy đã giải quyết vấn đề này bằng một hợp đồng đăng ký người chuyển tiếp đơn giản. Trong giao thức này, các nhà khai thác chuyển tiếp cam kết xuất bản các giao dịch tùy ý có thể đăng ký một điểm cuối HTTP để các giao dịch đó có thể được xuất bản ẩn danh.
Cuối cùng, giả mạo ví và bảo mật hoạt động phải được xem xét. Làm thế nào để tìm ra các giá trị mặc định an toàn để bảo vệ người dùng mà không khiến chúng trở nên quá cồng kềnh là một cuộc thảo luận đang diễn ra. Tất cả các giải pháp kết hợp này đều yêu cầu một số lượng lớn người tham gia với kỳ vọng hợp lý về quyền riêng tư, vì các công cụ cần phải dễ dàng tiếp cận với đại chúng. Tuy nhiên, bất kỳ lối tắt nào cũng có thể dẫn đến một số vi phạm quyền riêng tư khá nghiêm trọng. Ví dụ: người dùng trộn một số ETH, chi tiêu một phần trong số đó vào thứ gì đó được cho là riêng tư, sau đó có thể quên ví họ đã sử dụng cho giao dịch riêng tư và gửi phần còn lại của ETH trở lại ví được liên kết công khai với họ .địa chỉ.


