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