Skip to content
Gabrielle Zhou edited this page Sep 28, 2018 · 1 revision

每个CYBEX账户都在创建的时候都进行活跃权限和账户权限的授权,即,每个账户都默认分配了一个活跃权限公钥和一个账户权限公钥。

我们需要知道的是:

  • 每个授权都是由一个或一组密钥/账户所组成, 每一个都带有权重值;
  • 每个授权都有一个阈值(即,权重值的门槛),当一项操作需要授权进行时,都必须要满足这个门槛才能够被执行。

通过权限管理与授权过程相结合的方式,CYBEX社区成员可以将账户权限授权给冷钱包(Cold Wallet)公钥,确保私钥不触网,防止黑客窃取。同时,可以把活跃权限配置给其他账户,由他人负责账户资金的日常审批。由于账户权限可以对活跃权限的授权人进行调整,就能够确保账户的所有权永远掌握在自己手里。

此外,这个机制还可以确保任何人都可以频繁更换自己账户的密钥, 而其用户的权限则不受影响。

以下几个示例将帮助大家更好地理解这些术语以及它们的使用场景。

假设我们创建了一个新的账户,它的活跃账户权限配置如下(以下内容对账户权限同样适用):

平权多重签名

一个平权的多重签名可以由M方参与,其中的N个实体必须进行签名才能使交易生效。我们使用CYBEX账户的权重和阈值来代替M和N,从而更加灵活的实现相同的功能。

假设Alice,Bob,Charlie和Dennis管理一个共同基金,我们希望只要有2个人同意,我们就能构建一个有效的交易,也就是2-of-4(N-of-M)模式。这个策略可以配置成:

账户名 权重
Alice 33%
Bob 33%
Charlie 33%
Dennis 33%
阈值 51%

这4个成员每人都有33%的权重,但是阈值设定在50%。这样,至少需要2名成员同意才能获得高于阈值的权重以签署有效交易。

同理,要构建 3-of-4 结构,我们可以降低每个成员的权重值到 17%,或者把阈值门槛提升到 99%。

加权多重签名

通过阈值和权重,我们可以为不同成员分配不同的权重,从而对资金管理实现更精细化的权限控制。假设Alice希望通过多重签名机制来提高资金安全性,但又不想给与他的朋友们过多的控制权,那么,我们可以设定这样的授权:

账户 权重
Alice 49%
Bob 25%
Charlie 25%
Dennis 10%
阈值 51%

这样,Alice只需要任何一个朋友协助就可以使用资金,而他的3个朋友则必须全部同意才能使用资金。

多级加权多重签名

我们再来看一下,企业常见的对层级组织架构是如何使用CYBEX进行权限管理的。这个公司有一个首席财务官,有多个部门向其汇报,包括:Treasurer, Controller, Tax Manager, Accounting等。同时,公司的首席执行官也要求可以使用公司账户进行支付。我们可以这样设计授权账户的结构:

账户 权重
CEO.COMPANY 51%
CFO.COMPANY 51%
阈值 51%

CEO.COMPANY和CFO.COMPANY各自拥有下设的授权账户。比如 CFO.COMPANY 账户可设置如下:

CFO.COMPANY 权重
Chief.COMPANY 51%
Treasurer.COMPANY 33%
Controller.COMPANY 33%
Tax Manager.COMPANY 10%
Accounting.COMPANY 10%
阈值 51%

这个设计允许:首席执行官独立使用资金;首席财务官独立使用资金;Treasurer连同Controller一起可以使用资金;Controller或者Treasurer连同Tax Manager或者Accounting可以使用资金。

这样,通过各种授权账户结构设计,可以将权限控制划分为任意层级,从而满足绝大多数企业对资金的管理要求。

备注密钥

交易附带的备注(Memo)是使用备注公钥加密后传输的。为了解密备注信息,需要拥有备注公钥对应的私钥。

CYBEX的备注信息由单独公/私钥对进行管理,默认与活跃权限授权账户的公钥相同。通过将其设置为其他第三方公钥,可以让第三方在没有资金控制权限的情况下读取(只读)备注内容。

开发者社区

了解CYBEX

文档中心

DEVELOPERS

GETTING STARTED

DOCUMENTATION

Clone this wiki locally