区块链之小学生版(下)

作者:mistery liu  时间:2019-11-17  分类:区块链知识教程  
上一篇文章我们讲解了区块链中的比特币中的私钥可以对信息进行签名,这其实才是开始。

  

当一条信息被确认之后该做什么呢?
我们肯定听说过比特币中矿工挖矿,矿工就是一个个电脑,矿工验证完信息后把它们打包,然后把一个个区块连接起来,就成了有很多装着交易信息的区块的“链”。

  


作为矿工也要靠运气
这个时候问题就来了,世界上那么多的矿工都在做这件事,即使按照同样的规则进行打包,每个矿工做出来“链”肯定都不一样,那应该以谁做的为标准呢?这个时候就有一项额外的规则来竞争,就是谁的区块经SAH256运算得出一个前72位都为零的二进制数,谁制作的区块就有资格挂在主链的最后一个。而这个幸运者就会得到50比特币奖励。这个奖励不是一成不变的,每成功提交21万个区块,比特币的奖励就会减少一半,也就是25个,再之后12.5个,之后减到不能再减为止,等差数列算起来就是大约2100万个比特币。

  


有一个问题是,其他的那些前72位不是零的区块都是无效的,很多算力都做了无用功,这也就造成了很大的浪费。据估计,挖比特币的耗能和奥地利全国耗电量是一样的。这种徒增出来的耗能从任何意义说都是有害的。
正是因为比特币交易信息必须要传到每个区块链参与者,并且需要认证信息的安全性和正确性,导致比特币的交易速度还有每秒7笔,而双十一阿里巴巴可以每秒处理接近十万笔交易。这才是现金具有的素质。
以太坊

  


以太坊就是大一号的比特币,事实上,很多比特币没有的特性和功能都可以在以太坊中实现。比如,以太坊提升了用户账户的重要性。
智能合约

  


以太坊网络中有2种账户,一种可以理解为普通账户,它可以主动发起交易;一种是合约账户,它不能主动发起交易,但是可以响应普通账户去执行交易。
“合约”是什么呢

就是满足一定条件后一定要执行的程序。在比特币系统中,保存的是不可
更改的历史交易;而在以太坊中,保存的不但有一些不可更改的历史交易,还有一些不可更改的待执行程序。这样,在以太坊中做二次的程序开发就顺理成章了,而比特币系统由于本身不支持循环语句,所以很难二次开发。
而这个合约本身也会有一些问题,就是你一旦确定合约,你再去更改他是需要花费很高的成本的。

  我们来看一个以太坊因为不能更改而导致严重事故的真实案例,也就是2016年6月份发生的DAO案件。当时DAO是以太坊的一个超级巨星级别的合
约,它要实现的是一个投资的功能,于是DAO的资金池里有大量的以太币,合算美元1.5亿。但这个合约在代码上,有一个可以双重提现的漏洞。最早公布这个漏洞的人在学界有定影响力,但开发者认为发生概率太小,没有做补救。在盗窃案发生前几周,还有币圈有影响力的牛人提示风险,但开发者依然没改。

  
他们为什么不改呢是责任心不强吗

  

  


不,而是改动会造成从前一部分区块失效。要彻底解决问题,只能改客户端程序,然后征得大部分矿工的同意,让大家使用新版软件挖矿。这样会重新生长出一条主链,是个伤筋动骨的改动,所以当前的风险如果不是大到忍不了的地步,是不可能修改的。
而到了6月17日,真的有黑客动手了。他成功的利用漏洞不断的把资金池里的以太币往外导,总共盗出了以太坊世界总量的5%,合5000万美元。但可悲的是,即便全网的人都知道这件事在发生,但因为区块链是一个去中心化的分布式系统,这里没有任何人可以禁掉这个盗币的行为。在中心化的银行,我们发现盗窃后,可以冻结账户、取消交易,但区块链世界里大家拿黑客没有办法。幸好,在代码中还有一个“28天后才能提现”的规定,所以被盗出去的以太币暂时还不能变成美元飞走。这28天以太坊社区发生了激烈的争执,最终90%的人同意,把这次盗币后的主链设置为无效,进行一次所谓的“硬分叉”来解决。但仍然有10%的人反对这样做,因为他们虽然没参与黑客行动,但他们在6月17日那次盗币之后的交易或者投资中已经赚到钱了,回滚就相当于让他们把已经挣到的钱吐出来,他们当然是不愿意的。

  


到现在讲的也都是区块链最浅层的原理。区块链的设计虽然很巧妙,但效率低,浪费资源的特点是注定的。到目前为止,区块链的还是很难被大众所接受,创新也难,不过这确实是比特币的现状。

  


版权信息
作者:mistery liu
来源:mistery liu

关于我们

联系我们

作者进驻

公众号

Copyright © 2013 比特巴 www.btb8.com
只为您提供客观公正有用的比特币 区块链 加密数字货币新闻、技术教程、行情分析、行业人物资讯
手机版