介绍
您可以将一个“SignerList”添加到Ripple帐户,以便签名的法定人数可以授权帐户的交易。SignerList具有与常规密钥相同的权限级别。(基本上,除了禁用主密钥或执行全局冻结之外,它可以执行所有操作。)您可以使用SignerList以及其他授权方法,也可以禁用主密钥并删除任何常规密钥,以便SignerList是唯一的授权账户交易的方式。如前所述,该帐户必须至少保留一种授权交易的方法。
SignerList的成员可以是“实际的”Ripple帐户或“幻影”帐户(未在分类账中出资的地址)。如果所引用的帐户存在于分类帐中,则可以使用常规密钥(如果已定义密钥)或主密钥(除非它被禁用)为多重签名的交易提供签名。如果该帐户不存在,则只能使用主密钥进行签名。即使引用的帐户启用了SignerList,多重签名中的每个成员都必须是单个签名,而不是另一个多重签名。
主要用例:
- 双因素认证
- 可能需要多个设备来授权交易。
- 组管理一个Ripple帐户。
- 包括必须合作签署交易的自动化流程组。只要这些流程的法定人数不受影响,账户就不会受到影响。
注意事项:
- 如果有人更改其常规密钥或禁用其主密钥,则其未完成签名可能失效。他们需要构建新的签名。
协议更改:
- 分类账中的新节点类型“SignerList”,它由一个账户拥有,并包含可签名的账户列表。
- 一个帐户最多可以有1个SignerList。
- SignerList中的每个成员都有一个权重值。
- SignerList具有法定值。签名者的权重必须等于或大于授权交易的法定人数。
- 重量和法定人数共同允许允许多个签名(如“所有成员”,“任何3个成员”,“任何两个成员加上特定成员”等等)的灵活要求。
- 一个SignerList必须至少有一个成员和不超过八个成员。
- 新的交易类型“SignerListSet”,它为账户指定一个SignerList提供了一种方式。
- SignerListSet没有特殊的交易费用要求
- SignerListSet可以添加,替换或从帐户中删除SignerList。
- AccountSet和SetRegularKey事务被修改,以便您可以禁用主密钥并在SignerList可用时删除常规密钥。
- 多签名事务与常规密钥签名事务具有相同的权限级别。他们不能禁用主密钥,但他们可以重新启用它。
- 任何其他交易都可以进行多重签名。
费用
像往常一样,如果发送账户可以支付XRP费用,则波动服务器仅分发候选交易。多签名交易需要更大的XRP费用进行分配。如果简单签名交易的网络费用为N XRP,那么多签名交易需要为其中的每个签名添加N个XRP。
例如:如果当前的网络费用是12,000个XRP,则由3个签名签署的交易需要(3 + 1)* N = 48,000个下降。
SignerListSet交易具有正常费用。
储量
像往常一样,账户拥有的分类帐中的节点有助于该账户的XRP储备金要求。SignerList节点需要比Offer或RippleState(Trust Line)节点更大的预留。SignerList本身对所有者数量贡献2,并且SignerList的每个成员都为业主数量增加了另一个1。所有者储备是N XRP乘以所有者数量。
例如:如果“所有者保留”为每个项目5个XRP,则包含8个成员的SignerList需要保留(2 + 8)* N = 50个XRP。具有1个成员的SignerList需要(2 + 1)* N = 15个XRP的保留。
不包含
Ripple中已经讨论过的多特征的许多特征不包括在多重签名的第一阶段。这些功能将不包含在初始功能集中,但仍可能在未来版本中考虑。
- 门票 - 在您收集签名时为交易保留一个位置
- 关于需要额外签名的未决交易的分类账通信
- 多级多重签名:使用多重签名作为多重签名的成员。
- 多个签署者列表为单个帐户
- 用于多重签名的细粒度权限
如何多重签名
多重签名是授权XRP分类帐交易的三种方式之一,同时还可以使用常规密钥和主密钥进行签名。您可以配置您的地址以允许这三种方法的任意组合来授权交易。
多重签署的好处包括:
- 您可以要求使用不同设备上的密钥,以便恶意角色必须妥协多台机器才能代表您发送交易。
- 您可以在多人之间分享地址的监管权限,每个人只能从该地址发送交易所必需的几个密钥之一。
- 您可以委派从您的地址发送交易到一组人员的权力,如果您不可用或无法正常签署,他们可以控制您的地址。
- ... 和更多。
要使用多重签名:
多签名的可用性
自2016年6月27日起对XRP总账协议的修订已启用多重签名。
如果您想要rippled
在独立模式下使用新帐本进行多重签名,则必须强制启用MultiSign功能。您可以使用该feature
命令检查MultiSign修订版的状态。
要强制启用多重签名功能,请将以下节添加到您的rippled.cfg
:
[features]
MultiSign
设置多重签名
要对来自特定地址的交易进行多重签名,您必须创建一个地址列表,以便为您的地址提供多重签名。该列表作为SignerList节点存储在XRP分类帐中。以下过程演示如何为您的地址设置SignerList:
1.准备一个受资助的地址
您需要一个可以发送交易的XRP分类帐地址,并且有足够的XRP可用。对于账户储备和交易成本而言,多重签名要求的XRP的数量通常要多于您使用的签名者和签名的数量。
如果您rippled
以独立模式开始创建新的分类账,您必须:
- 为新地址生成密钥,或重新使用已拥有的密钥。
- 提交支付交易以资助创建帐户中的新地址。(发送至少100,000,000 滴XRP。)
- 手动关闭分类帐。
2.准备成员密钥
您需要多组XRP分类帐密钥(地址和秘密)才能包含为您的SignerList的成员。这些可以是分类帐中存在的资金地址,也可以使用该wallet_propose
命令生成新地址。例如:
$ rippled wallet_propose
Loading: "/home/mduo13/.config/ripple/rippled.cfg"
Connecting to 127.0.0.1:5005
{
"result" : {
"account_id" : "rnRJ4dpSBKDR2M1itf4Ah6tZZm5xuNZFPH",
"key_type" : "secp256k1",
"master_key" : "FLOG SEND GOES CUFF GAGE FAT ANTI DEL GUM TIRE ISLE BEAR",
"master_seed" : "snheH5UUjU4CWqiNVLny2k21TyKPC",
"master_seed_hex" : "A9F859765EB8614D26809836382AFB82",
"public_key" : "aBR4hxFXcDNHnGYvTiqb2KU8TTTV1cYV9wXTAuz2DjBm7S8TYEBU",
"public_key_hex" : "03C09A5D112B393D531E4F092E3A5769A5752129F0A9C55C61B3A226BB9B567B9B",
"status" : "success"
}
}
记下您生成的每个人的account_id
&#