寫在前面:這期的比特幣技術周報,我們先討論一個關于比特幣最小允許交易大小的問題,然后是一些新的技術問答,比如關于taproot輸入大小、Mempool300MB限制以及Schnorr簽名nonce生成的問題,最后則是關于比特幣基礎設施軟件的一些重大更新。
(圖片來自:tuchong.com)
注:原文內容來自BitcoinOptech
一、關于最小比特幣交易大小的討論
ThomasVoegtlin在比特幣開發者郵件列表中發表了一個帖子,介紹了如何創建只有60字節大小的剝離交易。而目前的情況卻是,BitcoinCore拒絕中繼或產生小于82字節的交易。對此,GregorySanders指出,這個限制規則的原因是為了解決CVE-2017-12842漏洞,而攻擊者可利用該漏洞將一筆精心編制的64字節交易納入到一個區塊中,然后使用它誘使SPV錢包確認一筆或多筆其他任意交易。
正如第36期周報中所述,通過禁止小于65字節的剝離交易,用共識軟分叉提議永久性地消除了執行該攻擊的能力。
動態 | USDT占比特幣交易比重約為69.22%:據cryptocompare數據顯示,目前比特幣交易情況按照交易幣種排名,排在第一的是USDT,占比為69.22%;排在第二的是美元,占比為9.79%;排在第三的是日元,占比為8.81%;排在第四的是歐元,占比為3.10%;排在第五的是USDC,占比為2.3%。[2020/1/10]
在描述了這一規則的動機之后,GregorySanders詢問該規則是否可簡化為只禁止大小正好為64字節的剝離交易。zmncpxj回答稱,64字節以下的任何規則都可能會存在漏洞,而65字節或更大的規則則似乎很好。
二、來自比特幣StackExchange的精選問答
問題1、單簽名和2-of-3多重簽名的taproot輸入大小是多少?
Murch答:
taproot通常有兩種使用方式。默認方式是使用密鑰路徑使用輸出,則其行為類似于p2pk輸出,除了它使用了schnorr簽名以及使用bech32編碼的相應地址。
而另一種方法就是多重簽名。
實際上,2-of-3多重簽名的使用條件被分為3個2-of-2條件:
動態 | USDT占比特幣交易比重約為80.13%:據cryptocompare數據顯示,目前比特幣交易情況按照交易幣種排名,排在第一的是USDT,占比為80.13%;排在第二的是美元,占比為7.87%;排在第三的是QC,占比為3.23%;排在第四的是日元,占比為2.03%;排在第五的是歐元,占比為1.57%。[2019/5/6]
2-of-{A,B,C}=(A&&B)||(A&&C)||(B&&C)
假設是其中兩個密鑰是熱的,而第三個是用于恢復的備份密鑰。使用這兩個熱密鑰進行花費的默認情況是使用MuSig聚合到根路徑pubkey中。使用備份密鑰的另外花費條件存儲在樹的子葉中。目前有兩種變體:一種是備份密鑰能夠參與MuSig簽名,另一種是退回到更簡單的多重簽名方案,其中簽名是非交互的。
此后,Murch還給出了
相關的成本計算過程和結果。
問題2:比特幣交易存儲池超過300MB會發生什么?
問題具體描述:目前比特幣的交易存儲池大小為108MB,根據趨勢來看,它正在慢慢接近300MB,據說這也是BTC交易存儲池的限制。那達到300MB之后會發生什么?
比特幣價格突破9000美元:Bitfinex平臺目前比特幣價格為9071.9美元,跌幅0.03%。幣安平臺目前比特幣價格為9080.89美元,漲幅達0.26%。Bitstamp平臺比特幣價格為9050.69美元,漲幅為2.09%。okex平臺目前比特幣價格為9043.96美元,跌幅為0.01%。[2018/4/27]
Murch答:
每個節點都會維護一個單獨的交易存儲池,雖然默認值是300MB,但每個節點運營者都可以設置自己的值。mempool限制不適用于序列化數據,而是與節點上反序列化交易數據的實際存儲使用情況有關,而這個存儲使用情況取決于平臺。
當達到節點的mempool限制時,它將放棄費用率最低的交易,并增加其minMempoolFeeRate。它將把新的minMempoolFeeRate傳達給對等節點,基本上是告訴對方暫時不要轉發低于該費用率的交易。請注意,每個節點都單獨執行此操作,因此具有較大mempool或不同體系結構的節點可能會在不同的時間丟棄交易。節點將保留與其自己的錢包相關的交易副本。即使所有其他節點都放棄了交易,交易的發送者和接收者也將保留副本。發送者可以強迫其節點丟棄原始交易并發送另一筆有沖突的交易以對其進行更新,或者發送者的節點將繼續嘗試廣播該交易,以便在擁堵過去后最終在網絡上再次中繼該交易。
Telegram創始人承諾向VPN提供商捐贈百萬美元比特幣:面對俄羅斯當局下令封鎖全國數百萬個IP地址所造成的連帶災害,Telegram創始人Pavel Durov承諾將向VPN提供商捐贈百萬美元比特幣,此項行動將作為他“數字抵抗”的一部分。Pavel Durov在Telegram中表示很高興捐出數百萬美元,并希望其他人也能跟隨,他認為“數字抵抗”是一個分權運動,代表全球的數字自由與進步。[2018/4/18]
在擁堵過去并經歷一些延遲之后,節點會降低它的minmempoolferate,并再次開始接受它以前拒絕的那些交易。
問題3:為什么不使用RFC6979生成schnorr簽名的nonce隨機數?
問題具體描述:在閱覽
Schnorr簽名的BIP時發現,RFC6979變體并沒有被用于Schnorr簽名的nonce生成,而是采用了新的生成途徑,這是什么原因?
對此問題,PieterWuille解釋稱:
“原因有很多,首先,RFC6979并不便宜,而且相當復雜,計算單個候選nonce,需要22次調用SHA256壓縮函數。哈希很快,但這實際上相當于哈希1400字節,與簽名時間相比,這不再是微不足道的。而它的目的是實例化一個眾所周知的PRNG以生成候選nonce隨機數,但這對我們來說開銷過高。
BCO計劃在比特幣高度501949時進行分叉:BitcoinOre(BCO)計劃于比特幣高度501949分叉,時間預計在12月31日。本次BCO分叉總量為2100萬,原比特幣持有者將按照1:1比例獲得BCO糖果獎勵。同時,為確保比特礦石生態系統的安全,BCO已經實現了雙向重放保護功能。據了解,BCO挖礦無需顯卡或礦機,要使用閑置的硬盤空間就能在多條鏈上同時挖礦。[2017/12/27]
secp256k1有一個有趣的性質,它的grouporder可以非常接近2^256,因此完全不需要PRNG,一個單獨的哈希就足夠了,這樣復雜性就更低,并且時間也是恒定的。
一個更簡單的替代方法是Ed25519所使用的,其中單個SHA512調用生成一個512位數字。我們的構造是不同的,但靈感來自于此,一些更改的地方是:
我們不需要512位的哈希以及模降低,因為曲線order接近2^256,因此我們可以直接使用256位哈希,而不需要縮減;
我們擔心簽名者的公鑰來自不受信任的輸入實現。GregMaxwell在密碼學郵件列表上就此問題展開了討論:https://moderncrypto.org/mail-archive/curves/2020/001012.html,并收到了DJB等人的回復。我們通過在nonce生成中納入公鑰來解決這個問題。
我們正嘗試通過鼓勵合成nonce來防御錯誤攻擊和差分功率分析攻擊。RFC6979也有一個支持此功能的變體,但由于我們使用了線性派生的私鑰,因此,DPA攻擊更難防范,標準解決方案可能不適用。請參閱此處的開發者討論貼:https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-March/017711.html
”
三、比特幣主要基礎設施的更新
BitcoinCore0.20.0rc2是下一版BitcoinCore軟件的最新候選版本;
LND0.10.1-beta.rc2是下一個LND維護版本軟件的最新候選版本;
除了這些之外,本周BitcoinCore、C-Lightning以及LND還發生了一些顯著變化。
BitcoinCore#18956使用了Windows系統上的API,這就要求使用Windows7或更高版本的系統。自2018年10月發布BitcoinCore0.17以來,所有版本的發行說明都明確提到,使用Windows系統運行core節點,至少是Windows7或更高版本的系統。
BitcoinCore#18861阻止節點針對尚未宣布給請求對等方的交易回復P2P協議getdata請求。這可以防止監視節點繞過BitcoinCore現有的隱私增強行為,即在向每個對等節點宣布新交易之前,等待稍長的時間,從而使每筆交易都使用不同的路徑在網絡中傳播。
BitcoinCore#17681允許錢包內部為BIP32HD錢包種子獲取新地址,即使該種子不再是錢包的活躍種子。這樣,即使節點正在執行初始區塊鏈下載,也可以安全地使用sethdseedRPC切換到新的HD種子。更新的代碼,確保錢包可以看到以前從舊HD種子獲得的地址的任何付款。
BitcoinCore#18895使用unbroadcast字段更新返回有關mempool中個人交易數據的RPC,該字段指示本地節點的任何對等節點是否已請求交易副本。此外,getmempoolinfoRPC將使用unboadcastcount字段更新。為了保護隱私,只有當交易由節點的錢包或sendrawtransactionRPC提交時,才會跟蹤該交易的廣播狀態。
BitcoinCore#18677增加了一個新的--enable-multiprocess生成配置選項,它將在現有bitcoind和bitcoin-qt二進制文件存在的同時生成額外的二進制文件。目前,新的和舊的二進制文件之間的唯一區別,在于它們的名稱。但如果PR#10102被合并,新的二進制文件將把node、wallet和GUI的功能分割成單獨的可執行文件,并在必要時相互通信。默認情況下,生成選項當前處于禁用狀態。最近一篇關于多進程子項目的文章,請參見第39期周報。
BitcoinCore#18594允許bitcoin-cli-getinfo輸出多錢包模式加載的每個錢包的余額。
C-Lightning#3738利用libwally的PSBT支持,增加了對BIP174部分簽名比特幣交易的初始支持。用戶唯一能夠看到的變化是,txprepareRPC返回了交易的PSBT形式,但是PR在GitHub上被標記為努力為新通道提供雙重資助。
LND#4227從各種程序包中刪除了原始私鑰處理,為硬件錢包簽名的支持鋪平了道路。
來源:中國新聞網 “我建議利用區塊鏈技術建立國家級網絡游戲防沉迷平臺。”在今年的全國兩會上,全國人大代表、江西財經大學貿易與環境研究中心主任、民建江西財經大學委員會主委李秀香提交了一份關于“如何.
1900/1/1 0:00:00比特幣期權市場的活躍度顯示,到2020年底,比特幣僅有9%的機會可以漲至2萬美元。 比特幣期權市場的活躍度顯示,到2020年底,比特幣僅有9%的機會可以漲至2萬美元.
1900/1/1 0:00:00作者:火鳥財經,原題《中藥材市場太亂?區塊鏈+AI或能化解這個難題》你能辨別冬蟲夏草的真偽嗎?如果能辨認,那你知道它產自哪里,品質如何嗎?如果你不是行業老手,沒有專業的檢測儀器.
1900/1/1 0:00:00作者:馬臣云 編者注:原標題為《數據要素市場化,區塊鏈將大顯身手》4月9日,《中共中央國務院關于構建更加完善的要素市場化配置體制機制的意見》正式對外發布,這是中央關于要素市場化配置的第一份文件.
1900/1/1 0:00:00作者按: 狼來了,狼還會再來。對于四川虛擬貨幣挖礦,運動式監管的境況短期內不會消失。所有礦企的合規成本增加,大量中小礦企的生存空間被擠壓是必然趨勢.
1900/1/1 0:00:00“人工智能、區塊鏈、5G等‘新基建’作為新概念在兩會前期獲得了集中關注,搜索熱度同比提升3841%。”這是百度在5月20日發布的《百度搜索大數據看兩會》中,對區塊鏈等新概念熱度的報告.
1900/1/1 0:00:00