關於BSV「創世紀」升級,你需要知道這些

買賣虛擬貨幣

北京時間2月3日,Bitcoin SV 即將在24小時內進行「創世紀」升級。

在 2018 年 11 月份的 Coin Geek 大會上,Craig Wright 第一次提出了 Metanet 概念,這是一條看似是網際網路,但實際透過區塊鏈交易儲存方式來訪問網路資料,來用他的話來說網際網路是比特幣的一條側鏈。

Metanet 雖然還沒有真正完善,但 Bitcoin SV 上的應用已經有了 Metanet 的雛形,鏈上 Twitter、鏈上微博、鏈上 58 同城等等應用已經在小規模的使用。資料顯示,2019 年Bitcoin SV 上已經有超過 300 個類似這樣的日常網際網路應用。

根據官方宣告,此次「創世紀」升級後區塊容量將沒有限制,礦工可以自定義區塊大小。

目前在有限的區塊大小中,不足以容納大規模微交易,例如明星社媒下動則上萬的點贊評論中產生的微交易規模之大,只有擴大區塊容量才能在不違反協議下安全地進行。

可以說,Bitcoin SV 目前的目標是要做出一條 Metanet,一條能夠基於區塊鏈交易儲存資料的網際網路,這條網路上不僅會有 to C 的網際網路應用,還會有 to B 的企業應用,可能會有成千上萬筆交易同時發生。

如果要滿足大規模交易,就需要擴容,而唯一能保證不改變比特幣協議的擴容方法,就是增大區塊。

而同時對於礦工來說,按照比特幣的經濟模型,區塊獎勵越來越少,為了能讓這個經濟系統繼續穩定,礦工們必須要增加交易手續費的交易,最有效的辦法,就是擴大區塊容量讓區塊可打包大規模交易。這樣才能保證 Bitcoin SV 同時是一個長久有效的資料網路,也是一個穩定的經濟系統。

附Bitcoin SV 「創世紀」升級詳細內容:

重點變更

必要共識引數

必要共識引數必須由系統管理員進行配置。 當未配置引數時,軟體無法正常啟動。 如需瞭解必要共識引數的更多資訊,請訪問此連結

區塊體積硬頂

區塊體積硬頂引數定義了軟體允許進行交易驗證的最大區塊體積。對於體積大於該引數的區塊,軟體將不進行檢索及驗證。

指令碼運算允許使用的最大棧記憶體

本必要共識引數定義了指令碼在運算時允許使用的最大棧記憶體。如果指令碼嘗試使用超過引數定義值的記憶體量,將中止指令碼的執行,導致指令碼失敗。

共識變更

恢復 OP_RETURN 的功能

將OP_RETURN的功能恢復到其最初的設計,從而使開發人員能夠輕鬆地提前中止指令碼執行,同時還可得到有效的返回值。

 BigNumber 替代 32 位操作碼

將大大提高比特幣指令碼語言的數學能力。 32位的容量十分有限,在執行復雜的數學運算(例如簽名驗證)時,會很棘手且效率不高。此項更改將恢復最初的設計,提升複雜運算的效率,並啟用提供各種高階功能的複雜指令碼。

在新交易中廢止使用P2SH

Pay-to-script-hash(或P2SH)是比特幣引入的一種新機制,用於在建立輸出指令碼時隱藏行蹤。這與比特幣誠實記錄的哲學背道而馳。此外,P2SH鼓勵了不良的隱秘活動在其上大肆交易,並且與比特幣至關重要的點對點主張相背離。現有P2SH地址上的比特幣將不受影響,因此不需要整理舊錢包。這項變更是為了阻止進行新的P2SH輸出。

恢復nLockTime nSequence 的最初用法

這兩個欄位是支付通道機制中不可或缺的一部分,中本聰將它們設計為用於進行高速微支付的基本機制。但是後來BTC Core開發人員將它們重新定義為兩個新的操作碼。除了要刪除這些操作碼,還要恢復nLockTime和nSequence的最初用法。

其它必需的變更

點對點傳播非標交易

將允許任何人都可以使用複雜交易。在創世紀升級之前,只有標準交易(如支付交易或普通資料交易)才會被點對點傳播,並傳至礦工。這意味著,如果你想使用複雜的交易,你必須先與一個礦工達成協議,要求礦工進行確認並打包。在創世紀升級之後,所有交易型別都可進行點對點傳播,這樣任何人都可以使用複雜交易。

補充共識變更

  • 創世紀升級的區塊高度啟用機制
  • UTXO 繼承依賴規則
  • 正式指令碼語法
  • scriptSig中只能包含OP_PUSHDATA操作
  • 在新交易中廢止使用OP_CHECKLOCKTIMEVERIFY和OP_CHECKSEQUENCEVERIFY
  • 新增max_script_memory_usage的策略限制,預設值為100MB
  • 新增max_script_memory_usage的共識限制,預設值為無限大
  • 取消對每MB塊空間的簽名數的共識上限
  • 取消對每筆交易的簽名數的共識上限
  • 取消對每個指令碼的操作碼數量的共識上限
  • 取消對每個指令碼物件體積的共識上限
  • 取消對指令碼中物件數量的共識上限
  • 取消對每個multisig公鑰數量的共識上限
  • 將交易體積的共識上限提高到1 GB

效能改善

  • 並行區塊驗證
  • 單獨處理低優先順序佇列中的非標交易
  • 為標準交易和非標交易設定評估超時策略的指令碼
  • Inv資訊中包含按驗證次序排序的tx
  • 並行區塊驗證的增強測試
  • 常見的創世紀啟用程式碼與命令列選項
  • 在創世紀升級之後,在主網上啟用對非標準交易的驗證
  • 將記憶體池的預設值設為1GB
  • 刪除User Agent中的區塊大小欄位
  • 更改預設交易費(預設打包費率為0.5預設允許的最低轉播費率為0.25聰/位元組)
  • 更新SPV布隆過濾器,以避免重放攻擊
  • 提高無序化預分配的效能
  • 更改日誌訊息,使其內容更加精準
  • 修復:驗證非標準事務時,可能將節點鎖定超過一分鐘
  • 修復:在驗證交易時,使用“拒絕提示”和“封禁記分”功能
  • 修復:區塊傳送列隊溢位
  • 修復:bsv::deserialize函式中的未定義行為
  • 修復:“bitcoin-cli help getblock”無法正常執行
  • 修復:當檢測不到Boost引數時,應當配置失敗
  • 修復:對創世紀新功能的測試,設定執行許可權位
  • 修復:最近區塊中位數時間
  • 修復:無輸入的非最終交易,會被錯誤拒絕
  • 修復:asn1_integer的記憶體洩露
  • 修復:boost::optional 函式的警告
  • 修復:原始碼包中未包含py
  • 修復:Fundrawtransaction RPC changePosition 引數導致訪問超出範圍
  • 新增基本的 –enable-tcmalloc 選項
  • 修復:CTxnDoubleSpendDetector 刪除向量末尾
  • 修復:大於2GB的資料的lshift和rshift
  • 為創世紀升級作準備,更新RDP
  • 設定非同步驗證的最長任務時間

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;