原文由EOSAmsterdam团队撰写,将EOS账户的权限和多签讲得很清楚,非常值得一读。
多签账户通常指需要两个或多个密钥授权,才能进行交易的账户,常用于资产的安全存储,是EOS非常重要的一个特性。然而,多签账户是如何工作的?如何使用不同的密钥来完成交易?自己如何设置多签账户?本文将深度解析多签账户的多个维度。
EOS默认账户的架构
在开始介绍多签账户之前,有必要先认识一下EOS的默认账户结构。如果你想深入了解EOS账户,可以阅读我们的全面指南。如果只想学习EOS默认账户结构方面的问题,请阅读以下内容。
每个EOS用户都或多或少拥有一个或多个账户。EOS账户是人类可读的身份标识,存储在区块链上,任何账户上的有效交易都要求记录到EOS区块链上。
EOS账户由12个字符组成,可含有a-z的英文字母和1-5的数字。这些账户名取代了在大部分加密货币世界里冗长复杂的钱包地址。
每个EOS账号都有对应的权限。权限指的是完成交易所需要满足的条件。每个权限都有与之关联的具体操作。默认的EOS账号有2个权限:
Beosin:BASE链上LeetSwap中axlUSD/WETH池子遭遇价格操控攻击分析:金色财经报道,Beosin EagleEye安全风险监控、预警与阻断平台监测显示,BASE链上LeetSwap中axlUSD/WETH遭遇价格操控攻击,损失金额约62万美元。经Beosin分析攻击的主要原因是:攻击主要利用了pair合约中的_transferFeesSupportingTaxTokens函数,它允许任意人使用函数让pair合约中的axlUSD转移,导致代币价格上升,攻击者可以卖出代币进行获利。[2023/8/1 16:11:02]
Owner:象征了账户的拥有权。改变账户拥有权需要该权限的许可。鉴于大部分工作无需用到此类私钥,该私钥最好离线保存。
Active:用于转账,节点投票,及其他高级别账户变动。
除了这两种权限,用户还可以创建新的常规权限,以满足自身需求。
每个权限均有与之关联的密匙,反之亦然,并且每个权限都有相应的权重。交易均需要在满足权限的情况下进行。
分析 | 过去一周EOS链上DApp活跃度表现最佳:据DappTotal数据分析,过去一周,ETH/EOS/TRON三网DApp活跃用户量均有明显提升,尤其是EOS表现最佳,其单日用户量自3月25日以来,一直呈上升趋势,并于3月31日达到DAU单日135,928个,创造了历史最高点,且还呈上升趋势。初步分析来看,造成EOS公链活跃用户量上升的主要原因还是HashBaby这个拉新机器。该DApp过去一周用户量达到了74754个,环比上周增加了81.74%,且单日活跃用户量、单日交易次数等数据指标呈逐日上升之势。[2019/4/3]
上图展现了EOS默认权限结构
为了帮助你更好地理解,我们将EOS默认权限结构总结为上图。?owner?权限的默认阀值为1,对应一个权重为1的密钥。active?权限也一样,默认阀值的权限为1,对应一个权重为1的密钥。也就是说,在进行需要?owner?或?active?权限认可的交易时,只需1个对应?owner?或?active?权限的密钥即可。
动态 | EOSIO 1.4.0 版本发布:据 IMEOS 报道,EOSIO 1.4.0 版本于今日在 Github 上提交更新,除了针对 v1.3 进行的累积修补程序之外,此版本还包含一些其他功能和修复程序。关于弃权和取消 notices 更新如下:binaryen 作为 WebAssembly 在运行时被删除有利于 wabt;dice 合约被移除有利于存储在不同的存储库示例的合约被除去(TBD)。
主要变化有二进制版本(#6003)和确定性快照(#5956)。这是第一个正式支持二进制可分发的cleos keosd和nodeos。其他的变化包含:添加了对 cmake find_package 的支持(#6007),从checktime hot path中删除 skip_trx_checks()(#6019),删除 nodeos 不再支持的 config.ini 选项(#5988),详细的ABI序列化错误(#5787)等。[2018/10/17]
和?owner?权限对应的密钥常被称为?owner?key。
EOS主网激活投票率已达8.4255%:根据EOS Authority投票统计,目前EOS主网投票率为8.4255%。目前EOS区块链正在进行激活,如果没有15%的投票支持,EOS链条仍不能运行。imToken昨日已经正式开放EOS投票;Bitfinex今日也发起“Bitfinex是否应暂时持有EOS余额以促成EOS网络激活”的公众投票。目前EOS现均价为9.76美元,跌幅为10.29%。[2018/6/14]
和active权限对应的密钥常被称为activekey。
多签EOS账户是如何运行的
在清楚EOS账户默认的组织构架后,我们能够更好地学习EOS的多签。多签账户与默认账户类似,主要的差别体现在权限架构上。在默认的EOS账户中,所有权限的默认阀值均为1,与权重为1的密钥相关联。然而,在EOS多签账户内,权限的阀值可为2或者更高,可有多把权重不一的密钥。这也意味着EOS多签账户内的任何交易都需要多把密钥的签名。
上图展现了多签权限结构
EOS NewYork声明:我们是由美国人组成的国际节点,不是美国节点:据金色财经合作媒体IMEOS报道:继伦敦节点EOS42发布宪法草案后,昨晚EOS NewYork社区也公布了宪法草案,在EOS42同意的情况下引用他们的宪法,并针对纽约社区的情况进行调整,包括对Token持有者的承诺,与EOS.IO宪法的共识,拥护仲裁决定和财务、、运营独立等。[2018/4/25]
上图展现了多签权限结构,和默认账户相似,多签账户同样有?owner?和?active?两种权限。
但是,在多签账户内,owner?权限的阀值为3,有3个密钥。来自John账户的active密钥的权重为2,来自Bob账户的?active?密钥的权重为1,来自Stacy账户的?active?密钥权重也为1。也就是说,一笔交易,需要John的密钥和Bob的密钥共同签署,才能执行。
在多签账户内的?active?权限阀值为2,有3个所关联的密钥。John账户中?active?密钥权重为1,Bob账户中?active?密钥权重为1,Stacy账户中?active?密钥权重也为1。这就意味着,一笔交易,需要他们三人中的任意两把密钥共同签署,才能够执行。
创造一个EOS多签账号
在熟悉多签账户后,我们可以再来看看自己如何创造一个多签账户。在创造多签账户前,你需要建立一个默认EOS账户,然后再将其转变为多签账户。如果你还没有EOS账户,你可以跟着我们的指南一起来创建一个。如果你已经有EOS账户了,请看下文。
请注意:改变账户权限架构有可能使你的账户无法登陆,无法恢复,请谨慎操作。
我们将演示一个案例,创建一个可与朋友分享的账户。这个账户有以下权限架构:
示例账户的权限架构
在这个例子里,owner权限的阀值为2,有两把密钥——一把是你的?activekey,一把是你朋友的?activekey,两把私钥的权重均为1。这就意味着,一笔交易执行,需要你们二人的?activekey?共同签署。
active?权限的阀值为1,有两把密钥——一把是你的?activekey,一把是你朋友的?activekey,两把私钥的权重均为1。这就意味着,一笔交易只要你或者你朋友的任意一把activekey签署了,就可执行。
下面我们来升级权限结构,把这个账户升级为多签账户。我们会在这个教程中使用到?EOSToolkit。请浏览“高级权限”页面,点击这里。在页面上方左侧点击“AttachAccount”来链接你想要升级的账户,并通过Scatter验证链接。
升级active权限
首先升级?active?权限,请在表格内填入正确信息,然后点击“Update”,使用Scatter确认交易。在确保无误的情况下,可自由选择自己喜欢的权限架构。
升级owner权限
active?权限升级完成后,接下来可进行?owner?权限升级。请再次在表格内填入正确信息,并点击“Update”。
为了确保无误,你可以通过区块链浏览器如?bloks.io,前往个人账号页面的“Keys”模块,查询权限架构。
创建、签署并提交多签交易
现在你已经成功开通了一个多签账户,你可以开始创建、签署以及提交多签交易。我们将为你解释整个操作过程。首先打开?EOSToolkit,确认你的账户已经连接并通过点击左边菜单的“单签模式”选项切换到“多签模式”。
创建多签交易
现在我们来发起一笔代币转账交易。请点击左边菜单列表的“代币转账”选项。
多签交易创建第一步
正确填写信息后点击“发送”。发送者账户会自动填写。点击“发送”按钮后网页会自己跳转到“创建交易”界面,我们将在这个界面创建交易。
创建多签交易
正确填写信息后,由于转账权限限制了你必须使用?active?权限。填完所有信息后点击“创建JSON”,签署交易并下载JSON文件。
多签交易签署步骤
成功创建订单后,我们需要登录账户进行交易签署。打开“交易签署”界面,确认你的Scatter账户接入无误后,加载刚刚创建的JSON交易文件。完成上述步骤后点击“签署交易”,完成后下载JSON签名文件
多签交易签署
在你签署订单之后确保其他各方都签署了交易并收集签名。随后向他们发送JSON交易文件。通过上述步骤,你可以立即发起交易,因为达到了?active?权限阈值,但是通常来说都是其他方先签署交易。
提交多签交易
所有人签署交易完成后,将收集所有签名提交到交易网络上。如需此操作请跳转到“提交交易”页面。
提交多签交易
先载入JSON交易文件再添加签名文件。完成上述步骤后点击“提交交易”并确认上传。
一切顺利的话,祝贺你完成了第一次多签交易的创建、签署以及提交。
关于我们
EOS主网创世节点。BOS主网节点。WAXGuild候选人。姐妹链Europechain合作伙伴。参与区块链项目投资,治理、跨文化合作、安全领域专家。你可以通过以下方式联系我们:
EOS节点名称:eosamsterdam
BOS节点名称:amsterdambos
WAXGuild用户名:amsterdamwax
免责声明:EOSwriter不为本页面内容或产品背书,我们尽全力为读者提供所能获得的重要信息。在做与本文内容相关的决策前,建议读者进行完整的独立研究分析,并为自己的决策负完全的责任。在此声明,本文非投资建议。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。