多签名 (Multisignature)

Namada上的多签名账户(Multisignature accounts on Namada)

多签名账户(多签)是Namada上允许多个签名者的账户。拥有多签账户有许多好处,包括但不限于:

  • 增加安全性

  • 共享钱包的能力

  • 更好的恢复选项

因此,默认情况下,Namada上的所有账户都是多签名账户。


初始化多签名账户(Initialising a multisignature account)

在创建账户之前,用户必须生成至少一个将用于签署交易的加密key

以下方法将生成此类密钥:

namadaw key gen \
--alias my-key1

也可以生成第二个密钥(对于多签名很有用):

还可以生成一个隐式地址:

通过以下方法在Namada上初始化账户:

单签名账户(单个签名者)

多签名账户(至少2个签名者)


提交多签名交易(Submitting a multisignature transaction)

要提交多签名交易,首先必须构建离线交易。

构建离线交易

--dump-tx 参数允许用户执行此操作。需要指定转储交易的文件夹。

可以通过以下方法完成此操作:

这意味着交易已被构建,并准备好进行签名。

在指定的文件夹内,将创建一个.tx文件。此文件包含交易字节的十六进制表示。可以使用此文件对交易进行签名。

签署交易

下一步是签署交易。可以通过以下方法使用my-key1签署交易:

请注意,在此阶段可以有任意数量的--signing-keys签署交易。这将产生多个签名,可用于提交交易。

这意味着签名已保存到此文件中(位于当前目录中)。

让我们将其保存为别名:

确保使用至少k-of-n个密钥签署交易,其中k是提交交易所需的最少签名数量,n是密钥的总数。在此示例中,k=2且n=2。

然后假设这个签名产生了另一个签名,我们将其保存到别名SIGNATURE_TWO

提交交易

最后一步是提交交易。可以通过以下方法完成此操作:

请注意,--signatures参数中没有使用逗号。这是因为该参数是一个文件列表,而不是一个签名列表。还请注意tx_dumps文件夹。这是在前一步中通过--output-folder-path指定的,交易被转储到该文件夹。


更改多签名阈值(Changing the multisig threshold)

可以更改账户的多签名阈值。可以通过以下方法完成此操作:

可以通过运行以下命令来检查阈值是否已正确更新:

这将产生阈值1,连同两个公钥。


更改多签名账户的公钥(Changing the public keys of a multisig account)

可以更改多签名账户的公钥。通过以下方法完成此操作:

这将把多签名账户的公钥从my-key1my-key2更改为my-key3my-key4my-key5(假设它们存在于钱包中)。

提供给--public-keys参数的公钥将成为多签名的新签名者。列表必须是由逗号分隔的公钥列表,没有空格。列表中必须至少有1个公钥,列表的长度必须至少为多签名账户的阈值。


视频教程(A video tutorial)

跳过所有无聊的阅读并观看视频教程:

https://vimeo.com/873749851

Last updated