区块链生态系统的问题及Elastos解决方案

陈榕写于2020年2月1日

2020年1月22日,亦来云英文电报群一位名叫Fire-Fade的社区成员,问到关于以太坊应用用户数量可扩展性的问题:”以下这篇以太坊Whisper团队文章(Scalability estimate: How many users can Waku and the Status app support?)中涉及的内容,是否证实他们逐渐意识到陈榕多年前提出需要创建去中心化运营商网络的思路?”

详情见链接:

https://discuss.status.im/t/scalability-estimate-h…

以太坊Whisper团队的这篇文章说明了他们在实践中碰到了具体性能瓶颈问题,也试图予以解决,但我发现他们理论水平不够,宏观视角有不少纰漏。

我写这篇文章的目的是为了介绍一下我的观点,区块链技术并非为解决计算性能,而是为了建立信任,两者没有协调的余地。我认为光有性能并不能解决保护用户数据隐私的问题,阐述了问题的关键点在哪几个方面。我跟着定义了Elastos项目的四大支柱技术,并逐个描述了四个支柱在互联网计算机架构中的作用。区块链技术碰到的可扩展性问题其实是个伪命题,其在互联网计算机架构中其实并不存在。

—————–

比特币作为区块链技术1.0,以太坊作为区块链技术2.0,人们在设想区块链技术3.0会带来dApp生态的兴起。了解区块链1.0和2.0之后,对深谙互联网技术的人来说,不难想象出如何设计一个基于私人承包的互联网公有云节点(而非区块链节点)P2P通讯网络,类似去中心化的BitTorrent ;也能大概猜到应该像OS按需启动进程那样,按需启动区块链侧链来完成智能合约共识计算的可扩展性。

区块链3.0技术在实际的应用落地方面,就算有了高速点对点通讯、有了按需启动侧链,实现网页/智能合约之外的任意dApp移动应用(通用计算)平台仍将面临非常严峻的挑战:

(1) 禁止dApps直接发送或接收消息,因为这将造成用户数据的泄露,并可能遭受网络攻击。而所有消息在Elastos的运行环境情况下,都必须通过Elastos Carrier网络操作系统代为收发。

(2) 在互联网生态系统的演变过程中,虚拟机和物理机中的OS运行时必须能够独立升级,同时还必须保持互操作性——我们已经实现的第一个运行时是HTML 5/JS的elastOS浏览器。再说绝对点儿,操作系统运行时的API必须是固定数量,不允许有的虚拟机多,有的虚拟机少。操作系统碎片化会导致dApp不兼容,从而阻碍生态系统的演变。看看Linux有多少发行版,我们就知道拥有40年历史的UNIX/Linux一定不是解决互联网dApp平台问题的”金刚钻”。

(3) 实现个人云计算机 ( Personal Cloud Computer,PCC或PC² ) ,让普通用户可以弹性扩展类似于树莓派级别的硬件设备,使其拥有某种形式的”超级计算”能力。用户不能光嘴上说具有自己数据的所有权,但数据分析利用总是交给第三方网站。某些第三方大数据公司号称”不作恶”,但如何能使他们”不能作恶”呢?

(4) WWW互联网上,所有传输的文件都是”拷贝”。分享给你之后,我还保存一份,两人都有了相同的信息,因此叫信息互联网。有了区块链技术之后,人们畅想”价值互联网”。但几乎没有人意识到”传递价值”一定是传递程序。只有掌握程序,你才真正掌握了自己的数据。然而,在代码传输中,必然会出现病毒问题和数据窃取的问题。如何解决这个问题是几乎所有区块链项目的迷茫所在。

(5) 无论是”世界计算机”还是互联网计算机,谁是这台去中心化计算机的管理员?所谓程序即是法律,那谁有权运行这些系统级别智能合约程序?比如The DAO事件发生之后,是社区投票回滚还是某人决定回滚代码?Elastos社区通过共识实现一个有效的、去中心化的治理模式,管理并推动价值互联网的发展。

Elastos已经想清楚了解决这些挑战的关键思路,并积极将其纳入Elastos Smartweb基础设施的产品规划当中,这样亦来云团队就不需要在未来实施中不停地拆东墙补西墙。具体来说也就是Elastos的四大支柱技术:

(1) Elastos BlockChain:包括主链、侧链、多层共识、智能合约共识计算平台;

(2) Elastos Smartweb:它可以被看作是一个网络计算机,包括承载P2P消息总线的Carrier、用于大规模存储的Hive/IPFs/Personal Could Drives、用于数字身份认证的DID,高速缓存技术:去中心化的WebRTC、CDN等;

(3) 个人云计算机 (PCC或PC²) 运行时 (又名Elastos虚拟机) Runtimes:例如HTML 5/JS的elastOS浏览器、Java、C#、原生编程语言运行时、在公共云中运行的Elastos Docker和智能家居设备托管的Elastos Runtime;

(4) Elastos服务:多数dApps经常使用的去中心化的数据服务会逐步沉淀成互联网操作系统的一部分,包括天气、地图、搜索、去中心化的代码仓库项目(代号为Gitella)、电子商务、 dApp商店、交易兑换服务等等。Elastos提倡个人贡献代码和数据,并且可以得到奖励。

在我看来,一切都归结为设计一台现代互联网计算机,该机之上并非直接启动进程,而是运行众多的用户态虚拟机,而这些虚拟机之上才真正运行dApps。我们可以做一个类比:Windows支持多个用户,并具有多个内置的后台服务,以方便应用程序的执行。Windows可以运行Linux虚拟机,反之亦然。Elastos也能做到所有以上的功能。然而,Windows可以被拥有方关闭,而Elastos则不能。同时,一台Windows PC可以容纳七个用户,而Elastos Smartweb未来可能拥有超过70亿用户。四十年前,所有的用户数据都保存在各自的个人电脑中。Elastos的任务是使用户能够将其所有数据保存在各自的个人云电脑中。

回顾过去两年多Elastos项目的开发进度,我认为Elastos核心团队的工作流程、执行效率,可以跟区块链领域中最强的团队媲美,甚至明显超过了他们。在这个阶段,我只是作为亦来云项目啦啦队员和团队的导师。事实上,打造一个新型互联网不是简单打造一个产品,必须要有”利他”的心态,集思广益。看看过去的WWW互联网,如果其开发仅仅是取决于某个人或者某个团队,那是注定会失败的。

我们正致力于建设一个新的虚拟网络自治组织:Cyber Republic (CR)。亦来云核心团队作为承担着基础设施建设的任务,实属不易。4月开始,整个亦来云新型互联网将在CR共识 (CR Concensus) 引导下自治运行。我们接下来在如何设计有吸引力的dApps,说服企业和消费者迁移等方面都面临着挑战。

最后,我想就亦来云近期的周报评论几句:

(1) Elastos Feeds已经运行在Elastos Carrier上。1月3日,我们发布了elastOS浏览器,紧接着亦来云需要承载内容的微网站,这也就是Elastos Feeds了。用户利用视九电视机顶盒、树莓派,或自己在阿里云租虚机来建立自己的”公众号”,以自己的DID发表文章,对自己发布的内容负责,读者可以打赏。

(2) WebRTC运行在Elastos Carrier(目前只有Android版)上,也就是说,自动调整带宽的P2P视频通讯已经在实验室里跑通了,即将呈现在亦来云elastOS浏览器里面。

(3) Elastos的第四个支柱被称为” Elastos Services”,即亦来云服务。包括去中心化版本的搜索引擎、代码存储库等,以实现大数据的去中心化共享。双周报里说到亦来云社区主导的去中心化的GitHub项目Gitella已经在规划。亦来云前三个支柱基本成型,第四个支柱才得以实施。最终一个开源的新型互联网不怕巨头门来山寨,因为他们丢不起那人;也不怕李鬼来偷鸡摸狗,因为服务和用户的沉淀搬不走。

来源: CR先锋资讯