Toàn bộ kiến ​​thức

Jan 16 2023
của James Austgen, Kushal Babel, Vitalik Buterin, Phil Daian, Ari Juels và Mahimna Kelkar 'Trong cuộc đời này, chúng ta không muốn gì ngoài Sự thật, thưa ngài; không có gì ngoài Sự thật!' — Charles Dickens, Hard Times Trong một bài báo mà chúng tôi phát hành hôm nay, chúng tôi giới thiệu một khái niệm mật mã mới mà chúng tôi gọi là bằng chứng về kiến ​​thức đầy đủ (CK). Chúng tôi cũng báo cáo về một nguyên mẫu đưa ra con đường biến CK trở thành thiết thực để sử dụng với điện thoại thông minh.

của James Austgen, Kushal Babel, Vitalik Buterin, Phil Daian, Ari Juels và Mahimna Kelkar

'Trong cuộc sống này, chúng ta không muốn gì ngoài Sự thật, thưa ngài; không có gì ngoài Sự thật!'

- Charles Dickens, Thời kỳ khó khăn

Trong một bài báo mà chúng tôi đã phát hành hôm nay , chúng tôi giới thiệu một khái niệm mật mã mới mà chúng tôi gọi là bằng chứng về tri thức đầy đủ (CK). Chúng tôi cũng báo cáo về một nguyên mẫu đưa ra con đường biến CK trở thành thiết thực để sử dụng với điện thoại thông minh.

Bằng chứng về kiến ​​thức, như tên gọi của chúng, cho phép một bên, chẳng hạn như Alice, thuyết phục một bên khác, chẳng hạn như Bob, rằng cô ấy biết một bí mật cụ thể — chẳng hạn như khóa riêng SK . Chữ ký số là một ví dụ. Hãy xem xét một giao dịch tiền điện tử T được tạo bởi Alice để chi tiêu tiền từ địa chỉ A của cô ấy . Để hợp lệ, T phải được ký điện tử bằng khóa riêng hợp lệ SK cho A . Chữ ký điện tử ở đây chứng minh rằng Alice, với tư cách là người tạo ra T , biết khóa SK . Chính bằng chứng về kiến ​​thức SK này đã làm cho giao dịch hợp lệ: Trong hệ thống tiền điện tử, chủ sở hữu của địa chỉ Atheo định nghĩa là bất cứ ai biết SK .

Bằng chứng về tri thức là nền tảng chính của thiết kế hệ thống mật mã. Tuy nhiên, hóa ra các hệ thống bằng chứng tri thức hiện tại có một hạn chế nghiêm trọng: Alice có thể tạo ra một bằng chứng thuyết phục rằng cô ấy biết SK , nhưng cô ấy vẫn có thể không thực sự biết điều đó.

Đây là một sự tương tự. Giả sử Mallory muốn xuất hiện với tư cách thí sinh trên Jeopardy . Cô ấy thực hiện một cuộc phỏng vấn với người dẫn chương trình (Mayim Bialik). Mallory biết rằng cô ấy sẽ nhận được câu hỏi trong cuộc phỏng vấn về thủ phủ các bang của Hoa Kỳ, điều mà cô ấy chưa bao giờ được học ở trường. (Cô ấy bận bật NFT trong giờ học địa lý.) Vì vậy, cô ấy quyết định gian lận. Alice, bạn của Mallory, biết tất cả các thủ phủ của các bang ở nửa phía đông của Hoa Kỳ, trong khi bạn của cô ấy là Bob biết những thủ phủ ở phía tây. Do đó, Mallory giấu một thiết bị liên lạc không dây trong mỗi tai. Cái ở tai trái của cô ấy giao tiếp với Alice. Cái ở tai phải của cô ấy giao tiếp với Bob. Nhờ sự lừa dối của Mallory, khi được hỏi về thủ phủ của các bang khác nhau của Hoa Kỳ trong cuộc phỏng vấn, cô ấy luôn trả lời đúng.

Nhưng liệu Mallory có biết hết thủ phủ các bang của Hoa Kỳ? Rõ ràng không. Alice hay Bob? Câu trả lời vẫn là không. Có lẽ chúng ta có thể nói rằng Alice và Bob cùng nhau biết tất cả các thủ phủ của các bang của Hoa Kỳ. Nhưng giả sử rằng Alice mê tín một cách kỳ lạ và từ chối trả lời các câu hỏi về vốn nhà nước vào các ngày thứ Sáu. Chúng ta vẫn có thể nói rằng Alice và Bob cùng nhau có kiến ​​​​thức về tất cả các thủ phủ của tiểu bang Hoa Kỳ? Có và không. Kiến thức tồn tại trong đầu của Alice và Bob, nhưng không nhất thiết phải trích xuất nó theo ý muốn . Nếu Mallory thực hiện cuộc phỏng vấn Jeopardy của cô ấy vào thứ Sáu, cô ấy sẽ gặp rắc rối.

Kiến thức đầy đủ giải quyết lỗ hổng thuộc loại này về ý nghĩa của việc có kiến ​​thức. Theo cách tương tự của chúng tôi, việc Alice từ chối trả lời các câu hỏi vào thứ Sáu là một hạn chế trong việc tiếp cận kiến ​​thức mà chúng tôi gọi là trở ngại. Để giải thích các bằng chứng kiến ​​thức hiện tại về mật mã thiếu sót ở đâu, sẽ hữu ích nếu bắt đầu với một số ví dụ có thể có vấn đề về sự cản trở của các khóa bí mật nói riêng.

Vấn đề trở ngại

Có hai công nghệ khác nhau có thể mã hóa bí mật: môi trường thực thi đáng tin cậy (TEE) và tính toán đa bên an toàn (MPC).

TEE là môi trường điện toán giống như hộp đen: Trạng thái bên trong của chúng mờ đục và chống giả mạo. Bằng cách sử dụng phần cứng hoặc phần mềm, chúng thực thi cả tính toàn vẹn và quyền riêng tư của các ứng dụng đang thực thi, cung cấp các biện pháp bảo vệ chống lại sự giả mạo và quan sát ngay cả bởi chủ sở hữu của chính chiếc máy đang chạy mã. Ví dụ về TEE bao gồm các vùng bao gồm (ví dụ: Vùng tin cậy ARM) trên thiết bị di động và Intel Software Guard eXtensions (SGX), có sẵn trên một số máy chủ đám mây.

Mặt khác, MPC là một cách tiếp cận theo thuật toán để đạt được nhiều mục tiêu bảo mật tương tự. Nó phân chia các bí mật và tính toán giữa một tập hợp các máy chủ thường được gọi là một ủy ban. Tính bảo mật của MPC phụ thuộc vào số lượng tối thiểu máy chủ trong ủy ban (ví dụ: đa số) hoạt động chính xác.

Vì TEE ngày nay thực tế và phổ biến hơn nhiều so với MPC, chúng tôi sẽ tập trung vào TEE trong các ví dụ sau, bắt đầu bằng cuộc tấn công dựa trên TEE vào hệ thống bỏ phiếu chuỗi khối. Đây là một ví dụ liên quan đến một cuộc tấn công vào các kế hoạch bỏ phiếu.

Vấn đề hối lộ mạnh mẽ, lén lút trong ví dụ này không chỉ ảnh hưởng đến các chương trình bỏ phiếu blockchain được thiết kế ngây thơ mà còn ảnh hưởng đến cả những chương trình được thiết kế đặc biệt để chống hối lộ, chẳng hạn như Cơ sở hạ tầng chống thông đồng tối thiểu (MACI) .

Tệ hơn nữa, TEE có thể lén lút khuyến khích và phát triển cộng đồng người dùng thực hiện một cuộc tấn công thống nhất chống lại một giao thức — một khái niệm mà trước đây chúng tôi gọi là Dark DAO . Các cuộc tấn công như vậy có thể không chỉ liên quan đến việc giả mạo phiếu bầu mà còn thao túng giá tài sản và có thể tấn công các hệ thống ngoài chuỗi .

Điều đặc biệt nguy hiểm là nếu Alice gửi một giao dịch đã ký tới một hợp đồng thông minh bằng cách sử dụng khóa SK bị khóa , thì không có cách nào để hợp đồng biết được. Giao dịch của Alice sẽ giống với giao dịch được tạo bằng khóa không bị cản trở. Vì vậy, có vẻ như đơn giản là không thể ngăn chặn các cuộc tấn công hối lộ thuộc loại được minh họa trong ví dụ của chúng tôi.

Nhưng nó có thực sự không?

Đảm bảo kiến ​​thức đầy đủ

Hóa ra có một cách để đảm bảo rằng khóa SK không bị cản trở — cụ thể là ai đó có quyền truy cập trực tiếp vào SK . Một cách không chính thức, đây là ý nghĩa của Kiến thức Toàn diện. Ảnh hưởng của CK là các kế hoạch hối lộ như trong ví dụ của chúng tôi sẽ không hoạt động, bởi vì không có cách nào để người dùng ác ý như Mallory ngăn người dùng sử dụng khóa của cô ấy theo cách cô ấy chọn.

Có hai cách tiếp cận cơ bản để thực thi CK. Cả hai đều cho phép tạo ra cái mà chúng tôi gọi là bằng chứng về kiến ​​thức hoàn chỉnh (PoCK) và cụ thể là những bằng chứng không có kiến ​​thức , tức là không tiết lộ SK:

  1. Phương pháp chữa cháy bằng lửa

Hầu hết người dùng có TEE trên thiết bị cầm tay di động của họ. Chúng tôi trình bày trong bài báo của mình cách họ có thể sử dụng chúng trong sơ đồ CK để bỏ phiếu hoặc bất kỳ ứng dụng nào khác.

Tuy nhiên, như chúng ta đã thảo luận trong bài báo của mình, có một số hạn chế kỹ thuật đối với TEE, đặc biệt là những hạn chế trong thiết bị cầm tay di động. Vì vậy, chúng tôi cũng xem xét một cách tiếp cận thứ hai.

2. Cách tiếp cận dựa trên bằng chứng công việc

Cách tiếp cận này là một cách hơi phản trực giác. Nó liên quan đến việc sử dụng ASIC khai thác, tức là một giàn phần cứng khai thác bằng chứng công việc, chẳng hạn như loại được sử dụng cho Bitcoin. ASIC có hai đặc tính tốt cho mục đích của CK. Chúng có thể thực hiện một số tính toán nhất định, cụ thể là băm , nhanh hơn nhiều so với CPU hoặc GPU thông thường — nhanh hơn gấp một triệu lần so với CPU hiện đại! Và chúng không bao gồm TEE.²

Dựa trên và sửa đổi các kỹ thuật từ tài liệu về lý thuyết bằng chứng tri thức, chúng tôi đã thiết kế một giao thức liên quan đến việc sử dụng ASIC để khai thác theo cách liên quan đến SK (nhưng khéo léo che giấu nó). Giao thức này tạo ra một bằng chứng rằng SK đã được gửi đến ASIC, tức là một PoCK. Vì ASIC không có TEE, điều này có nghĩa là SK được tiếp xúc hiệu quả với người dùng ASIC. Thuộc tính này về cơ bản tương đương với những gì được thực hiện bởi ứng dụng TEE đặc biệt của RBU: đưa ra SK trực tiếp cho người dùng. Vì ASIC nhanh hơn rất nhiều so với các nền tảng hỗ trợ TEE nên không có cách nào để tạo PoCK tương đương bằng TEE.

Bài báo của chúng tôi cho thấy bằng thực nghiệm rằng ngay cả khi sử dụng ASIC giá rẻ (khoảng 200 đô la), đã lỗi thời (khoảng năm 2017), vẫn có thể triển khai PoCK bảo mật cao.

Các ứng dụng của CK Vượt ra ngoài khả năng chống hối lộ

Mặc dù chúng tôi thiết kế CK ban đầu để giải quyết mối đe dọa hối lộ trong các kế hoạch bỏ phiếu, nhưng vẫn có nhiều ứng dụng khác. CK có thể giúp ngăn chặn sự cản trở của thông tin xác thực danh tính phi tập trung, ví dụ: chứng thực rằng người dùng đã trải qua quá trình tích cực chống rửa tiền. Điều này là cần thiết để ngăn chặn nhiều loại trò nghịch ngợm có thể xảy ra nếu người dùng có thể cho thuê thông tin xác thực của họ, ví dụ: thị trường thông tin xác thực danh tính để lách lệnh trừng phạt.

CK cũng có những ứng dụng thú vị trên thị trường NFT. Ví dụ, nó có thể giúp đảm bảo việc thực thi thanh toán tiền bản quyền cho các nghệ sĩ. Ngày nay, tiền bản quyền chỉ được thực thi ngoài chuỗi, tức là, một cách tự nguyện , bởi các thị trường NFT. Thay vào đó, về nguyên tắc, chúng có thể được thực thi trên chuỗi trong một hợp đồng thông minh, trong trường hợp đó, việc thực thi sẽ là bắt buộc. Một lý do khiến các khoản thanh toán tiền bản quyền bắt buộc không được coi là thông lệ tốt là sẽ không công bằng nếu người dùng chuyển NFT giữa các địa chỉ của chính họ để phải trả tiền bản quyền. Vấn đề là không có cách nào để phân biệt giữa địa chỉ người gửi S và địa chỉ người nhận R thuộc về một người dùng và địa chỉ S và Rthuộc về những người dùng riêng biệt. Do đó, không có cách nào để phân biệt giữa chuyển một người dùng và thay đổi quyền sở hữu NFT.

Tuy nhiên, với CK, có thể phân biệt được. Hợp đồng thị trường NFT có thể yêu cầu chuyển tiền miễn phí mà PoCK được áp dụng đồng thời cho R và S , chứng minh rằng một thực thể duy nhất biết cả hai . Tài sản này là một xấp xỉ khá tốt cho quyền sở hữu duy nhất. Ít nhất thì chúng tôi tin rằng cách tiếp cận dựa trên CK này có thể ngăn chặn mạnh mẽ việc trốn tránh tiền bản quyền.³

Một ứng dụng thú vị khác của CK đối với NFT là một khái niệm mà chúng tôi gọi là NFT nguyên tử . Người ta thường chia nhỏ các NFT đắt tiền, tức là chia nhỏ quyền sở hữu của chúng thành các phần nhỏ, chẳng hạn như đã xảy ra với Doge NFT .

Tuy nhiên, một số nghệ sĩ mà chúng tôi đã nói chuyện thích rằng các tác phẩm của họ được sở hữu và đánh giá cao bởi một cá nhân. NFT nguyên tử cung cấp một cách để tạo NFT tôn trọng mong muốn này và đảm bảo quyền sở hữu duy nhất. Để chứng minh khả năng này, chúng tôi đã tạo ra bộ sưu tập nhỏ các Atomic NFT của riêng mình, được hiển thị ở đây.

Phần kết luận

Bằng chứng về tri thức là một khái niệm đã được nghiên cứu kỹ lưỡng trong nhiều thập kỷ về mật mã. Nhưng các công nghệ (ish) mới mạnh mẽ như TEE và MPC có nguy cơ làm đảo lộn bối cảnh bằng chứng tri thức cổ điển thông qua sự cản trở của các bí mật. CK đưa ra một cách để ngăn chặn sự cản trở như vậy và khôi phục lại ý tưởng trực quan về tri thức được quy cho một thực thể hoặc cá nhân đơn lẻ. Ngoài việc đưa ra giải pháp khắc phục các cuộc tấn công dựa trên trở ngại — chẳng hạn như hối lộ trong các kế hoạch bỏ phiếu — nó còn cung cấp một loạt ứng dụng mới.

Chúng tôi tin rằng CK có thể thực tế. Chúng tôi đã triển khai một hệ thống dựa trên ASIC từ đầu đến cuối với hợp đồng thông minh xác minh bằng chứng PoCK. Hệ thống nguyên mẫu của chúng tôi bao gồm sổ đăng ký địa chỉ dựa trên hợp đồng thông minh đã được chứng minh là tuân thủ CK. Chúng tôi cũng đã triển khai một hệ thống nguyên mẫu sử dụng TEE dựa trên thiết bị cầm tay di động. Các nguyên mẫu của chúng tôi chưa sẵn sàng cho thời gian chính, nhưng chúng tôi tin rằng có một con đường để triển khai sản xuất thực tế. Bạn có thể tìm thấy phiên bản mã nguồn mở của các công cụ của chúng tôi tại đây . Chúng tôi hoan nghênh sự hợp tác từ các dự án quan tâm đến việc hiện thực hóa nó.

¹ Rất may là các TEE không thể lồng vào nhau, do đó, không có cách nào thông minh để Mallory bọc ứng dụng TEE của RBU và do đó vẫn chiếm các khóa của người dùng.

² Hầu hết các ASIC đều có rất ít bảo mật tích hợp. Họ thậm chí không hỗ trợ kết nối mạng được mã hóa, như chúng tôi đã phát hiện ra khi ASIC của chúng tôi rõ ràng đã bị tin tặc từ xa xâm phạm nhiều lần trong quá trình thử nghiệm của chúng tôi.

³ Có một lưu ý ở đây. Như chúng ta đã thảo luận trong bài báo của mình, nếu các cơ chế khôi phục xã hội trở nên phổ biến, thì bằng chứng CK về kiến ​​thức đồng thời về các khóa sẽ không còn hiệu quả nữa.