區塊

區塊是指一批交易的組合,並且包含鏈中上一個區塊的哈希。這將區塊連接在一起(成為一個鏈),因為哈希是從區塊數據中加密得出的。這可以防止欺詐,因為以前的任何區塊中的任何改變都會使後續所有區塊無效,而且所有哈希都會改變,所有運行區塊鏈的人都會注意到。

為什麼要有區塊?

為了確保PolySmartChain網絡上的所有參與者保持同步狀態並就交易的確切歷史達成共識,我們將交易分為多個區塊。這意味著一次提交、商定和同步數十個(或數百個)交易。

通過間隔提交,即使交易請求每秒發生數十次,我們仍能給所有網絡參與者足夠的時間達成共識。 PolySmartChain上的區塊大約每3秒提交一次。

區塊如何工作

為了保存交易歷史,區塊被嚴格排序(創建的每個新區塊都包含一個其父塊的引用),區塊內的交易也嚴格排序。除極少數情況外,在任何特定時間,網絡上的所有參與者都同意區塊的確切數目和歷史, 並且正在努力將當前的活動交易請求分批到下一個區塊。

一旦某個區塊被網絡上的某個礦工放在一起(挖礦),它就會傳播到網絡的其餘部分; 所有節點都將此塊添加到其區塊鏈的末尾,並且繼續挖掘。

區塊包含什麼?

  • timestamp – 開採區塊的時間。

  • blockNumber – 區塊鏈中區塊的長度。

  • baseFeePerGas - 要將交易納入區塊,每個 gas 所需的最低費用。

  • difficulty – 開採所需的努力。

  • mixHash – 該區塊的唯一標識符。

  • parentHash – 前一區塊的唯一標識符(這是區塊形成鏈的方式)。

  • transactions –包含在區塊中的交易。

  • stateRoot –系統的整個狀態:帳戶餘額、合約存儲、合約代碼和帳戶隨機數。

  • nonce – 哈希,當與 mixHash 結合使用時,可以證明該塊已經通過了工作量證明。

區塊時間

區塊時間指的是開採一個新區塊所需的時間。在PolySmartChain中,平均區塊時間在3 秒,並在每個區塊後進行評估。預期區塊時間在協議層面被設定為一個常數,當礦工增加計算能力時,用於保護網絡的安全。平均區塊時間與預期區塊時間進行比較,如果平均區塊時間較高,則區塊頭的難度會降低。如果平均區塊時間較小,則會增加區塊頭中的難度。

區塊大小

最後一個重要的一點是,區塊本身的大小是有界限的。每個區塊的目標大小為 1500 萬 gas,但區塊的大小將根據網絡需求而增加或減少。區塊限制最多不超過 3000 萬(目標區塊大小的 2 倍)。區塊中所有交易所消耗的 gas 總量必須低於區塊的 gas 限制。這很重要,因為它可以確保區塊不會任意擴大。如果區塊可以任意大,由於空間和速度方面的要求,性能較差的完整節點將逐漸無法跟上網絡。

Last updated