買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > BNB價格 > Info

比特幣:區塊鏈百科:比特幣的UTXO模型_40億比特幣能提現嗎

Author:

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

我們都知道支付寶的轉賬流程:打開APP、輸入轉賬地址或者掃二維碼、輸入轉賬金額、點擊確認并輸入密碼。

比特幣的轉賬流程也是一樣的。但是比特幣和支付寶背后的轉賬原理其實是千差萬別的。

支付寶采用的是賬戶余額模型,比如大白支付寶賬戶有100元,給小黑轉賬80元,大白的賬戶余額會減少80元,變成20元,小黑的賬戶余額由0變成80元,大白和小黑的賬戶都會直接顯示一個余額,這就是賬戶余額模型。

01.UTXO模型簡介

比特幣系統是一個點對點的電子現金系統,UTXO模型和我們的現金支付模型有很多的共同點。大白有兩張面值50元的現金紙幣,想要給小黑80元,需要把這兩張50元的現金給小黑,小黑再找給大白20元,大白和小黑錢包里還有多少錢不會像支付寶那樣直接顯示一個余額,而是需要自己去數一下:錢包里有幾張紙幣以及每張的面額,然后進行加總。我們可以把現金的支付方式看做是UTXO模式的簡化版本。

UTXO模型和現金支付模型的共同點:

①每條UTXO都有對應的面值,就像每張紙幣會有一個面值一樣。

②一條UTXO在交易中必須作為整體被消耗,就像紙幣一樣不可以撕開來使用。

如下圖:左邊的地址是比特幣交易的發起地址,右邊是2個接收地址,其中1個地址跟左邊的發起地址是一樣的,這筆交易的轉賬金額是0.26682745BTC,其中接收者拿到了0.1732608BTC,回到原轉賬地址的是0.09356665BTC。

③UTXO和現金一樣都有最小面值,UTXO最小面值單位是聰,1個BTC=10的8次方聰,也就是1億聰,1聰=0.00000001個BTC。

Mask Network向伊利諾伊大學吉斯商學院的區塊鏈倡議基金捐贈3.3萬枚MASK:金色財經報道,Mask Network宣布已向伊利諾伊大學吉斯商學院的區塊鏈倡議基金捐贈了3.3萬枚MASK(約14萬美元)。Mask Network表示,此次捐贈旨在幫助發展伊利諾伊大學的區塊鏈教育,讓更多學生參與區塊鏈和Web3世界。[2023/2/7 11:51:46]

UTXO模型和現金支付模型的不同點:

①現金支付:找零是收款人做的;

比特幣系統:找零是發起者自己進行設置的。

②現金的面值是固定的,UTXO的面值不固定,而是在發生交易的過程中也隨之改變。

比特幣的UTXO面值是不固定的,如下圖,這是史上第一筆比特幣交易,中本聰轉給哈爾·芬尼10個BTC,這里花費了一條面值為50BTC的UTXO,找零之后得到了面值為40BTC的UTXO。

原本一個面值50的UTXO變成了兩個面值分別為10BTC和40BTC的UTXO,如果中本聰給轉給哈爾·芬尼的是15個BTC,那么面值為50BTC的UTXO就會變成兩個面值分別為35BTC和15BTC的UTXO。

下圖是一個比特幣UTXO集的數據圖,從2009年到2019年這10年之間,UTXO集的數據整體是一個增長的趨勢。

③現金是不可能被雙花的,比特幣有可能雙花。

同一筆比特幣被花費兩次甚至多次的情況就叫做雙花。比特幣它作為一種虛擬貨幣是沒有實體的,它的本質是數據,有可能把一筆同樣的比特幣花費兩次。

UTXO是UnspendTransactionOutput,即未消費的交易輸出,每一筆比特幣的交易都會有輸入和輸出。

當大白轉賬80元給小黑的時候,這80元對大白來說是一筆交易的輸出,叫transactionoutput,對于小黑來講這是一筆交易收入transactioninput,如果后面某個時候小黑把這80元又花出去了,那么這80元對于小黑來講也變成了交易輸出,而在小黑還沒有把這錢花出去之前,它就是一筆還沒有被花費掉的交易輸出,transaction的縮寫是tx,所以UnspendTransactionOutput就是UTXO。

聲音 | 中國人民大學楊東:應重視區塊鏈等新興技術帶來的制度革新:金色財經報道,?中國人民大學未來法治研究院金融科技研究中心主任楊東在接受采訪時表示,為保護金融消費個人信息和數據安全,防范金融類App對個人隱私安全的侵犯,可采取以下6條措施:首先,明確信息保護范圍。其次,確定信息收集的方式,為直接收集方式或協議收集方式。第三,規定信息權人所享有的具體權利。第四,嚴格把控信息應用環節。第五,完善信息權受傷害時的救濟制度。第六,重視區塊鏈等新興技術帶來的制度革新。[2020/1/18]

我們看一下鏈上數據是什么樣的?如下圖:

其中右上方的confirmation就是確認的意思,它這里顯示6+,也就是說這筆交易被確認的交易區塊數已經超過了6個,通常一筆交易它被確認的區塊數超過6個的時候,就認為這筆交易已經是一個完成的狀態,并且不可逆了。

什么意思呢?先來解釋一下這個確認的區塊數,當一筆交易被放進一個區塊里面,增加到區塊鏈上最新的那個塊的時候,這個時候的區塊確認數是1,然后后面不斷的會有新的區塊增加上來,得到的區塊確認數就會變成2、3、4、5、6......這樣子不斷的去增加,當它后面跟著的區塊是5個,也就是說這筆交易得到的區塊確認數是6的時候,我們就認為這筆交易不可能再逆轉了。6+的旁邊還有個鎖的標志,當這個區塊的確認數達到6以及以上的時候,這個鎖就會變成鎖上的樣子。

02.找零機制

中本聰有一個面值為50的UTXO,轉給哈爾·芬尼10個BTC,除了要寫哈爾·芬尼這個收款人的地址,還要寫找零地址,說明多出來的40個BTC想放到哪個比特幣地址,可以是原來發起轉賬的地址,也可以是其他的比特幣地址,必須得寫一個找零地址,告訴礦工:剩下的40個BTC是想放在哪里的?

因此右邊的交易收款方的地址有兩個,一個是哈爾·芬尼的地址,一個就是中本聰的地址,中本聰設置的找零地址就是發起交易的這個地址,但是通常呢找零地址是不會和原交易發起地址相同的,這是出于隱私保護的考慮。

聲音 | 農行浙江省分行徐振宇:區塊鏈可解決供應鏈融資確權困難的問題:金色財經報道,農行浙江省分行公司業務部資深專員徐振宇表示,在傳統供應鏈金融業務中,最大的難點在于確權。區塊鏈是一個很好的解決方案。“區塊鏈是一個去中心化的分布式記賬系統,有很多的記賬節點,不可篡改,這樣的特性在一些支付、流轉、追溯的場景應用比較合適。”[2019/11/22]

我們知道比特幣是一個公開的大賬本,所以如果總是用單一的地址進行交易的話,就容易有隱私泄露的危險,比如說別人一查這個地址,就可以看到地址上所有的比特幣余額,知道你的具體資產有多少。因此呢,出于隱私保護的考慮,建議大家在使用比特幣進行交易的時候,一定每一次都要使用新的地址。這樣別人無法看到你擁有的其他比特幣地址里面有多少錢,以及你用它們做了什么交易。

上圖中的比特幣就是中本聰的一個地址,它里面一共發生了45筆交易,大約還有18個比特幣,但是這只是他其中一個地址,他手里究竟有多少比特幣,我們是沒有一個精確的數據的。據說中本聰擁有100萬個比特幣,也是通過其他的一些信息模模糊糊推斷出來的,并不能完全肯定,因為中本聰不可能總是使用同一個比特幣地址。

大家看上圖的上面部分,這三個地址沒有一個是一樣的,那當找零地址與發起交易地址不同的時候,收款方這兩個地址哪個才是找零地址呢?答案是:不知道,你沒有辦法知道,他是轉賬了0.29個BTC,找零37.208506個BTC,還是轉賬了37.208506個BTC,找零0.29個BTC。在blockchain這個瀏覽器上,你可以看到它對這筆交易中到底哪個才是轉賬的比特幣做了一個預計,叫做estimatedbtctransacted,估計0.29個BTC是轉賬的金額。

如果交易的時候不寫找零地址,剩下的錢會被系統默認為全部歸屬于礦工,全部給礦工當成是幫你打包交易的手續費。如下圖:

上圖中這筆交易的發起者,不知道是因為搞錯了還是什么,我們可以看到這個交易,只有一個收款地址沒有找零地址,所以除了收款地址收到的0.001個BTC之外,剩下的291.2409個BTC全部都變成了礦工的手續費了。

聲音 | 飛馬航空CEO:物聯網、大數據和區塊鏈等技術的融合項目正在籌備中:土耳其飛馬航空(Pegasus Airlines)首席執行官Mehmet Nane表示,自2018年啟動技術改造計劃以來,該公司已取得了一些“全球第一”。Nane指出,更多的項目正在籌備中,包括物聯網、大數據和區塊鏈等技術的融合項目。[2019/9/11]

但是現在的加密貨幣錢包軟件都是非常人性化的,照顧到了一些總是忘記或者壓根就不知道需要設置找零地址的人,會自動幫用戶去生成1個找零地址和手續費,如果你覺得錢包自動設置的手續費太高了,也可以進行下調,或者如果你想要交易被盡快確認的話也可以調高手續費。

04.曠工對UTXO進行校驗

作為礦工,打包前要考慮3個問題:

1、發起交易者的地址里是否有足夠的UTXO

也就是說是否有足夠的比特幣,礦工會查看交易者的UTXO集,曠工可以從這個集合里面去查詢發起者交易的地址當中是否有足夠的余額,如果余額不足,交易無效。

2、發起者的這筆交易使用的比特幣是否是雙花

礦工去查詢區塊鏈賬本上的數據,檢驗這筆交易發起者之前是否已經用這筆比特幣買過其他的東西,如果使用的UTXO已經支付過給別人了,存在雙花的問題,那么這筆交易就不能通過礦工的交易校驗。

3、發起者能否提供合法的私鑰簽名

合法的私鑰簽名用來證實發起者對這個比特幣地址是有控制權的,如果不能提供私鑰簽名,那么礦工就會判定他發行的這筆交易是非法的,不能通過檢驗。

腳本語言在區塊鏈中是一個比較抽象的概念,但也是一個非常重要的功能,我們經常會說比特幣系統是圖靈不完備的,以太坊是圖靈完備的,這其實是在說他們的腳本是否圖靈完備,圖靈完備是對計算機能力的描述,指可以實現所有可編程計算機能夠執行的計算邏輯。

一個圖靈完備的腳本語言可以發揮計算機所有的能力,反之一個圖靈不完備的語言是不能發揮計算機的所有能力的。比如在比特幣系統當中,它的腳本是不圖靈完備的,只能進行比特幣的接收和發送,而以太坊的腳本是圖靈完備的,或者嚴格說起來其實是半圖靈完備的,它除了可以進行以太幣的發送和接收,還可以部署智能合約,實現更多的功能。比特幣的腳本是智能合約的雛形,但它不是圖靈完備的,可是這里要說明一點:不圖靈完備并不意味著就是一個缺陷,因為圖靈完備涉及到的技術非常復雜,容易引發安全漏洞。

動態 | 阿里巴巴提交允許“行政干預”的區塊鏈專利申請:美國專利商標局(USPTO)周四公布的文件顯示,今年3月阿里巴巴集團控股有限公司提交了區塊鏈系統專利申請。該系統允許第三方管理員執行“特殊交易”,如中止智能合同或凍結與非法活動有關的賬戶。專利作者在文件中寫道,雖然區塊鏈技術有許多吸引人的特性,例如,開放性、不可變性和分散性,但它沒有考慮到與在規范的現實環境中實現它相關的某些實際因素。阿里巴巴的研究人員表示,他們擔心標準的智能合約不能為法律機構提供凍結與非法交易有關的用戶賬戶的能力,該專利可以為區塊鏈網絡的行政干預提供便利。[2018/10/5]

比特幣的設計初衷只是想做一個現實生活中的支付貨幣,貨幣的交易和流通安全是第1位的,他想簡簡單單一點,以太坊的創始人“V神”曾經和比特幣的核心開發團隊建議,把腳本變得更豐富一點,但是被拒絕了,所以他之后就創造了腳本語言更加豐富的以太坊。

比特幣的腳本系統是一個先進后出的堆棧模型,什么是堆棧?堆棧也是一個計算機科學里經常使用到的比較抽象的數據類型,堆棧的物體有一個特性,最后一個放進堆棧的物體總是會被最先拿出來。我們可以把堆棧想象成一個箱子,你往箱子里面先是放了一本書,然后放了一個帽子,最后放了一把剪刀,如果要拿出來,順序是剪刀、帽子、書本。

所以最先進入箱子的東西是最后拿出來的,這就是一個先進后出的堆棧模型,或者后進先出的堆棧模型,堆棧中兩個最重要的操作是push和pop,push操作是加入一個元素,pop操作剛好相反,是移走一個元素。

如上圖:大家先看inputscripts輸入腳本,輸入腳本也叫做解鎖腳本。

第1條指令是pushdata,pushdata意思就是說把數據推入堆棧,71是指這條數據大小是71個字節,它是用16進制的格式來表示的。

第2條指令是pushdata,也就是把這33個字節長的數據也推入堆棧。

那么推進去的這些數據到底是什么數字呢?第1條指令推入的數據是私鑰簽名,第2條指令推入的數據是公鑰。現在這個堆棧里面有2層數據,第1層是發起方的私鑰簽名,第2層是發起方的公鑰。

outputscripts

然后我們再來看看outputscripts輸出腳本,輸出腳本也叫做鎖定腳本。

第1條指令是dup,dup是duplicate的縮寫,dup就是把棧頂的數據復制一份。

第2條指令是hash160,也就是把發起方的公鑰進行hash160運算得到公鑰哈希。

第3條指令是pushdata,將后面這20個字節的數據即公鑰哈希值推入堆棧。

驗證交易

到這里所有驗證交易是否合法的信息都已經推入到堆棧了,接下來就可以進行驗證了。

第1步是equalverify,equalverify就是驗證判斷兩樣東西是否相等,在這里也就是需要判斷比較棧頂的兩個數據是否相等。

為什么要做這一步呢?堆棧里面它的第3層的公鑰哈希值是從輸入腳本inputscript里推導出來的,而第4層的公鑰哈希值是從outputscript輸出腳本里面拿出來的,輸出腳本也叫鎖定腳本,鎖定腳本這個公鑰哈希值是地址,是區塊鏈上大家都能查到的,但是輸入腳本的公鑰哈希值是只有擁有對應公鑰的人才可以算得出來的。

前面我們講過,非對稱加密的私鑰和公鑰,私鑰是要自己保存好的,公鑰可以去分享給別人,私鑰到公鑰是一個單向的推導過程,不能反推,但是因為量子計算機的出現,它是一個非常強大的計算機,有可能做到從公鑰反推出來私鑰。

一開始設計的時候,中本聰是直接拿公鑰作為地址的,這是非常不安全的,后來程序員們把公鑰的哈希值進行編碼作為地址,而量子計算機目前還沒有辦法做到直接從地址反推出來私鑰。

因此現在比特幣區塊鏈上,私鑰和公鑰都是大家輕易不會拿出來分享的,如果你想要使用一個地址里的比特幣進行轉賬的話,那么你首先得先提供對應的公鑰,讓曠工可以檢查,你是這個地址的擁有者,因為你有相應的公鑰。第1步的檢查就是把發起者輸入腳本里的哈希值和輸出腳本里的哈希值進行對應,看是否是相同的,如果是相同的,就先通過了第1道檢驗。

接著是第2步檢驗叫checksig,就是利用發起者的公鑰對簽名進行檢查,檢查通過后可以確認這筆交易是本人發起的。

以上就是比特幣的UTXO模型校驗的過程。

04.量子計算機

量子加密是加密技術第7代密碼學技術,它的上一代是RSA加密系統,RSA是現在應用范圍最廣泛的加密手段。比特幣采用的是橢圓曲線ECC算法,單位安全強度是要強于RSA算法的。但無論是ECC還是RSA,這兩種加密算法在量子計算機面前都還不夠強大,很容易會被破解,量子計算機一旦成功,對目前網絡、通訊、通信和銀行上的RSA加密算法會構成威脅。

比特幣系統中的加密算法一共是兩種,一個是橢圓曲線算法,一個是哈希算法,橢圓曲線算法是用于私鑰到公鑰,哈希算法是用于公鑰到地址。私鑰到公鑰的推倒過程原本是不可逆的單向的,公鑰不可能反向推導出私鑰,因為公鑰反推私鑰的工作量非常的大,目前的計算機是無法勝任如此大的工作量的。而最新的量子計算機被認為是可以做到從公鑰反推私鑰的,甚至有人說量子計算機投入使用的時候就是比特幣的終結之日。

最近有很多媒體都在報道谷歌研發的量子計算機取得了不小的進步,谷歌的研究人員表示,谷歌的處理器可以在3分20秒之內完成目前全球排名第一的超級計算機需要1萬年才能完成的計算,按照一位普利茅斯大學教授的估計,量子計算機可以在幾分鐘之內就從公鑰反推出私鑰是什么,而在知道所有私鑰之后就可以擁有對應地址的比特幣的轉賬權利了。

所以比特幣系統沒有直接拿公鑰來作為地址,而是拿公鑰哈希值進行編碼之后作為地址,公鑰到地址之間多的這一步哈希處理就是為了在量子計算機面前多放一個障礙,有了這個哈希函數,目前的量子計算機還無法有效的破解比特幣的私鑰,直接從一個地址去反推私鑰,這是目前量子計算機還無法做到的。

但是UTXO模型里,我們看到了當你在一個地址里面發起一筆轉賬的時候,你的腳本里面就暴露了這個地址對應的公鑰。所以我們在使用比特幣地址的時候,還是建議大家只使用一次性的地址,也就是說這個地址一旦發生過向外的轉賬,你后面就不要再去用它了,你進行轉賬的時候就把你們的錢全部轉出,因為在轉賬的時候,這個公鑰已經暴露在區塊鏈上了,量子計算機已經足夠強大了,它可以做到在幾分鐘之內從公鑰反推私鑰,所以如果一個地址反復的去用,公鑰已經在網絡上暴露了,它是非常的不安全的,我們可以把這些比特幣轉到一個新的還沒有使用過的地址里面,那這個地址它的公鑰是沒有暴露的,暫時還是安全的。

Tags:比特幣BTC區塊鏈比特幣中國官網聯系方式40億比特幣能提現嗎比特幣最新價格行情走勢BTCs是不是黃了btc錢包官網btc短線交易騙局區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現

BNB價格
SEC:比特幣小白說幣:行情末端,輕倉對待 9月30行情分析_區塊鏈技術發展現狀和趨勢

1.李笑來:不做包括區塊鏈在內的任何項目投資但依然看好區塊鏈李笑來剛剛發微博表示,自己不會再做任何項目投資,包括區塊鏈。他還表示,盡管對未來尚且沒有明確的計劃,但自己依然長期看好區塊鏈.

1900/1/1 0:00:00
比特幣價格:幣聰行情:底部在哪里?投資者尋找比特幣、FAANG股票暴跌的答案_比特幣

在周一大屠殺今天整個股票市場的反響,留下其不僅對比特幣價格標志-這跌破5,000$的今年第一次-但在科技股為好.

1900/1/1 0:00:00
比特幣交易所:日本比特幣交易所做好準備迎接10月1日開始的監管_40億比特幣能提現嗎

暴走時評:近日日本監管機構宣布將于10月1日起對該國比特幣交易所實施嚴密監管之后,日本國內比特幣交易所也做好了充分的準備迎接這一持續監督.

1900/1/1 0:00:00
BTC:11.12比特幣行情分析,認清現實,你到底是虧還是賺?_MACBTCs是不是黃了

萬丈高樓平地起,行情拉升或者暴跌,永遠都不會持續的發力,讓人放心的走勢勢必需要相對應的回調、震蕩來將前一階段的單邊基礎夯實,爬山時只有抬起腳步踩在了階梯上,這個山你才爬得安心,目前行情就是如此.

1900/1/1 0:00:00
BTC:彭博分析師:預測比特幣將在2020年繼續攀升,阻力位為10000美元_比特幣

彭博分析師:美國SEC不批準比特幣ETF是因為對基礎市場監管不夠:2月15日消息,彭博資深ETF分析師Eric Balchunas表示.

1900/1/1 0:00:00
加密貨幣:比特幣最新利好消息今天(比特幣現在接近29000美元)_全球十大加密貨幣BTCs是不是黃了

截至2023年第一季度,比特幣(BTC)作為表現最好的資產之一表現出色。隨著美聯儲(Fed)加息后市場不確定性的降低,該加密貨幣目前有望突破29,000美元的水平.

1900/1/1 0:00:00
ads