買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > MATIC > Info

BOB:是誰控制了比特幣,是你?還是錢包?BTC地址與交易原理大剖析_比特幣

Author:

Time:1900/1/1 0:00:00

編者按:本文來自安比實驗室,作者:安比實驗室,星球日報經授權發布。回到這一節的問題:為什么說比特幣從未實現真正意義上的轉賬功能。答案很簡單,因為比特幣系統中根本就不存在賬戶的概念,賬戶之間的轉賬也無從談起。一個人能在未來打開多少個保險箱,也是未知數。通過上面的解釋,我們可知:當pywallet開源庫誤將1-地址識別為3-地址時,就好像將原本的1-類保險箱改造成了3-類保險箱,而賬戶持有者還是拿著1-類保險箱的鑰匙去解鎖,那么自然無法打開保險箱。那么之前zer0to0ne發現的被誤鎖住的OmniLayer數字資產是否能恢復?是否存在一種可能性,采用1-地址的鑰匙去開啟3-保險箱?zer0to0ne接著向我們詳細解釋了兩個重要概念P2PKH與P2SH的來龍去脈。這兩個名詞分別代表了兩種不同的比特幣交易類型。下面是zer0to0ne的精彩技術細節分析P2PKH——中本聰的偉大發明

PaytoPublicKeyHash顧名思義,是將比特幣放入一個保險箱,鑰匙孔為公鑰Hash。我們最常見到的1-地址本質上就是PublicKeyHash的一種編碼。1-地址的生成過程也很簡單,將公鑰經過Hash160運算得到PublicKeyHash,在PublicKeyHash頭部補上前綴0x00,Hash尾部補上校驗和,經過Base58便得到了1開頭的比特幣地址。Base58(0x00+<PublicKeyHash>+Checksum)我們來看看P2PKH交易類型的保險箱構造過程,Alice發送比特幣給Bob為例:付款方Alice在構造保險箱的時候需要設置一個鎖定腳本:OP_DUPOP_HASH160(Bob收款地址蘊含的PublicKeyHash)OP_EQUALVERIFYOP_CHECKSIG注:我們可以把這一步理解為Alice為Bob定制了一個保險箱,把比特幣放入保險箱并用Bob的公鑰PubKeyHash上鎖。現在這把鎖除了持有私鑰的Bob,誰都無法打開。當Bob需要花費Alice給他的比特幣時,需要提供必要的參數:交易簽名+公鑰來開啟保險箱,使得鎖定腳本執行后返回True,這一步通常由錢包自動完成。我們來看看比特幣節點是如何校驗scriptSig合法性的。

PeckShield:黑客在6月竊取了價值約227萬美元的NFT,較上月下降23%:金色財經報道,PeckShield分析表示,黑客在6月竊取了價值約227萬美元的NFT。較上月下降23%,上月為295萬美元。這可以歸因于底價下降。一半被盜NFT在盜竊發生后的三個小時內立即在各個市場上出售。Blur等著名NFT市場成為熱點,近86%的非法資金被出售,其次是OpenSea,占13.76%。

與此同時,Bored Ape Yacht Club (BAYC)、Otherdeed、Mutant Ape Yacht Club、Azuki Elementals以及DeGods等NFT系列的底價均大幅下跌。從數字資產行業的整體表現來看,6月份是今年第二高的月份。黑客通過42次黑客攻擊竊取了超過9200萬美元。[2023/7/4 22:16:21]

腳本執行過程如圖所示,Bob將交易簽名后得到的數據,真正的scriptSig應該為<siglen><sig><pubKeylen><pubKey>,比特幣腳本執行器從PUSH數據開始,PUSH操作會讀取第一個字節獲取將要入棧的數據長度信息,然后持續執行比特幣腳本,直到最后執行完畢檢查執行結果。首先入棧的是<sig>,然后將<PubK>入棧,一次DUP操作將在棧頂復制一份<PubK>,HASH160彈出棧頂的并計算Hash,將結果壓回棧中,之后使用EQUALVERIFY彈出Hash對比是否合相等,如果相等則返回True,不相等便標記交易為無效。執行到這一步,暴露了公鑰,確保了簽名者的身份的正確性,但是黑客或礦工可以通過暴露的公鑰構造出一個新的交易替換原始交易,無法保證安全,那么便需要下一步來保證交易無法偽造。此時棧上還有<PubK>和<sig>,執行CHECKSIG,將校驗數字簽名的正確性,確保了簽名者擁有地址對應的私鑰。數字簽名除了持有私鑰的人,誰也無法偽造,執行至此,一筆比特幣P2PKH交易已經安全地完成了。再解釋一遍:當Bob要花費Alice給他的比特幣時,Bob只有用正確的鑰匙才能打開Alice留給他的保險箱,把錢放入Bob新構造的一個保險箱里。這時候一些聰明的讀者會注意到一個細節:如果Bob取出鑰匙,在還未打開保險箱的時刻,區塊鏈上的任何礦工都能看得見這把鑰匙的形狀,理論上他們是可以立即復制一把鑰匙,把Alice留給Bob的保險箱打開并花掉。真的可以這樣做嗎?顯然中本聰考慮了這個問題,這把鑰匙中的交易簽名是Bob發起的交易的完整簽名。假設Bob要將Alice構造的保險箱中的比特幣裝入一個新的保險箱,這時候Bob出示的鑰匙包含了Charlie的公鑰Hash,礦工雖然可以復制Bob的鑰匙,但是這把鑰匙已經隱藏了下一個新保險箱的關鍵信息,因此礦工無法使用這個復制鑰匙來完成別的動作。P2SH——后中本聰時代的重大創新

國際清算銀行在巴黎和法蘭克福開設創新中心:金色財經報道,國際清算銀行在巴黎和法蘭克福開設了其歐洲中心,重點關注DeFi、批發CBDC、網絡安全和綠色金融。該中心將配備一個多學科的團隊,與該地區的中央銀行合作,調查國際金融體系面臨的一些最緊迫的技術挑戰。[2023/3/29 13:33:14]

中本聰設計了一個這么強大的腳本系統,只用來構造轉賬交易似乎太浪費了,我們試試用其他指令構造一些特別的鎖定腳本,并使用其他方式來解鎖。例如我們可以構造一個用Hash原象來解鎖交易的腳本:OP_HASH160<Hash>OP_EQUAL這個腳本的含義是:當滿足Hash160(Pre-image)==<Hash>這個條件時,便可成功將腳本解鎖。我們繼續通過保險箱的例子來解釋,并給這類保險箱起名為3-類保險箱。現在Alice給Bob的比特幣鎖定在一個由上述Hash160保護的保險箱里,我們姑且稱之為哈希鎖吧。這把鎖依然需要正確的形狀才能開啟,但是安全性卻弱很多,缺少數字簽名機制導致鑰匙隱藏的關鍵信息不會隨著Bob新建的保險箱而變化。任何礦工都能在Bob亮出鑰匙的一瞬間復制出一摸一樣的鑰匙,搶著去開Alice留給Bob的保險箱,將幣轉給另一個人Eve,于是原本屬于Bob的比特幣會被洗劫一空。雖然這個腳本非常不安全,但是它卻有兩個非常神奇的功能:1.交易構造的輸出足夠短,意味著比特幣節點維護的UTXO緩存占用空間將會大大減小2.Pre-image總是在交易被花費時作為input來引用,不會在交易的output側出現,UTXO依然保持精簡,同時可以把手續費負擔轉嫁給接收方。既然所述的輸出腳本好處很多,那我們是否有辦法讓這種交易方式變得安全呢?這就需要講講什么是P2SH了。比特幣核心開發者GavinAdresen提出了一種叫做PaytoScriptHash(P2SH)的技術。P2SH的交易輸出依然是判斷Hash160(Script)==<ScriptHash>,這里Script就是上文中提到的Pre-image但是在判斷完畢后又增加了一個步驟:使用比特幣腳本執行器再次運行Script本身。比特幣開發者為這類交易創建了特殊的地址,用3作為開頭,地址生成規則為:Base58(0x05+<ScriptHash>+Checksum)這樣事情就變得有趣了,在前P2SH時代Script僅僅作為Hash160的原象存在,但是一旦激活了P2SH,Script必須要求是一段有意義、可執行的比特幣腳本。我們可以在Script中加入數字簽名檢查的指令,或者多重簽名檢查功能,甚至智能合約都可以在P2SH的基礎上進行開發,既使用了強大的比特幣腳本,又能讓交易保持精簡。并且由于P2SH交易地址中只存有ScriptHash,相當于保險箱上只有Hash。在交易被成功花費之前,任何人都無法知曉Script內容,很好的保護了隱私。P2SH在2012年4月1日激活,開啟了比特幣的P2SH時代現在全世界的3-類保險箱經過了升級,再也不怕鑰匙被復制了,因為保險箱的鑰匙會內置芯片。升級后的保險箱除了能夠校驗鑰匙形狀,更能讀取鑰匙中內置的芯片的數據,芯片中的內容會影響鑰匙的形狀。Bob制作了一個能夠校驗鑰匙芯片中數字簽名的保險箱,讓Alice把錢放進這個保險箱然后鎖起來。Bob開啟保險箱的鑰匙形狀雖然可以被復制,但是這把鑰匙內置了芯片,芯片中可以包含各種高級約束條件,保證鑰匙不會被越權濫用。保險箱會在校驗完形狀后,會執行鑰匙芯片內的程序查有效性,只有兩個檢查都通過才能開啟保險箱。被鎖死的幣是否有挽回可能

派盾:New Free Dao攻擊者將1200枚BNB轉移至Tornado Cash:金色財經報道,據派盾預警監測,New Free Dao項目攻擊者地址將1200枚BNB(約31萬美元)轉移至Tornado Cash。

據此前報道,NewFreeDAO項目遭受黑客攻擊,損失約4481.3 WBNB(約125萬美元)。[2023/1/10 11:03:31]

再回到開頭的那個問題,zer0to0ne遇到的錢包錯誤鎖死資產的事故,能否采用1-地址的鑰匙去開啟3-保險箱,挽救保險箱中的資產呢?這個問題可以解釋為:Alice按照Bob的要求制作了一個3-類保險箱,但是這個保險箱是被pywallet錯誤修改的,實際上Bob的本意是需要一個1-類保險箱,因為Bob手里只有一個1-類保險箱的鑰匙。當Bob請求Alice把比特幣鎖定到3-類保險箱時,這個保險箱就需要同時校驗鑰匙形狀和鑰匙芯片內容了,但是Bob的1-類保險箱的鑰匙形狀是PublicKey決定的,在保險箱誤變為3-類保險箱后,鑰匙形狀校驗卻沒有改變,也沒有相應的鑰匙芯片內容。Bob嘗試在鑰匙芯片中寫入PublicKey,使得鑰匙形狀和鎖匹配,但是芯片中的PublicKey卻無法被保險箱正確執行,所以Bob可能再也無法將他的比特幣從保險箱中解鎖了。SegWit——全新時代來臨

比特幣開核心發者EricLombrozo,JohnsonLau,PieterWuille提出來了一種全新的概念,隔離見證。這是一種有效緩解比特幣區塊擁堵的技術,并且徹底解決了交易延展性問題。在SegWit升級之前,每一個用完的鑰匙都插在保險箱上,鑰匙占據了一定的體積導致倉庫無法密集堆積這些用完的保險箱,總是要為了露在外面一大截的鑰匙騰空間。那我們想想能不能把鑰匙體積減小,并且用足夠廉價的材料來制作,節約成本。于是便有了隔離見證,它干脆直接把鎖從保險箱上移走,變成一個遠程無線校驗的保險箱,用戶可以把鑰匙統一插在遠離保險箱的地方來遠程開啟對應的保險箱。2017年08月24日,SegWit軟分叉被正式激活,結束了曠日持久的礦工開發者對峙為了兼容3-類保險箱,比特幣開發者使用了一種叫做P2SH-P2WPKH的技術,即通過P2SH來包裹P2WPKH交易,讓P2WPKH交易可以騙過不支持SegWit的老舊節點。還有一種類似P2SH包裹的P2WSH技術,在此不多做介紹。我們先來解釋一下P2WPKH是什么:P2WPKH全稱PaytoWitnessPublicKeyHash,相較于P2PKH,P2WPKH把scriptSig移動到交易外部,節省了占用的區塊空間。為了向前兼容未及時升級的比特幣節點,這個P2SH需要如何構造呢?Bob首先產生一個P2PKH地址,從地址中解析出PubKeyHash,然后構造一個這樣的腳本:Script=0x0014+<PubkeyHash>然后計算Script的Hash160得到ScriptHash,構造出一個3地址:Base58(0x05+<ScriptHash>+Checksum)當Alice把幣鎖定到Bob提供的<ScriptHash>中,意味著Bob需要提供正確的Script才能解鎖。Bob通過構造有效的Script通過了Hash160檢查,即成功的通過了鑰匙形狀檢查,并且鑰匙里的程序也能被保險箱正確解析并執行。細心的讀者應該又發現了問題,這個鑰匙卻少了相關安全性約束,很容易被復制,礦工有機會將交易篡改,把幣轉給Eve。但是升級了SegWit之后,支持SegWit的比特幣節點會在校驗P2SH后再額外地校驗Bob的簽名是否正確,數字簽名作為獨立于交易之外的安全約束,不再占用寶貴的區塊空間。zer0to0ne:SegWit為比特幣擴容做出了貢獻的同時,也同時在保持向前兼容性上面付出了一些代價。在原生SegWit交易被廣泛采用之前,使用了混亂的P2SH兼容技術。如果未來比特幣全部統一到bc1-地址,那么就可以徹底避免使用P2SH包裹技術,并且最大限度地利用區塊容量。對三個問題的回復

Beosin:FTX黑客再次清洗部分被盜資產,約830萬美元:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin EagleEye 安全風險監控、預警與阻斷平臺監測顯示,截止北京時間11月17日11點 , FTX黑客再次清洗部分被盜資產,FTX攻擊事件黑客(鏈上地址被標記為FTX Accounts Drainer)從幣安鏈上通過兌換跨鏈將6868 ETH的資產轉移到以太坊,約830萬美元,Beosin Trace正持續對該黑地址進行監控。[2022/11/17 13:16:04]

比特幣地址有1打頭地址,也有3打頭的地址,你知道這兩者有什么區別嗎?1-地址是用做P2PKH交易的目標地址,而3-地址是用作P2SH,SegWit交易的目標地址。在哪種情況下,地址上的比特幣會被鎖死?假設一個比特幣地址為3-地址,如果世界上沒有人能夠提供一個可以通過Hash160校驗并有效可執行的腳本,那么這個地址上的比特幣會被鎖死。到底是誰擁有比特幣的控制權,是你?還是你在使用的錢包?如果一個比特幣地址為1-地址,那么該地址上的比特幣被鎖在一個1-類保險箱中,擁有私鑰的用戶擁有該地址上的比特幣。這里請注意“擁有私鑰”有兩層含義:自己牢記私鑰,其他人無從知曉。如果一個比特幣地址為3-地址,那么在某個用戶披露一個“解鎖腳本”之前,沒人知道該地址上的比特幣歸屬。因為腳本由錢包來生成的,而用戶只“擁有私鑰”,如果你不知道地址對應的腳本,就相當于交出了地址控制權。腳本的內容才真正決定了比特幣的歸屬。

Magic Eden提議將ApeCoin DAO構建為NFT市場:金色財經報道,NFT市場Magic Eden已向ApeCoin DAO提交了一份提案,旨在為$APE持有者建立一個市場。APE代幣持有者可以以0.75%的交易費購買和出售NFT。該公司表示,我們的目標是改變這一點,ApeCoin DAO市場將大幅削減費用,為ApeCoin提供可持續的效用,并提供一個平臺,社區可以通過該平臺啟動自己的項目和倡議。

Magic Eden提議對每筆交易收取1.5%的費用,對使用ApeCoin進行的所有交易提供0.5%的折扣,并對Bored Ape Yacht Club、Mutant Ape Yacht Club和Bored Ape Kennel Club NFT持有者進行的交易額外提供0.25%的折扣。(the block)[2022/8/10 12:13:43]

Tags:比特幣ASHHASHBOB比特幣走勢圖今年Warp CashHexHashBOBC

MATIC
INB:隱藏在幕后的區塊鏈“鼻祖”,近日又出山了_PKEX幣

提到中本聰,首先想到的是比特幣,還有他關于比特幣的創世論文。一直以來,這位比特幣的發明者都以神秘人的身份存在.

1900/1/1 0:00:00
SIE:門羅幣的環形簽名技術如何提高區塊鏈的隱私性?| 區塊鏈課堂第 50 問_門羅幣

編者按:本文來自哈希派,作者:不碎,星球日報經授權轉載。門羅幣的匿名性主要是由其環形簽名技術實現的.

1900/1/1 0:00:00
TOKE:區塊鏈目前面臨的挑戰有哪些?| 區塊鏈課堂第 70 問_區塊鏈dapp游戲

編者按:本文來自哈希派,作者:LucyCheng,星球日報經授權轉載。現階段,區塊鏈領域的應用項目主要分為兩個方面:一是與區塊鏈技術較為匹配的新商業模式,比如跨境支付、供應鏈金融、產品溯源等等場.

1900/1/1 0:00:00
比特幣:政策周報 | “中國區塊鏈+產業聯盟”在海南正式落地;韓國65個城市計劃推出代幣(9.24-9.28)_加密貨幣未來前景分析

本周,區塊鏈和數字貨幣相關政策利好趨勢明顯。國外方面,多利好消息,有媒體報道,韓國65個城市計劃推出代幣,始興市等城市已開始實行;迪拜在區塊鏈技術應用上也動作不斷,迪拜財政部為政府部門推出基于區.

1900/1/1 0:00:00
COIN:Coindesk 2018 新加坡共識大會:亞洲市場對比特幣期貨需求巨大_COI

唐?威爾遜是華爾街高頻交易公司DRW創始人,他透露亞洲市場的比特幣衍生品交易量幾乎與美國數量相當,而這種情況并沒有發生在其他金融工具交易上.

1900/1/1 0:00:00
聯盟鏈:中國信通院:區塊鏈技術非萬能,目前有五大趨勢四大挑戰_哪個是區塊鏈最核心的內容

2018年5月,習近平總書記在兩院院士大會上的講話中指出,“以人工智能、量子信息、移動通信、物聯網、區塊鏈為代表的新一代信息技術加速突破應用.

1900/1/1 0:00:00
ads