Cơ bản
Giao ngay
Giao dịch tiền điện tử một cách tự do
Giao dịch ký quỹ
Tăng lợi nhuận của bạn với đòn bẩy
Chuyển đổi và Đầu tư định kỳ
0 Fees
Giao dịch bất kể khối lượng không mất phí không trượt giá
ETF
Sản phẩm ETF có thuộc tính đòn bẩy giao dịch giao ngay không cần vay không cháy tải khoản
Giao dịch trước giờ mở cửa
Giao dịch token mới trước niêm yết
Futures
Truy cập hàng trăm hợp đồng vĩnh cửu
TradFi
Vàng
Một nền tảng cho tài sản truyền thống
Quyền chọn
Hot
Giao dịch với các quyền chọn kiểu Châu Âu
Tài khoản hợp nhất
Tối đa hóa hiệu quả sử dụng vốn của bạn
Giao dịch demo
Giới thiệu về Giao dịch hợp đồng tương lai
Nắm vững kỹ năng giao dịch hợp đồng từ đầu
Sự kiện tương lai
Tham gia sự kiện để nhận phần thưởng
Giao dịch demo
Sử dụng tiền ảo để trải nghiệm giao dịch không rủi ro
Launch
CandyDrop
Sưu tập kẹo để kiếm airdrop
Launchpool
Thế chấp nhanh, kiếm token mới tiềm năng
HODLer Airdrop
Nắm giữ GT và nhận được airdrop lớn miễn phí
Launchpad
Đăng ký sớm dự án token lớn tiếp theo
Điểm Alpha
Giao dịch trên chuỗi và nhận airdrop
Điểm Futures
Kiếm điểm futures và nhận phần thưởng airdrop
Đầu tư
Simple Earn
Kiếm lãi từ các token nhàn rỗi
Đầu tư tự động
Đầu tư tự động một cách thường xuyên.
Sản phẩm tiền kép
Kiếm lợi nhuận từ biến động thị trường
Soft Staking
Kiếm phần thưởng với staking linh hoạt
Vay Crypto
0 Fees
Thế chấp một loại tiền điện tử để vay một loại khác
Trung tâm cho vay
Trung tâm cho vay một cửa
Herodotus: Làm thế nào để tận dụng Starknet Proof of Storage để chứng minh trạng thái Ethereum?
原文:Herodotus: Chứng minh trạng thái của Ethereum bằng cách sử dụng bằng chứng lưu trữ trên Starknet
Dịch thuật &; Hiệu đính: Cộng đồng Trung Quốc Starknet"
Tổng quan
Giới thiệu
Điều quan trọng là phải có quyền truy cập có thể chứng minh được vào trạng thái lịch sử trên Ethereum. Nhưng cho đến nay, chúng tôi đã có thể truy cập lịch sử giới hạn một cách đáng tin cậy cho đến giờ cuối cùng.
Nhưng Starknet là một người sôi động, không ngừng đổi mới, vượt qua ranh giới của những gì có thể. Giờ đây, nhờ Herodotus và StarkWare, chúng tôi có thể theo dõi và tìm nạp tất cả các hàm băm khối Ethereum kể từ khối genesis theo cách gốc chuỗi và có thể chứng minh được.
Chúng ta hãy xem xét kỹ hơn cách Herodotus và StarkWare đạt được điều này và ý nghĩa của nó. Chúng ta sẽ bắt đầu với nền tảng về bằng chứng lưu trữ.
Bằng chứng lưu trữ là gì?
Bằng chứng lưu trữ cho phép chúng tôi chứng minh rằng một trạng thái thực sự tồn tại tại một thời điểm nào đó trong quá khứ mà không có bất kỳ sự tin tưởng nào vào bên thứ ba. Bằng cách lưu trữ bằng chứng, niềm tin được xây dựng trong toán học. Bằng chứng lưu trữ cũng có thể được sử dụng để truy cập các trạng thái này trên các chuỗi.
Trong một bài viết gần đây về Proof of Storage, chúng tôi đã giới thiệu Herodotus, nhóm dẫn đầu nghiên cứu và đổi mới Proof of Storage. Hiện tại, nhóm Herodotus đã triển khai một công nghệ mới cho phép bằng chứng không tin cậy về trạng thái Ethereum kể từ khi tạo khối, cải thiện đáng kể hiệu suất bằng chứng lưu trữ.
Hãy cùng khám phá cách Herodotus đạt được điều này và tại sao nó lại quan trọng.
Bằng chứng về các khối thành lập Ethereum trên chuỗi
Trước tiên, chúng ta cần hiểu cách các tiêu đề khối Ethereum và băm khối hoạt động.
Tiêu đề khối và hàm băm khối là gì? **
Tiêu đề khối là một phần của khối tóm tắt tất cả thông tin có trong khối, bao gồm hàm băm của khối mẹ, dấu thời gian khối, gốc trạng thái, v.v.
! [Herodotus: Làm thế nào để tận dụng Starknet Proof of Storage để chứng minh trạng thái Ethereum?] ](https://cdn-img.panewslab.com//panews/2022/11/6/images/2f7bf27a826afe72e5e7dcdee98a10e5.jpeg)
Ethereum Block Header và State Merkle Tree (Nguồn nội dung)
Tiêu đề khối chứa rất nhiều thông tin. Trong bài viết này, chúng tôi tập trung vào nguồn gốc nhà nước. Chúng ta hãy xem tại sao.
Như bạn có thể thấy từ hình trên, bên dưới tiêu đề khối là trạng thái tài khoản Ethereum. Mỗi tài khoản Ethereum có một không gian lưu trữ liên quan lưu trữ các biến của tài khoản (về cơ bản là trạng thái của hợp đồng thông minh). Khi cam kết mật mã được lưu trữ bởi tài khoản được băm, nó được lưu trữ dưới dạng thư mục gốc lưu trữ, cùng với số dư tài khoản, số ngẫu nhiên và hàm băm mã. Kết hợp với nhau, về cơ bản chúng tạo thành một bản tóm tắt về trạng thái của tài khoản.
Một cây Merkle Patricia Trie chứa trạng thái của tất cả các tài khoản Ethereum được xây dựng và hàm băm của nó được lưu trữ dưới dạng gốc trạng thái trong tiêu đề khối (có nhãn stateRoot trong hình trên). Gốc trạng thái này chứa tất cả thông tin cần thiết để chứng minh trạng thái của toàn bộ mạng Ethereum tại bất kỳ thời điểm nào.
Cuối cùng, vì mỗi khối trên Ethereum (và chuỗi EVM) đều chứa gốc trạng thái này và mỗi khối cũng có một chuỗi liên quan được gọi là băm khối (là kết quả của việc băm mọi thứ trong tiêu đề khối, bao gồm cả gốc trạng thái), hàm băm khối là cam kết mật mã của toàn bộ trạng thái Ethereum tại một thời điểm cụ thể.
** Băm khối lịch sử trên EVM **
Với số lượng lớn thông tin quan trọng được lưu trữ trong các hàm băm khối, chúng ta thường cần truy cập lịch sử của chúng.
Trong Solidity, nếu chúng ta muốn truy xuất hàm băm của một khối được khai thác hai khối trước (số lượng backtracking bắt đầu từ khối chứa giao dịch), chúng ta có thể sử dụng cú pháp sau:
! [Herodotus: Làm thế nào để tận dụng Starknet Proof of Storage để chứng minh trạng thái Ethereum?] ](https://cdn-img.panewslab.com//panews/2022/11/6/images/29fbdb1146f58b1d0023649d585188fb.jpeg)
Phương pháp rất đơn giản. Nhưng có một vấn đề – phương thức băm khối này chỉ có thể truy xuất hàm băm của 256 khối cuối cùng. Dựa trên 12 giây trung bình của một khối trên Ethereum, nó tương đương với lịch sử 51,2 phút trên chuỗi.
Giới hạn 256 khối thường đủ cho những người muốn sử dụng hàm băm khối lịch sử làm nguồn entropy (tính ngẫu nhiên). Tuy nhiên, với lịch sử tám năm của Ethereum, nếu bạn muốn sử dụng hàm băm khối để có được trạng thái lịch sử của nó trong một khối cụ thể, lịch sử 51 phút là không đủ.
Giới hạn truy xuất băm 256 khối trên chuỗi này chủ yếu nhằm cải thiện hiệu quả lưu trữ trạng thái và giảm các vấn đề tăng trưởng trạng thái tiềm ẩn.
Herodotus giúp bạn có thể có được lịch sử băm khối hoàn chỉnh
Làm thế nào Herodotus giải quyết hạn chế này và cho phép chúng tôi đạt được:
Chìa khóa nằm ở sức mạnh của các bằng chứng mật mã.
Hãy đi sâu vào các bước thủ tục của bộ tích lũy băm khối lịch sử Herodotus:
** **Bước 1: Đăng ký hàm băm khối gần đây **
Trên mạng chính Ethereum, một hàm băm khối gần đây được đăng ký trong một hợp đồng thông minh có tên SharpFactsAggregator. Hàm băm khối này có thể được truy xuất bằng cách sử dụng opcode băm khối (giá trị opcode 0x40) và được lưu dưới dạng biến chuỗi đơn giản trong hợp đồng thông minh ở trên. Bạn cũng có thể đăng ký số khối tương ứng để truy cập sau.
Giả sử rằng số khối đã đăng ký là 18.000.000, chúng ta có thể thấy thông qua Etherscan rằng giá trị băm của khối này là 0x95b1… 4baf3。
**Bước 2: Chứng minh hàm băm của khối mới nhất **
Bước tiếp theo là truy xuất thông tin tiêu đề khối của khối 18.000.000 từ một nút lưu trữ, tính toán giá trị băm khối của nó ngoài chuỗi và 0x95b1 nó với giá trị băm khối đã đăng ký… 4baf3. Quá trình tính toán này cũng sử dụng một prover để tạo ra một bằng chứng về tính toán này.
Hàm băm của khối này được thêm vào dãy núi Merkle. Đây là một biến thể của cây Merkle và việc thêm các yếu tố mới vào cây không đòi hỏi nhiều tính toán.
Bước 3: Chứng minh hàm băm của khối X-1
Khi chúng tôi đã chứng minh rằng tiêu đề khối được truy xuất từ nút lưu trữ là hợp lệ, sau đó chúng tôi lấy tiêu đề khối của khối X-1, tính giá trị băm của nó và so sánh nó với hàm băm mẹ của khối X (giá trị này có thể được tìm thấy trong tiêu đề khối của khối X mà chúng tôi đã truy xuất trước đó).
Nếu các hàm băm khớp, chúng ta có thể chắc chắn rằng tiêu đề khối của khối X-1 cũng hợp lệ. Vì toàn bộ tính toán có thể được mô hình hóa như một hàm, một bằng chứng STARK về tính toán đó có thể được tạo ra cùng một lúc. Điều này dẫn đến một bằng chứng về tính hợp lệ của tiêu đề khối X-1 (xem hình bên dưới).
! [Herodotus: Làm thế nào để tận dụng Starknet Proof of Storage để chứng minh trạng thái Ethereum?] ](https://cdn-img.panewslab.com//panews/2022/11/6/images/50db34684e403b4d5dd508de876d3e94.jpeg)
Bước 4: Chứng minh đệ quy hàm băm của khối trước đó
Hàm băm khối của tất cả các khối đặt hàng trước được tính toán tương tự cho đến khi nó được truy ngược trở lại khối gốc của mạng chính Ethereum. Các băm này được gắn vào cây MMR, tạo ra một gốc MMR cuối cùng.
! [Herodotus: Làm thế nào để tận dụng Starknet Proof of Storage để chứng minh trạng thái Ethereum?] ](https://cdn-img.panewslab.com//panews/2022/11/6/images/00e168dfc3307b7451050fe994a42d13.jpeg)
Điều quan trọng cần lưu ý là các tính toán này được thực hiện ngoài chuỗi và Herodotus cũng tạo ra các bằng chứng tính toán.
** **Bước 5: Xuất bản bằng chứng trên chuỗi và việc sử dụng tiếp theo **
Khi gốc MMR cuối cùng đã được tạo, root này có thể được xuất bản trên chuỗi (trên hợp đồng thông minh tổng hợp bằng chứng) cùng với các bằng chứng tính toán của hàng triệu khối. Chi phí xác minh các bằng chứng này trên chuỗi là hợp lý do chi phí cực kỳ thấp để xác minh các bằng chứng STARK được tạo ra.
Chúng tôi đã triển khai một cách để theo dõi và truy cập tất cả trạng thái của Ethereum kể từ khối genesis.
Nhóm Herodotus gọi các MMR này là “bộ tích lũy băm khối lịch sử” và thực hiện mục tiêu EIP-2935 do Vitalik Buterin và Tomasz Stanczak đề xuất vào năm 2020 - một cách để truy cập hơn 256 khối dữ liệu lịch sử. Đây là một vấn đề đã được mở trong hơn ba năm! Tuy nhiên, Herodotus và Starknet đã đạt được điều này mà không thay đổi bất kỳ lớp giao thức nào.
Một số điểm chính về quy trình trên:
! [Herodotus: Làm thế nào để tận dụng Starknet Proof of Storage để chứng minh trạng thái Ethereum?] ](https://cdn-img.panewslab.com//panews/2022/11/6/images/7442f10afdba6bed044c215b9f057a7c.jpeg)
Khi gốc MMR được tìm thấy trên chuỗi, có thể chứng minh rằng MMR chứa hàm băm của mỗi khối (là thuộc tính cơ bản của cây Merkle).
Trước khi gửi bằng chứng đến mạng chính Ethereum, Provers của nhóm Herodotus sử dụng hệ thống SHARP do nhóm StarkWare tạo ra. Ưu điểm chính của hệ thống SHARP là khả năng giảm chi phí và tăng hiệu quả tạo bằng chứng.
Quy trình làm việc trên đang được sao chép thành hai MMR riêng biệt, một sử dụng hàm băm Keccak256 và một sử dụng Poseidon. Ethereum sẽ sử dụng biến thể Keccak256, trong khi Starknet sẽ sử dụng biến thể Poseidon.
Gốc MMR của mạng chính Ethereum được gửi đến Starknet thông qua giao thức nhắn tin Starknet L1 đến L2 gốc để sử dụng trên Starknet. Bộ tích lũy băm khối Herodotus cũng triển khai khả năng truy cập dữ liệu Ethereum lịch sử trên Starknet. Hệ thống nhắn tin Starknet L1-to-L2 có thể được sử dụng để chuyển tiếp các hàm băm khối L1 và gốc MMR đã được xác minh đến Starknet một cách an toàn. Sau khi được gửi đến Starknet, bằng chứng lưu trữ cho dữ liệu lịch sử của Ethereum có thể được xác minh theo các cam kết này.
Cơ hội mới cho bộ tích lũy băm khối Herodotus
Herodotus và StarkWare đang đưa các bộ tích lũy băm khối vào Ethereum như một hàng hóa công cộng. Khi gốc MMR cuối cùng và bằng chứng tính toán được xuất bản trên mạng chính Ethereum, bất kỳ nhà phát triển nào cũng có thể tận dụng chúng để truy cập trạng thái có thể chứng minh tại bất kỳ thời điểm nào kể từ khi bắt đầu chuỗi.
Vì gốc MMR của Ethereum cũng sẽ được gửi đến Starknet thông qua giao thức nhắn tin chuỗi chéo gốc, thông tin trạng thái chuỗi chéo có thể được truy cập một cách đơn giản và không cần tin cậy. Các giao thức DeFi có thể hưởng lợi từ bằng chứng trạng thái lịch sử bằng cách tận dụng thông tin số dư của tài khoản hoặc thông tin vị thế đòn bẩy của tài khoản tại một thời điểm cụ thể. Có thể tạo ra các số ngẫu nhiên mạnh mẽ hơn bằng cách sử dụng bản ghi băm khối lịch sử lớn hơn. Việc bỏ phiếu xuyên chuỗi cũng trở nên đơn giản hơn, vì người dùng không cần phải chuyển tài sản qua các chuỗi trước khi bỏ phiếu trên L2. Có nhiều khả năng hơn đi kèm với điều này.
Kết luận
Trong một thế giới mà khả năng mở rộng, phân cấp và xác minh blockchain không ngừng phát triển, nhóm của Starknet đang trở thành ngọn hải đăng của sự đổi mới. Các dự án được tạo trên Starknet đang trở thành một yếu tố quan trọng trong việc mở rộng quy mô Ethereum. Khi chúng ta đi sâu hơn vào tương lai mới này, việc làm quen với hệ sinh thái Starknet sẽ đặt nền tảng cho sự phát triển trong tương lai của bạn.