社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  区块链

三大公链开发者纵论DAPP(上篇)

DapDap区块链 • 6 年前 • 1009 次点击  

今天,dapdap给大家带来三大公链开发者对目前DAPP的理解,这是一篇采访稿,由比特大学联合创始人兼法律顾问张烽主持,主要的对话嘉宾有:李刚,EOS开发者,人人通证CTO;古千峰,以太坊开发者,BTC media 亚太区CTO,IPFS原力区创始成员;宋世军,亦来云开发者,亦来云生态应用负责人。

一、什么是DAPP

在采访上,张烽提出:“DAPP的概念好象还没有完全取得一致,那么不妨先请各位介绍DAPP概念”。

宋世军表示:“对DAPP目前是各有各的定义。以太坊最早提出这一概念。我们从字面上说decentralized APP,脱离中心化服务器的,脱离中心来运行的,就是DAPP。甚至哪怕有服务器,但这个服务器不受任何中心控制的,就是属于DAPP。”

张烽认为:“DAPP就是去除中心化控制,不受任何中心化的控制。”

李刚认为和宋世杰说的是同一个定义,不过得补充下,那就是:“不受中心化控制,还有一个好处稳定性会增加,比如阿里云服务器,阿里云、腾讯出过事,但如果部署在以太坊、EOS,就不会出现宕机概念。

传统服务器,一是提供资源,二是处理逻辑。处理逻辑以太坊智能合约就处理得很好。但去中心,还有一个是资源。现在很多DAPP资源还是放在中心化服务器上,因此DAPP就是要求资源也是去中心化。”

张烽复议:“不光是运行去中心化,资源去中心化也是很重要的”。

宋世军也提到:“大家都觉得区块链是去中心化,其实对应用来说链就是一个中心,以太坊自己就是一个中心,只是这个中心不能被人控制。”

古千峰:“数据怎么共识,怎么同步,这些都是链上的事情,对于DAPP应用开发者,不用太在意,只要选择一条与自己的应用相适应的区块链即可。”

二、关于稳定性

张烽:“前段时间有一个很火的游戏FORMO3D,非常火。有人比较了一下,他在以太坊上很稳定,但是在EOS上不太稳定、容易被攻破,请大家谈谈这是什么原因,如果这个游戏运行在亦来云上又会是如何?”

古千峰:我对EOS也稍微了解过一点。我的理解是EOS在安全机制上有一个设计缺陷,设计缺陷不是代码层面的缺陷,比如OWNER和ACTIVE的账户机制,我需要授权DAPP使用我的账户,我要把ACTIVE的权限交给他。以太坊有一个对应的APROVAL方法,但EOS上授权以后就很难控制了,这个账户权限问题属于设计缺陷。

还有一个开户问题。EOS的开户,有点象传销。除了某些钱包服务商提供的免费增值服务外,一般人需要找人帮他开户,那么帮他开户的人可能会把OWNER权限拿到手上,等用户账户中有了大量数字资产时,用Owner权限控制这个账户。从比特币到以太坊,账户都是随机数产生私钥,并由私钥通过复杂算法得到公钥。EOS在这方面有很大的不同,也是很多数字货币用户不习惯的地方。

张烽:这个特点在FOMO3D游戏上有体现吗?

李刚:刚才古总说的两个问题。一个是账户权限问题是有漏洞,我觉得其实现在还有漏洞,设计上是有问题。最近有一个RAM泄漏问题,即当你每次发起一笔交易的时候,你可以有一个附言的内容,这个东西会被别人滥用,因为他不仅有留言,还有一个触发机制,你这个合约会触发另一个合约。

比如你给我汇款,我可能是一个智能合约,那么这个智能合约就会触发回调函数,我的回调函数会操纵你的账号的权限给我。我这回调函数就会操作你的账号,他的RAM是要钱的,但是我可能借机往你的数据库插入新的记录。

古千峰:我搞不清楚BM设计这个机制的时候他是有意还是无意。

李刚:我们看到以太坊只提供VM,没有任何其他系统服务,相当于一个CPU,没有文件服务,没有数据库,你自己写一个地址,按地址去读的,甚至可以用汇编去写,结构非常简单。

EOS问题在于设计复杂,更象是一个OS,提供权限管理,以太坊没有权限管理,只有签名。EOS有账号的概念,更象一个操作系统,同时有数据库,以太坊没有的。

以太坊不能太复杂,要是超过交易时间就会被断了。所以说,数据库也是账号权限管理,而且账号还可以互相转让,结构非常复杂。一旦复杂,出错的概念大大增加,比以太坊设计上大两个数量级。推出也才一年,又有权限管理又有数据库,这么复杂的项目,还要把IPFS放进去。

第二种,古总刚才说的开户的费用。EOS它不是真正的一个分布式,他需要开户是因为没有本质的区别,但是这个公私钥本身。但是这个公私钥本身不代码账号,账号在系统的智能合约里,你可以把你创建的公私钥来管理一个账号,或者由两个公私钥来管理。

我们要求是由两个公钥都签名才能交易,他把这个做在系统里面。或者有两个公私钥来管理。有点象以太坊的多签。

EOS的公私钥和账号不是一一对应,而以太坊是一一对应。这就导致账号要帮人帮你创建, 不能天然用公钥来做账号。

宋世军:前面说的都很好的。亦来云和这二者不太一样,当然也有很多地方是一样的。亦来云的话,底层链类似比特币结构,智能合约层面上更象以太坊,在POW基础上,跑一个VM,更象以太坊。如果在亦来云上面做一个FOMO3D上,更象以太坊版本。

但我们还有第三种方式,有一个RUNTIME,可以象写一个普通的PC程序,它在运行在特定的环境,这个环境不是智能合约,更像是函数编程。靠整个代码,类似所见即所得的运行,我们知道智能合约就是从源码证明所见即所得的运行。

如果在亦来云Runtime上实现FOMO3D游戏,前面账号和权限的问题就不会有,更多地是看代码层面上有没有BUG。

张烽:如果代码层面没有BUG,那么在亦来云上跑还是比较安全。

古千峰:RUNTIME,可以跑两个东西,一是智能合约,还有一个编译成一个代码放在RUNTIME里,是两种还是一种?

宋世军:RUNTIME不能完全等价智能合约,是一种可信代码,因为智能合约更多强调共识。这点涉及我们的一个核心价值观,比特币没有计算就是一个简单脚本,以太坊加了一个智能合约,以太坊把记账和运算绑在一起在节点上,这一万个节点计算能力是串行,以太坊运算能力是串行的。

我们是觉得这个世界很多场景可信要求级别不一样,这就是为什么会有POS,DPOS,它们把这可信调弱一点,TPS高一点,这是一种平衡方式。

我们是另一种方式,记录层面上是全网记录,所有节点参加,但是计算层面是少数节点参加。有点象联盟链,比如计算只要有三个人认可,就可以了,RUNTIME有点象这个。我们有一个运行在节点,也可以运行在普通PC上,RUNTIME可以运行在手机上,可以运行在PC,用SPV和链连结起来。

李刚:运算能力可以无限扩展。

宋世军:链层面是BTC,智能合约层面是ETH,再加传统的互联网运行环境。

在这一篇文章中,三位开发者分别给我们带了“什么是DAPP”,“DAPP的稳定性”与fomo3D如果在eos生态上运行有什么优劣性,做出EOS和ETH生态的一些对比。在下一篇文章中我们将带来“DAPP的可靠性和其处理速度”,各位读友请敬请关注噢。

部分现场资料来源于张烽(亦来云董事、比特大学创始人)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/24891
 
1009 次点击