BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

a16z: Thảo luận chi tiết về tính khả thi của lễ thiết lập đáng tin cậy trên chuỗi phi tập trung

Foresight News
特邀专栏作者
2022-09-08 08:00
Bài viết này có khoảng 5469 từ, đọc toàn bộ bài viết mất khoảng 8 phút
Giải thích kỹ thuật chi tiết về lễ thiết lập đáng tin cậy chuỗi phi tập trung của dự án mã hóa
Tóm tắt AI
Mở rộng
Giải thích kỹ thuật chi tiết về lễ thiết lập đáng tin cậy chuỗi phi tập trung của dự án mã hóa

Biên soạn gốc: Amber, Foresight News

Biên soạn gốc: Amber, Foresight News

Mặc dù Lễ thiết lập đáng tin cậy luôn thách thức cộng đồng tiền điện tử, nhưng đây chắc chắn là phần khiến cộng đồng tiền điện tử phấn khích nhất. Mục tiêu của buổi lễ là tạo ra các khóa mật mã đáng tin cậy có thể được sử dụng để bảo mật ví tiền điện tử, giao thức chuỗi khối hoặc hệ thống bằng chứng không có kiến ​​thức. Các quy trình này là gốc rễ của sự tin cậy đối với tính bảo mật của dự án, do đó, điều quan trọng là phải đảm bảo các hoạt động hoàn hảo và thực hiện các nghi thức thiết lập đáng tin cậy.

Hiện tại, có nhiều hình thức tổ chức lễ thành lập đáng tin cậy cho các dự án blockchain, bao gồm nhưng không giới hạn ở đèn hàn, bụi phóng xạ và máy bay, v.v., và các hình thức này có một điểm chung, đó là tất cả đều dựa trên sự phối hợp tập trung. thiết bị. Bài viết này sẽ chỉ ra cách phân cấp quy trình bằng cách thay thế điều phối viên tập trung bằng các hợp đồng thông minh, đồng thời chúng tôi sẽ mở một thư viện mã nguồn cho phép mọi người chạy trên Ethereum (KZG) hoặc nghi thức "powers-of-tau".

Cách tiếp cận phi tập trung của chúng tôi có những hạn chế, nhưng nó vẫn hữu ích. Do giới hạn dữ liệu trên chuỗi hiện tại, kích thước của các tham số được mã hóa không được lớn hơn 64 KB. Nhưng không có giới hạn trên đối với số lượng người tham gia và bất kỳ ai cũng có thể đóng góp vào bất kỳ lúc nào. Các ứng dụng của các tham số ngắn này bao gồm các SNARK nhỏ không có kiến ​​thức, lấy mẫu tính khả dụng của dữ liệu và cây Verkle, trong số các ứng dụng khác.

Lịch sử và cơ chế của các nghi thức thiết lập đáng tin cậy

Trong một buổi lễ thiết lập đáng tin cậy điển hình, một nhóm người tham gia sẽ hợp tác để tạo ra một tập hợp các tham số mật mã. Mỗi bên sử dụng thông tin mã hóa được tạo cục bộ để tạo dữ liệu giúp tạo các tham số này. Cài đặt phù hợp có thể đảm bảo rằng thông tin được mã hóa sẽ không bị rò rỉ, thông tin được mã hóa chỉ có thể được sử dụng theo thỏa thuận và những thông tin được mã hóa này sẽ bị hủy hoàn toàn vào cuối buổi lễ. Miễn là ít nhất một bên trong buổi lễ trung thực và hủy bỏ thông điệp được mã hóa (sau buổi lễ), toàn bộ quá trình có thể được coi là an toàn. (Tất nhiên, tiền đề là mã không có lỗi)

Một số buổi lễ nổi bật nhất đã được khởi động bởi Zcash, một dự án chuỗi khối hướng đến quyền riêng tư. Những người tham gia các buổi lễ này tạo ra các tham số công khai được thiết kế để cho phép người dùng Zcash xây dựng và xác minh các giao dịch được mã hóa riêng tư. Sáu người tham gia đã tổ chức buổi lễ Zcash đầu tiên Sprout vào năm 2016. Hai năm sau, nhà nghiên cứu mã hóa Ariel Gabizon, hiện là nhà khoa học trưởng tại Aztec, đã phát hiện ra một lỗi nghiêm trọng trong thiết kế của nghi lễ, kế thừa từ một bài báo nghiên cứu cơ bản. Lỗ hổng có thể đã cho phép kẻ tấn công tạo ra vô số đồng Zcash mà không bị phát hiện. Nhóm Zcash đã giữ bí mật về lỗi này trong bảy tháng cho đến khi một bản nâng cấp hệ thống, Sapling, với sự tham gia của 90 người tham gia, đã khắc phục sự cố. Mặc dù các cuộc tấn công dựa trên vi phạm bảo mật sẽ không ảnh hưởng đến quyền riêng tư của các giao dịch của người dùng, nhưng khả năng giả mạo vô hạn sẽ làm suy yếu tiền đề bảo mật của Zcash. (Về mặt lý thuyết, không thể biết liệu một cuộc tấn công có xảy ra hay không.)

Một ví dụ đáng chú ý khác về thiết lập đáng tin cậy là nghi lễ "tau-power-of-tau" vĩnh viễn được thiết kế chủ yếu cho Semaphore, một công nghệ bảo vệ quyền riêng tư được sử dụng để báo hiệu ẩn danh trên Ethereum. Thiết lập sử dụng đường cong elip BN254 và cho đến nay đã có 71 người tham gia. Các dự án đáng chú ý khác sau đó đã sử dụng thiết lập này để tổ chức các nghi lễ của riêng họ trên đỉnh, bao gồm Tornado.Cash, mạng Hermez và Loopring. Aztec đã tổ chức một buổi lễ tương tự trên đường cong elip BLS12_381 với 176 người tham gia cho zkSync, một giải pháp mở rộng quy mô Ethereum "lớp hai" sử dụng các bản tổng hợp không có kiến ​​thức. Filecoin, một giao thức lưu trữ dữ liệu phi tập trung, đã chia tách kho lưu trữ ban đầu trong một buổi lễ với 19 và 33 người tham gia trong Giai đoạn 1 và 2, tương ứng. Celo, một blockchain lớp 1, cũng đã tổ chức một buổi lễ cho khách hàng nhẹ của họ, Plumo.

Các buổi lễ vĩnh viễn không có giới hạn về số lượng người tham gia. Nói cách khác, bất kỳ ai cũng có thể tham gia với bất kỳ mức độ bảo mật nào, thay vì tin tưởng người khác điều hành các buổi lễ thiết lập đáng tin cậy. Một tác nhân đáng tin cậy đảm bảo tính bảo mật của tất cả các tham số kết quả; một chuỗi mạnh như liên kết mạnh nhất của nó. Như tên cho thấy, một nghi lễ vĩnh viễn có thể được thực hiện mãi mãi, giống như tiền đề của nghi lễ quyền lực tau ban đầu. Điều đó nói rằng, các dự án thường quyết định thời gian bắt đầu và kết thúc cụ thể cho các buổi lễ để họ có thể nhúng các tham số được tạo vào giao thức mà không phải lo lắng về việc cập nhật chúng liên tục.

Ethereum có kế hoạch tổ chức một buổi lễ thiết lập đáng tin cậy nhỏ hơn cho các bản nâng cấp ProtoDankSharding và DankSharding sắp tới. Hai nâng cấp này sẽ tăng lượng dữ liệu mà chuỗi Ethereum cung cấp cho khách hàng để lưu trữ. Dữ liệu này có giá trị trong 30 đến 60 ngày được đề xuất. Buổi lễ đang được phát triển tích cực và dự kiến ​​​​sẽ diễn ra trong khoảng sáu tuần vào đầu năm tới. (Xem kzg-ceremony-specs để biết thêm chi tiết) Và nó đang định hình là buổi lễ thiết lập đáng tin cậy trên blockchain lớn nhất cho đến nay.

Chứng hoang tưởng là một "đức tính", đặc biệt là khi nói đến các nghi thức thiết lập đáng tin cậy. Nếu phần cứng hoặc phần mềm của máy bị xâm phạm, tính bảo mật của các bí mật mà máy tạo ra có thể bị xâm phạm. Cũng khó có thể loại trừ các cuộc tấn công lén lút từ kênh bên để tiết lộ bí mật. Ví dụ, điện thoại di động có thể theo dõi hoạt động của máy tính bằng cách ghi lại sóng âm thanh của CPU rung. Trên thực tế, vì rất khó để loại bỏ tất cả các cuộc tấn công kênh phụ có thể xảy ra—bao gồm cả những cuộc tấn công chưa được phát hiện hoặc tiết lộ—người ta thậm chí còn đề xuất đưa máy bay vào không gian để thực hiện nghi lễ ở đó.

Hiện nay, kịch bản dành cho người tham gia nghi lễ nghiêm ngặt thường tuân theo. Mua một máy mới (phần cứng chưa được sơn). Cách ly rủi ro bằng cách loại bỏ tất cả các card mạng (để ngăn rò rỉ bí mật cục bộ). Chạy máy ở một vị trí xa, không được tiết lộ trong lồng Faraday (để ngăn chặn những kẻ rình mò). Đặt một lượng lớn entropy và dữ liệu sao chép cứng cho các trình tạo tin nhắn được mã hóa giả ngẫu nhiên, chẳng hạn như đầu vào ngẫu nhiên hoặc hạt giống của tệp video (để làm cho tin nhắn được mã hóa khó bị bẻ khóa). Cuối cùng, thông tin được mã hóa - và bất kỳ dấu vết nào của nó - bị phá hủy bằng cách đốt mọi thứ thành tro.

Phối hợp Lễ thiết lập đáng tin cậy

Tất cả các nghi lễ thiết lập đáng tin cậy đều dựa vào một điều phối viên tập trung. Điều phối viên là các cá nhân hoặc máy chủ riêng hoặc các thực thể khác được giao nhiệm vụ đăng ký và sắp xếp người tham gia, đóng vai trò chuyển tiếp bằng cách chuyển tiếp thông tin từ những người tham gia trước đó sang người tiếp theo và lưu giữ nhật ký tập trung của tất cả các thông tin liên lạc cho mục đích kiểm tra. Điều phối viên thường cũng chịu trách nhiệm cung cấp nhật ký vĩnh viễn cho công chúng, nhưng phải thừa nhận rằng một hệ thống tập trung như vậy dễ bị mất thông tin do quản lý kém hoặc một số yếu tố không phải con người.

Trớ trêu thay, khi phân cấp là nguyên lý cốt lõi của đặc tính tiền điện tử, thì các dự án tiền điện tử phải dựa vào các nghi thức thiết lập đáng tin cậy tập trung. Do đó, chúng tôi đã quyết định chứng minh tính khả thi của việc tổ chức một buổi lễ nhỏ để trao quyền hạn vĩnh viễn trực tiếp trên chuỗi khối Ethereum. Thiết lập hoàn toàn phi tập trung, không cần xin phép, chống kiểm duyệt và an toàn miễn là bất kỳ người tham gia nào cũng trung thực. Ở mức giá hiện tại, chi phí tham dự buổi lễ chỉ từ 7 đến 400 đô la, tùy thuộc vào quy mô của tham số kết quả mong muốn (trong trường hợp này là từ 8 đến 1024 tau).

Hiện tại, chúng tôi khuyên bạn không nên sử dụng mã này cho bất kỳ mục đích nào khác ngoài mục đích thử nghiệm. Nếu bất kỳ ai tìm thấy bất kỳ vấn đề nào với mã để báo cáo cho chúng tôi, chúng tôi sẽ đánh giá cao điều đó. Chúng tôi muốn thu thập thông tin phản hồi và đánh giá về cách tiếp cận của chúng tôi.

Tìm hiểu về lễ KZG hay "power-of-tau"

Hãy cùng khám phá một trong những cách thiết lập đáng tin cậy phổ biến nhất, được gọi là nghi thức KZG, hay "power-of-tau". Cảm ơn Vitalik Buterin, người đồng sáng lập Ethereum, người có bài đăng trên blog về các thiết lập đáng tin cậy đã thông báo suy nghĩ của chúng tôi trong phần này. Cài đặt này tạo mã hóa power-of-tau, được đặt tên như vậy vì "tau" tình cờ là biến được sử dụng để biểu thị bí mật do người tham gia tạo:

Đối với một số ứng dụng (ví dụ: Groth16, sơ đồ chứng minh zkSNARK phổ biến do Jens Groth nghĩ ra vào năm 2016), giai đoạn thiết lập đầu tiên được theo sau bởi giai đoạn thứ hai, nghi thức tính toán nhiều bên (MPC), để tạo tham số cho một mạch SNARK cụ thể . Tuy nhiên, công việc của chúng tôi chỉ tập trung vào giai đoạn đầu tiên. Giai đoạn đầu tiên - tạo ra sức mạnh của tau - đã có thể được sử dụng làm khối xây dựng cơ bản cho các SNARK có mục đích chung như PLONK và SONIC, cũng như các ứng dụng mã hóa khác như cam kết KZG, cây Verkle và lấy mẫu tính khả dụng của dữ liệu. (DAS). Nói chung, các tham số SNARK cho mục đích chung phải rất lớn để chúng có thể hỗ trợ các mạch lớn và hữu ích. Các mạch chứa nhiều cổng hơn thường hữu ích hơn vì chúng có thể xử lý các phép tính lớn; số lũy thừa của tau gần tương ứng với số cổng trong mạch. Do đó, kích thước thiết lập điển hình là |pp|= ~40 GB, có khả năng hỗ trợ ~2 mạch 28 Gas. Việc đưa một tham số lớn như vậy vào chuỗi là không khả thi do các hạn chế hiện tại của Ethereum, nhưng các nghi thức thiết lập đáng tin cậy nhỏ hơn hữu ích cho các mạch SNARK nhỏ, cây Verkle hoặc DAS có thể được chạy trên chuỗi.

Ethereum Foundation có kế hoạch tổ chức một số buổi lễ nhỏ hơn cho quyền hạn của tau có kích thước từ 200 KB đến 1,5 MB. Mặc dù các buổi lễ lớn hơn có thể trông đẹp hơn, nhưng xét rằng các thông số lớn hơn có thể tạo ra các mạch SNARK hữu ích hơn, trên thực tế, lớn hơn không phải lúc nào cũng tốt hơn. Một số ứng dụng (như DAS) đặc biệt yêu cầu một ứng dụng nhỏ hơn! [Lý do rất kỹ thuật, nhưng nếu bạn tò mò, thì đó là vì các cài đặt có lũy thừa n (tính bằng G)1) chỉ cho phép các cam kết KZG đối với đa thức bậc ≤ n, điều này rất cần thiết để đảm bảo rằng các đa thức theo cam kết KZG có thể là được rút ra từ bất kỳ n Tái thiết là rất quan trọng trong đánh giá này. Thuộc tính này hỗ trợ lấy mẫu sẵn có của dữ liệu: mỗi khi đánh giá ngẫu nhiên đa thức được lấy thành công (được lấy mẫu), nó đảm bảo rằng đa thức có thể được xây dựng lại hoàn toàn với xác suất t/n. Nếu bạn muốn tìm hiểu thêm về DAS, hãy xem bài đăng này của Buterin trên Diễn đàn nghiên cứu Ethereum.

Chúng tôi đã thiết kế một hợp đồng thông minh có thể được triển khai trên chuỗi khối Ethereum để chạy các nghi lễ thiết lập đáng tin cậy. Hợp đồng lưu trữ các tham số công khai hoàn toàn trên chuỗi và thu thập sự tham gia thông qua các giao dịch từ người dùng.

Những người tham gia mới lần đầu tiên đọc các thông số này:

Sau đó lấy mẫu khóa ngẫu nhiên τ' và tính toán các tham số được cập nhật:

Và xuất bản chúng trên chuỗi và đính kèm bằng chứng về ba điều:

  • Kiến thức về logarit rời rạc: Người tham gia biết τ'. (Bằng chứng là đóng góp mới nhất cho buổi lễ thiết lập đáng tin cậy được xây dựng dựa trên công việc của tất cả những người tham gia trước đó.

  • pp được định dạng tốt1: các phần tử này mã hóa các lũy thừa gia tăng. (Đã xác minh hình thức đóng góp tốt của người tham gia mới cho buổi lễ.

  • Cập nhật không bị xóa: τ' ≠ 0. (Bảo vệ chống lại những kẻ tấn công cố gắng xâm phạm hệ thống bằng cách xóa tất cả công việc trước đây của người tham gia.

Hợp đồng thông minh xác minh bằng chứng và nếu nó đúng, nó sẽ cập nhật các tham số công khai mà nó lưu trữ. Bạn có thể tìm thêm chi tiết về toán học và lý do đằng sau nó trong kho lưu trữ.

Tính toán chi phí gas

Thách thức chính của việc chạy thiết lập trên chuỗi là làm cho buổi lễ thiết lập đáng tin cậy trở nên hiệu quả nhất có thể. Lý tưởng nhất là phí gửi đóng góp không được vượt quá $50. (Các dự án lớn có thể trợ cấp xăng cho những người đóng góp, trong trường hợp hàng trăm người tham gia chi 100 đô la mỗi người thì dễ hình dung hơn). Dưới đây, chúng tôi cung cấp thêm chi tiết về các phần đắt nhất của thiết lập. Chi phí Gas thấp hơn sẽ giảm chi phí đóng góp và cho phép xây dựng các thông số dài hơn (nhiều năng lượng tau hơn và mạch SNARK lớn hơn)!

Thiết lập của chúng tôi hoạt động trên đường cong elip BN254 (còn được gọi là BN256, BN128 và alt_bn128), hỗ trợ các hợp đồng biên dịch sẵn sau đây trên Ethereum:

ECADD cho phép thêm hai điểm đường cong elip, tức là tính toán [α+β]1 từ [α]1 và [β]1: chi phí gas 150

ECMULT cho phép nhân các điểm đường cong elip với số vô hướng, tức là tính toán [a*α]1 từ a và [α]1: chi phí gas 6.000

ECPAIR cho phép kiểm tra tích của các cặp đường cong elip, tức là tính toán e([α1]1, [β1]2) * ... *e([α1]1, [β1]2) = 1, tương đương với việc kiểm tra α1* β1+ . .. + αk*βk= 0 : Chi phí gas 34.000 * k + 45.000

Nếu Ethereum có thể kích hoạt BLS12_381 (như được đề xuất trong EIP-2537), thì hợp đồng thiết lập của chúng tôi cũng có thể dễ dàng được sử dụng cho các đường cong khác.

Hãy ước tính cập nhật cài đặt thành

Chi phí xăng để xác minh bằng chứng. Như đã đề cập ở trên, mỗi người tham gia cập nhật cài đặt và gửi bằng chứng có ba thành phần. Thành phần 1 và 3 của bằng chứng - "kiến thức nhật ký rời rạc" và "các bản cập nhật không thể xóa được" - rất rẻ để xác minh. Thách thức là xác minh rằng thành phần 2, "khả năng định dạng tốt của pp"1", là trên chuỗi. Nó yêu cầu phép nhân đa phương (MSM) lớn và hai cặp:

trong đó ρ0,...,𝝆n-1 là các đại lượng vô hướng được lấy mẫu giả ngẫu nhiên. Đối với các hợp đồng thông minh được biên dịch trước, người ta cần:

Chi phí gas để lưu trữ dữ liệu. Mỗi người tham gia cũng lưu trữ các bản cập nhật trên chuỗi dưới dạng dữ liệu cuộc gọi (68 gas mỗi byte), chiếm n * 64 * 68 gas. (Một lưu ý dành cho những người quen thuộc với mật mã đường cong elliptic: từ phép đo của chúng tôi cho n = 256, việc lưu trữ các điểm nén sẽ làm cho việc giải nén chi phối tổng chi phí.

Chi phí Gas ước tính như sau:

Tất nhiên, chúng tôi vẫn đang khám phá các giải pháp để giảm chi phí Gas.

Thư viện mã nguồn mở: evm-powers-of-tau

Chúng tôi đã mã nguồn mở nghi thức cấp quyền hạn dựa trên EVM tại github.com/a16z/evm-powers-of-tau. Các nghi thức rất đơn giản và minh bạch bằng cách sử dụng chiến lược của chúng tôi:

  • Triển khai hợp đồng lưu trữ và xác minh (Contracts/KZG.sol)

  • Những người tham gia đọc các thông số buổi lễ từ dữ liệu cuộc gọi giao dịch trước đó

  • Người tham gia tạo khóa cục bộ, tính toán các tham số được cập nhật

  • Những người đóng góp tạo ra bằng chứng của họ: pi1, pi2

  • Những người đóng góp gửi các tham số cập nhật cho các hợp đồng thông minh được triển khai trên chuỗi khối công khai thông qua KZG.potUpdate()

  • Hợp đồng thông minh sẽ xác minh tính hợp lệ của bản cập nhật, hoàn nguyên trong trường hợp cam kết không đúng định dạng

  • Nhiều người đóng góp có thể duy trì các bước 2-5, mỗi bước tăng tính bảo mật cho buổi lễ

  • Bất cứ khi nào các nhà phát triển tự tin về số lượng và chất lượng đệ trình, họ có thể truy vấn chuỗi khối để biết các tham số hiện tại và sử dụng các giá trị đó làm khóa mã hóa.

Kho lưu trữ của chúng tôi sử dụng arkworks-rs để tính toán bước 2 và 3 (có thể tìm thấy phép tính rỉ sét trong src/pot_update.rs), nhưng người dùng có thể muốn tự viết. Bạn có thể tìm thấy toàn bộ quy trình từ đầu đến cuối của một lần gửi bản cập nhật trong các thử nghiệm tích hợp tại tests/integration_test.rs.

Lưu ý rằng chúng tôi đã chọn sử dụng calldata để lưu trữ các tham số power-of-tau được cập nhật trên chuỗi vì nó rẻ hơn so với lưu trữ. Có thể tìm thấy truy vấn dựa trên ethers-rs cho dữ liệu này trong src/query.rs.

Cuối cùng, bạn có thể tìm thấy các phương trình chi tiết và bằng chứng trong báo cáo kỹ thuật tại techreport/main.pdf.

kế hoạch làm việc trong tương lai

Trước khi sử dụng nghi thức thiết lập đáng tin cậy này trong môi trường sản xuất, trước tiên chúng tôi khuyên bạn nên xem xét kỹ lưỡng việc triển khai bằng chứng toán học và ví dụ.

Khi được triển khai, chi phí giao dịch của buổi lễ cập nhật tăng tuyến tính với quy mô đã đặt. Đối với hầu hết các ứng dụng (SNARK, DAS), chúng tôi muốn đặt n >= 256, hiện có giá 73 đô la cho mỗi lần cập nhật.

Chúng tôi có thể đạt được mức tăng trưởng chi phí xác minh tuyến tính phụ thông qua các bằng chứng tính toán STARK được cập nhật hiệu quả và các cam kết véc tơ đối với các giá trị được cập nhật. Cấu trúc này cũng sẽ loại bỏ sự phụ thuộc vào quá trình biên dịch trước Ethereum L1 BN254, cho phép sử dụng đường cong BLS12-381 phổ biến hơn.

liên kết gốc

liên kết gốc

a16z
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tài khoản chính thức
https://twitter.com/OdailyChina
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tìm kiếm
Mục lục bài viết
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android