Loạt bài dành cho người mới bắt đầu về tiền mã hoá EP 16: Proof of History là gì?

Nếu các bạn là người đã từng tìm hiểu về Solana thì chắc chắn đã từng thắc mắc Proof of History (bằng chứng lịch sử) là gì nhỉ?

Proof of History

Thay vì tin tưởng vào dấu thời gian trên giao dịch, bạn có thể chứng minh rằng giao dịch đó đã xảy ra trước và sau một sự kiện. Bằng chứng lịch sử là một chức năng trì hoãn tần số cao có thể xác minh được. Chức năng độ trễ có thể xác minh được yêu cầu một số bước tuần tự cụ thể để đánh giá, nhưng vẫn tạo ra một đầu ra duy nhất có thể được xác minh một cách hiệu quả và công khai.

PoH là một chuỗi tính toán có thể cung cấp một cách để xác minh bằng mật mã thời gian trôi qua giữa hai sự kiện. Nó sử dụng một hàm bảo mật bằng mật mã được viết để không thể dự đoán đầu ra từ đầu vào và phải được thực thi hoàn toàn để tạo ra đầu ra. Hàm được chạy theo trình tự trên một lõi đơn lẻ, đầu ra trước đó của nó là đầu vào hiện tại, ghi lại định kỳ đầu ra hiện tại và số lần nó được gọi. Đầu ra sau đó có thể được máy tính bên ngoài tính toán lại và xác minh song song bằng cách kiểm tra từng đoạn trình tự trên một lõi riêng biệt. Dữ liệu có thể được đánh dấu thời gian vào chuỗi này bằng cách thêm dữ liệu (hoặc một số băm của một số dữ liệu) vào trạng thái của hàm. Việc ghi lại trạng thái, chỉ mục và dữ liệu khi nó được nối vào chuỗi cung cấp dấu thời gian có thể đảm bảo rằng dữ liệu được tạo vào một thời điểm nào đó trước khi hàm băm tiếp theo được tạo trong chuỗi. Thiết kế này cũng hỗ trợ mở rộng quy mô theo chiều ngang vì nhiều máy phát điện có thể đồng bộ hóa với nhau bằng cách trộn trạng thái của chúng thành các chuỗi khác.

Miêu tả chi tiết

Hệ thống được thiết kế để hoạt động như sau. Với một hàm băm mật mã, không thể dự đoán đầu ra mà không chạy hàm (ví dụ: sha256, ripemd, v.v.), hãy chạy hàm từ một giá trị bắt đầu ngẫu nhiên nào đó và lấy đầu ra của nó và chuyển nó làm đầu vào vào cùng một hàm. Ghi lại số lần hàm đã được gọi và kết quả đầu ra ở mỗi lần gọi. Giá trị ngẫu nhiên bắt đầu được chọn có thể là bất kỳ chuỗi nào, chẳng hạn như dòng tiêu đề của giờ New York trong ngày.

Ví dụ: PoH Sequence Index Operation Output Hash 1 sha256 (“bất kỳ giá trị bắt đầu ngẫu nhiên nào”) hash1 2 sha256 (hash1) hash2 3 sha256 (hash2) hash3

Trong đó hashN đại diện cho đầu ra băm thực tế. Chỉ cần xuất bản một tập hợp con của các băm và chỉ số trong một khoảng thời gian.

Chỉ mục Hoạt động đầu ra Hash 1 sha256 (“bất kỳ giá trị bắt đầu ngẫu nhiên nào”) hash1 200 sha256 (hash199) hash200 300 sha256 (hash299) hash300

Miễn là hàm băm được chọn có khả năng chống va chạm, tập hợp các hàm băm này chỉ có thể được tính toán theo trình tự bởi một luồng máy tính duy nhất. Điều này xuất phát từ thực tế là không có cách nào để dự đoán giá trị băm ở chỉ mục 300 sẽ như thế nào nếu không thực sự chạy thuật toán từ giá trị bắt đầu 300 lần. Do đó, chúng ta có thể suy ra từ cấu trúc dữ liệu rằng thời gian thực đã trôi qua giữa chỉ mục 0 và chỉ mục 300.

Trong ví dụ ở Hình 2, băm 62f51643c1 được tạo trên số đếm 510144806912 và băm c43d862d88 được tạo trên số đếm 510146904064. Theo các thuộc tính đã thảo luận trước đây của thuật toán PoH, chúng ta có thể tin tưởng rằng thời gian thực được truyền giữa số đếm 510144806912 và số đếm 510146904064.

Trình tự PoH

Kiểm tra solana-whitepaper.pdf để biết thêm chi tiết về cách PoH được triển khai và quy mô của nó như thế nào https://raw.github.com/cedricwalter/blockchain-consensus/master/whitepaper/PoH-Solana-whitepaper.pdf

Nguồn: https://tokens-economy.gitbook.io/consensus/chain-based-proof-of-capacity-space/proof-of-history

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments