比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > KuCoin > Info

比特幣:區塊鏈百科:比特幣的UTXO模型

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。

長亭科技張景馳:區塊鏈為自由創業提供了公平透明的環境:金色財經現場報道,9月20日,由金色財經主辦,水橋區塊鏈總冠名的“共為·創業者大會”在廈門舉辦。在主題為《區塊鏈如何推動數字經濟時代的發展》的圓桌對話環節,長亭科技區塊鏈高級安全研究員張景馳表示,區塊鏈可以提供透明的環境,不存在現實生活中信息不對稱的情況,普通人可以更放心的使用區塊鏈技術,對于個體戶或者企業,區塊鏈降低了融資門檻,企業有機會通過區塊鏈讓市場上更多的人了解。所以,它順應了整個潮流,解決了自由創業的問題和現實生活受到限制的矛盾。[2020/9/20]

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。

深交所:說明浩云科技認為兆物信連是“國際領先區塊鏈底層技術服務商”原因及相關依據:浩云科技收到深交所問詢函,要求說明對外投資事項的信息披露是否屬于相關規則規定的應披露事項;說明公司認為兆物信連是“國際領先的區塊鏈底層技術服務商”的原因及相關依據,信息披露是否審慎合理,是否誤導投資者。(財聯社)[2020/3/13]

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

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

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

02.找零機制

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

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

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

聲音 | 社科院工業經濟研究所研究員:為加強對區塊鏈技術的引導和規范,我國應當積極參與相關國際標準的制定工作:中國社會科學院工業經濟研究所副研究員渠慎寧近日表示,由于區塊鏈尚未形成統一的行業標準和技術準則,各機構均基于不同協議和需求來開發各種自成體系的應用。為加強對區塊鏈技術的引導和規范,我國應當積極參與相關國際標準的制定工作,對接國際化標準的開源機構和社區組織,加強國家標準與國際標準之間的交流,不斷提升我國區塊鏈標準體系的國際話語權。必須時刻關注行業的最新動向,圍繞我國優勢產業發展的重點環節,逐步完善區塊鏈技術應用和標準體系。積極培育國內區塊鏈技術開發人才,組織國際區塊鏈技術研討會,在這一行業中發出中國技術的聲音。鼓勵政府、高校、金融科技公司、互聯網公司等合作成立相關研發實驗室,開發與區塊鏈相關的應用程序,建立我國的自主區塊鏈技術聯盟,以此加快行業技術創新的步伐。(光明日報)[2019/12/2]

上圖中的比特幣就是中本聰的一個地址,它里面一共發生了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全部都變成了礦工的手續費了。

動態 | 韓國科技部就本國禁止ICO的現狀咨詢區塊鏈專家:據Cryptonews報道,今日韓國科技部舉行了一次咨詢談話會,就本國禁止ICO的現狀咨詢了國內區塊鏈協會的相關成員。一個匿名區塊鏈協會的成員Per Chosun評論道:“部長要求我就ICO禁令表達我的看法。這似乎顯示了在一定程度上、在允許的范圍內,政府有可能協同努力允許一定的ICO。”[2018/11/6]

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

04.曠工對UTXO進行校驗

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

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

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

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

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

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

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

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

聲音 | 區塊鏈聯合發展組織顧問王彬生:區塊鏈的本質是資產轉移 將促使華爾街消失:今日,2018區塊鏈發展生態峰會在北京國家會議中心召開。區塊鏈聯合發展組織顧問王彬生在演講中表示,區塊鏈核心問題不是技術問題,它就是下一代的互聯網的業態。信息的傳遞成本接近零是這場區塊鏈運動的時代前提,只有信息傳輸價格高就甭提區塊鏈。一個技術能夠引起社會變革,它的門檻必須足夠的低。他還認為,區塊鏈的本質是資產轉移,將促使華爾街消失。[2018/7/19]

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

比特幣的設計初衷只是想做一個現實生活中的支付貨幣,貨幣的交易和流通安全是第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短線交易騙局區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現

KuCoin
EOS:代碼即是法律?中心化權力之爭中應該解決EOS的危機

另一周,另一場涉及圍堵EOS區塊鏈的爭吵。最近由于缺乏權力下放和技術強大的技術而遭受了一輪批評的平臺現在正在經歷一場治理危機.

1900/1/1 0:00:00
比特幣:分析師:比特幣(BTC)可能會在幾個月的累積階段陷入困境

隨著加密市場進入周末交易時段,比特幣已經能夠保持其上行勢頭,并且能夠繼續其向上攀升。雖然BTC最近的價格行動最近一直是積極的,但它可能仍處于積累階段.

1900/1/1 0:00:00
IOTA:IOTA的價格損失有什么治療方法嗎?2019年3月18日IOTA價格分析

2019年3月16日,IOTA的價格達到近0.32美元的高位。自那以來,它一直處于逐漸下降趨勢.

1900/1/1 0:00:00
區塊鏈:科普:股票、通證,誰是未來的趨勢?

一、股權與通證 傳統金融領域是股票、股權的天下,不管是你上市公司還是普通的有限責任公司,權力和利益的劃分都是通過股票的形式;但是在區塊鏈領域,基本上是通證的天下,大部分項目都只發行了通證.

1900/1/1 0:00:00
加密貨幣:越南將在2018年8月前將密碼和數字資產合法化

在全球范圍內,合法化的安全性仍然是一個充滿爭議的話題。雖然日本成功地將加密貨幣合法化了,但沒有其他國家突然覺得需要這樣做。越南是一個計劃在不久的將來完全合法化所有加密貨物的國家.

1900/1/1 0:00:00
聯盟鏈:區塊鏈入門:聯盟鏈是如何運作的,有哪些優缺點?

在10月25日“區塊鏈技術”榮獲行業頂級暖流之后,國家級巨頭和傳統巨頭的進場會越來越迅速。而在互聯網巨頭中,百度、阿里巴巴、騰訊、華為等一直都有相關的聯盟鏈平臺在蓄力建設.

1900/1/1 0:00:00
ads