EOS 的多签账户是如何工作的?

原文由EOSAmsterdam团队撰写,将EOS账户的权限和多签讲得很清楚,非常值得一读。

多签账户通常指需要两个或多个密钥授权,才能进行交易的账户,常用于资产的安全存储,是EOS非常重要的一个特性。然而,多签账户是如何工作的?如何使用不同的密钥来完成交易?自己如何设置多签账户?本文将深度解析多签账户的多个维度。

EOS默认账户的架构

在开始介绍多签账户之前,有必要先认识一下EOS的默认账户结构。如果你想深入了解EOS账户,可以阅读我们的全面指南。如果只想学习EOS默认账户结构方面的问题,请阅读以下内容。

每个EOS用户都或多或少拥有一个或多个账户。EOS账户是人类可读的身份标识,存储在区块链上,任何账户上的有效交易都要求记录到EOS区块链上。

EOS账户由12个字符组成,可含有a-z的英文字母和1-5的数字。这些账户名取代了在大部分加密货币世界里冗长复杂的钱包地址。

每个EOS账号都有对应的权限。权限指的是完成交易所需要满足的条件。每个权限都有与之关联的具体操作。默认的EOS账号有2个权限:

EOS在2分钟内跌幅超过1.00%:据火币全球站数据显示,EOS/USDT在2分钟内出现剧烈波动,跌超1.00%,达到-1.25%。当前报价为 3.64 美元,行情波动较大,请注意风险控制。[2020/3/8]

Owner:象征了账户的拥有权。改变账户拥有权需要该权限的许可。鉴于大部分工作无需用到此类私钥,该私钥最好离线保存。

Active:用于转账,节点投票,及其他高级别账户变动。

除了这两种权限,用户还可以创建新的常规权限,以满足自身需求。

每个权限均有与之关联的密匙,反之亦然,并且每个权限都有相应的权重。交易均需要在满足权限的情况下进行。

上图展现了EOS默认权限结构

为了帮助你更好地理解,我们将EOS默认权限结构总结为上图。?owner?权限的默认阀值为1,对应一个权重为1的密钥。active?权限也一样,默认阀值的权限为1,对应一个权重为1的密钥。也就是说,在进行需要?owner?或?active?权限认可的交易时,只需1个对应?owner?或?active?权限的密钥即可。

动态 | EOS Authenticator App已通过审核 正式上架App Store:据鲸交所消息,EOSLaoMao团队提交的EOS Authenticator App已经审核通过,正式上架App Store。[2019/6/4]

和?owner?权限对应的密钥常被称为?owner?key。

和active权限对应的密钥常被称为activekey。

多签EOS账户是如何运行的

在清楚EOS账户默认的组织构架后,我们能够更好地学习EOS的多签。多签账户与默认账户类似,主要的差别体现在权限架构上。在默认的EOS账户中,所有权限的默认阀值均为1,与权重为1的密钥相关联。然而,在EOS多签账户内,权限的阀值可为2或者更高,可有多把权重不一的密钥。这也意味着EOS多签账户内的任何交易都需要多把密钥的签名。

上图展现了多签权限结构

上图展现了多签权限结构,和默认账户相似,多签账户同样有?owner?和?active?两种权限。

声音 | Vahid Toosi:EOS并不是中心化的:EOS sw/eden 的 Vahid Toosi 在《EOSLaoMao · 宁话区块链》之全球EOS节点答疑的节目中解释道 “像bitcoin的POW系统,还是一样的道理。在他们那里能源和算力很便宜,所以可以成批买入,所以它是中心化的。今天(2018年8月10日)Bitcoin中有三到四个矿池控制着整个网络。但是在EOS,我们有DPOS系统,持币人有权利投票给他们认为可以管理这一网络的人。而理论上一个节点所能拥有的最大投票率为4.76%。但是在其他共识模型中这个数值会更大。所以相较于其他共识模型EOS并不是中心化的。”[2018/8/22]

但是,在多签账户内,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 15分钟跌幅超过1.00%:据Bitfinex数据显示,EOS 15分钟内跌幅超过1.00%,现报价4.72美元。[2018/8/16]

创造一个EOS多签账号

在熟悉多签账户后,我们可以再来看看自己如何创造一个多签账户。在创造多签账户前,你需要建立一个默认EOS账户,然后再将其转变为多签账户。如果你还没有EOS账户,你可以跟着我们的指南一起来创建一个。如果你已经有EOS账户了,请看下文。

请注意:改变账户权限架构有可能使你的账户无法登陆,无法恢复,请谨慎操作。

我们将演示一个案例,创建一个可与朋友分享的账户。这个账户有以下权限架构:

示例账户的权限架构

在这个例子里,owner权限的阀值为2,有两把密钥——一把是你的?activekey,一把是你朋友的?activekey,两把私钥的权重均为1。这就意味着,一笔交易执行,需要你们二人的?activekey?共同签署。

动态 | EOS生态系统已阻止价值500万的资产被盗:截止6月29日,EOS生态系统已经帮助持币者保护了96335个EOS,按照现在的市值计算,超过500万元人民币。2018年6月17日,21个超级节点冻结了7个被盗窃的账户。这是第一次自治机制在区块链上生效并有效保护了财产所有者的资产。[2018/7/2]

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不为本页面内容或产品背书,我们尽全力为读者提供所能获得的重要信息。在做与本文内容相关的决策前,建议读者进行完整的独立研究分析,并为自己的决策负完全的责任。在此声明,本文非投资建议。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:31ms0-1:597ms