Py学习  »  问与答

巴别塔、EOS及从不存在的去中心化

DapDap区块链 • 5 年前 • 600 次点击  

04 权限是权利

code is law , permission is power。

在智能合约世界里,代码是法律,而权限是权利。

什么是权利? 你可以去做一件事的时候,却选择不去做,这就叫权利!

在 code is law 的环境里, EOS给了程序员最高的权利。

放下权利,就是真正的去中心化。 放不下权利,就有突然反悔去“杀死合约”的可能性。

没有真正的去中心化。

所以要做到真正去中心化,那就是自动放弃更新智能合约的权利。

正所谓,放下屠刀,立地成佛。

上面说了,要放下权利。也就是主动放弃权限。放弃对智能合约的生杀大权。

于是目前主流的有两种选择。

第一种,是把权限设置成超级节点: eosio.prods 。下面实操演示:

第二种,是把权限设置为“黑洞公钥”:

eosio.prods和黑洞公钥方案的比较

eosio.prods是21个超级节点的多签权限。也就是,把权限充公,交给大家都信任的公众组织。

这种方案,基本可以建立信任基石了。除非BP发起投票,15票通过,才能修改你的合约。可能性不大。

而黑洞公钥,就不一样了,做的更绝。

这个公钥来历比较牛逼。当初EOS主网创世区块的生产者 genesisblock 用到的公钥。

世界上没有人有这个公钥对应的私钥。想暴力破解? 那恐怕得集中整个地球上的算力去算100年。

可以看到,目前EOS系统中,有人也用的这个公钥,并把名字取名“黑洞”。octblackhole, uipblackhole

黑洞,意味着只进不出。

这是最安全的解决方案,连21超级节点和BM都动不了。

05 为EOS正名

那些看到EOS智能合约能更新,就说EOS还不如以太坊的人,你们对以太坊又懂多少? 以太坊solidity智能合约里的ownable了解一下, suicide、self-destruct 函数了解一下。

以太坊智能合约里的这些 “后门” 函数,同样也可以做到开发者一人一键清除所有数据,甚至销毁整个合约。

所以说, 以太坊智能合约,只要开发者愿意,依然也可以一手控制合约中的所有数据。

事在人为,代码程序员写。 中不中心化,去不去中心化,最终,我们还得看代码是怎么写的,才能去评论。

EOS上,同样可以写出优雅的,完全透明公正、完全去中心化的智能合约。

以太坊能实现的去中心化不可改智能合约,EOS也可以实现。而EOS能实现的可更新迭代智能合约,以太坊却不能实现。

按我的理解。以太坊上能做的事,EOS上都能做,并且能做的更好。而以太坊能做EOS上做不到的事,那就是不需要做的事。

总结如下:

EOS上的智能合约。可以更新,这是默认特性。

可以更新的合约,对那些不可能一次性写完就保证没有bug的大型DAPP有好处。

EOS上的智能合约,同样可以做到不可更新。那就是主动放弃更新的权利。

不可更新的智能合约的应用场景,在于那些合约账号持有大量用户的资金,需要去中心化,确保不会跑路,比如当前很热的资金盘类DAPP。

原文连接: 「1」https://bihu.com/article/187646 「2」https://bihu.com/article/1045966」

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