寫在前面:
關于比特幣,我們有時會遇到一些難以理解的技術問題,例如“新區塊比舊區塊早1秒誕生”、“同一時間不同全節點的大小不同”等奇葩現象,對于這些問題,就需要求助專業的開發者來幫忙解惑,在本文中,譯者便選取了8個相對較有趣的問題,而來自比特幣開發社區的大神們也給出了精彩的答案。
問題1:為什么兩個完全同步的BitcoinCore節點在區塊鏈大小上是不同的?
問題具體描述:執行getblockchaininfo時,size_on_disk顯示大小比同時報告的其他節點小1.2GB。
txindex=1
可能是什么原因導致的?我已經在twitter上問過其它對等節點運營者,看是否有他人也有同樣的經歷,但每個人的賬本數據都要比我多。
UgamKamat答:區塊鏈大小上的差異,是由于節點存儲的陳舊區塊數導致的。陳舊區塊是曾經構成主鏈一部分,但現在不屬于主鏈的區塊。
例如,如果有礦工同時在高度102挖取2個區塊,當礦工通過gossip網絡中繼區塊時,與礦工2開采的區塊相比,更靠近礦工1的網絡將首先接收它挖的區塊。Bitcoincore將第一個接收到的有效區塊添加到鏈的頂端。之后在同一高度接收的區塊不會被刪除,而是保存在數據庫中,以防發生重組。因此,如果在區塊之上挖取下一個區塊103,則首先接收到102a的節點,會將其鏈重組為包含區塊102b的鏈,如下圖所示。
富達疑似正在考慮收購灰度或申請比特幣現貨ETF:金色財經報道,據Arch Public聯合創始人Andrew Parish稱,管理著4.24萬億美元資產的全球第三大資產管理公司富達可能正在考慮收購Grayscale(灰度)或申請比特幣現貨ETF。
截至發稿時,富達未對此進行進一步評論。[2023/6/19 21:47:46]
101-->102a\\102b-->103-->104
BitcoinCore不會刪除從其對等節點那接收到的任何有效區塊。它永遠存儲在數據庫中的blocks/blk****.dat文件中。但是,軟件不會中繼陳舊區塊。為了接收陳舊區塊,當你的對等節點從不同的鏈視圖向你廣播區塊時,你需要在線。對等節點只會廣播他們從當前活動鏈中看到的那些區塊。因此,你只會擁有在線時收到的陳舊區塊,由于這種可變性,許多節點的比特幣區塊鏈大小就是不同的。
問題2:我試著用bitcoin-core客戶端同步整個區塊鏈,然后這花了我大約9天的時間,結果卻被破壞了,所以我不得不刪除并重新同步。有沒有資源可以通過torrent或常規瀏覽器下載?
chytrik答:如果你用torrent或其它方式下載區塊鏈,但不驗證收到的數據,那么你將無法得知收到的數據是否有效。這意味著你可能會輕易下載到一個被攻擊者惡意更改的區塊鏈,其中可能納入了虛假交易,刪除了合法交易等,這些都是你無法得知的。
這就是為什么bitcoin-core要花費時間來下載和驗證區塊鏈的原因:這是在無需信任的情況下,獲得當前網絡狀態的唯一方法。
主要上市比特幣礦企周四均收跌:金色財經報道,所有主要的上市比特幣礦企周四均收跌,其中Marathon Digital的股價下跌了10.47%。此前一天,該公司在第一季度收益電話會議上宣布凈虧損1300萬美元,盡管今年前三個月比特幣產量“創紀錄”增長了1259枚。
Riot Blockchain在凌晨宣布正在為其位于德克薩斯州的新旗艦挖礦設施供電,并預計下周開始挖礦后,其股價上漲了約10%,但最終回落,當天收盤時下跌0.83%。(The Block)[2022/5/6 2:53:29]
請注意,bitcoin-core在下載鏈數據時最有效,如果你下載一個區塊鏈的torrent,然后嘗試使用它進行驗證,則需要更長的時間。
我不知道有哪個軟件能比bitcoin-core更有效地執行這些驗證步驟。如果RAM利用率不足,可以嘗試增加-dbcache選項。
問題3:為什么比特幣第620826個區塊比第620825個區塊早一秒誕生?
AndrewChow答:比特幣并沒有要求后一個區塊的時間戳要晚于前一個區塊,唯一的要求是時間戳大于最后11個區塊的時間戳中值。因此,這意味著一個區塊在某個范圍內的時間戳可以低于其父區塊。
而第620826個區塊早于第620825個,是因為礦工沒有完全同步的時鐘,它們的內部時鐘可能略有不同,因此可能會延遲幾秒鐘。如果一個礦工真的很幸運,并由于時鐘的不同,而很快找到另一個區塊,那么由于時鐘的不同,他的時鐘可能仍落后于父區塊的時間戳。這可能就是這里發生的事情。
聲音 | 黃金支持者Peter Schiff:比特幣是數字風險,而不是數字黃金:黃金價格本周創下了七年來的新高,達到1670美元/盎司,今年整體上漲了10%,而比特幣目前已跌破9300美元的關鍵支撐位。隨著比特幣的下跌,黃金支持者Peter Schiff稱,比特幣是數字風險,而不是數字黃金。(Bitcoinist)[2020/2/26]
問題4:我能用同樣的錢包運行兩個比特幣節點嗎?
問題具體描述:我們在服務器上有一個比特幣全節點和錢包,問題是我們的大多數錢包很久以前就完成同步了。對于我們來說,似乎此同步任務可能會花費大量時間,而在該時間段內,所有其他請求都將無法訪問比特幣節點,而用戶將無法使用我們的服務器。
我們考慮在單獨的服務器上復制當前的比特幣節點,并在那里同步錢包。完成此過程后,我們會將錢包復制回原始服務器。
這是可行的嗎?或者我們不能在兩個不同的比特幣節點上有相同的錢包?
Ga?per?efarin答:這是可行的,你可以根據需要運行多個具有相同錢包的節點。我想你之所以要這么做,是因為同步過程在另一個節點上會更快嗎?該過程完成后,你必須要復制完整的區塊鏈數據,而不是錢包本身。
你可能需要考慮檢查的瓶頸,可能是硬盤、CPU或某些情況下的互聯網帶寬。
問題5:為什么哈希公鑰實際上對抗量子計算沒有幫助?
問題具體描述:在關于taproot的討論中,有人提到輸出將直接包含公鑰,而不是對它們進行哈希運算。有人說,目前,哈希運算并不能真正對抗量子計算提供幫助,這是為什么?
動態 | 日本房地產公司:比特幣和智能合約可大幅縮短房產交易時間:據btcmanager報道,房地產公司Ruden Holdings宣布在其比特幣和智能合約的試驗中取得了令人鼓舞的結果。該公司在試驗期間觀察到,一個重要好處是,使用比特幣和智能合約將完成交易所需的時間大幅縮短。雖然該模型目前僅在日本進行了測試,但該房地產公司表示,計劃很快在其他加密友好的國家推出該模型。報告顯示,智能合約消除了對手動工作和壞境條件的需求。智能合約和加密支付的使用將有助于交易者,可以縮短談判及得到結論的時間。[2018/9/6]
AndrewChow答:雖然哈希一個公鑰本身確實對抗量子計算提供了幫助,但實際上,只有在“真空”條件下才會是這樣的,公鑰哈希并不是存在于這樣的環境中的,比特幣還有很多其它東西需要考慮。
首先,如果公鑰是經過哈希運算的,那么資金只有在使用前才是受到保護的。一旦使用了P2PKH或P2WPKH輸出,就會公開公鑰。當交易未經確認時,擁有足夠快量子計算機的攻擊者可以計算私鑰并創建沖突的交易,從而將資金發送給自己,而不是預期的接收者。
此外,如果攻擊者是一名礦工,他們可以對每一筆交易都這么做,只需拒絕挖取不向自己發送幣的交易。
雖然這是一個問題,但人們通常認為,這要比直接花比特幣要好,因為他們擁有區塊鏈中的公鑰。雖然這是真的,但是有大量公開公鑰的輸出。
目前有超過550萬BTC的輸出帶有公開的公鑰,它們要么是因為P2PK輸出,要么是因為用戶正在重用地址,因此其公鑰在其他交易中是公開的。因此,如果存在一臺量子計算機,它能夠在合理的時間內為公鑰生成私鑰,則攻擊者能夠獲取的比特幣就是這些。
MIT發文提出三種方法“扳倒”比特幣:4月24日MIT(麻省理工學院)科技評論發表文章“讓我們摧毀比特幣”,指出有三種方法可以使比特幣變得無關緊要。
1.政府收購比特幣,并創建由美聯儲支持加密貨幣Fedcoin,這個區塊鏈將證明金融機構是授權節點而不是對等網絡。
2.Facebook隱性收購比特幣。該項目將要求Facebook為其所有用戶創建一個BTC錢包,并用比特幣對與廣告進行互動的用戶進行獎勵,如果用戶允許Facebook使用電腦權限進行開礦將會享受無廣告的獎勵。Facebook還可通過發行自己的加密貨幣來控制比特幣。
3.為以上兩種情況創建多個新的加密貨幣。文章指出,這種選擇已經在發生,如柯達ICO創建貨幣以用于許可照片。
但比特幣可利用其匿名性的優勢,防止以上情況的發生。然而根據斯諾登泄露的文件,美國國家安全局已經開始嘗試將人們的身份與比特幣地址聯系起來。文章結尾得出的結論是,如果加密國幣被廣泛應用,這將是大眾習慣使然而不是比特幣早期采用者造成的。[2018/4/24]
因此,雖然你的特定輸出可能受到哈希的保護,但這些輸出的值將是0,因為會有數百萬BTC會被盜。哈希真正能做的,只是提供一種錯誤的安全感。
此外,工具和錢包軟件也存在一些問題,它們只是在交易和區塊鏈中以其他方式公開公鑰。沒有現有的工具將公鑰視為私有信息,它們沒有理由這樣做。
涉及公鑰的復雜腳本和合約還存在其他問題,這些腳本并沒有哈希公鑰,此外,這些合約的存在通常是因為并非所有當事方都必須相互信任,在這種情況下,合約中的惡意參與者將知道所涉及的公鑰,并能夠竊取與這些輸出相關的比特幣。現有的公鑰哈希無法防止這種情況。
最后,如果發現存在可以破壞ECDLP的量子計算機,就有可能向后量子密碼體制過渡。如果及時檢測到,但仍然來不及進行適當的升級,所有依賴ECDLP簽名算法的使用都可以通過軟分叉,從而鎖定所有的幣。然后,這些幣可以通過提供一個零知識的證據來證明某些非公開的或抗量子的信息,這些信息會表明私鑰的所有權。
例如,用戶可以提供一個證據,證明他們擁有用于派生給定公鑰對應私鑰的BIP32種子。由于它是零知識證明,種子本身不會公開。由于大多數錢包都使用了BIP32,這就足夠了。或許還有其他方法可以證明所有權,而不必冒著尚未想到的幣風險。
當然,這一切都假設有一臺量子計算機能夠計算出一個公鑰的私鑰,而公眾卻不知道這項技術已經存在。實際更可能的情況是,量子計算機的發展將被觀察到,而且在它們強大到足以打破ECDLP之前的某個時刻,比特幣將軟性地引入一種抗量子簽名算法。最終,依賴于ECDLP的簽名將被刪除。所有這些,都將在量子計算機真正成為威脅之前發生。因此在這種情況下,哈希公鑰無論如何,都不會提供幫助。
請注意,以上所有內容不僅限于量子計算機,它通常適用于ECDSA的任何密碼學破壞。
問題6:如何通過共享相同k值的兩個簽名獲取私鑰?
問題具體描述:為了創建測試,我編寫了自己的ECDSA簽名算法,使用它我創建了兩個簽名,從地址1GXFXm3es....發出,產生交易56ec7ca7df...這些簽名使用了相同的k值。
后來,有人從1GXFXm3es....這個地址偷走了0.0016BTC,并將這筆錢發送到了17WRjamox6VhTUaHsTWfFnMNDYHvwCtWio。
因此,必然有人在監控區塊鏈是否存在此類錯誤,并在遇到此類錯誤時竊取資金。
那如何從共享相同k值的兩個簽名獲取私鑰?
PieterWuille答:ECDSA簽名是對,其中r=(kG).xmodn,以及s=(m+rx)/kmodn,這里面的x是密鑰,k是隨機nonce,而m是信息。
對于同一密鑰有兩個s值s1和s2,并且具有相同的noncek,則可以執行以下操作:
s1=(m1+r*x)/k
s2=(m2+r*x)/k
從中我們可以得出:
s1*k=m1+r*x
s2*k=m2+r*x
*k=m1-m2
k=/
x=/-m1)/r
x=/)
因此,你不僅可以輕松地檢測具有相同隨機數的簽名,而且一旦有人看到兩個簽名,就會有一個簡單的公式來計算私鑰。
至少從2013年起,這種攻擊就已被廣為人知了,也有人在積極利用它,不要重復使用k個值,使用RFC6979確定但安全地生成它們。
還要注意的是,光k值不同還是不夠的,它們也不能以已知的方式關聯在一起,例如,你不能將k值用于一個簽名,然后將k+1用于下一個簽名。
問題7:為什么比特幣選擇Merkle證明,而不選擇RSA累加器,兩者相比有什么優缺點?
PieterWuille答:
1、RSA累加器很難正確實施;2、RSA累加器需要一個可信設置。比特幣的設計通常是為了避免可信方;3、對于128位安全級別,你至少需要3000位RSA模塊,這意味著證明將是3000位。與具有超過12層樹的Merkle路徑相比,這僅僅是一個優點,對于區塊中的交易而言,這意味著超過4096筆交易。通常情況并非如此,即便如此,也只是勉強如此。
問題8:三種比特幣地址類型是否都可以互操作?
問題具體描述:是否可以在所有3種地址類型之間來回發送交易?
或者其中一類不能發送給另一類?
PieterWuille:在協議層面,它們都是兼容的,交易可花費其中任何一類,并發送給其中任何一種。
錢包軟件當然可能會有限制,但這些限制通常與組合無關。
Murch?補充回答:
在比特幣協議中,從任何類型的輸出發送到任何地址類型都沒有限制,但是一些較舊的錢包,可能不支持發送到較新的地址類型。
讓我們更好地了解一下在發送比特幣交易時,具體可能會發生什么:
接收者選擇一個他們想接收資金的地址,這就涉及到一個地址格式,而選擇一種更有效的地址格式,可以節省開支,這符合接收者的利益。
發送者選擇他們想要花費的輸入,輸入腳本是由這些輸出之前接收到的地址類型設置的。然而,發送者被激勵為他們的找零輸出選擇一個有效的地址類型,以節省未來的成本。
然而,較舊的電子錢包軟件可能無法發送到較新的地址類型。具體來說,原生隔離見證地址在2017年3月才獲得地址標準,并不是所有錢包都支持發送到這類地址。在這種情況下,發送者應該提供一個封裝隔離見證地址。所有錢包都應該能夠發送到封裝隔離見證地址,因為它使用了2012年推出的PaytoScriptHash(p2sh,BIP-16)地址標準。
在任何情況下,發送到任何特定地址類型的問題,都是由發送方錢包中缺少功能而導致的,而與使用的輸入類型沒有任何關系。
作者:BinanceResearch 翻譯:子銘 來源:加密谷 編者注:原標題為《BinanceResearch|近期的市場暴跌是如何影響數字貨幣的》 高市值的數字貨幣在2020年第一季度顯示出.
1900/1/1 0:00:00原文標題:10DeFiProjectsToWatchOutForIn2020作者:AriChernoff 譯者:Shirley 對于活著的人來說,這是一個奇怪的時刻.
1900/1/1 0:00:00來源:哈希派 作者:LucyCheng一個普通的電腦硬盤多少錢?大概就是丟了也不至于太心疼的價格吧.
1900/1/1 0:00:00作者:YOGITAKHATRI 翻譯:子銘 來源:加密谷 美國迎來負利率時代,但穩定幣發行方似乎不太擔心。所有排名前五的穩定幣發行人都對TheBlock表示,他們將繼續保持1:1美元錨定.
1900/1/1 0:00:00隨著比特幣持續大幅波動,人們也傾向于從諸多解讀中尋找更可靠的“價值發現”邏輯。作為以數據為基礎的研究機構,ArcaneResearch也從宏觀經濟、交易及鏈上數據等方面,為我們解析了比特幣自“3.
1900/1/1 0:00:00每秒7筆交易,轉賬確認時長1個小時,一筆轉賬手續費360美金,這就是比特幣的“網絡性能”。相比支付寶每秒交易25萬筆交易、零手續費,比特幣相形見絀.
1900/1/1 0:00:00