Bài viết dài mới nhất của V God: Cách CEX sử dụng công nghệ để chứng minh mình vô tội
Bài viết này đến từ Vitalik ButerinBài viết này đến từ

, biên dịch bởi dịch giả Katie Koo của Odaily.
Bài đăng này sẽ thảo luận về quá trình cố gắng đưa CEX tiến một bước gần hơn đến trạng thái không tin cậy, những hạn chế của các công nghệ này cũng như một số giải pháp và ý tưởng mạnh mẽ hơn dựa trên các công nghệ tiên tiến như ZK-SNARK.
tiêu đề phụ
Bảng cân đối kế toán và cây Merkle: Bằng chứng truyền thống về khả năng thanh toán
Những nỗ lực sớm nhất của các sàn giao dịch để chứng minh bằng mật mã rằng họ không lừa dối người dùng đã quay trở lại. Vào năm 2011, MtGox, sàn giao dịch bitcoin lớn nhất vào thời điểm đó, đã chứng minh rằng họ có tiền bằng cách gửi một giao dịch chuyển 424.242 bitcoin đến một địa chỉ được công bố trước. Năm 2013, các cuộc thảo luận bắt đầu về cách giải quyết mặt khác của vấn đề: chứng minh tổng quy mô tiền gửi của khách hàng. Nếu bạn chứng minh rằng khoản tiền gửi của khách hàng bằng X (bằng chứng về trách nhiệm pháp lý) và chứng minh rằng bạn có khóa riêng cho mã thông báo X (bằng chứng về tài sản), thì bạn có bằng chứng về khả năng thanh toán - bạn chứng minh rằng sàn giao dịch có tiền để trả lại tất cả những người gửi tiền.
Cách dễ nhất để chứng minh khoản tiền gửi là chỉ cần xuất bản danh sách các cặp (tên người dùng, số dư). Mọi người dùng đều có thể kiểm tra xem số dư của họ có trong danh sách hay không, bất kỳ ai cũng có thể kiểm tra danh sách đầy đủ, xem:
Mỗi số dư là không âm;
Tổng số là số tiền được yêu cầu.
Tất nhiên, điều này phá vỡ quyền riêng tư, vì vậy chúng tôi có thể thay đổi sơ đồ một chút:
Xuất bản danh sách các cặp (băm "tên người dùng, muối", số dư) và gửi riêng cho mỗi người dùng giá trị muối của họ. Nhưng ngay cả điều đó cũng sẽ làm mất số dư và mô hình thay đổi số dư.
Kỹ thuật cây Merkle.

Mô tả hình ảnh
Màu xanh lá cây: Nút đại diện cho Charlie. Màu lam: Biểu thị các nút tạo mà Charlie sẽ nhận được như một phần của bằng chứng. Màu vàng: Đại diện cho nút gốc, được hiển thị công khai cho mọi người.
Sàn giao dịch sẽ gửi cho mỗi người dùng một bằng chứng ký gửi của bà Merkel. Sau đó, người dùng sẽ được đảm bảo rằng số dư của họ được bao gồm chính xác như một phần của tổng số. cho phépđâyđây
Tìm cách triển khai mã mẫu đơn giản.
Rò rỉ quyền riêng tư trong thiết kế này thấp hơn nhiều so với danh sách công khai hoàn toàn và có thể giảm hơn nữa bằng cách di chuyển nhánh mỗi khi "gốc" được giải phóng, nhưng vẫn có một số rò rỉ quyền riêng tư: Charlie biết rằng ai đó có số dư 164 ETH , có hai người dùng có số dư tổng cộng lên tới 70 ETH, v.v. Kẻ tấn công kiểm soát nhiều tài khoản vẫn có thể biết được nhiều điều về người dùng của một sàn giao dịch.

Một điểm tinh tế quan trọng của chương trình là khả năng xảy ra số dư âm: nếu một sàn giao dịch có số dư khách hàng là 1390 ETH, nhưng chỉ có 890 ETH dự trữ, hãy thử thêm -500 ETH vào một tài khoản giả ở đâu đó trong cây Số dư để bù vào số dư. sự khác biệt, tôi nên làm gì? Hóa ra khả năng này không phá vỡ kế hoạch, đó là lý do tại sao chúng ta đặc biệt cần cây tổng Merkle thay vì cây Merkle thông thường. Giả sử Henry là một tài khoản giả do sàn giao dịch kiểm soát, nơi sàn giao dịch đặt -500 ETH:
Nếu sàn giao dịch có thể xác định người dùng trị giá 500 ETH mà họ tin tưởng sẽ không bận tâm kiểm tra bằng chứng hoặc tin tưởng họ khi họ phàn nàn rằng họ chưa bao giờ nhận được bằng chứng, thì họ có thể thoát khỏi nghi ngờ biển thủ. Tuy nhiên, các sàn giao dịch cũng có thể loại trừ những người dùng này khỏi cây và có tác dụng tương tự. Do đó, công nghệ cây Merkle về cơ bản là tốt như một chương trình bằng chứng về trách nhiệm nếu mục tiêu chỉ là đạt được bằng chứng về trách nhiệm pháp lý. Nhưng tính chất riêng tư của nó vẫn chưa lý tưởng. Bạn có thể sử dụng cây Merkle theo những cách thông minh hơn, chẳng hạn như biến mỗi satoshi hoặc wei thành một lá riêng biệt, nhưng cuối cùng với các kỹ thuật hiện đại hơn, sẽ có nhiều cách tốt hơn để làm điều này.
tiêu đề phụ
Cải thiện quyền riêng tư và độ tin cậy bằng cách sử dụng ZK-SNARK
Điều đơn giản nhất chúng tôi có thể làm là đưa tất cả tiền gửi của người dùng vào cây Merkle (hoặc đơn giản hơn là cam kết KZG) và sử dụng ZK-SNARK để chứng minh rằng tất cả số dư trong cây đều không âm và thêm Có vẻ như một số giá trị tuyên bố. Nếu chúng tôi thêm một lớp băm để bảo mật, nhánh Merkle (hoặc bằng chứng KZG) được cung cấp cho mỗi người dùng sẽ không tiết lộ bất kỳ số dư nào của người dùng khác.

Mô tả hình ảnh
Sử dụng các cam kết KZG là một cách để tránh rò rỉ quyền riêng tư, vì không cần cung cấp "các nút chị em" làm bằng chứng và có thể sử dụng ZK-SNARK đơn giản để chứng minh tổng số dư và mỗi số dư đều không âm.

Chúng ta có thể sử dụng ZK-SNARK chuyên dụng để chứng minh tính tổng và tính không âm của các số dư trong KZG ở trên. Đây là một ví dụ đơn giản. Chúng tôi giới thiệu một đa thức phụ I(x) chiếm một phần nhỏ của mỗi số dư (chúng tôi giả sử số dư dưới 215), theo dõi một tổng có phần bù cứ sau 16 vị trí, chỉ khi tổng thực tế giống với tổng đã khai báo. Nó chỉ tính tổng về không khi có một trận đấu. Nếu z là căn bậc 128, ta có thể chứng minh phương trình sau:
Trong tương lai dài hạn, bằng chứng nợ ZK như vậy không chỉ có thể được sử dụng cho tiền gửi của khách hàng trên các sàn giao dịch mà còn cho các khoản vay nói chung. Bất kỳ ai vay tiền đều đặt bản ghi vào một đa thức hoặc cây chứa khoản vay và gốc của cấu trúc đó được xuất bản trên chuỗi. Điều này sẽ cho phép bất kỳ ai đang tìm kiếm khoản vay chứng minh với người cho vay rằng họ không vay quá nhiều khoản vay khác. Cuối cùng, những đổi mới pháp lý thậm chí có thể ưu tiên cao hơn cho các khoản vay cam kết theo cách này so với các khoản vay không cam kết. đây là với chúng tôi trong"Xã hội phi tập trung: Tìm kiếm linh hồn của Web3"tiêu đề phụ
Giấy tờ chứng minh tài sản
Phiên bản đơn giản nhất của Proof of Assets là giao thức mà chúng ta đã thấy ở trên: để chứng minh rằng bạn nắm giữ X token, bạn chỉ cần di chuyển X token vào thời điểm đã thỏa thuận trước hoặc đưa vào trường dữ liệu "Những khoản tiền này thuộc về Binance" Di chuyển X token trong một giao dịch của . Để tránh phải trả phí giao dịch, bạn có thể ký một tin nhắn ngoài chuỗi. Cả Bitcoin và Ethereum đều có các tiêu chuẩn để ký tin nhắn ngoài chuỗi.
Có hai vấn đề thực tế với kỹ thuật chứng minh tài sản đơn giản này:
Có hai vấn đề thực tế với kỹ thuật chứng minh tài sản đơn giản này:
xử lý ví lạnh;
Vì lý do bảo mật, hầu hết các sàn giao dịch giữ phần lớn tiền của khách hàng trong ví lạnh. Trên các máy tính ngoại tuyến, các giao dịch cần được ký thủ công và chuyển sang Internet. Thiết lập ví lạnh mà tôi đã sử dụng để lưu trữ tiền cá nhân trước đây yêu cầu máy tính ngoại tuyến vĩnh viễn để tạo mã QR chứa giao dịch đã ký, mã này sau đó tôi sẽ quét bằng điện thoại của mình. Các giao thức trao đổi hiện tại ngày càng điên rồ hơn, thường liên quan đến tính toán của nhiều bên giữa nhiều thiết bị. Trong thiết lập này, việc tạo một thông báo bổ sung để chứng minh quyền kiểm soát địa chỉ là một hoạt động tốn kém.
Trao đổi có thể sử dụng các phương pháp sau:
Trao đổi có thể sử dụng các phương pháp sau:
Dự trữ một số địa chỉ công khai sử dụng lâu dài. Sàn giao dịch sẽ tạo một vài địa chỉ, cấp bằng chứng cho từng địa chỉ một lần để chứng minh quyền sở hữu và sau đó sử dụng lại các địa chỉ đó. Cho đến nay, đây là tùy chọn dễ dàng nhất, mặc dù nó có thêm một số hạn chế về cách bạn có thể bảo vệ tính bảo mật và quyền riêng tư của mình.
Có rất nhiều địa chỉ, chỉ cần chứng minh một số. Sàn giao dịch sẽ có nhiều địa chỉ và thậm chí có thể chỉ sử dụng mỗi địa chỉ một lần và thoát sau một giao dịch. Trong trường hợp này, trao đổi có thể có một giao thức trong đó một số địa chỉ được chọn ngẫu nhiên theo thời gian và phải được "mở" để chứng minh quyền sở hữu. Một số sàn giao dịch đã thực hiện các hoạt động tương tự với kiểm toán viên, nhưng về nguyên tắc, kỹ thuật này có thể được chuyển thành một quy trình hoàn toàn tự động.
Tùy chọn ZKP phức tạp hơn. Ví dụ: một sàn giao dịch có thể đặt tất cả các địa chỉ của nó thành 1/2 multisig, trong đó mỗi địa chỉ có một khóa riêng tư khác nhau và địa chỉ kia là phiên bản mù của một số khóa dự phòng khẩn cấp "quan trọng", theo một cách nào đó là kho lưu trữ phức tạp nhưng an toàn, chẳng hạn như 16/12 đa chữ ký. Để bảo vệ quyền riêng tư và tránh tiết lộ địa chỉ đầy đủ của họ, một sàn giao dịch thậm chí có thể chạy bằng chứng không có kiến thức trên chuỗi khối chứng minh tổng số dư của tất cả các địa chỉ trên chuỗi với định dạng này.
Một mối quan tâm lớn khác là ngăn chặn việc sử dụng kép tài sản thế chấp. Chuyển tài sản thế chấp qua lại giữa nhau để chứng minh dự trữ, điều mà các sàn giao dịch dễ dàng thực hiện, sẽ cho phép họ giả vờ có khả năng thanh toán khi thực sự không phải vậy. Lý tưởng nhất là bằng chứng về khả năng thanh toán phải được thực hiện trong thời gian thực, với bằng chứng được cập nhật sau mỗi khối. Nếu điều này là không thực tế, thì điều tốt nhất tiếp theo là phối hợp giữa các sàn giao dịch theo một lịch trình cố định, chẳng hạn như chứng minh dự trữ vào thứ Ba hàng tuần lúc 2 giờ chiều UTC.
Một cách tiếp cận khác là tách biệt hoàn toàn một thực thể vận hành một sàn giao dịch xử lý các stablecoin được hỗ trợ bằng tài sản (chẳng hạn như USDC) khỏi một thực thể khác xử lý quá trình chuyển tiền vào và ra giữa tiền điện tử và hệ thống ngân hàng truyền thống (chính USDC). Vì "trách nhiệm pháp lý" của USDC chỉ là mã thông báo ERC20 trên chuỗi nên bằng chứng về trách nhiệm pháp lý là "miễn phí" và chỉ cần bằng chứng tài sản.
tiêu đề phụ
Các giải pháp mở rộng quy mô plasma và hợp lệ: chúng ta có thể đạt được CEX không giam giữ không?
Giả sử chúng tôi muốn tiến thêm một bước: chúng tôi không muốn chỉ chứng minh rằng sàn giao dịch có tiền để trả lại cho người dùng. Thay vào đó, chúng tôi muốn ngăn chặn các sàn giao dịch hoàn toàn ăn cắp tiền của người dùng.

Nỗ lực lớn đầu tiên là Plasma, một giải pháp mở rộng đã trở nên phổ biến trong giới nghiên cứu Ethereum vào năm 2017 và 2018. Plasma hoạt động bằng cách chia số dư thành một tập hợp các "mã thông báo" độc lập, trong đó mỗi mã thông báo được gán một chỉ mục và nằm ở một vị trí cụ thể trong cây Merkle của khối Plasma. Để chuyển mã thông báo hợp lệ, một giao dịch cần được đặt ở đúng vị trí của cây nơi gốc được xuất bản trên chuỗi.
Sơ đồ đơn giản hóa của một phiên bản Plasma. Các mã thông báo được giữ trong một hợp đồng thông minh thực thi các quy tắc của giao thức Plasma khi rút tiền.
Kể từ khi cuộc thảo luận về Plasma bùng nổ vào năm 2018, ZK-SNARK đã trở nên phù hợp hơn cho các trường hợp sử dụng liên quan đến mở rộng quy mô. Như chúng tôi đã nói ở trên, ZK-SNARK đã thay đổi mọi thứ.
Một ý tưởng hiện đại hơn về Plasma là cái mà Starkware gọi là validium: về cơ bản giống như ZK-rollup, ngoại trừ dữ liệu được giữ ngoài chuỗi. Cấu trúc này có thể được sử dụng trong nhiều trường hợp sử dụng, hãy tưởng tượng bất kỳ tình huống nào mà một máy chủ tập trung cần chạy một số mã và chứng minh rằng nó đang thực thi mã đó một cách chính xác. Trong thời gian hiệu lực, không có cách nào để nhà điều hành ăn cắp tiền, mặc dù tùy thuộc vào chi tiết triển khai, một số tiền của người dùng có thể bị kẹt nếu nhà điều hành biến mất.

CEX và DEX không phải là nhị phân, hóa ra chúng có nhiều tùy chọn, bao gồm nhiều hình thức tập trung kết hợp khác nhau, nơi bạn nhận được một số lợi thế như hiệu quả, nhưng vẫn còn rất nhiều rào cản về mật mã đối với việc lạm dụng của các nhà khai thác tập trung.
Xử lý lỗi người dùng cũng là một vấn đề lớn. Cho đến nay, loại lỗi quan trọng nhất là – điều gì sẽ xảy ra nếu người dùng quên mật khẩu, mất thiết bị, bị tấn công hoặc mất quyền truy cập vào tài khoản của họ?
Giải pháp lâu dài lý tưởng là dựa vào quyền tự giám sát, với sự trợ giúp của các công nghệ như ví đa chữ ký và ví phục hồi xã hội để giúp người dùng đối phó với các trường hợp khẩn cấp. Nhưng trong ngắn hạn, có hai lựa chọn thay thế rõ ràng với chi phí và lợi ích khác nhau đáng kể:

tiêu đề phụ
Tóm tắt: Hướng tới tương lai cho các sàn giao dịch nâng cao hơn
Trong ngắn hạn, có hai loại trao đổi rõ ràng: trao đổi lưu ký và trao đổi không lưu ký. Ngày nay, danh mục thứ hai chỉ là một DEX giống như Uniswap và trong tương lai, chúng ta cũng có thể thấy các CEX có công nghệ mã hóa hạn chế, nơi tiền của người dùng được giữ ở dạng tương tự như hợp đồng thông minh hợp lệ. Chúng tôi cũng có thể thấy các sàn giao dịch bán lưu ký nơi chúng tôi tin tưởng chúng sẽ hoạt động với các loại tiền tệ pháp định, không phải tiền điện tử.
Cả hai loại trao đổi đều ở đây để tồn tại và cách tương thích ngược dễ dàng nhất để cải thiện tính bảo mật của trao đổi lưu ký là thêm bằng chứng dự trữ. Điều này bao gồm sự kết hợp giữa bằng chứng về tài sản và bằng chứng về trách nhiệm pháp lý. Có những thách thức kỹ thuật để tạo ra các giao thức tốt cho cả hai, nhưng chúng ta có thể và nên đạt được tiến bộ trên cả hai càng nhiều càng tốt, đồng thời phần mềm nguồn mở và các quy trình càng nhiều càng tốt để tất cả các sàn giao dịch đều có thể hưởng lợi.


