寫在前面:這期的比特幣技術周報,我們先討論一個關于比特幣最小允許交易大小的問題,然后是一些新的技術問答,比如關于taproot輸入大小、Mempool300MB限制以及Schnorr簽名nonce生成的問題,最后則是關于比特幣基礎設施軟件的一些重大更新。
(圖片來自:tuchong.com)
注:原文內容來自BitcoinOptech
一、關于最小比特幣交易大小的討論
ThomasVoegtlin在比特幣開發者郵件列表中發表了一個帖子,介紹了如何創建只有60字節大小的剝離交易。而目前的情況卻是,BitcoinCore拒絕中繼或產生小于82字節的交易。對此,GregorySanders指出,這個限制規則的原因是為了解決CVE-2017-12842漏洞,而攻擊者可利用該漏洞將一筆精心編制的64字節交易納入到一個區塊中,然后使用它誘使SPV錢包確認一筆或多筆其他任意交易。
正如第36期周報中所述,通過禁止小于65字節的剝離交易,用共識軟分叉提議永久性地消除了執行該攻擊的能力。
礦企Argo Blockchain 6月產出179枚比特幣,目前持有1953枚比特幣:7月7日消息,由于在德克薩斯州的新Helios設施的運營加快,比特幣礦企Argo Blockchain 6月份產出179枚比特幣,高于5月份的124枚和4月份的166枚。
該公司表示,這反映了其不斷增加的總算力,以及比前一個月更長的正常運行時間,因為有更多S19J Pro礦機交付并部署,保持了其按照協議安裝所有2萬臺礦機的計劃。
另外,根據與Core Scientific的互換協議,截至今年6月也安裝了5000臺S19J Pro礦機。
6月份挖礦收入為338萬英鎊(435萬美元),以現行價格計算,高于5月份的307萬英鎊。Argo表示,這主要是受比特幣價格下跌和Helios電力成本上漲的推動,5月份的挖礦利潤率為55%,本月下降至50%。
Argo表示,自2021年底以來,該公司一直在使用衍生品來限制下行風險,并在6月份為其團隊聘請了一名全職衍生品交易員。
截至6月底,Argo資產負債表上有1953枚比特幣,其中210枚為比特幣等價物,其中637枚比特幣在6月份以24500美元的平均價格售出。(Proactive Investors)[2022/7/7 1:57:41]
在描述了這一規則的動機之后,GregorySanders詢問該規則是否可簡化為只禁止大小正好為64字節的剝離交易。zmncpxj回答稱,64字節以下的任何規則都可能會存在漏洞,而65字節或更大的規則則似乎很好。
報告:薩爾瓦多國營銀行接受200臺比特幣ATM抵押150萬美元貸款:金色財經報道,薩爾瓦多的一家國有銀行向一家加密貨幣公司發放了超過 150 萬美元的貸款,接受 200 臺比特幣(BTC) ATM 作為抵押品。該網站寫道,它已經獲得了證明Banco Hipotecario de El Salvador(薩爾瓦多抵押銀行)已簽署貸款的文件,該貸款對每臺機器的估值為美元7,760。貸款質保期為36個月。根據報告,貸款條款表明,由 Eric Gravengaard 領導的已在薩爾瓦多推出數十臺 BTC ATM 的公司Athena Bitcoin被添加為貸款交易的“有擔保債權人或共同簽署人” (cryptonews)[2022/2/8 9:36:43]
二、來自比特幣StackExchange的精選問答
問題1、單簽名和2-of-3多重簽名的taproot輸入大小是多少?
Murch答:
taproot通常有兩種使用方式。默認方式是使用密鑰路徑使用輸出,則其行為類似于p2pk輸出,除了它使用了schnorr簽名以及使用bech32編碼的相應地址。
比特幣網絡超過一小時未爆塊 待確認交易超過3萬筆:Tokenview區塊瀏覽器數據顯示,比特幣在今日11時34分達到塊高639165后出塊間隔時間增加,目前已有1小時18分未能打包新塊。當前比特幣全網待確認交易約合31008筆。[2020/7/14]
而另一種方法就是多重簽名。
實際上,2-of-3多重簽名的使用條件被分為3個2-of-2條件:
2-of-{A,B,C}=(A&&B)||(A&&C)||(B&&C)
假設是其中兩個密鑰是熱的,而第三個是用于恢復的備份密鑰。使用這兩個熱密鑰進行花費的默認情況是使用MuSig聚合到根路徑pubkey中。使用備份密鑰的另外花費條件存儲在樹的子葉中。目前有兩種變體:一種是備份密鑰能夠參與MuSig簽名,另一種是退回到更簡單的多重簽名方案,其中簽名是非交互的。
此后,Murch還給出了
相關的成本計算過程和結果。
問題2:比特幣交易存儲池超過300MB會發生什么?
問題具體描述:目前比特幣的交易存儲池大小為108MB,根據趨勢來看,它正在慢慢接近300MB,據說這也是BTC交易存儲池的限制。那達到300MB之后會發生什么?
行情 | 比特幣全網未確認交易近一萬筆:據btc.com數據顯示,目前比特幣全網未確認交易數量為9951筆,比特幣全網算力目前為54.44EH/s,24小時交易速率為2.63/秒。截至目前比特幣全球均價為6513.82美元,最近24小時漲幅為1.21%。[2018/9/27]
Murch答:
每個節點都會維護一個單獨的交易存儲池,雖然默認值是300MB,但每個節點運營者都可以設置自己的值。mempool限制不適用于序列化數據,而是與節點上反序列化交易數據的實際存儲使用情況有關,而這個存儲使用情況取決于平臺。
當達到節點的mempool限制時,它將放棄費用率最低的交易,并增加其minMempoolFeeRate。它將把新的minMempoolFeeRate傳達給對等節點,基本上是告訴對方暫時不要轉發低于該費用率的交易。請注意,每個節點都單獨執行此操作,因此具有較大mempool或不同體系結構的節點可能會在不同的時間丟棄交易。節點將保留與其自己的錢包相關的交易副本。即使所有其他節點都放棄了交易,交易的發送者和接收者也將保留副本。發送者可以強迫其節點丟棄原始交易并發送另一筆有沖突的交易以對其進行更新,或者發送者的節點將繼續嘗試廣播該交易,以便在擁堵過去后最終在網絡上再次中繼該交易。
行情 | 比特幣突破7100美元:據Bitfinex平臺數據,比特幣已站上7100美元,現報7107.3美元,漲幅為5.4%。[2018/8/29]
在擁堵過去并經歷一些延遲之后,節點會降低它的minmempoolferate,并再次開始接受它以前拒絕的那些交易。
問題3:為什么不使用RFC6979生成schnorr簽名的nonce隨機數?
問題具體描述:在閱覽
Schnorr簽名的BIP時發現,RFC6979變體并沒有被用于Schnorr簽名的nonce生成,而是采用了新的生成途徑,這是什么原因?
對此問題,PieterWuille解釋稱:
“原因有很多,首先,RFC6979并不便宜,而且相當復雜,計算單個候選nonce,需要22次調用SHA256壓縮函數。哈希很快,但這實際上相當于哈希1400字節,與簽名時間相比,這不再是微不足道的。而它的目的是實例化一個眾所周知的PRNG以生成候選nonce隨機數,但這對我們來說開銷過高。
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工業化社會以后,我們大多數的疾病,不僅僅是生理疾病包括精神疾病,究其根本,無非「過剩」二字。過剩的工業化產品導致我們有無數的選擇,商家開始用細微的差別創造一些不存在的“優越感”.
1900/1/1 0:00:00撰文:LukeFitzpatrick編譯:Unitimes_David 2020年4月30日,美國眾議院議長NancyPelosi在華盛頓國會山舉行每周新聞發布會.
1900/1/1 0:00:00來源:華夏日報 作者:冉學東、王永菲 原標題:《國家反洗錢和反詐騙力度加大近期一些銀行卡購買加密貨幣被凍結》近日幣圈很多人因為參與加密貨幣OTC交易,銀行卡和支付寶被凍結引發社會關注.
1900/1/1 0:00:00互鏈脈搏統計,本周共有7家上市公司披露了其區塊鏈發展情況。其中,金財互聯、四方精創、紫光國微三家公司有論及數字貨幣領域.
1900/1/1 0:00:00作者:黃雪姣,來源:Odaily星球日報原題《2020,資本圈押寶Filecoin挖礦》最近,Filecoin有兩件備受關注的事,一是官方賣硬盤,二個是測試網曝出“代幣無限增發漏洞”.
1900/1/1 0:00:00