區塊鏈

以太坊2.0的技術規範0.12.0版本發布,引入“重大”更改

以太坊2.0的技術規範0.12.0版本發布,引入“重大”更改

5月21日,以太坊2.0的技術規範發布0.12.0版本,這一版本引入了“重大”更改,將BLS簽名算法規範,更新為使用標準化組織“互聯網工程任務組”(IETF)推出的BLS草案2,並結合了hash-to-curve草案7算法。除此之外,還計劃從現在開始僅引入對安全至關重要的變更。 ”

以下是關於0.12.0版本的發布信息:

此版本引入了“重大”更改,這些更改是在IETF hash-to-curve草案7的發布以及v0.11測試網學習的合併之後。

除了新的BLS規範外,大部分內容還用於處理網絡規範中的邊緣情況,並重構獎勵/罰款規則以增強測試。儘管其中一些是重大更改,但這些更改範圍仍在縮小,並且期望從現在開始僅引入與安全方面相關的至關重要的重大更改。

完整的差異可以在這裡找到:#1829

階段0

Beacon鏈

  • 調整INACTIVITY_PENALTY_QUOTIENT以準確反映意圖 (#1712)
  • 將SigningRoot重命名為SigningData (#1740)
  • 刪除PERSISTENT_ COMMITTEE_PERIOD,改為SHARD_COMMITTEE_PERIOD (#1783)
  • 禁止在證明(attestations)中使用空的聚合位(bits)(#1780)
  • 將MAX_ATTESTER_SLASHINGS從1更改為2 (#1794)
  • 在不活動的情況下,確保餘額保持不變以保證最佳驗證者(#1830)
  • 非實質性更改:
  1. 修復一些ValidatorIndex類型轉換 (#1714)
  2. 一些小的輸入修復 (#1731)
  3. 澄清eth1時間戳可以小於創世時間 (#1756)
  4. 闡明eth1區塊必須在鏈中足夠深,為創世時間考慮 (#1834)
  5. 構建獎勵/罰分結構,以進行更精細的測試(#1747, #1826)

分叉選擇

  • 添加FFG-LMD投票一致性檢查 (#1742)
  • [非实质]刪除validate_on_attestation中的多餘檢查(#1755)

驗證者

  • 在階段0中使用所有證明(attestation)子網(#1804)
  • 確保eth1data投票不能移至過去的eth1data狀態 (#1836)
  • [非实质性]小型清理和驗證程序的健全性測試 (#1745)

聯網(Networking)

  • 要求“可見”聚合對綁定緩存有效(#1749)
  • 澄清Beacon委員會分配未添加到attnets ENR條目(#1775)
  • 從p2p規範中刪除互操作 (#1767)
  • 將gossipsub提高到v1.1,並註意gossip條件的擴展驗證器枚舉(#1796, #1828)
  • 澄清BlocksByRange中的塊必須來自單個鏈 (#1795)
  • 受SSZ限制的Req / Resp大小(#1800)
  • 放寬對聚合傳播的限制,使其不需要位域中的聚合器 (#1801)
  • 在階段0中使用所有證明子網 (#1804)
  • 限制和澄清BlocksByRange請求(#1835)

存儲合約

  • 穩定!

簡單序列化

  • 修復bitfield_bytes類型錯誤 (#1806)

BLS

更新BLS,結合使用hash-to-curve草案7和IETF bls草案2 (#1799)

ETH 2.0階段1規範(警告:不穩定)

繼續完善階段1的規範

警告:目前缺少“看守人遊戲”挑戰響應,但是當核心“階段1”分片鏈設計穩定時,將很快重新引入。尋求階段1原型的客戶端團隊應首先關注分片數據機制,同時放棄託管遊戲邏輯。

輕客戶端規範(警告:不穩定)

在階段1的重新設計中,輕客戶端同步規范正在重新設計中。當前的輕客戶端規範可用於一般教育目的,以了解我們正在考慮的方法,但是在階段1穩定之後,將進行大量重新設計。

測試,Repo等

  • 將sanity目錄移到phase_0下面 (#1769)
  • 添加新的獎勵測試格式 (#1747, #1826)
  • 測試雙提議者的大幅削減和退出 (#1781)
  • 更新到可重現的v0.1.16 (#1833)