1. 链一财经首页
  2. 资讯

深度解析区块链(三):“比特币”的价值及其流通

来源:夜里不懂天的白

上期主要从白皮书的层面对比特币系统进行了相关介绍,相信各位读者已经基本了解了比特币的系统作用和设计原理。那么本期我们就来谈谈这个去中心化系统中的交易媒介—“比特币”。看看“比特币”到底是不是真正意义上的货币,而它又是如何流通起来的?

关于比特币(Bitcoin)是不是货币(如果不是那是什么)的争论有很多,社会各界人士也纷纷发表了自己的看法。我总结下来,对比特币的金融属性,目前主要有3种定义:货币、资产和商品。先说货币性,在第一期我们回顾了整个人类文明的货币发展史,得出了货币的4点基本属性,即便于计算、价值共识、高产量、低交换成本。前2点比特币是完全具备的,考虑到比特币虽然只有2100万枚但它可以无限分割的话,高产量也算勉强具备;但是最后一条低交换成本,比特币目前是完全不具备的;原因很简单,支付速度太慢(10分钟打包交易一次),价值波动太大(远超法币的正常波动范围),这导致了很高的交易成本。由此看来比特币应该不属于货币,那么其赞同者是如何找到论据来支撑这个“错误的观点”的呢?这就要提到奥地利经济学派了,在奥地利学派的货币主张中,强调保持货币中性,就是使货币对价格形成和资本化程度不发生影响;同时国家应该放弃货币发行权,恢复自由银行制度,用市场竞争来避免货币超发(通货膨胀)。所以从这一理论出发,比特币是“自由货币”,独立于国家信用货币而存在,是自由市场选择出的交易媒介。该观点的支持者甚少,可以算作少数派观点。

接着我们看下比特币的资产性,资产最显著的特点是可以为持有者生成现金流,从这点来说比特币的涨跌和兑换(法币)是完全符合要求的。而且基于储量恒定、开采难度逐渐变大、稀缺、易分、快速传递等特点,比特币可以起到价值存储的作用,相当于现在的黄金。当然也有反对者进行驳斥,他们的理由是:人们无法对比特币进行价值评估,只能选择定价以及交易,所以比特币不能当作一种资产。这种反驳有一定道理,但是对一种新型资产建立起评估体系是需要时间的,不能以此为理由否认其资产属性。目前市场上的主流观点认为,比特币是一种全球流通的数字资产。

最后说下它的商品性,注意这里我们讨论的是狭义的商品(广义上货币和资产都可算作商品),也就是必须具备使用价值的物品。目前看来比特币除了本身的支付作用外,并无任何其他的使用价值,也不会在交换过程中实现使用价值的转移,所以说它是商品有些过于牵强。当然有不少人用古董进行类比,认为比特币同样具有收藏价值,可以算作收藏品。这也属于少数派观点。

在我看来,比特币因为具有通缩和高交易成本的缺点是肯定不能当作货币的,同时其除了支付外又没有别的使用价值所以也不应该算作商品;综上所述比特币的金融属性更接近对资产的定义,应当被视为一种暂时无法进行价值评估的高风险虚拟资产。目前市场上并没有合理评估比特币价值的方法,个人推测今后应该会以用户数和交易金额为核心参数,逐步推导出比特币的价值模型,作为市场参考。所以各位读者请自行思考清楚,再决定是否要投资比特币吧。

比特币的流通过程

1.png

相信很多读者都对第一笔比特币的来历不甚了解,那么我们就先科普一下整个系统中的第一笔比特币(50个BTC)是如何产生的。2009年中本聪挖出了创世区块(区块高度#0),区块中仅有一笔交易,这是笔特殊交易,称为创币交易或者Coinbase交易(用来奖励记账者)。创币交易特殊之处在于没有交易输入,而是被一个Coinbase数据替代,矿工(记账者)可以在其中随意填充任何数据。交易输出则是指向矿工地址的50枚BTC,这样系统中的第一笔比特币就产生了,并奖励给了中本聪本人。当时金融危机的风波愈演愈烈,于是中本聪在创世区块的Coinbase中写下了这样一句话: “The Times 03/Jan/ 2009 Chancellor on brink of secondbailout for banks”。这句话是泰晤士报当天的头版文章标题,引用这句话,既是对该区块产生时间的说明,也可视为对传统金融体系的一种无声嘲讽,由此宣告了比特币时代的到来。

创世区块启动后,比特币开始在系统中流通起来,接下来我们聊聊比特币具体是如何流通的。简单来说比特币的完整交易过程可以划分为创建交易-广播交易-验证交易-竞争记账-广播区块-验证区块-写入区块链(交易成功)这7个阶段,下面来依次介绍每个阶段的详细过程。

2.png

1.创建交易

用户A(付款者)可在自己的比特币钱包中发起转账,需要输入比特币数量(并写下愿意支付的交易手续费,大多数钱包自动计算并计入交易费)和收款地址(付款地址钱包会自动处理),然后用自己的私钥进行加密签名(签名是为了标识这笔比特币的所有权,其他人只要通过发起者的公钥即可校验真实性),这样一笔交易就创建成功了。这里提下UTXO,它是比特币交易的基本单位,是未经使用的一个交易输出,易于理解的说就像是账户的余额。UTXO不能再分割,1 个UTXO可以是 1“聪” 的任意倍,就像美元可以被分割成“美分”一样,“分”就不可以再分割了。UTXO被记录于区块链中,比特币网络监测着所有可用的UTXO。

3.png

2.广播交易

交易创建成功后需要提交到网络。由于比特币采用的是P2P组网技术,交易会被发送到离得最近(网络距离)一个或多个比特币网络节点,这笔交易将会被该节点验证。如果交易被验证有效,该节点会将这笔交易传播到这个节点所连接的其他节点。网络中的每个节点收到交易信息后都会进行验证,这样能够确保只有合法有效的交易才能在网络中传播,无效的交易将会在第一个验证节点就被废弃。

一笔刚通过验证且并被传递到比特币网络中任意节点的交易会被发送到三到四个相邻节点,而每一个相邻节点又会将交易发送到三至四个与它们相邻的节点。以此类推,在几秒钟之内,一笔有效的交易就会像指数级扩散的波一样在网络中传播,直到所有连接到网络的节点都接收到它。

4.png

3.验证交易

每一个节点在校验每一笔交易时,都需要验证很多数据,主要有交易输入、交易输出、交易签名等。交易验证通过后,每个比特币网络节点会将这些交易添加到自己的内存池中,内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。而挖矿节点除了收集和验证交易以外,还会定期到自己的交易池中把收集到的交易一并取出来(按优先级取出,交易的优先级是由所花费的UTXO“块龄”决定的,输入值高、“块龄”大的交易拥有更高的优先级),将其打包到一个候选的区块中。

4.竞争记账

区块打包完后,矿工就要开始争夺记账权了,也就是我们常说的挖矿。挖矿的目标是找到一个使区块头hash值小于难度目标的Nonce(区块头中存在一个随机数),即POW工作量证明机制(工作量证明的难易程度是由hash值0的个数N来决定的,比特币系统会根据当前整体的运算速率来进行调整N,从而保证平均每10分钟生成一个新的区块)。挖矿节点通常需要尝试数十亿甚至数万亿次的hash运算,才能找到一个满足条件的Nonce值。找到后矿工会立即向全网进行广播,让其余节点进行验证,同时获得记账奖励的BTC(这里存在一个区块成熟时间,指矿工产生一个新区块得到25BTC收益后,要等过了100个块后,才能使用这些币)。

5.png

5.广播区块

矿工提交网络后,新的区块开始P2P网络中传播,每个节点接收到时将对照一个长长的标准清单对该区块进行验证(矿工会暂停挖矿),若没有通过验证,这个区块将被拒绝。通过后将它转发到其余节点,这确保了只有有效的区块会在网络中传播(与广播交易时相同)。

6.验证区块

每个节点接收到新区块后,会立即校验该区块合法性,主要确认三个信息:工作量证明的有效性(Nonce值满足要求)、前一区块的有效性、区块所包含交易的有效性。通过验证后节点会将该区块复制到自己本地区块链上并将其转发出去。

对于挖矿节点而言,会暂停对该区块的hash运算,转而进行验证,验证通过之后会检查自己打包区块(同一区块高度)中的全部交易,并在交易池中移除该区块已经存在的交易,确保交易池中的交易都是未确认的,然后去竞争下一区块的打包权。

7.写入区块链

由于区块可能在不同时间到达不同节点,导致节点之间会有不同的区块链视角。当有两个候选区块同时想要延长最长区块链时,分叉事件就会发生。正常情况下,分叉发生在两名矿工在较短的时间内,各自都算得了工作量证明解的时候。两个矿工在各自的候选区块一发现解,便立即传播自己的“获胜”区块到网络中,先是传播给邻近的节点而后传播到整个网络。每个收到有效区块的节点都会将其并入并延长区块链。如果该节点在随后又收到了另一个候选区块,而这个区块又拥有同样父区块,那么节点会将这个区块连接到候选链上。其结果是,一些节点收到了一个候选区块,而另一些节点收到了另一个候选区块,这时两个不同版本的区块链就出现了。解决的办法是,每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就是最长的或最大累计难度的链。

比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。

6.png

比特币的相关内容就说到这里了,相信大家已经对比特币有了自己独到的认识。那么从下期开始我将带领大家进入区块链的世界,揭开这个“超级颠覆者”神秘的面纱。

根据国家《关于防范代币发行融资风险的公告》,大家应警惕代币发行融资与交易的风险隐患。

本文来自LIANYI转载,不代表链一财经立场,转载请联系原作者。

发表评论

登录后才能评论

联系我们

微信:kkyves

邮件:kefu@lianyi.com

时间:7x24,节假日bu休息

QR code