首页 > EOS柚子 > 正文

超级权限并不等于“为所欲为”

eosisgravity  2018-10-30  EOS/EOS柚子栏目  

  最近EOS社区因为Wrap合约的出现,对“超级权限”一词讨论较多。“超级权限”一般定义为:只要2/3 1的BP多签,就可以绕过私钥对某个EOS账户拥有绝对的控制权。

  说到超级权限,与之紧密相连的一个概念:Sudo合约。根据EOS词典中的定义,Sudo一词来源于Linux操作系统的一个命令,意思是 `super user do`(“超级用户执行”),用于在运行命令时获得提升的特权。

  在EOSIO中,前21个BP节点的中有15个一致同意就可以替用户签署交易。为简化此过程,创建了一个sudo合约,以减少BP节点之间协调所需的各个步骤。Sudo合约已在eosio.wrap帐户下被部署到网络。

  但最近,Sudo被更名为Wrap合约。

  EOS Laomao团队对此给的解释为:

  1.Sudo(super user do)有一定的歧义所在,给人一种拥有“超级管理权限”的错觉;

  2.Wrap 一般有“封装”的意思,这就可以很好地反映 Wrap 合约只是把现有功能简单的做了“封装”。

  在Libertyblock发布的新提案

  https://steemit.com/eos/@blockliberty/eosio-wrap-eosio-sudo-demystified

  中,对EOSIO.Wrap合约的描述如下:

  “eosio.wrap是一种通过简化BP超级用户操作(superuser actions),从而使其更具可读性和更易被审计的合约。它并不会向BP(超级节点)授予在系统中尚不存在的任何其他权限。“

  所以简单来说,Wrap 合约的用途只是一个辅助链上治理的工具,我们可以通过利用该工具使得BP更方便快捷地执仲裁指令,进而提升仲裁的效率。

  目前,Wrap合约被成功调用需要满足三个条件:

  1.有类似 ECAF 这样的仲裁组织发出的合法的 order。

  2.有 BP 根据 order 发起调用 wrap 合约的 proposal。

  3.在 proposal 过期之前,有 15个以上的 BP 同意该 proposal。

  在这个过程中,BP其实并没有被赋予任何系统内不存在的附加的特权,从而无法为所欲为。

  对于超级权限,EOS社区中存在着不少反对的声音,就好比下面这个关于“超级权限”比喻中所描述的:

  ”EOS的账号就是你的家,锁是你的公钥,钥匙在你自己的手里。在正常情况下,必须有钥匙才可以进家里拿东西。而现在一旦BP有了超级权限,就意味着他们随时把你的锁换掉,而且还提供了更好的换锁工具(例如:Wrap合约)。”

  在这个比方中,需要有一个很重要的前提假设:BP会联合作恶,从而为所欲为。

  而如下这个比方可能更加确切一些:

  “所谓的超级权限,就像Linux系统下面的root权限一样,有些特定的命令只有root用户才能执行,其他用户则不能执行。”

  BP实行超级权限,需要得到特定的命令,比如目前,21个BP中如果可以得到15个认可就可以根据ECAF或账户所有者的要求(特定的命令),来更改账户密钥或修改账户合约。

  所以,那些以“EOS资产不安全,无需私钥也能被拿走”为由来质疑EOS的人,某种程度上来说是将“超级权限”等同于可以“为所欲为”了,所以他们呼吁要取消”超级权限“。

  而关于取消”超级权限“的功能,社区成员发表了如下的看法:

  "实际上,在EOS中2/3 1的BP所掌握的权力,是EOS的Dpos共识机制的必然,而不是BM给他们额外添加的功能。所以说,即使取消超级权限这个功能,2/3 1的BP仍然掌握着绝对权力,仍然可以实现“超级权限”那样绕过私钥,对账户实现绝对的控制。"

  "超级权限"是Dpos共识机下权利相对集中的必然产物,取消“超级权限"的讨论最终都很难达成目标。而我们应该做的应该是去思考如何让BP权利之间做好制衡,进而能够合理的做出决策,从而避免EOS系统中的作恶行为。

  注:该文参考文章《关于wrap合约(原sudo合约),你还需要知道这些!》、《Eosio.wrap (eosio.sudo) demystified》等、以及结合EOS Alliance公约-Unicorn社区成员关于”超级权限“话题的讨论总结而成。


 

版权信息
作者:eosisgravity
来源:EOS引力区

关于我们

联系我们

作者进驻

手机版

Copyright © 2013 比特巴 www.btb8.com
始建于2013年,提供比特币 区块链及数字货币新闻、技术教程、测评、项目周报、人物等资讯
本页面提供的是EOS观点资讯,EOS币为区块链奇才BM领导开发的类似操作系统的区块链架构平台,旨在实现分布式应用的性能扩展。