比特币私钥安全与多重签名交易:如何保护您的比特币资金

2025-02-27 17:08:50

在比特币开发过程中,由于盗窃私钥,有很多交换崩溃的案例,比特币使用者损失了大量资金。比特币系统的每个用户都有一个编码的34个字符比特币地址,用于接受比特币。每个比特币地址都有一个相应的32个字符私钥,可用于发送比特币。私钥必须安全地管理,只有在您签署转移时才需要使用。比特币地址可以自由分发给世界。这是比特币钱包的原理。当您的私钥安全时,一切都很好,如果您丢失了私钥,那么所有资金就消失了。

为了解决当私钥被盗时最小化损失的问题,在2011年和2012年出现了多次签名交易。普通交易只能通过一个私钥签名来完成转移。多个签名交易与两个或多个私钥相关联。只有当两个或多个私钥签名时,交易才能完成转移。最常见的是2/3组合,这意味着签署了三个私钥中的两个,并且转移有效。多签名交易可以有效地确保资金的安全性,并且在业务中也非常有用。可以根据多个交易来实施第三方交易保证,以确保交易的平稳进展。

以太坊使用智能合约根据其自己的平台特征来实施多签名功能,并通常将此功能在钱包合同中实现。智能合约可以简单地理解为可执行的程序片段。特定代码由发布者用特定的编程语言编写(以太坊使用编程语言,类似)。成功的本地汇编后,它可以在区块链上发布。以太坊的智能合约也可以理解为特殊交易(包括可执行代码)。被送出后,矿工将在某个区块中包装和记录。当有必要调用此智能合约的方法时,只需要将交易发送到智能合约的地址。下图是以太坊智能合约模型:

主流以太坊钱包(例如雾等)都提供了多签名功能。创建新的钱包合同时,请选择多签名,然后输入相应的多签名组合和相应的帐户信息。钱包合同代码和这些输入信息通过SOLC汇编为二进制代码,然后通过交易发送到以太坊网络。一旦以太坊网络节点包装交易并将其记录到以太坊区块链中,智能合约就会成功部署。部署成功后,将生成智能合约地址。将来,智能合约只需要将交易或事件发送到地址。

在测试网络中测试并运行MIST程序以输入钱包的主页。该程序输入帐户概述页面:

单击“添加钱包”以输入新的钱包合同接口。

在这里,我们选择“多签名的钱包合同”:

上图显示了多签名的参数设置,表明合同由3个帐户控制。如果每天消耗超过5个以太硬币,则将激活多签名功能。合同归主账户所有,2和3参与了多签名确认。设置相关参数后,单击“创建”以开始创建钱包合同。在此过程中,雾气将提示输入主操作密码。创建成功后,钱包合同信息将出现在钱包界面上。

实际上,这里的W1钱包合同可以理解为一个帐户,但该帐户由多个人控制。我们可以将资金转移到W1合同中。转移过程与普通交易相同,因此我不再谈论它了。

以下是如何通过W1钱包合同将资金转移到其他帐户的方法。多签名函数在此主要反映。

首先,我们必须确保W1合同中有足够的平衡。我们已通过MAIN将100个以太硬币转移到W1合同中。我们现在正在添加一个帐户4。使用W1合同

分别为4-1醚和5醚。我们首先转移了1醚,而雾钱包仅促使主

密码身份验证。如果您转移5个以太硬币,此时转移的醚硬币数量已超过W1合同每天设定的5醚硬币。

单击接口上的“发送”后,将弹出以下窗口:

请注意,这是执行W1合同,而不是执行交易。 Main将事务命令发送到W1合同以执行合同,因此您需要输入MAIN密码。原始数据是合同执行的二进制参数,包括目标帐户和转移到的金额。

当执行合同的交易被发送到以太坊网络时,它正在等待以太坊确认交易。一旦以太坊网络确认交易,以下信息将立即弹出在帐户概述界面上:

单击“批准”后,雾将弹出“选择帐户”的对话框:

在创建W1合同时,您可以选择在对话框上方确认的帐户是2和3。我们选择其中一个用于合同确认,转移成功。

雾钱包实施的钱包合同代码中有两个关键功能()和()。当合同出版商执行交易时,()负责开始钱包合同,并且必须在执行合同之前执行合同出版商的签名和相关帐户。当()函数发现执行过程中需要多个签名时,它将自动调用()请求其他帐户签名。 ()函数负责通知其他帐户以进行签名和确认。根据钱包合同设置的参数,该功能被多次调用。在帐户签名符合原始预定值的次数之前,()已完成,钱包合同执行交易操作。

以太坊基于智能合约实现多签名,具有强大的灵活性,并且被广泛使用,尤其是在流行的ICO众筹中。但是,智能合同代码需要非常严格。如果意外发现了一个错误,它将造成大量的资本损失,例如由于智能合同错误,该钱包的150,000座以太硬币被盗。

标签: 以太坊钱包
首页
欧意注册
欧意下载
联系