以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > FIL > Info

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

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合法性的。

美國法官合并三起針對Silvergate Bank的訴訟:金色財經報道,美國加州北區地方法院法官Jacqueline Scott Corley裁定將投資者對加密友好銀行Silvergate Bank的三起訴訟合并,三起案件均指控Silvergate協助并教唆加密交易所FTX欺詐投資者的行為,包括處理FTX客戶資金向Alameda Research的非法轉移。Matson Magleby、Golam Sakline、Nicole Keane和Sonam Bhatia在2月份提起了這三起訴訟。(Cointelegraph)[2023/4/20 14:15:44]

腳本執行過程如圖所示,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——后中本聰時代的重大創新

Ripple政策主管反駁SEC主席觀點:加密貨幣與證券不同,一刀切的方法不可行:4月8日消息,在最近的一篇推文中,美國證券交易委員會(SEC)主席Gary Gensler表示,加密市場與證券法沒有任何不兼容之處。他強調,SEC的目標是使加密領域符合這一立法,確保數字資產的投資者獲得與其他市場相同的保護。

然而,Ripple的政策主管Susan Friedman表示,Gensler的聲明中存在一個關鍵缺陷。他指出,與證券不同,加密貨幣通常不涉及對要約人的財務索賠,并且可以在沒有中介的情況下實時結算。她認為,這種差異需要具體的規則,而不是千篇一律的保證,即一刀切的方法是正確的運作方式。(U.Today)[2023/4/8 13:51:08]

中本聰設計了一個這么強大的腳本系統,只用來構造轉賬交易似乎太浪費了,我們試試用其他指令構造一些特別的鎖定腳本,并使用其他方式來解鎖。例如我們可以構造一個用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開啟保險箱的鑰匙形狀雖然可以被復制,但是這把鑰匙內置了芯片,芯片中可以包含各種高級約束條件,保證鑰匙不會被越權濫用。保險箱會在校驗完形狀后,會執行鑰匙芯片內的程序查有效性,只有兩個檢查都通過才能開啟保險箱。被鎖死的幣是否有挽回可能

以太坊合并前的最后一個區塊被用于鑄造NFT項目Vanity Blocks中的“The Last POW Block”:9月15日消息,以太坊在合并前的最后一個區塊(區塊高度15537393)僅包含一筆交易,該交易用于鑄造NFT項目VanityBlocks中的“The Last POW Block”,成本約為30ETH(48618美元)。該NFT在OpenSea上一小時前出價為10ETH。[2022/9/15 6:58:47]

再回到開頭的那個問題,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包裹技術,并且最大限度地利用區塊容量。對三個問題的回復

Klaytn基金會推出Web3黑客馬拉松:金色財經報道,Klaytn基金會宣布推出他們的全球黑客馬拉松,Klaymakers22,超過100萬美元的獎金池和贊助的挑戰獎、資助和孵化機會。[2022/8/10 12:15:25]

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

哈薩克斯坦總統簽署法案,對加密礦工征收更高的稅率:7月13日消息,哈薩克斯坦總統Kazakhstan Kassym-Jomart Tokayev已簽署一項法案,修改該國的稅法,對加密挖礦者征收更高的稅率。征稅金額將取決于進行比特幣等數字貨幣挖礦時使用的電量和平均電價。(Bitcoin.com)[2022/7/13 2:10:16]

Tags:比特幣HASHASHBOB比特幣糖果有前景嗎Ulgen Hash Powerkcash幣有沒有可能漲到10元Bobcoin

FIL
精華 | 路在腳下 —— Jan 的柏林區塊鏈周小記_ETH:olbercoin

編者按:本文來自Nervos,作者:Jan,星球日報經授權發布。之前收到1kx的邀請,希望NervosNetwork可以去參加9月5號到11號在德國首都柏林的blockchainweek.

1900/1/1 0:00:00
Bitfinex 回應“破產”傳聞的方式,是曬了存有 16 億美元的數字貨幣錢包_BIT:bitfinex

10月6日,幣圈自媒體ProofofResearch在Medium上發布文章稱“數字貨幣交易所Bitfinex已喪失償還能力,警告讀者盡快取回存在該所的資產”.

1900/1/1 0:00:00
馬云希望,螞蟻區塊鏈能做到這兩點要求_數字貨幣:NDS

區塊鏈自從被吹上風口之后褒貶不一,在ICO的融資功能和交易所的加持下更是亂象叢生。本來一種新技術在初期在容易經歷巨大泡沫。在這種背景下,大公司的入局往往為行業打了一只強心針.

1900/1/1 0:00:00
美國銀行及美林證券將推出比特幣衍生品_區塊鏈:DisCas Vision

加密貨幣產品今年以來,一直受銀行巨頭們的關注;雖然近期市場較為低迷,比特幣市值腰斬,但依然得到金融機構的看好。昨天早些時候,有媒體報道美國銀行正在開發比特幣交易產品.

1900/1/1 0:00:00
一文讀懂閃電網絡如何工作_MOL:比特幣

本文來自BFTF技術社區聯盟,作者:BFTF技術社區聯盟,編譯:方圓,星球日報經授權發布。導讀:閃電網絡是用來解決比特幣網絡擁塞問題而提出的比特幣網絡改進方案.

1900/1/1 0:00:00
趙長鵬舌戰 V 神,究竟加密幣市值還能不能再翻 1000 倍?_數字貨幣:FTX

挑頭的是趙長鵬。9月11日早上,趙長鵬推特的晨醒一更帶著些“火藥味”。推特內容是回應9月8日V神在接受彭博采訪時說的一個觀點——“區塊鏈行業爆炸式增長將難以為繼”.

1900/1/1 0:00:00
ads