我记得在2018年两会上,各个代表对于区块链的讨论如火如荼,区块链正在成为各行各业的最热话题之一,吸引更多的人关注这一领域。那么问题来了,区块链和比特币到底是什么关系?
比特币虚拟货币2009年由中本聪发明,至今已9年。而区块链是比特币的底层技术,实际上就是它支持了比特币9年来的稳定性。区块链可以简单地理解为一种颠覆性的记账方法或数据库,核心是去中心化。与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并且使用密码学的设计来确保货币流通各个环节的安全性。
这就突破了传统货币的中心点问题,我们都知道,无论是法定货币还是代币,都有特定的机构记账、审核、控制,都有中心点。区块链为比特币而生,但比特币仅仅是区块链众多应用中的一个。
区块链具有“去中心化”的特性,它的记账由全球参与的计算机来完成,只要有一笔交易产生,就会自动同步到全球参与的所有计算机当中。所以每个人手里都有一本正确的账本,不可修改(因为修改也没用,连上服务器一校对就知道你的账本是错的,除非你有能力黑掉全球51%的计算机),数量也是固定的。这解决了传统货币超发、通胀等问题,因此,区块链技术颠覆了传统金融瓶颈。
区块链记录哪些信息?
区块链是比特币网络的大账本,每个区块相当于账本中的一页。那么“账本”内记载了哪些信息呢?目前,比特币的每个区块内主要记载了区块头、交易详情、交易计数器和区块大小等数据。
“区块头”内包含了除交易信息外的所有信息,主要包括上一区块头哈希值:用于保证区块按顺序串联;时间戳:记录该区块的生成时间;随机数:全网矿工一起PK的算术题答案;难度目标:该算术题的难度系数打分。
“交易详情”详细记载了每笔交易的转出方、收入方、金额及转出方的数字签名,是每个区块内的主要内容。
“交易计数器”表述每个区块中包含交易的数量。
“区块大小”表示每个区块数据的大小,当前每个区块限定在1MB以内,不排除以后有扩大的可能。
时间戳是什么?
时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。通俗地讲,时间戳是能够表示一份数据在一个特定时间点已经存在的完整可验证的数据。区块链通过时间戳保证每个区块依次顺序相连。时间戳使区块链上每一笔数据都具有时间标记。
简单来说,时间戳证明了区块链上什么时候发生了什么事情,并且任何人无法篡改。
时间戳的用处是什么?
时间戳在区块链中扮演公证人的角色,而且比传统的公证制度更可信,因为区块链上记录的信息无法被任何人以任何方式修改。因为运用了时间戳,所以区块链技术很适用于知识产权保护等领域。假如你写了一篇论文,在发布之前想找行业专家指点一下,但是你担心专家直接用他的名义发表。这时候,你只需先将论文保存在链上便可以轻松证明版权了。
比特币和Q币有哪些不同点?
比特币是一种去中心化的数字资产,没有发行主体。Q 币是由腾讯公司发行的电子货币,类似于电子积分,其实不是货币。
Q币需要有中心化的发行机构,因为腾讯公司的信用背书才被认可和使用,使用范围也局限在腾讯公司的游戏和服务中。Q币的价值完全基于人们对腾讯公司的信任。
比特币不通过中心化机构发行,但却能够得到全球的广泛认可,因为比特币可以自证其信。比特币的发行和流通由全网矿工共同记账,不需要中心机构也能确保任何人都无法窜改账本。
区块链扩容是什么?
在比特币诞生之初,比特币的创始人中本聪并没有特意限制区块的大小,区块最大可以达到32MB。
当时,平均每个区块大小为1KB~2KB,有人认为区块链上限过高容易造成计算资源的浪费,还容易发生DDOS攻击。因此,为了保证比特币系统的安全和稳定,中本聪决定临时将区块大小限制在1MB。
那时的比特币用户数量少,交易量也没有那么大,不会造成区块拥堵。自2013年至今,比特币价格直线飙升,用户越来越多,比特币网络拥堵、交易费用上升的问题逐渐涌现出来。
比特币社区开始探索如何给比特币扩容,即通过修改比特币底层代码,达到提高交易处理能力的目的。
比特币分叉是什么?好像还有硬分叉和软分叉的说法?我分不清楚。
大家知道,区块链是链式结构,每个块和上一个块首尾相连。由于同一时间内只有最先算出这个块哈希值的矿工才有记账权,即可以把自己的账本挂到主链,因此一般情况下同一时间只出一个块。如果同时出了两个块,矿工把交易信息相同但签名不同的块都挂在主链上,这就形成了分叉。比如,矿工老张和小张同时把自己的块记在了主链上,这就是分叉。
如果形成分叉,怎么办呢?
不要紧。通常情况下,后面的矿工会选择1个块继续记账,时间长了会有1条链变得很长,成为新的主链,剩下的那条链就自动废弃了。
以上图为例,按照这样的情形发展下去,老张记账的那个块延伸出的链会成为新的主链,小张记账的那个块就会废弃。
如果小张记账的那个块的人气也很高,矿工们不断往小张记账的块上挂新的账本,两条链的算力相当,会发生什么事情呢?
这样就会真的分叉成两条链。比如现在市面上的分叉币:BTG、BCH、BCD,可以理解为小张1号、小张2号、小张3号,小张们和他们的粉丝团不断维护着自己的链,生生不息。需要说明的是,小张们的链并不是在同一区块高度分叉的,往往每个小张的眼光不一样,选择的区块高度也不同。
这么多小张,小张的链和之前的链有什么区别吗?
当然有区别了。一般来说,分叉的链会在性能上对比特币原来的区块链做升级和改进,比如扩容、改进共识机制、改变块间隔时间等。因为它们对原来链的技术进行了永久改进,旧的链和新的链彻底发生了变化,所以以上这些都是硬分叉。硬分叉的特点之一是会有新的代币产生,像刚刚列举的BTG、BCH、BCD都是新的代币,也就是适用于新链上的数字货币。
2017年8月,社区就扩容方案达成共识,激活了隔离见证扩容方案,比特币区块链的处理速度扩大至1.8倍。在随后的4个月里,比特币相继发生了多次分叉,产生了多个分叉币,很多比特币爱好者戏称比特币“生了很多儿子”。
有了新的代币,原来的比特币怎么办呢?
原来的比特币还可以流通,而且如果你有1个比特币,那么比特币分叉后会免费得到新的分叉币,得到的比特币可能是1个也可能更多。这就很像比特币生了小比特币,所以也有人把比特币的分叉币叫作“比特币太子”。
说完硬分叉,该说软分叉了吧?
硬分叉是新的链对旧的链进行改变,旧链无法兼容新链。软分叉恰好相反,旧的链可以兼容新的链。硬分叉时,链上的节点必须升级到分叉后的版本协议,软分叉则不用。打个比方,硬分叉就像一条路分出了多条小路,如果要走这些小路需要更换交通工具;软分叉就像在原来的路旁修了一条辅路,乘坐原来的交通工具走辅路也是可以的。
区块链有这么多优点,缺点是什么呢?
区块链不能解决所有问题,中心化的网络依然有不可替代的作用。
不可篡改、不可撤销既是区块链的优点也是区块链的缺点,你对区块链的数据变动几乎无能为力,主要体现在:如果转账地址填错会直接造成永久损失且无法撤销;如果丢失密钥也会造成永久损失且无法挽回。而现实中,如果你的银行卡丢了,或者你忘记了密码,还能到银行营业点处理,你的钱还在。
交易账本必须公开。区块链是分布式,在公有链上等于每个人手中都有一份完整账本,并且由于区块链计算余额、验证交易有效性等都需要追溯每一笔账,因此交易数据都是公开透明的,如果我知道某个人的账户,就能知道他的所有财富和每笔交易,没有隐私可言。
每个人都有一份完整账本,并且有时需要追溯每笔记录,因此随着时间推移,交易数据超大的时候就会有性能问题。例如,第一次使用时,需要下载所有交易记录才能正常工作;每次交易时,为了验证你确实拥有足够的钱,还需要追溯每笔交易来计算余额。虽然可以通过一些技术手段(如索引)来缓解性能问题,但问题还是明显存在的。
区块链的交易是存在延迟性的。以比特币为例,当前产生的交易的有效性受网络传输影响,因为要被网络上大多数节点得知这笔交易,还要等到下一个记账周期(比特币控制在10分钟左右),也就是要被大多数节点认可这笔交易。还受一个小概率事件影响,就是当网络上同时有两个或两个以上节点竞争到记账权时,那么在网络中就会产生两个或两个以上区块链分支,这时候到底哪个分支记录的数据是有效的,则要再等下一个记账周期,最终由最长的区块链分支来决定。因此区块链的交易数据是有延迟性的。