原文由EOSAmsterdam团队撰写,将EOS账户的权限和多签讲得很清楚,非常值得一读。
多签账户通常指需要两个或多个密钥授权,才能进行交易的账户,常用于资产的安全存储,是EOS非常重要的一个特性。然而,多签账户是如何工作的?如何使用不同的密钥来完成交易?自己如何设置多签账户?本文将深度解析多签账户的多个维度。
EOS默认账户的架构
在开始介绍多签账户之前,有必要先认识一下EOS的默认账户结构。如果你想深入了解EOS账户,可以阅读我们的全面指南。如果只想学习EOS默认账户结构方面的问题,请阅读以下内容。
每个EOS用户都或多或少拥有一个或多个账户。EOS账户是人类可读的身份标识,存储在区块链上,任何账户上的有效交易都要求记录到EOS区块链上。
EOS账户由12个字符组成,可含有a-z的英文字母和1-5的数字。这些账户名取代了在大部分加密货币世界里冗长复杂的钱包地址。
每个EOS账号都有对应的权限。权限指的是完成交易所需要满足的条件。每个权限都有与之关联的具体操作。默认的EOS账号有2个权限:
Owner:象征了账户的拥有权。改变账户拥有权需要该权限的许可。鉴于大部分工作无需用到此类私钥,该私钥最好离线保存。
Active:用于转账,节点投票,及其他高级别账户变动。
除了这两种权限,用户还可以创建新的常规权限,以满足自身需求。
每个权限均有与之关联的密匙,反之亦然,并且每个权限都有相应的权重。交易均需要在满足权限的情况下进行。
上图展现了EOS默认权限结构
为了帮助你更好地理解,我们将EOS默认权限结构总结为上图。?owner?权限的默认阀值为1,对应一个权重为1的密钥。active?权限也一样,默认阀值的权限为1,对应一个权重为1的密钥。也就是说,在进行需要?owner?或?active?权限认可的交易时,只需1个对应?owner?或?active?权限的密钥即可。
和?owner?权限对应的密钥常被称为?owner?key。
和active权限对应的密钥常被称为activekey。
多签EOS账户是如何运行的
在清楚EOS账户默认的组织构架后,我们能够更好地学习EOS的多签。多签账户与默认账户类似,主要的差别体现在权限架构上。在默认的EOS账户中,所有权限的默认阀值均为1,与权重为1的密钥相关联。然而,在EOS多签账户内,权限的阀值可为2或者更高,可有多把权重不一的密钥。这也意味着EOS多签账户内的任何交易都需要多把密钥的签名。
上图展现了多签权限结构
上图展现了多签权限结构,和默认账户相似,多签账户同样有?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不为本页面内容或产品背书,我们尽全力为读者提供所能获得的重要信息。在做与本文内容相关的决策前,建议读者进行完整的独立研究分析,并为自己的决策负完全的责任。在此声明,本文非投资建议。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。