比特币白皮书-价值的组合与分割

Posted 哈希实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比特币白皮书-价值的组合与分割相关的知识,希望对你有一定的参考价值。


上一章,我们讨论了白皮书中的简化的支付确认(Simplified Payment Verification),这一章,我们来介绍比特币白皮书中的价值的组合与分割(Combining and Splitting Value)。

 原文: 

Although it would be possible to handle coins individually, it would be unwieldy to make a separate transaction for every cent in a transfer. To allow value to be split and combined, transactions contain multiple inputs and outputs. Normally there will be either a single input from a larger previous transaction or multiple inputs combining smaller amounts, and at most two outputs: one for the payment, and one returning the change, if any, back to the sender. 

It should be noted that fan-out, where a transaction depends on several transactions, and those transactions depend on many more, is not a problem here. There is never the need to extract a complete standalone copy of a transaction\'s history.

 翻译:

虽然可以单个单个地对电子货币进行处理,但是对于每一枚电子货币单独发起一次交易将是一种笨拙的办法。为了使得价值易于组合与分割,交易被设计为可以纳入多个输入和输出。一般而言是某次价值较大的前次交易构成的单一输入,或者由某几个价值较小的前次交易共同构成的并行输入,但是输出最多只有两个:一个用于支付,另一个用于找零(如有)。 

需要指出的是,当一笔交易依赖于之前的多笔交易时,这些交易又各自依赖于多笔交易,但这并不存在任何问题。因为这个工作机制并不需要展开检验之前发生的所有交易历史。

在这一部分中描述文字不多,也比较好理解,它其实是讲述了比特币网络中UTXO模型


 01   绕不开的UTXO

UTXO(UnspentTransactionOutput),指的是未花费的交易输出,我们可以理解成未被花费的状态。


在传统的交易中,账户余额是由中心化机构记录在数据库中,数据库中记录着不同的账户的余额,而在UTXO模型中记录的则是交易的过程


比如在银行,A账户有10元,B账户有20元,A转给B 3元,A还剩下7元,B还剩下23元,这里显示的是结果。



而在UTXO模型中是怎样体现交易过程的呢?


比如A有10个BTC,B有20个BTC,A要转给B 3个BTC,过程是这样的:

1)A会转3个BTC给B

2)A会7个BTC给A

是的,我没有写错,A不但给B转了,A也给自己转了一次。其中,A最开始的10个BTC,就是未花费的交易输出(因为他未花费,所以才能向B转账)。


因为UTXO是比特币交易里不可拆分的基本单元结构(转账时必须全部花费,多余的转给自己),一个交易中可以有多个输入,代表比特币来源,是前序交易的输出UTXO;可以有多个输出,代表比特币去向,是后序交易的输入UTXO



我们在《比特币白皮书-激励》一章中得知,比特币来源于币基交易,币基交易就像铸币厂一样生产着比特币,并将比特币流入市场。可以说币基交易是所有比特币最初的“未花费输出”UTXO,每笔交易的输入都是来自于上笔关联交易中所得到的“未花费输出”UTXO,而交易输出则意味着比特币的新的所有者拥有了这笔比特币,并且没有花费。


相关的交易形成了一个链条,链头是币基交易,所有的比特币都来源于前N笔交易的UTXO,它们就像接龙一样,一个接着一个,完成了比特币的流转,而链尾一定是当前未花费的交易输出UTXO



 

 02   继续挖坑

我相信,一定有人和我有着同样的疑问:UTXO模型设计的如此反人类,中本聪为什么要把简单的账户体系设计的这么复杂? 


我曾在某论坛上看到,有人怀疑中本聪不是地球人,因为他的很多设计不符合人类的可读性,可能在他自己的星球这样做是合情合理的。不过,比特币网络从运行之初到现在,没有出现任何问题,说明,UTXO模型在比特币网络上是成功的。
由于这一部分在白皮书中没有过多的描述UTXO,因此我会在后面的章节详细的讲解UTXO,敬请期待。



期待您的点评、分享、关注、在看,您的鼓励是我写作的最大动力!


这一章,我们讨论了白皮书中的价值的组合与分割(Combining and Splitting Value),下一章,我们来介绍比特币白皮书中的隐私(Privacy)。



参考文献:

《Bitcoin: A Peer-to-Peer Electronic Cash System》 

https://bitcoin.org/bitcoin.pdf

《比特币白皮书:一种点对点的电子现金系统》

https://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system

区块链是什么?跟比特币有什么关系?

区块链(blockchain 或 en block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。 中本聪在2008年,于《比特币白皮书》中提出“区块链”概念,并在2009年创立了,开发出第一个区块,即“创世区块”。

区块链共享价值体系首先被众多的加密货币效仿,并在工作量证明上和算法上进行了改进,如采用权益证明和。随后,区块链生态系统在全球不断进化,出现了首次代币发售ICO;智能合约区块链以太坊;“轻所有权、重使用权”的资产代币化共享经济; 和。目前,人们正在利用这一共享价值体系,在各行各业开发去中心化电脑程序(Decentralized applications, Dapp),在全球各地构建和去中心化自主社区(Decentralized autonomous society, DAS)。

比特币(Bitcoin)是区块链的一种应用。

商业组织正在为各种应用开发分布式分类账和其他区块链启发的软件。由于这些软件被中心化机构控制,不具有区块链去中心化的属性,被称为私有链 (private blockchains)、区域链、或者联盟链。因为其应用范围与用分布式数据库处理信息的云端运算相似,2017年6月止,不但没有任何私有链得到认可和使用,而且国际银行界纷纷退出所参与的项目;加拿大中央银行也在2017年5月放弃了国家私有链的开发,主要原因是与中央银行体系格格不入。相反,用现有区块链进行首次代币发售,来开发新型去中心化社区的项目,如雨后春笋般地涌现,得到不同凡响的结果。以下是部分私有链开发项目:

  • 德勤和2016年宣布计划创建一个数字银行ConsenSys计划
  • R3计划连接42家银行分布式分类帐,主要由以太坊, Chain.com, 英特尔IBM牵头
  • Microsoft Visual Studio正在使Ethereum Solidity语言可供应用程序开发人员使用。
  • SafeShare保险提供一项区域链为基础的主打共享经济的保险,由英国保险巨头劳合社承保。
  • 一家瑞士工业联盟, 包括瑞士电信, 苏黎世州银行和瑞士股票交易所, 以柜台买卖为原型的资产交易,基于以太坊科技的区域链。
  • a 2013 company developing blockchain enabled platforms
  • R3区域链联盟
  • 方舟私有链 Arkblockchain 一个比特币并行区域链项目,特别面向供应链、电子商务、物联网、医疗服务、政务等应用开发的高可信任私有链。
  • 美国期货和期权交易所 CME集团于2017年4月11日宣布,正在测试基于区域链的黄金期货平台的正处于最后测试阶段,该区块链是为比特币提供认证的对等网络。

参阅

参考:维基百科 区块链 比特币

以上是关于比特币白皮书-价值的组合与分割的主要内容,如果未能解决你的问题,请参考以下文章

我们来谈谈比特币的未来发展

区块链是什么?跟比特币有什么关系?

[中文] 以太坊(Ethereum )白皮书

如果没有足够了解比特币就别去挖矿

一起学习比特币白皮书--交易--比特币长什么样子?

数字货币与区块链