【TIPS】深入瞭解Filecoin如何構建區塊


【TIPS】深入瞭解Filecoin如何構建區塊

協議實驗室(Protocol Labs)旨在打破常規。我們啟動了IPFS,以使Web更快,更安全,更開放。現在,藉助Filecoin,我們正在建立一個分散在區塊鏈上的分佈式存儲市場,用戶可以在其中租用額外的存儲空間。

區塊鏈建立在區塊上,這些區塊由唯一的密碼哈希表示,並永久記錄在區塊鏈上。這些信息塊串在一起,構成了區塊鏈,並攜帶了一組對狀態進行編碼的系統更新。區塊鏈使用共識協議來確定如何擴展其賬本。這包括可以更新/擴展區塊鏈的各方,以及如何選擇。

世界上存在著與區塊鏈一樣多的共識協議,無論是BFT還是Nakamoto-style,最長鏈規則或權重規則,工作量證明或時空證明或某種全新的系統。每個共識協議的工作方式略有不同。但是,許多共識協議的總體目標是建立可擴展,安全的分佈式網絡,通過礦工的競爭和參與推動自身的增長。

比特幣建立在一個簡單的線性區塊鏈上。每個塊均加權,並且僅計數一次。將比特幣區塊鏈想像成君主制,即根據與創世塊的直接關係來傳遞和擴展權力。鼓勵礦工在最長的鏈上進行開採:區塊最多的那條鏈。

本文發佈前,比特幣區塊鏈的長度超過600,000個區塊(自創世以來,每10分鐘大約一個)。有時,兩個區塊的開採距離相對較近(暫時)。比特幣的最長鏈規則和10分鐘的阻止時間允許大多數網絡隱式地“投票”他們希望以相對較短的時間使用哪個塊。這種選擇可能取決於多種因素,例如礦工最先聽到哪個區塊以及區塊中包含的交易。取決於礦工來決定,重要的是,大多數網絡最終會同意開採哪個區塊和放棄哪個區塊。廢棄的塊稱為孤立塊。下表中的紫色表示孤立的塊。

【TIPS】深入瞭解Filecoin如何構建區塊


以上為紫色的孤立塊

孤立區塊是有效的塊,不會影響鏈的總長度和穩定性。其他區塊鏈,例如以太坊,設計獎勵開採這些區塊的礦工,稱為“叔叔區塊”(uncle blocks)。礦工在開採礦塊時會獲得獎勵,即使他們最終並未被包括在鏈中。這有助於抵消礦工因網絡延遲而面臨的潛在不利因素,並消除網絡集中化的麻煩:單個或連接不佳的礦工也將獲得補償。

【TIPS】深入瞭解Filecoin如何構建區塊


叔叔塊,與使用最長鏈的比特幣不同,Filecoin的共識力圖儘可能多地利用權重鏈的算法。

隨著2015年“比特幣中的安全高速交易處理”的發佈(Sompolinsky,Zohar),將區塊鏈的思想不再是鏈本身,而是有向無環圖(DAG)。通過這種方式,我們可以查看塊最多的DAG,而不是簡單地看最長的鏈。Filecoin就是這樣一種協議,它使用塊的總數以及它們在其鏈選擇規則中編碼的存儲能力。

GHOSTy協議使礦工可以參考過去觀察到的所有區塊,以增加其鏈的權重。Filecoin的共識機制建立在這種稱為技巧集的變體上。如果比特幣像生產最長和最有效鏈條的競賽一樣運作,則Filecoin的“預期共識”是基於選舉的,並且可以在回合中選舉多個礦工作為領導者。這又意味著可以在每個回合中創建多個有效的同級塊。隨著每個EPOCH的到來,可以增加新一代的家譜,稱為提示集,這是我們網絡獨有的系統。

Filecoin中的塊按EPOCH排序。每個新塊都指代前一個EPOOCH中產生的至少一個塊(父)。提示集由具有相同父代且在相同EPOCH中開採的有效塊組成。

下圖簡化為不考慮底層存儲能力,它以不同的顏色顯示了來自同一祖父母塊的3個技巧集。讓我們計算這些技巧的權重。

【TIPS】深入瞭解Filecoin如何構建區塊


Epoch 2中有3個提示集的示例

在下面的第一個圖表中,祖父母+父母+孩子給Epoch 2中的第一個提示總重量為5。

【TIPS】深入瞭解Filecoin如何構建區塊


Epoch 2中的第一個小技巧,總重量為5。

下面的第二個提示總權重為4(一個祖父母、兩個父母、一個孩子)。

【TIPS】深入瞭解Filecoin如何構建區塊


Epoch 2中的第二個小技巧,總重量為4。

最後的提示集(第三個圖表)的總權重為3(一個祖父母,一個父母,一個孩子)。

【TIPS】深入瞭解Filecoin如何構建區塊


Epoch 2中的第三個技巧組,總重量為3。

最終圖表提供了該鏈的全面視圖,其中在第2階段中獲得了最高的第一個提示,儘管直到下一個第一個週期才被確認。

【TIPS】深入瞭解Filecoin如何構建區塊


來自相同時代的所有提示集及其權重。到目前為止,最重的鏈是權重為5的第一個提示集,不過直到下一個時期才被確認。

與以太坊一樣,該系統通過確保不浪費任何工作來激勵協作並總體提高鏈吞吐量。此外,由於嚴格要求其所有塊都具有相同的父代並且在相同的高度開採,因此在叉的情況下,鏈條可實現快速收斂。

最終,Filecoin權衡了提供更多存儲功能的區塊,因為它的核心是存儲網絡。隨著時間的流逝,礦工們會聚在最重的鏈條上,那些鏈條正在創造價值。較輕的鏈條成為孤立塊。

Filecoin礦工存儲的數據越多,礦工的存儲能力就會增長得越多,網絡上的存儲能力越大,礦工就更有可能生成新區塊並贏得區塊獎勵。要了解有關Filecoin加權系統的更多信息,請查看此testnet挖掘文章(https://filecoin.io/blog/filecoin-testnet-mining/),其中概述了Filecoin的存儲證明系統



分享到:


相關文章: