前言:時間對我們普通人來說,它是從鐘表傳達出來的。幾點起床,幾點上班,幾點吃飯,幾點睡覺......但真的認識時間的本質嗎?而時間對于區塊鏈來說,又意味著什么?基于對時間的理解,誕生了一個新的區塊鏈項目Solana,它會對區塊鏈世界帶來什么級別影響?現在還不知道。不過,我們可以隨時關注Solona這種探索,它的歷史證明機制(PoH)的創新值得我們關注。
你如何辨別時間?
在有鐘表之前,辨別時間很簡單:抬頭望天,找到空中的太陽,然后稱之為白天。過了一段時期,盡管這樣區分時間很簡潔和優雅,但我們人類還是決定創造設備來將一天劃分為更小、更可區分的部分,于是,人類有了日晷和水時鐘。
如今,我們大多數人都依賴手機、手表以及設備中的時鐘。在同一時區的兩個人之間溝通共同時間很容易:我們要做的只是看我們的時鐘,然后說出時間。
但是,我們的設備如何辨別時間?而且,更重要的是,我們的設備之間如何溝通時間?
答案比看起來更復雜。就算不是大多數計算機,很多計算機也依賴于可信來源——例如,原子時鐘,以實現對事件的排序。因此,一臺在柬埔寨的計算機可以信任一臺在倫敦的計算機是同步相同時間的,對嗎?
不完全是。
這是由于網絡延遲、相對效應以及時間膨脹(飛機上的某個人和地面上的某個人之間是有差異的)的影響,這種變化,不管有多小,都會阻止整個網絡上時間的準確同步。
在構建去中心化支付網絡時,這種差異至關重要。節點無法依賴第三方系統,例如原子時鐘。為了防止用戶進行雙花,網絡需要可靠的系統來給交易排序。
PoW是支持比特幣協議的機制,它通過SHA-256蠻力搜索解決了這一問題。這個解決方案雖然具有里程碑式的意義,但其速度慢且笨拙。比特幣每秒最多只能處理7筆交易。Solana是世界上第一個為web規模而構建的區塊鏈,因為它無須重大開銷即可解決分布式時間問題。讓它成為可能的核心創新是PoH(歷史證明),它是一種持續排序的機制,可以作為Solana網絡的全球時鐘。
PoH創建了一條記錄,可以證明事件在某個特定時刻發生。其他(區塊鏈)網絡要求參與者進行通信以確認時間的流逝,而每個Solana節點則通過在一系列連續事件中編碼時間的流逝來維護自己的時鐘。
在“沙子”的幫助下,讓我們來學習它是如何運作的。
開始
在Solana網絡上的時間概念來源于驗證節點持續進行SHA-256哈希值計算,從而創建出一種事件的加密鏈。
想象一下,有一個沙漏,其中每個沙粒代表一個時間單位(計算SHA-256哈希值所花費的時間)。每粒沙子都有相應的ID與之關聯,可以證明它在一沙粒之前,而沙粒在它之后。
沙漏充滿時,它通過連續的沙粒創建事件鏈。
分組
沙漏持續讓沙子通過瓶頸,直到達到一定的閥值。此時,沙漏將收集到的沙粒依次釋放到在下面等待的桶中。
倒掉
各個沙漏會繼續產生這些桶,直到準備好分組。為了將桶鏈接在一起,特定桶中的最后一個沙粒(如中間所示),被復制為下一個桶的第一個沙粒。這在桶之間創建了重疊,從而可以快速確定其正確排序。
立即將所有的桶釋放到下面的另一組沙漏中。
秘制醬
此處的創新在于驗證速度:即使它花費10個單元時間來充滿10個桶,它也僅花費1個單元時間來驗證所有10個桶中的沙粒排序。
通過連續制造沙粒的鏈,Solana網絡解決了分布式計時的問題。
復制
這個過程在網絡中的所有節點上復制。各個節點使用沙粒為基礎驗證時間的流逝,以確定沙桶之間經過了多少時間,且與其他節點通信。由于通過多個沙漏進行并行處理,因此只需要花費一小部分時間即可驗證沙粒的排序。
花點時間考慮一下。例如,十秒的交易,可以被網絡上的所有節點一秒內驗證。時間記錄的這種同時產生,隨著時間流逝它被外推出數千個桶和數百萬個沙粒,這意味著Solana網絡可以在其他區塊鏈網絡的一小部分時間內同步事件。
現在怎么辦?
這個過程創建了相對的PoH(藍狐筆記:Proof of History,歷史證明),它允許Solana網絡上的所有節點以最佳容量運行,且專注于驗證網絡上的交易。就速度而言,PoH提出了區塊鏈網絡結構中的根本性進步,其在當前的測試網上可實現每秒50,000次個交易吞吐量。

我們怎么樣?
歷史證明(PoH)是支持Solana實現web級別擴展的區塊鏈的眾多技術創新之一。我們知道這不容易理解。現在能理解了嗎?