摘要:本文解釋了比特幣交易的內容,目的和結果。本文底部的信息圖提供了從錢包到區塊鏈的整個比特幣交易流程的全面說明。在文本中使用的任何地方是比特幣交易的縮寫。目的比特幣交易的目的是將一定數量的比特幣的所有權轉移到比特幣地址。
本文解釋了比特幣交易的內容,目的和結果。下面的解釋適用于新手和中級比特幣用戶。
作為加密貨幣用戶,你需要熟悉交易雛形——為了你對這種不斷發展的創新有信心,以及作為理解新興多簽名交易和合約的基礎,這兩者都將在本系列的后期進行探討。這不是純技術文章,解釋將集中在你需要了解的標準比特幣交易——我們通常做的支出交易——并且我們將掩蓋你可以安全忽略的內容。
本文底部的信息圖提供了從錢包到區塊鏈的整個比特幣交易流程的全面說明。
注意:即使是核心開發人員也承認,用于描述交易及其組件的某些語言可能導致人們誤解了實際發生的事情。在下面的解釋中避免了這些誤解。因此,在嘗試盡可能簡單的描述的同時,借助一些圖表,讓我們直接開始。
術語和縮寫的定義Bitcoin:具有大寫B的比特幣指的是協議——代碼,節點,網絡及其對等交互。
bitcoin:用小寫字母b表示貨幣——我們通過比特幣網絡發送和接收的加密貨幣。
tx:在文本中使用的任何地方——是比特幣交易‘Bitcoin transaction的縮寫。
txid:是transaction id的縮寫——這是人和協議引用交易的哈希。
Script:是比特幣協議的腳本系統的名稱,用于處理和驗證交易——腳本是一個聰明的,基于堆棧的指令引擎,它使得從簡單支付到復雜的oracle監督合約的所有交易成為可能。
UTXO:Unspent Transaction Output的縮寫,也稱為“輸出”。
satoshi:1 BTC = 100,000,000 satoshi
什么是比特幣交易?為什么?1.定義
比特幣交易是一個經過簽名的數據,它被廣播到網絡上,如果有效,最終會進入區塊鏈的一個區塊。
2.目的
比特幣交易的目的是將一定數量的比特幣的所有權轉移到比特幣地址。
3.結果
當你發送比特幣時,你的錢包客戶端會創建一個單一的數據結構,即比特幣交易,然后廣播到網絡。網絡上的比特幣節點將中繼和重新廣播交易,如果交易有效,節點將把它包含在他們正在挖掘的塊中。通常,在10-20分鐘內,交易將與區塊鏈中的一個區塊中的其他交易一起被包括在內。此時接收者能夠看到他們錢包中的交易金額。
4.例子
以下是今年早些時候區塊鏈中包含的示例交易:
此標準交易的主要組成部分采用顏色編碼:
交易ID(以黃色突出顯示)
描述符和元數據(藍色花括號在右邊詳細說明)
輸入(粉色區域)
輸出(綠色區域)
比特幣交易輸入和輸出首先,關于交易的四個公理:
我們發送的任何比特幣金額總是發送到一個地址。
我們收到的任何比特幣金額都被鎖定在接收地址——這通常與我們的錢包相關聯。
每當我們花費比特幣時,我們花費的金額將始終來自之前收到的并且目前存在于我們錢包中的資金。
地址接收比特幣,但他們不發送比特幣——比特幣是從錢包發送的。
進入我們錢包的金額并不像實體錢包中的硬幣那樣混亂。收到的金額不會混合,但保持獨立且與錢包收到的確切金額不同。這是一個例子:
示例:
你創建一個全新的錢包,并及時收到三個0.01,0.2和3BTC的金額,如下所示:你將3BTC發送到與錢包相關聯的地址,并由Alice向另一個地址付款。
錢包報告的余額為3.21BTC,但如果你真的看錢包里面,你會看到——不是321,000,000 satoshi(321 mil satoshi),但是三個不同的數量仍然由他們的原始交易組合在一起:0.01,0.2和3BTC。
收到的比特幣金額不會混合,但保持分開,作為發送到錢包的確切金額。上例中的三個金額稱為其原始交易的輸出。
比特幣錢包始終保持輸出分離和獨特。
輸出output是(通過標準交易)發送到比特幣地址的金額,以及解鎖輸出金額的一組規則。在比特幣用語中,輸出稱為“未使用的交易輸出”或UTXO。
可以使用與接收地址相關聯的私鑰解鎖標準交易輸出。地址及其相關的公鑰/私鑰對將在本系列的后面部分介紹。目前,我們只關注總數。
示例:
讓我們考慮一個例子,在你向Bob發送0.15BTC的情況下跟蹤錢。
正如我們所看到的,你的錢包沒有選擇15mil miloshi(0.15 BTC)來自一個無差別的321 mil satoshi組成錢包余額。相反,錢包從錢包中包含的三個現有輸出outputs中選擇一個支出候選者。因此,它選擇(由于各種原因,現在不重要)0.2BTC輸出。錢包將解鎖0.2 BTC輸出并使用全部0.2BTC作為新的0.15 BTC交易的輸入input。0.2BTC輸出在此過程中花費spent。
你的錢包創建的花費交易將向Bob的地址發送0.15BTC——它將作為輸出存放在他的錢包中——等待最終花費。
0.05BTC差額(0.2 BTC輸入減去0.15 BTC輸出)稱為改變change,交易將通過新創建的地址將其發送回你的錢包。0.05 BTC改變的金額將作為新輸出存放在你的錢包中——等待最終花費。所以,現在你錢包里會顯示以下內容:
“等待花費”的三個輸出中的每一個被鎖定到其接收地址,直到選擇它們中的一個或多個作為新花費交易的輸入為止。
在后臺,當選擇UTXO作為新交易的輸入時,不同的錢包客戶端應用不同的邏輯規則。一個理智的錢包策略是盡可能先使用舊的UTXO,但實現方式不同。我們現在并不關注選擇UTXO的方式,因為我們的目標一直是強調我們的錢包收到的金額是分開的和不同的。
比特幣交易如何完成的總結各種收到的金額不會像在實體錢包中那樣混合。相反,在我們花費比特幣時,收到的金額(UTXO)被多帶帶使用(或組合使用)。在創建支出交易時,我們的錢包選擇UTXO(具有足夠的價值以滿足我們想要發送的金額)并且通常創建兩個新輸出:一個用于接收器,一個用于我們收到的更改到錢包。更改成為我們錢包中的全新UTXO,我們發送的金額成為鎖定到收件人地址的UTXO——可能與錢包相關聯,也可能不與錢包相關聯,例如冷存儲。用作支出交易的輸入的原始UTXO將“花費”并永久銷毀。
這是錢包軟件如何處理輸出(UTXO)的介紹。一旦選擇了UTXO用于支出,它就需要與接收它的地址相關聯的私鑰。此私鑰兌換UTXO并允許它成為新支出交易中的輸入。以前的交易輸出被重新用作新交易的輸入的機制是比特幣協議功能的核心——完全符合Satoshi的設計。
建議你瀏覽我們匯智網的各種編程語言的區塊鏈教程和區塊鏈技術博客,深入了解區塊鏈,比特幣,加密貨幣,以太坊,和智能合約。
java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
php以太坊,主要是介紹使用php進行智能合約開發交互,進行賬號創建、交易、轉賬、代幣開發以及過濾器和交易等內容。
java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
C#以太坊,主要講解如何使用C#開發基于.Net的以太坊應用,包括賬戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最后綜合運用各知識點完成一個便簽DApp的開發。
匯智網原創翻譯,轉載請標明出處。這里是原文
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24339.html
摘要:創建比特幣錢包需要一組優秀的程序員。如何使用流行的庫構建自己的比特幣錢包應用程序創建比特幣錢包應用程序的一種方法是依賴現有工具。具有以下功能它允許開發人員使用密碼加密創建比特幣錢包應用程序。 盡管目前加密貨幣市場相當黯淡,但比特幣和其他山寨幣繼續受歡迎。每天都有新的交易者加入市場,希望能夠在下一個價格高漲時獲利。 隨著市場的突飛猛進,開發商也在獲益。新交易者的首要任務是設置比特幣錢包。...
摘要:創建比特幣錢包需要一組優秀的程序員。如何使用流行的庫構建自己的比特幣錢包應用程序創建比特幣錢包應用程序的一種方法是依賴現有工具。具有以下功能它允許開發人員使用密碼加密創建比特幣錢包應用程序。 盡管目前加密貨幣市場相當黯淡,但比特幣和其他山寨幣繼續受歡迎。每天都有新的交易者加入市場,希望能夠在下一個價格高漲時獲利。 隨著市場的突飛猛進,開發商也在獲益。新交易者的首要任務是設置比特幣錢包。...
摘要:書接上回區塊鏈筆記基礎概念掃盲,我們討論了關于比特幣以及區塊鏈的許多基礎概念,可能通過我略帶類比的描述,讓你初步有了一些概念,但是對于一個比特幣到底長什么樣以及如何使用比特幣進行交易可能還不是很清楚,說的直白點就是聽過豬叫,但沒吃過豬肉。 解惑是每個人都在走的一條路,可誰又能解這漫漫無期呢?路上總是麻醉的人多,釋懷的人少。 書接上回區塊鏈筆記(1)基礎概念掃盲,我們討論了關于比特幣以及...
摘要:比特幣的到帳時間是個區塊的高度,約分鐘。請注意,比特幣與的地址是一樣的。 showImg(https://segmentfault.com/img/remote/1460000018378805?w=1200&h=659); 方案一: 通過ExinCore API進行幣幣交易 Exincore 提供了基于Mixin Network的幣幣交易API. 你可以支付USDT給ExinCore...
摘要:比特幣的到帳時間是個區塊的高度,約分鐘。請注意,比特幣與的地址是一樣的。 showImg(https://segmentfault.com/img/remote/1460000018419614?w=1200&h=659); 方案一: 通過ExinCore API進行幣幣交易 Exincore 提供了基于Mixin Network的幣幣交易API. 你可以支付USDT給ExinCore...
閱讀 859·2021-11-19 11:29
閱讀 3353·2021-09-26 10:15
閱讀 2862·2021-09-22 10:02
閱讀 2436·2021-09-02 15:15
閱讀 1975·2019-08-30 15:56
閱讀 2413·2019-08-30 15:54
閱讀 2911·2019-08-29 16:59
閱讀 639·2019-08-29 16:20