解读以太坊(上)

Vitalik Buterin (V神),在以太坊白皮书中,开宗明义:

以太坊(Ethereum),下一代智能合约和去中心化应用平台。

下一代,指相对于比特币所代表的上一代。

智能合约,比如在全球最大的写作社群007,提交一篇文章,自动奖励100 OOT,无需人工,不讲人情,自动完成,不会出错。

去中心化应用,中心化的应用,比如Facebook,平台的繁荣,得益于用户的社交链接,但收益只归中心化的平台方。去中心化应用,比如币乎,除了平台方有收益,上传文章的作者,点赞评论的读者因为共建了平台的繁荣也有收益。而且整个应用建立在区块链的分布式网络之上,行为一发生,无人可更改。

去中心化应用,也可以被称做去中心化组织DAOs(decentralized autonomous organizations),去中心化组织要运行,依赖智能合约,比如刚才提到007和币乎的奖励,不需要中心化的执行。

所以,以太坊出彩的地方之一,是引入了智能合约,从而把区块链概念从货币,一般化到为一个可以基于其上的应用平台,可以类比为苹果,微软系统,开发人员可以在上边开发各种应用。

第二,打包区块速度更快,更贴近用户实际需求。

第三,改进挖矿算法,使成为矿工的门槛降低,摆脱比特币网络里,矿池中心化的局面。

「1」

其实,在比特币之后,各种基于比特币理念的去中心化应用层出不穷,总体分为三类:

1.模仿比特币,开发一条新链。比如Naimcoin,一个去中心化的域名服务系统。灵活性很高,可自由实现想实现的功能,但是缺点是开发一条新链投入太高,况且像现在很多中心化应用一样,去中心化应用中用户数量少的应用占据大多数,开发新链对他们来说成本太高。

2.直接在比特币系统中附带一些功能,比如Colored Coins,可以指定从某处收来的比特币为特定的某种颜色。开发容易,但是功能还是只能围绕比特币,可实现的功能非常有限。

3.和比特币并行,但是又依托比特币交易来记录自身交易情况。这很省事,但是有个缺点,比特币可以通过只记录区块头的方式(spv),大幅减少对存储空间的要求,所以能让手机用户也可以轻松入网。和比特币并行的网络却不能用SPV,对存储空间的要求会越来越大,从而丧失可扩展性。

智能合约很好地解决了这个问题,在以太坊系统里,不仅可以转账,也可以发送信息指令,这个信息指令会触发智能合约里的代码,从而完成指令。

而且智能合约可解决任何可计算问题,开发者只要简短的代码,就可以链上以太坊,执行自己的应用。

「2」

如何让打包区块速度更快,这牵扯到共识算法。

区块链网络是分布式的,回顾上篇比特币中的描述,每个矿工都在记录信息,每个矿工都拥有一个信息本,这么多矿工,也就意味着这么多信息本,共识算法解决哪本是对的问题。

比特币采用的共识算法是POW(proof ofwork),即被全网最多算力认可的信息本,是正确的。

以太坊继承了POW共识算法,但是区别与比特币10分钟打包一个区块,以太坊觉得用户体验太差,难道去超市买包牛肉干,上传一篇文章奖励100OOT,要等待10分钟?不要,规定以太坊出块速度平均15s一个。

有利就会有弊

这么快的速度,会出两个问题,张三是大矿池,第一个挖出了新区块,在全网都收到之前,李四紧跟着也挖出了一个新区块,李四等于白忙活。

这在比特币里也会发生,但要紧的是,在10分钟的时候,李四之流收到区块之后还有大把时间大把概率去打包新的区块,15s,想想我都绝望了,张三很强,况且已经领先一步,大概率赶不上李四啊,就像马拉松和百米赛跑,马拉松我落后一些没关系,百米赛跑落后了大概率真落后了,算了不挖了,于是张三霸占主链,这是去中心化网络里最不能看到的中心化事情。

怎么办?

这样吧,张三对李四之流说,你们别急,下一个新区块,无论是谁打包出来,都会把挖块奖励的93.75%分给你们,他自己只拿剩下的6.25%和交易手续费,你们留在这条主链吧。

这是对矿霸张三的一种掣肘,同时保证兄弟矿工不寒心,愿意留在网络里,共同维护网络多节点,不寡头。

「3」

除了,在奖励上吸引算力小的矿工,以太坊还改进了挖矿算法,从而摆脱对ASICS的依赖,ASICS是一种根据比特币SHA256算法而定制的计算机,在比特币系统里成为矿工成本巨大,在以太坊里,引入了抵制ASICS挖矿算法,个人电脑就可以参与挖矿。

另外,每个矿工必须单独拥有储存全链的能力。这增加了全网的矿工节点数量,从而进一步去算力中心化,维护了区块链去中心化的本色。

后记

以太坊给所有人开了一个脑洞,区块链可以一般化到所有的应用。

后来的EOS,不仅立志要超越以太坊成为最好的区块链公链,还在行动上实现了更快的区块打包速度,而且提供各种开发模块,对开发人员更友好。

以太坊如何应对EOS,以及EOS是如何实现又快又好,这是我们接下来要探讨的内容。

又,从以太坊,我们已经看出了端倪,区块链分布式身份已定,有两个问题,挥之不去,统一性和可用性,即如何保证分散各地的大家达成共识(共识算法)和达到和中心化应用一样的确认速度(用户体验)。

这是我们以后看待区块链的两个抓手。

Ps.向各位粉丝道歉,最近工作原因,没有静下心来研读区块链内容,计划休整一个月时间,过度好这个时期,我努力早日回来,谢谢你们 。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181121G2284R00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券