2018-2-6 13:14
来(lái)源(yuán): 区块链老垚(yáo)
这篇文(wén)章主要(yào)和大家(jiā)介绍下比(bǐ)特币的交易过程(chéng)。
比特币底层技术(shù)要点:节(jiē)点 / 交易过程 / 区块 / 区块头 / 区块形成 / 区块分叉(chā)
比(bǐ)特币(bì)是不存在的
比特币不存在与任何地(dì)方,包括你的(de)电脑硬盘或者其他任何存(cún)储设(shè)备。你(nǐ)持有的比特币也(yě)只是拥有比(bǐ)特币的地址。这样的(de)一个地址只(zhī)是充当了一个银行账户,没有(yǒu)任何(hé)一个实物或者(zhě)某个数据文件(jiàn)叫做比特币(bì)。
比特币的所有(yǒu)交易(yì)都(dōu)存放在巨大的账本文件中,这个账本就是区块链。你的“银行账户”(比特币地址)的余额,并不是直接存放在地址中(zhōng),而是计算出(chū)来的。
UTXO是比特币交(jiāo)易的基本单(dān)位(wèi)
先来一(yī)张“比特币之父”中本(běn)聪(cōng)白皮书(shū)里的装逼图
UTXO(Unspent Transaction Outputs)是未(wèi)花费的(de)交易(yì)输出,它是比特(tè)币交易生成及验证的一个核心(xīn)概念。
到(dào)底什么(me)是UTXO?
举例说明基于(yú)账户的(de)支付(fù)系统:
张三(sān)有一(yī)个余额 100 元的账户(hù),李四有(yǒu)一个余额50元的账户。当张三要付给李(lǐ)四20元时(shí),做以下操作:
- 检查张三账(zhàng)户余(yú)额是否充(chōng)足,如(rú)果不足20元(yuán)就终止交易,向张三报“余额不足”
- 在(zài)张三账户里(lǐ)减去20元
- 在李四账户里(lǐ)增加20元
举例说明(míng)UTXO的支付系(xì)统(tǒng):
张三挖到12.5 枚比特币(bì)。过了(le)几天,他(tā)把其中(zhōng) 2.5 枚支(zhī)付(fù)给李四。又(yòu)过了几天,他(tā)和李(lǐ)四各出(chū)资 2.5 比特币凑成 5 比特(tè)币付给(gěi)王五。那么,三人的账户变化(huà)情况使用UTXO记录如(rú)下:
对(duì)比特币的区块链账本来说记(jì)录的只(zhī)是3笔(bǐ)交易记(jì)录。资金来源就是每笔交易的交易输入,资(zī)金去向就是每笔(bǐ)交易的交易输出。每一笔交易都要花费(Spend)一笔输入(rù),产生一笔输出,而其所产生的输出,就是“未花费过(guò)的交易输出”,也就是 UTXO。
被(bèi)斯坦福大学密码学和计算机安全教授 Dan Boneh 评价为“extremely brilliant”的中(zhōng)本聪的三个伟大创新:一个是区块链的设(shè)计,一个是UTXO,一(yī)个是智能合(hé)约。
比特币的私钥
比(bǐ)特币的地址(zhǐ)是随机生成的(de)一串(chuàn)字符串,好像(xiàng)一个透明的存钱罐,谁都可以看到。私(sī)钥(yào)也是一串保密的字符串,犹如一把钥匙,只有(yǒu)持有私钥的人才能打开这个存钱罐。
为(wéi)什么交(jiāo)易需要等待10分钟(zhōng)?
比特币(bì)协议里面设置了挖矿完成的大概时间是10分钟。所以商(shāng)家可能会等到(dào)你的交(jiāo)易所在的区(qū)块被确认之后才会给你发货。但是也(yě)有商家不会让你去等,基于对你的一个信任,相信你不会在交易没(méi)有得(dé)到确(què)认之前有去拿同一笔钱花在别(bié)的地方(fāng)。不过一般这只(zhī)适用于(yú)小额交易。
10分钟是被中本聪设计的(de)时间,考虑计算并(bìng)验证一笔交易后传播(bō)到全部互联网需要(yào)几分钟(zhōng)的时间,为了避免“矿工A和矿工(gōng)B在不知道对方(fāng)都计算出结果(guǒ)的情况下同时发送计算结果”的情况,都假设需要10分钟才可以(yǐ)完成计算(suàn)。
交易过程中的手续费
目(mù)前,很(hěn)多矿工都(dōu)不收手续费。但是随(suí)着(zhe)每次挖矿成功系统奖励给矿工的币不断减少(shǎo),未来肯(kěn)定会有更(gèng)多的矿工(gōng)会收取手续费的。有(yǒu)些钱包可(kě)以让(ràng)你手动设置手续费。交易中那部分没有(yǒu)被对方收(shōu)到(dào),同时也(yě)没有找零回(huí)来的(de)就是手续费。这笔钱最终会被得到(dào)记账权的那个幸运的矿工所得到。
(原标题:一(yī)篇文章(zhāng)读(dú)懂比特(tè)币(bì):区块链底层技术之交易过程)
本(běn)文由 @ 区块链老垚(yáo) 原创发布于(yú)人人都是产品经(jīng)理。未经许可,禁止转载。