比特幣utxo結構
⑴ 比特幣交易怎麼交易費怎麼算
交易手續費怎麼算,可參考以下內容。
1、一般一個普通的比特幣交易由一個輸入和兩個輸出(交易輸出和變更輸出)組成,約200位元組。如果默認收費是每1000位元組0、0001個比特幣,那麼一個比特幣轉賬的手續費大概是0、001-0、002個比特幣。然而,當單個輸入不足以支付輸出時,就會出現上述多個事務輸入構成未用輸出的問題,進而其數據量會變大。但是,未使用的事務輸出的組成越復雜,需要處理的位元組就越多,處理費用就越高。
2、在比特幣的基礎協議中,沒有規定比特幣交易手續費的具體金額,但要求在地址中輸入的總額不小於總產出,即你錢包中的比特幣總額必須大於轉賬金額和手續費金額之和。這一點很好理解。你只有10塊錢,轉賬10塊錢要收1塊錢手續費,也就是說你要花11塊錢,10-11=-1,所以這筆交易自然不能完成。
3、比特幣交易費用由交易數據大小、交易次數等因素決定。比特幣遵循UTXO模型,每個交易包含若干個交易輸入和交易輸出。事實上,每個未使用的事務輸出的組成取決於您的事務輸入。當您需要將一個比特幣轉移到另一個地址時,在您的交易輸入中可能包含五個0、2比特幣或十個0、1比特幣。
⑵ 比特幣是什麼樣的它們存在哪兒
在物理世界中購買金幣,那麼在區塊鏈這里很不一樣,比特幣並不是存在家中或金庫中,並不存在一個數字文件表示「你的比特幣」。
如果頭腦中參照的是銀行的存款,那麼你可以假設,你的比特幣就「存在」於一個賬本上,我們已經知道了,在數字世界中,價值是賬本中的「記錄」。
不同的是,對比特幣來說,這個賬本不是一家銀行的中心化資料庫,比特幣的賬本是一個分布式賬本,存在於一個去中心化的網路上。任何人都可以接入這個網路,把這個賬本下載下來。但是,只有用你的私鑰才能動用你的地址中的比特幣。
還可以再換一個角度看,你的比特幣在哪兒?按前面說的,比特幣就是 UTXO,那麼比特幣可以被看成是上面的物理世界金幣和銀行存款兩種概念的混合:
一方面,你的比特幣是有一個「物理存在」的——對應著一個數據文件。比特幣以一個交易的UTXO的形式存在著,每個交易都可被看成是一個數據文件。
另一方面,所有這些交易被打包進區塊鏈的區塊中,後一個區塊連著前一個區塊,形成一條鏈,也就是獨特的賬本。這么看,你的比特幣是這個賬本上的記錄。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
⑶ UXTO與余額
區塊鏈入門從使用錢包開始,我們最關注的是錢包的賬戶余額。可看過很多區塊鏈資料以後,一直存在一個疑問,錢包的余額信息存在區塊鏈的什麼位置?一直沒有找到,只有一個相近的概念叫UTXO(Unspent Transaction Output),但看完以後還是對應不上。直到翻遍網上所有關於UXTO的資料,才知道在中本聰設計的比特幣系統中,並沒有餘額這個概念,「比特幣余額」是由比特幣等錢包應用派生出來的產物。錢包的余額是通過與賬戶相關的多個UXTO算出來的。下面且聽我詳細道來。
了解過一點點會計學,我們現在的會計系統絕大部分採用的是一種叫做「借貸記賬法」的方法,賬目分成借方和貸方,每發生一筆業務都要登記兩個以上的科目。
簡單來說,Alice轉賬給Bob 1美元,使用借貸記賬法至少要產生兩條賬目,Alice賬戶減少1美元,Bob賬戶增加1美元。這種記賬法在企業經營、企業審計中有無數的好處。但是這種記賬法也有一個最大的缺點,就是容易產生記賬錯誤和記賬誤差。一筆交易需要登記兩條以上的賬目,本質上記錄的是「交易的結果」,而不是「交易本身」。
中本聰發明了UTXO(Unspent Transaction Output)交易模型,並將其應用到比特幣當中。UTXO是「未花費的交易輸出」,簡單來說就是,每一筆比特幣交易實際上都是由若干個交易輸入和輸出組成的。交易輸入是資金來源,交易輸出是資金去向,每一筆交易都要從交易輸入中花費出去一部分,這一部分就是未花費的交易輸出(UTXO)。每一次的交易輸入都可以追溯到之前的UTXO,直至最初的挖礦所得。
由挖礦所得創建的比特幣交易,是每個區塊中的首個交易,又稱之為coinbase交易,它由礦工創建,沒有上一筆交易輸出。
在比特幣交易中 UTXO 就是基本單位,一個UTXO一旦被創建就不可被繼續分割,它只能當作是下一筆交易的輸入被花費掉,花費後產生新的UTXO,這樣周而復始地實現貨幣的價值轉移。所以我們在比特幣錢包中所看到的賬戶余額,實際上是錢包通過掃描區塊鏈並聚合所有屬於該用戶的UTXO計算得來的。
因此,當我們在說某人擁有1枚比特幣的時候,我們實際上說的是,在當前的區塊鏈記錄中,有若干筆交易的 UTXO 收款地址寫的是這個人的錢包地址,這些UTXO的總和是1個比特幣。
比特幣的UXTO系統遵守兩個規則:
我們以以太賬戶為例,打開 etherscan.io ,選擇BLOCKCHAIN->All Accounts,這樣可以看到所有地址與余額,可以選擇其中一個查看詳細信息。如果看不懂, 沒關系,把自己的以太地址輸入到右上角的搜索框回車後,會顯示地址的余額和詳細交易記錄,如下圖。
至此,我能理解李笑來老師說為什麼他的賬戶沒有餘額,只有UXTO了,O(∩_∩)O哈哈~,內行人不要說外行話嘛。
⑷ 歐易交易手續費
歐易交易手續費是除了法幣交易是免手續費,其他交易方式是需要手續費的,現貨交易也就是幣幣交易的費率為0.15%-0.1%;杠桿借貸費率為0.01%-0.098%;期貨交易費率為0.02%-0.05%。
【拓展資料】
比特幣網路規則內置交易費用結構,取決於系統推薦的(標准)客戶端。
在比特幣的底層協議中,沒有明確規定比特幣交易的手續費具體金額,但要求地址中總輸入不小於總輸出,也就是你錢包中比特幣的總數一定要大於轉賬數額與手續費數額的和。這一點理解起來很簡單,你只有10塊錢,而轉賬10塊錢要收1元手續費,也就是說你要支出11塊錢,10-11=-1.這筆交易自然是無法完成的。
比特幣交易手續費的高低由交易數據的大小和交易次數等因素決定。比特幣遵循的是UTXO模型,每筆交易都包含了若干筆交易輸入和交易輸出。而事實上,每筆未花費交易輸出的組成方式都取決於你的交易輸入,當你需要將1個比特幣轉移到另一個地址時,它可能是由你交易輸入中的5個0.2比特幣組成,也可能是10個0.1比特幣組成。
一般一筆普通比特幣交易是由一個輸入兩個輸出(交易輸出和找零輸出)組成,約200位元組,如果按每1000位元組默認收費0.0001個比特幣計算,那麼一筆比特幣轉賬手續費大約是0.001-0.002個比特幣。但是當單筆輸入不夠用來支付輸出時,就會出現上述的多個交易輸入構成未花費輸出的問題,這時候它的數據量就會變大。而未花費交易輸出的構成越復雜,需要處理的位元組就越多,手續費也就相應越高。
現在的比特幣錢包在進行轉賬時能夠根據網路數據,智能調節手續費為最佳價格。假如你的交易急需確認,也可以通過自定義費用來提高手續費。
⑸ 你怎麼知道買的比特幣是真的呢
我大腦中一直有這樣一個問題:如果拿比特幣當錢的話,我們怎麼知道這個比特幣是真實的呢?就像如何鑒別鈔票的真偽一樣。
雖然說,比特幣從技術上解決了最重要的兩個問題,讓大家對其信任度非常高,如下:
如果確實回憶不起這兩個特點的人可以好好去回顧下之前的課程了,課程鏈接可通過關註上方公眾號,在菜單「基礎課程」那裡可以找到。
但是,這里有個非常關鍵的問題很多人沒搞清楚: 鑒別鈔票真偽的時候我們已經拿到這個鈔票了,但是我們在提「比特幣是否為真的?」這個問題的時候,我們有拿到這個比特幣嗎?
畢竟比特幣是一種虛擬貨幣,是個看不太懂又摸不著的玩意兒,所以把很多人繞得雲里霧里的,甚至都不知道自己買的是不是比特幣,到底有多少比特幣。我沒說錯吧?
比如我在某交易所買了一點比特幣,大家看下交易流水:
這些是比特幣嗎?雖然我們基本知道比特幣是一個採用數學加密演算法產生的虛擬貨幣,是一串字元或者說是一個utxo結構( 參考前期utxo課程 ),那麼上面這「一串字元」是否是我的比特幣呢?
好,仔細想了想,這么多條記錄可能是交易明細之類的東西,這能理解。但是,我的比特幣交易數量在哪裡?我有多少比特幣怎麼看?
我有時候也被交易所給搞糊塗了,比如我只能通過賣出時的數值才知道自己擁有多少比特幣:
看見紅色框框沒,只有在賣出時我才大概知道我有多少比特幣,大部分情況下都是一臉懵逼的表情。
通過上面的截圖,大家可以發現一個很嚴重的問題:
當然,這是我很久前的一個困惑,後來光顧著學習,有些忘記了。在我的處女課《 如何從零入門區塊鏈技術 》里,當然有個人提了這么一個問題: 我怎麼知道自己買的比特幣是真的?
當然只能草草作答,直到今天才得空進行全面展開。
這個問題的關鍵在於:
在上周 數字貨幣投資小密圈 里我對交易所的內容進行了一個闡述,舉一個簡單的例子:
假設你在某交易所的賬號里有5000美元和3個比特幣。你相用580美元/比特幣的價格買兩個比特幣,這時交易所幫你找到交易對手並促成交易。現在,你的賬號里有5個比特幣和3840美元。
值得注意的是,當你在交易所完成上述交易的時候, 區塊鏈上並不會記任何交易。交易所不需要在區塊鏈里把比特幣從一個地址轉到另一個地址。 交易所只是修改了和你的合約,交易前,它說「我們日後會還給你5000美元和3個比特幣。」交易完成後,它說「我們日後會還給你3840美元和5個比特幣。」所以,交易前後,比特幣並沒有真正在區塊鏈中移動,只是你和銀行的合約變化了而已。對於你的交易對手而言,也是如此。
就是說,在我們通過交易所買賣比特幣時,其實我們手裡還什麼都沒有,交易所只是給我們用「筆」記錄了一筆賬而已。
那麼,要想確保自己買到的比特幣沒問題,首要的也是最重要的一點:
如何正規,這里不深入闡述了,在數字貨幣小密圈裡我會深入展開。
但是,購買還只是第一步。而我們絕大部分人,目前也僅停留在這一步,畢竟我們購買的比特幣數目不太多,沒那麼興師動眾的。所以,就這樣把「比特幣」扔在交易所的賬戶里躺著,其實,那些我們能看到的字元只有交易記錄和明文數字,與我們理解的比特幣還差很遠。
由於放得太久,或許有一天,我們都有點遺忘了:這玩意兒是我的比特幣?
如果我們持有「比特幣」數據較多,或者是喜歡鑽研的人,我們就要進行到第二步:提取比特幣。因為只有提取比特幣,交易所才會把剛才第一步記錄的賬進行兌現,將真實的比特幣給你。就如同,平時我們在銀行存的錢只是數字,只有提取的時候,銀行才會把真正的鈔票給我們一樣。
所以為了提取,要麼你自己有一個錢包,要麼你在另外一個交易所有一個收款地址。為了演示,我在OkCoin上注冊了一個,並將比特幣轉到了對應的收款地址上。
雖然,在轉賬完成後,本文第二個圖顯示可用BTC為零了,大致可以確定交易發生後,交易所已經兌現了承諾,將比特幣轉到了我指定的收款地址上。但是,仍然一臉懵逼: 比特幣去哪裡了?我怎麼確認轉賬真的發生了?
同樣地,在OKCoin上我依然只能通過賣出時的可用BTC來確認此次轉賬的發生,僅此而已。前文提的問題,如果驗證它的真偽,這個問題還是沒解決。
到這里,就進入了本文要介紹的關鍵所在,在驗證真偽之前,先要問自己一個問題:
什麼是真的?什麼是假的?
回顧一下,比特幣解決的第一個關鍵問題「貨幣偽造」,是如何做到的?這里需要大家回顧一下以前的基礎課程細節,在關於 utxo那節課 中,提到了比特幣里非常重要的數據結構utxo。
仔細學習後,我們應該知道,「1個比特幣」的概念是不存在的,utxo結構將貨幣從誕生(鑄幣)到花費的所有記錄都連接了起來,從而保證了貨幣無法偽造。關於確認貨幣真偽的問題,最後歸結為:
如何查詢這些信息呢?講了這么多,賣了這么多關子,神秘的面紗就要揭開,也是本文要告訴大家的:
比如,我在提取所有比特幣到OKCoin上後,當時使用的收款地址時:。
於是,我通過blockchain.info進行了查詢,結果如圖:
上面有多筆交易的轉賬記錄,基本展現了一個utxo的面貌,在這里可以查到很多信息,比如:
剛開始進去搜索的時候,可能有些迷茫,但是慢慢結合自己之前的學習,你能發現很多有意思的現象,也能理解得更深入。如果你能看懂一些規律,你或許就能明白了,我之前在一個課程里為什麼說「 比特幣其實不是匿名的 」。
比如上圖,轉給我收款地址的一個地址是: 。這個地址我理解應該是交易所的地址,就是說我在提幣的時候,交易所通過這個地址將指定數目的比特幣轉了出去。
但是,這個地址有故事:
更多信息,請大家自行搜索。
通過本文詳盡的介紹,大家應該知道如何辨別你比特幣的真偽了吧?
如果沒有,請趕緊復習前期基礎課程,來我千聊課程里聽聽我的語音解答也是不錯的選擇喲:
⑹ 數字貨幣里的UTXO什麼意思
UTXO的中文意思叫作:未花費的交易輸出。
UTXO是數字貨幣中的賬戶模型,這個模型和我們現在銀行的賬戶模型是不一樣的。
拿轉賬來說,現在的情況是:
我要給依依轉2000塊錢,我要從我的招商銀行卡裡面給她轉賬,我的卡裡面有5000 塊錢,轉給她2000塊錢以後,我的招商銀行賬戶就被扣除了2000塊錢,還剩下3000塊錢。
那麼如果是基於比特幣的UTXO,情況是這樣的:
我有5000比特幣,我給依依轉2000比特幣,2000比特幣消耗掉了對不對?注意!這2000不是從我這5000總數裡面扣除的,而是:我的比特幣總額會分成兩份(一份
2000,一份3000),這就是所謂「生成兩個新的UTXO」:依依收下2000比特幣,我自己收下3000比特幣,3000算是給我的找零。
轉賬成功以後,我給依依的2000比特幣目前已經使用過了,被消耗掉了,就不能再叫UTXO了,而找零給我的3000比特幣目前我還沒有使用,所以它還能稱作UTXO ,也就是未花費的交易輸出。那麼,如果我總共有5000比特幣,我全部轉給依依,那麼就只需要生成一個新的
UTXO給依依就可以了,不需要找零了。
基於UTXO,每筆交易出現,都要確認比特幣之前的情況,檢驗比特幣是不是存在於我的UTXO中,如果不存在,那麼系統就會拒絕你的交易行為。
這樣一來,每筆交易的輸入和輸出都是有關系的,可以通過UTXO不斷向前追溯,一直追溯到比特幣誕生的時候,也就是挖礦的源頭。
如果我想用同一筆UTXO發送給兩個人,那麼系統只確認先接受到的那一筆,一旦確認UTXO已經被消耗了,那麼你就不可以再把它轉給下一個人,這樣就避免了雙重支付的問題。
既然系統只確認先接受到的那一筆,那麼問題來了,系統怎麼知道誰先誰後呢?系統當然知道,因為系統有一個叫「時間戳」的東西。
⑺ 小巴成長記-比特幣的技術來源
我們經常說比特幣具有去中心化、不可篡改、不可偽造等特點。這是為什麼呢?當然下面的文字其實並沒有看起來那麼嚇人,姑且從三個方面來講講,你也要耐著性子聽聽吧。
1、非對稱加密是比特幣去中心化的來源
中心化是需要一個類似銀行的中心機構來驗證交易的。去中心化本質上是讓所有的節點都能驗證交易的真偽,中本聰用了非對稱加密的技術來解決中心化的問題。
非對稱加密技術是什麼?是指加密和解密的時候使用不同的密鑰的加密演算法。比如:A要向B發送信息,A和B都要產生一對用於加密的公鑰和私鑰顧名思義,私鑰就是不能公開的,公鑰就是要公開的。A發送信息給B時,A就用B的公鑰對信息加密,B收到後,B用B的私鑰解密A的消息,而其他所有收到這個信息的人都無法解密,因為只有B才擁有這個私鑰。
簡單的說,公鑰和私鑰在非對稱加密機制里是成對存在的,公鑰和私鑰可以去相互驗證對方,我們可以把地址理解為公鑰,把簽名輸密碼的過程理解為私鑰的簽名。每個礦工在拿到一筆轉賬交易時,都可以時都可以驗證公鑰和私鑰到底是不是匹配的,如果是匹配的,這筆交易就合法。這樣,我們每個人只需要保管好自己的私鑰,自己的公鑰和對方的公鑰就可以安全地進行轉賬,不需要中心的機構來驗證對方發來的比特幣是不是真的。
2、工作量證明機制是比特幣不可篡改的技術來源
工作量證明 機制,是一種對在差不多時間內發生的事物的先後順序達成共識的一種演算法。監測工作的整個過程通常是效率非常低的,而通過對工作的結果進行認證來證明完成了一定工作的工作量,是一種非常高效的方式。比如我們日常中的各種證 駕駛證 學位證 結婚證就是這樣一種有結果獲悉完成工作量的證明。
工作量證明 的特點,對於執行方來說難度是適中的,對於驗證方來說是非常容易被驗證的。礦工們通過哈希計算,最先算出結果,獲得記賬權,其他節點經過非常簡單的驗證之後,就可以同樣其記賬,並同步賬本。打上時間戳後,緊接著進行下一輪計算。
如果這時候有人想把某個信息進行修改,他需要做什麼呢?他需要從這個區塊開始把之後所有的區塊都重新計算一遍,把賬本再同步給其他人。而在他進行計算的同時,其他礦工們已經在原來的的鏈上繼續往前進行計算了。因為在比特幣的網路里,大家認為最長的鏈才是正確的鏈。所以,這個惡意篡改的人,需要在很短的時間內趕上現有區塊的高度度,讓自己的這條鏈成為最長的鏈,並讓其他礦工誤以為自己的這條鏈是正確的,這基本上是一件不可能的事,除非這個惡意篡改的人擁有超強的算力,至少超過全網的50%。那麼我們來算算,現在全網的算力是8億哈希每秒,也就是每秒進行8乘10的18次方計算,現在市場上流行的主流礦機每台的算力是10T左右,如果你想擁有全網51%的算力,你最少需要40萬台最新礦機,如果按1萬元每台礦機計算,僅設備就需投入40億元人民幣,加上礦機的供不應求,老礦機算力下降,全網算力的不斷上漲等因素,如果不是為了60億以上的利潤回報並有強大的技術做支撐,一般人很難有這個動機和能力。
3、「UTXO」結構是比特幣不可偽造的技術來源
先問個問題,如果我發給你1個比特幣,你怎麼知道這個比特幣是真的而不是我偽造出來的,或者我已經同時轉給了其他人了呢,這就要說到UTXO結構了。
UTXO(Unspend Transaction Output)是個什麼鬼?意思是未花費的交易輸出。來個栗子,假設我要給你100元,其中有兩張張50元紙鈔,一張是隔壁老王給我的,另外一張是小賣部小麗找零給我的,拿到這兩張張鈔票我需要拿在手上並還未花出去時才能交易給你,這就是未花費的交易輸出。而通過這兩張鈔票往前追溯可以知道是誰交給了老王和小麗,並最終追溯到是由哪家銀行發行,什麼時候央行批准發行的源頭,比特幣里也有這樣一個原理。在比特幣世界裡的每一筆轉賬,都能夠追溯到上一筆交易。每一筆付款,都可以追溯到上一筆的收款。一直往上追溯到它誕生時礦工挖出來的那個區塊。
這個機制就保證了在比特幣網路里,比特幣是不可以偽造和重復交易的。在比特幣世界裡,重復支付被叫做「雙花」,就是花費了兩次的意思。
⑻ 怎樣辨別比特幣的真偽
參與投資比特幣的是不是都有過這樣的疑問:「花好幾萬塊去買一個摸不著的一串數字」?「如果是法幣我們可以拿驗鈔機看看,這個可這么看啊」?……這個問題我也是剛系統學習了一下,分成以下三步:
1: 交易渠道 :現在我們買比特幣的基本上是兩個通道:一個是場外交易、一個是交易所。場外交易是要有第三方擔保,對方收到款後,都會釋放到你提供的一個地址上,這個地址可以是交易所地址,可以是錢包地址。交易所交易是在交易所內幣幣交易比特幣,你掛買賣單,很快就成交了,速度非常快;其實交易所在這里也只是起到了一個記賬的作用,可以簡單的理解為在你的賬本上增加了一筆,另外一方減少了一筆,所以說交易過程是非常快的,這個過程區塊鏈上沒有任何交易記錄的,只是交易所從中記賬而已,可以用證券交易所類比。所以說第一先找一個靠譜的交易所或者場外交易渠道是非常重要的!
2.提取交易所的比特幣或者場外交易的時候直接讓對方轉到跡肢雀錢包的地址 ;為飢高什麼要轉到錢包才能確認那?比特幣中有一個非常重要的數據結構utxo(utxo結構就是將貨幣從誕生到花費的所有記錄都連接起來),也就是平時說的可以追溯;也正是utxo結構保證了比特幣不可以偽造的問題。
當你從交易所提取到錢包的時候,交易所就要將交易所的一個地址上的貨幣轉到錢包地址上,這一個姿早過程在區塊鏈上就有了記錄,也就是礦工確認了的記錄。
3.通過區塊鏈瀏覽器查詢關鍵信息,推薦blockchain.info
看看我記錄,我在10.9日把交易所的比特幣轉到錢包,當時的地址是:。通過blockchain.info查詢,結果如下:
上面記錄有非常詳細的時間記錄我在交易所轉入到錢包,又有詳細的時間記錄從錢包轉到交易所;轉賬金額和手續費記錄;確認次數等,這就是一個完整的utxo的記錄。如果你有興趣你可以順著地址查詢到好多內容哦。
通過這幾步就能很快能確認你手中的比特幣是不是真的啦!
⑼ 比特幣現金UTXO集在和BSV分裂以後增長了多少
與鏈上交易相比,BCH網路的UTXO集也在增長。UTXO的增長隨著採用率而增加,目前UTXO的規模自2018年9月以來大幅飆升。
UTXO 是 Unspent Transaction Output 的縮寫,Transaction act發音簡寫為X。UTXO是中本聰最早在比特幣中採用的一個具體的技術方案。在比特幣的設計中,並沒有賬戶概念
⑽ 比特幣一個UTXO交易為什麼要經過6個區塊確認才被認為更改不可逆(或者說幾乎不可逆)
你說的是對的,的確會回滾, 如果的交易不幸被打包到分叉上面了,這個交易很有可能會在主鏈被同步後被取消掉。
至於為什麼要6個確認是因為加大蒙出最優解難度(防止單節點造假)。 一個塊可能還能蒙出一個最優解,6個塊一起蒙出基本上不可能。 跟分叉關系不大