上周学习了比特币的一些基本概念及简单的理解,包括区块链的组成部分区块头和区块体、哈希值、公钥和私钥、时间戳和默克尔树结构,今天在此基础上继续学习区块链的工作原理,以比特币为例,深入了解其运行原理。
还是先简单梳理一下比特币的工作流程,然后深入学习区块链的运行原理。
一、比特币的工作流程
1.工作流程
区块链中,所有交易都可以回溯,直到源头,这第一个区块,就叫做创世区块。在创世区块诞生之后,比特币的用户通过不停地做题,即通过计算寻找满足特定SHA-256哈希值对应的数值解,这也就是所谓的挖矿。
当某一个用户优先算出符合要求的数值时,就会向全网公布,网络中的其他节点收到这条信息后,开始验证,如果通过验证,就会加盖时间戳,并将新创建的区块加入到前一个区块的后面(每当交易笔数够一个区块的字节后,就会形成一个新的区块),同时其他节点就会自动该计算放弃,然后转战下一个计算。随着新的数值不断被计算出来,不断被验证,最终形成一个主链。
区块链的本质是互相验证的公开记账系统,这个系统可以记录所有的交易,每个账号的每笔交易都会被记录在全网总账本中,每个人手上都有一份完整的账本,每个人都可以独立统计出有史以来比特币每个账号的所有账目,也能算出任意账号当前的余额是多少。
这里要补充一点的就是,每个账号的所有者都是匿名的,只能看到其ID号。
2.比特币分叉是什么?
1)中本聪头脑一热:中本聪在2009年设计比特币的时候,比特币的一个容量是1M,这样一个容量每秒只能处理7笔交易,这就会造成一个结果,比特币上的交易拥堵而缓慢,随着越来越多的人使用比特币,扩容是势在必行。
2)扩容方案意见不一
比特币的去中心化的特点使扩容方案不一致,每个人都觉得自己是对的,有的人认为将字段调到2M,有的人觉得应该是20M,有的人认为这个值多大都行,最好无限大。不同的理念催生了好多升级方案。
在中心化系统中升级软件十分简单,在应用商店直接点击“升级”即可。但是在区块链等去中心化系统中,“升级”并不是那么简单,甚至可能一言不合造成区块链分叉。
3)硬分叉和软分叉
这里的分叉还是因为意见不合,因为没有中心化机构,数字资产每次代码升级都需要获得所有节点的一致认可,如果节点无法达成一致,区块链很可能形成分叉。之所以有软硬之分,是其兼容性的大小不同。
软分叉是暂时的,硬分叉是永久的,所以硬分叉是很严重的。来先看两张图,第一、二张为硬分叉,第三、四张为软分叉。
区块链学习笔记4-区块链软硬分叉 区块链学习笔记4-区块链软硬分叉区块链学习笔记4-区块链软硬分叉什么是硬分叉?两种人拥有不同的观点:因某种原因一种人(节点)愿意升级新版本,另一种人不愿意升级新版本,并且升级为新版本的人可以验证旧版本的交易,反过来旧版本无法验证新版本的交易。这样一来,记录在区块上的内容就不一样了,随着交易的增加,就会形成两条不同的区块链。
什么是软分叉?软分叉是指比特币交易的数据结构发生改变,未升级的节点能够验证已经升级节点的交易,反过来升级的节点也可以验证未升级几点的验证。注意这里是数据结构发生了改变。与硬分叉相比,兼容性较好,可不升级,在区块链层面没有分叉的链,只是新旧版本的区块混合组成。
区块链学习笔记4-区块链软硬分叉
4)分叉会导致什么发生
区块链一旦分叉,旷工挖矿更简单了,因为节点分散了。但是挖出来的币很有可能会贬值,当然也不一定,毕竟市场决定价格。按常理来讲,估计分叉后比特币先暴跌一场,然后分叉后两个币种经过时间的洗礼,会渐渐回归理性,比特币的白皮书上写道:节点永远认为最长链是正确的。其实这无关乎正确的问题,而是利益问题。
比如2016年7月,以太坊开发团队通过修改以太坊软件的代码,在第192000区块,强行把The DAO(分布式自治组织)及其子DAO的所有资金全部转移到一个特定的区块,以太坊区块链成功实施硬分叉,之后形成两条链,一条为ETC(原链),且为长链。一条为新的链ETC(分叉链)。知乎上有人问以太坊(ETC)和以太币(以太币)哪个更有前途,其实问的就是哪个价值更大,价格更高。有人这样回答:
ETC是分叉之前的链,旧链,经典链,是价格8元多的链。在这个链上,很多核心成员的币被黑客盗走了。所以很多开发者抛弃了这个链。ETH是分叉之后的链,是价格80元的链,在这个链上,数据被回滚了。很多被盗走的币,又回来了,所以被称作伪链。本来80元的价格应该是属于旧链,但是移花接木,摇身一变,80元的价格嫁接到了伪链上。很多开发者到伪链上做开发来了。
所以说,价值更大需要靠社区共识和市场来确定,不是比特币白皮书。
备注:学习教材是《图说区块链》
网友评论