Tiêu đề gốc: "Đưa IBC đến Ethereum bằng ZK-Snarks"
Tác giả gốc: Garvit Goel, Jinank Jain, Electron Labs
Bản tổng hợp gốc :Bác của Hồng quân, IBCL
Đây là bài viết về cách đưa IBC lên Ethereum. Mục đích của bài viết này là phác thảo các chi tiết kỹ thuật của dự án và nhận được sự hỗ trợ từ cộng đồng Ethereum. Chúng ta hãy xem xét kỹ hơn về nó.
IBC Đại diện cho Truyền thông Inter Blockchain - Cosmos Tiêu chuẩn chuỗi chéo trong hệ sinh thái.
IBC tuân theo nguyên tắc khách hàng nhẹ và cần kết hợp chuỗi khối nguồn và Ứng dụng khách nhẹ của chuỗi khối mục tiêu được triển khai dưới dạng hợp đồng thông minh để xác minh các giao dịch chuỗi chéo.
Điều này có nghĩa là để kết nối IBC với Eth, chúng tôi cần chạy Tendermint light client
như một hợp đồng thông minh trên Ethereum . b> (chạy ứng dụng khách Tendermint nhẹ trên Ethereum dưới dạng hợp đồng thông minh vững chắc).Nhưng quá trình này đắt vì nó yêu cầu xác minh hàng trăm chữ ký ed25519 trong Solidity và ed25519 được biên dịch trước trong Ethereum Không có sẵn trên chợ. Một ed25519 cần 500K gas.
Điều này có nghĩa là việc xác thực tiêu đề ứng dụng khách hạng nhẹ hoàn chỉnh sẽ cần ít nhất 50 triệu phí gas (100 trình xác thực), đối với những cái lớn hơn có 1000 trình xác thực. Chuỗi Cosmos đã tăng tới 500 triệu gas.
Vì vậy, để xác minh chữ ký trên Ethereum với chi phí rẻ hơn, chúng ta cần các phương pháp mới.
Chúng tôi đạt được điều này bằng cách lấy cảm hứng từ zk-rollups. Thay vì xác minh chữ ký của ed25519 trực tiếp trên Ethereum (và thực hiện các hoạt động đường cong trong hợp đồng thông minh vững chắc), chúng tôi đã xây dựng bằng chứng zk về tính hợp lệ của chữ ký và xác minh bằng chứng đó trên chuỗi.
Tại Electron Labs, chúng tôi đã xây dựng một thư viện dựa trên Circom cho phép bạn tạo bằng chứng zk-snark cho một loạt chữ ký Ed25519. Xem cách triển khai đầy đủ tại đây .
Chúng tôi đã triển khai một máy chủ có điểm cuối cho phép bạn gửi một loạt chữ ký và nhận lại bằng chứng zk. Bây giờ bạn có thể kiểm tra bằng cách sử dụng tham chiếu API được cung cấp trong tài liệu của chúng tôi.
Tạo bằng chứng ZK cho ed25519 là một bài toán khó.
Điều này là do đường cong Edwards xoắn của ed25519 sử dụng trường hữu hạn lớn hơn đường cong altbn128 (được sử dụng bởi zk-snarks). Việc thực hiện các phép toán trường hữu hạn lớn trong trường nhỏ hơn là khó khăn vì một số phép toán cơ bản như mô đun và phép nhân có thể trở nên rất kém hiệu quả.
Để giải quyết vấn đề này, chúng ta có thể tìm 2^85 làm cơ sở để xác định hoạt động đường cong của đường cong Edwards xoắn. Vì số nguyên tố ed25519 p=2^255-19 là bội số gần đúng của 2^85 nên chúng ta có thể đưa ra các phép toán cơ bản hiệu quả như phép nhân và mô đun (theo số nguyên tố 25519) cho các số trong cơ số 2^85.
Tiếp theo, chúng tôi sử dụng các phép toán tùy chỉnh này để xác định các phép toán đường cong trong mạch ZK, chẳng hạn như phép cộng điểm, phép nhân vô hướng và xác minh chữ ký.
Thật khó để đánh giá đúng các chi tiết toán học đằng sau điều này trong tài liệu này, vui lòng xem Giải thích tài liệu chi tiết .
Do những tối ưu hóa ở trên, số liệu hiệu suất mà chúng tôi có thể đạt được cho một chữ ký duy nhất như sau:

Tất cả số liệu đều được đo trên máy bộ nhớ 32G, tốc độ 3.0GHz 16 nhân (AWS c5a.4xlarge instance)
Để hiểu hiệu suất ở cấp hệ thống, chúng ta cần xem xét 3 tham số -
· Thời gian tạo bằng chứng cho mỗi chữ ký ~ 9,6 giây (trung bình)
· Số số chữ ký mỗi lô/bằng chứng = 100 (tối đa)
· Thời gian tạo zk-proof cho một lô = 16 phút (dựa trên lô 100 chữ ký)
Thời gian tạo bằng chứng là (gần như) tuyến tính với số lượng chữ ký mỗi đợt. Chúng ta có thể tăng/giảm số lượng chữ ký mỗi đợt và thời gian tạo bằng chứng sẽ thay đổi tương ứng.

Bằng chứng cho thấy thời gian sản xuất sẽ bị trì hoãn hình thức xuất hiện. Để giảm bớt điều này, chúng ta có thể đặt số lượng chữ ký nhỏ hơn trong bằng chứng zk. Tuy nhiên, điều này có nghĩa là cùng một kích thước lô (hoặc trên mỗi tiêu đề khách hàng nhỏ) sẽ yêu cầu nhiều chứng thực hơn, điều này sẽ làm tăng chi phí gas khi xác thực lô.
Do đó, việc giảm độ trễ sẽ làm tăng chi phí gas.
Dưới đây chúng tôi liệt kê chi phí dự kiến để xác thực các tiêu đề Tendermint Light Client (LC) trên Ethereum dựa trên độ trễ và số lượng người xác thực tham gia chuỗi vũ trụ.
Chúng tôi có thể cho phép người dùng/chuỗi vũ trụ quyết định những tùy chọn về độ trễ và phí gas mà họ muốn sử dụng.

Dựa trên giá gas ngày 5 tháng 8 năm 2022
Ở đây chúng tôi chọn 200 người xác minh và 50 chữ ký đóng vai trò phân tích cơ sở cho bằng chứng.
Vì tốc độ sản xuất khối của Tendermint là ~7 giây nên điều đó đã được chứng minh rằng Thời gian tạo là 8 phút và chúng tôi sẽ cần nhiều trình xác thực song song để theo kịp tốc độ sản xuất khối.
Số lượng máy song song cần thiết = 8 phút * 60/7 giây = 69 máy
Chúng tôi khuyên bạn nên sử dụng phiên bản đám mây AWS m5.8xlarge để tạo bằng chứng.
Do đó, chi phí của cơ sở hạ tầng này = 1,536 USD*69 = 106 USD/giờ
Máy chi phí cho mỗi tiêu đề khách hàng nhẹ = 106/3600/7 = 0,206 USD
Dựa trên giả định về độ trễ 8 phút và 200 trình xác nhận.
Tổng chi phí xác minh khách hàng nhẹ trên chuỗi = 0,206 = 18,1 USD
Hãy giả sử trường hợp xấu nhất (từ góc độ phí giao dịch) khi chỉ có một giao dịch chuỗi chéo trong một khối. Toàn bộ chi phí xác thực tiêu đề LC sau đó sẽ do giao dịch chịu. Cộng với một số chi phí chung, việc xác minh giao dịch xuyên chuỗi là khoảng 20 USD.
Giả sử kịch bản lạc quan là 10 giao dịch trên mỗi khối, chi phí này sẽ vào khoảng 2 USD, tương tự như chi phí của các giao dịch Uniswap trên Ethereum.
Để giảm độ trễ xuống còn vài giây và giảm chi phí gas cho mỗi giao dịch xuống từng xu, chúng tôi đang nghiên cứu bằng chứng đệ quy
b> Công nghệ. Điều này sẽ cho phép chúng ta tạo ra nhiều bằng chứng song song và sau đó kết hợp đệ quy chúng thành một bằng chứng duy nhất.Chúng tôi đang đánh giá các thư viện đệ quy khác nhau hiện có trên thị trường, chẳng hạn như plonky2, cũng như công việc của nhóm Mina, Aztec và Starknet. Chúng tôi mời bất cứ ai làm việc về đệ quy liên hệ với chúng tôi.
Bằng cách sử dụng đệ quy và tăng tốc dựa trên phần cứng, chúng tôi tin rằng chúng tôi có thể đạt được độ trễ dưới 5 giây cho các giao dịch xuyên chuỗi.
Trong tương lai, chúng tôi thậm chí có thể kết hợp nhiều tiêu đề khách hàng hạng nhẹ trong một bằng chứng, với chi phí cho mỗi bằng chứng chỉ là 4,5 USD và mỗi chi phí Giao dịch xuyên chuỗi có thể ít hơn 1 đô la.


1. Giao diện của IBC không thay đổi. Điều này làm cho việc áp dụng trở nên rất dễ dàng vì không cần tài liệu phát triển mới và đào tạo lại nhà phát triển. Các cơ sở mã hiện có cũng sẽ được sử dụng nguyên trạng.
2. Không cần cập nhật quản trị trên chuỗi ứng dụng (chuỗi ứng dụng)
3. Ethereum Hai thay đổi được yêu cầu đối với IBC vào:
a.Relayer giờ đây sẽ chỉ gửi bằng chứng xác thực của nó, thay vì gửi tiêu đề ứng dụng khách nhẹ đầy đủ.
b. Mô-đun máy khách nhẹ trên chuỗi ở phía Ethereum sẽ bao gồm trình xác thực bằng chứng zk thay vì xác minh chữ ký ed25619.
Chúng tôi mời cộng đồng Ethereum và ZK đóng góp ý kiến và giúp chúng tôi thu thập sự hỗ trợ để biến đề xuất này thành hiện thực.
Kế hoạch thực hiện:
Giai đoạn 1: Tích hợp công cụ ZK của tôi và IBC
Giai đoạn 2: Giảm độ trễ xuống khoảng 5 giây thông qua bằng chứng đệ quy và tăng tốc phần cứng.
Giai đoạn 3: Triển khai chuỗi ứng dụng demo được kết nối với Ethereum thông qua zk-IBC.
Giai đoạn 4: Chạy thiết lập chuỗi ứng dụng demo, tiến hành thử nghiệm rộng rãi và cho phép cộng đồng thử nghiệm các giao dịch.
Giai đoạn 5: Kiểm tra bảo mật
Giai đoạn 6: Triển khai Mainnet
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia