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