承载区块链技术的比特币网络如何运作?

承载区块链技术的比特币网络如何运作?

近年来媒体争相报道的数字货币比特币,这些报道给比特币底层技术区块链面向大众提供了很好的催化剂,当然,更多的人停留在“只闻其声,未见其人”状态当中,区块链技术好比是一个标志建筑物,认识该标志的人比比皆是,而知晓该标志深度意义的人占少部分。

比特币,一种能够运作在无组织、无政府机构干涉、用户自治维护网络空间的数字货币,它展示出一种新型金融模式,那么,比特币是如何连接交易者、旷工、节点、比特币网络?如何运行在区块链当中?

首先,在比特币网络中涉及到交易者个人、交易信息、矿工、区块、节点,其工作流程大致分为七个步骤,当然,每一个环节都涉及到不同的交易问题,如POW工作机制、双花问题、扩容问题,下面会进行详细介绍。

1、交易者将自己的交易信息包括交易额、对方钱包地址以及公钥广播至比特币网络。

2、节点开始在网络中搜寻没有进行处理的交易,接受广播信息并且加入至区块当中。

3、旷工进行挖矿,挖矿即是利用硬件CPU、GPU性能对一个数学问题进行解答,该数学问题是通过算法计算出一个满足要求的哈希值。

4、当矿工找到该哈希值后,就向比特币网络中广播已经解决了该数学问题。

5、其它矿工为了由于不清楚该广播的真假,于是将该哈希值进行验证(该哈希值得出很困难,但通过算法验证却很简单),这就是POW(工作量证明)机制,证明自己通过大量计算得出该值。

6、其它矿工验证无误后会选择接受,将该区块加入到主链后面,并且矿工也加入到该区块中进行下一场交易。

7、得出该哈希值的矿工会得到一笔矿工费用-比特币(每四年减少一半)以及交易者所付的一部分交易费用。

优美设计理念

POW(英文全称为Proof of Work)工作量证明机制

最早是一个经济学名词,它是指系统为达到某一目标而设置的度量方法。在1999年,Markus Jakobsson and Ari Juels两人将pow概念引入计算机体系,设计系统用以抵挡拒绝服务攻击和网络爬虫,后来在反垃圾邮件中被广泛使用。其设计理念是一个正常用户写一封邮件是需要一定的时间,而发送垃圾邮件者是无法接受这个等待的时间,如果pow系统能够使垃圾邮件发送者需要更多的时间来发送邮件,就可以增大他们的成本,起到抵挡攻击的作用。

比特币网络是利用硬件设备对逻辑代码进行处理的效能,对数学问题进行大量计算。大量计算能够防止拒绝服务攻击(不断向比特币网络发送请求),因为需要耗费大量的硬件成本,而攻击整个网络的代价远比作为诚实节点维护网络得到比特币的成本高。当然,比特币网络所给的数学问题难度也随着整个网络算力增强而增加,避免一些攻击者提升硬件设施对网络攻击。

51%算力攻击是指某个矿场或者机构在挖矿的规模上,拥有着51%以上的算力,理论上能够改变交易走向,就像上文说的,破坏系统的成本远远高于维护网络正常运行的成本,并且风险极高,即便你掌握了51%算力,也不能保证就一定能比其它诚实节点更快找到解决该数学难题,这属于概率事件。

比特币如何解决双花问题

双花指的是一笔交易可以有两次消费,用传统货币来举例,在支付平台上,用户用一笔余额x向A转账X元,同时向B也转账X元,用户仅仅是消费了X元却转账了两笔,当然,传统支付平台转账速度快,对方收到款项,你的账户也会立刻扣除相应金额,而对于比特币网络中进行交易,由于确定一笔交易需要一定的时间,中间时间空隙造成了可能出现双花问题。

中本聪设计的比特币网络也对此做了一定的预防措施,每笔交易都需要先确认对应比特币之前的状态,如果它之前已经被标记为花掉,那么新的交易会被拒绝;如果先发起一笔交易,在它被确认前,也就是这个时间段的交易还未被记账成区块block时,进行矛盾的第二笔交易,那么在记账时,这些交易会被拒绝。同时,由于涉及到双花攻击,比特币网络会给予一定惩罚机制,一旦发现,那么这笔交易所涉及的比特币会直接扣除,扣除部分将在比特币网络中消失,一旦失败、会让作恶者觉得得不偿失。

理论上,在区块链运行的数字货币不会出现双花问题,至少在比特币上目前没有发生过,但实际上,很多其它数字货币为了尽可能让交易时间缩短,并没有达到足够的确认数就对交易放行,这给予作恶者可趁之机,特别是如今各路数字货币价格呈现指数性增长,巨大的利益驱使下也使得很多黑客想通过技术手段在自己交易钱包中产生更多货币,因为数字货币不会凭空产生,黑客们不可能让钱包数字随意增长,但可以一笔货币,多次消费。

扩容问题

如果按照每笔交易占 250B,平均每十分钟产生一个区块的速度计算,比特币网络理论上每秒最多可以处理 7 笔交易,比特币的交易确认时间过长,比特币的历史上曾经遭遇过几次粉尘攻击,粉尘攻击就是有人制造出大量的小额转账,使得网络中有大量的待确认的交易,导致正常的转账不能够被确认,确认时间被延迟,影响网络的正常运转。

每个区块大小是一兆,大概能容纳一千多条交易信息,对于目前庞大的交易数量已经完全无法满足需求,比特币网络每10分钟产生一个区块,也就是说每10分钟1M大小,一小时6M,一天大概144M,一年能累计52560M,对于分布式记账网络而言,体积会逐渐变得庞大,扩容问题已成为比特币社区最需要解决的问题之一。

截止目前为止,区块链有多种扩容方案被提出,闪电网络、隔离见证、分片处理、Plasma、Casper等,由于涉及内容比较广,这里将不再赘述其运作原理、可行性、优劣势以及目前进展状况,这些扩容方案将在以后单独写篇文章进行介绍,针对于区块链扩容问题一直没有得到实质上的解决方案,权衡优劣各有利弊。

作者:无界TMT
链接:https://www.jianshu.com/p/3b15ad03a820
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

本文由 链码笔记 作者:Vcode 发表,其版权均为 链码笔记 所有,文章内容系作者个人观点,不代表 链码笔记 对观点赞同或支持。如需转载,请注明文章来源。