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