与大家一起学习区块链技术系列之一 比特币钱包(2)

摘要:离线钱包主要的优点就是比全服务钱包大大的改善安全性。为了最大的安全性,他们需要用户专门的设备来做离线任务。仅分发钱包不安全的环境中运行钱包程序,比如web服务,可以设计用来分发公钥(包含P2PKH和P2SH地址)。...

离线钱包

一些全服务钱夹程序可以作为两个独立的钱夹操作:一个程序案例作为只签名钱夹(通常称为离线钱包),另一个程序案例作为连接数据的钱包(通常称为在线钱包或只监控钱夹)。

之所以被称为离线钱包,是因为它是设计在一个未连接的设备上运行的,这大大减少了攻击的数量。如果是这样,客户通常需要使用可插拔的USB系统来传输所有数据。工作流程可能如下:

1 (离线)禁止所有数据连接和安全钱包软件。以离线模式打开钱包程序,建立父私钥和公钥。将父公钥复制到可移动介质。

2 (在线)将钱包软件设置在另一个设备上,该设备连接到互联网上,并从移动介质中导入父亲的钥匙。就像全服务节点一样,发送公钥接收支付。准备投资时,填写导出细节,上传钱包生成的未签名交易数据,复制到移动介质。

3 (离线)在离线案例中打开未签署的交易,检查导出细节,以确保成本的数量和支付地址。这避免了恶意程序欺骗客户签署给攻击者的交易。检查后,签署交易并保存到可移动介质中。

4 (在线)在线案例中打开签名交易,然后广播到点对点网络。

离线钱包的主要优点是比全服务钱包大大提高了安全性。只要离线钱包没有错,用户在签字前检查所有交易,用户的BTC就是安全的,即使在线钱包缺乏抵抗力。

离线钱包最重要的缺点是麻烦。为了最大限度地提高安全性,他们需要客户的特殊设备来完成离线任务。当需要比特币时,离线设备随时启动,客户必须在两个设备之间复制数据。

硬件钱包

硬件钱包是一种专门运行只签名钱包的设备。他们的奉献是消除当今通用操作系统的许多弱点,允许他们安全直接地与其他设备沟通,而不是客户手动传输数据。客户流程如下:

1 (硬件)建立父私钥和公钥。连接硬件钱包和网络设备,以获得父公钥。

2 (网络)就像一个完整的服务钱包一样,分发公钥来接收付款。当您准备好花费比特币时,填写交易细节,连接硬件钱包,点击成本。在线钱包自动向硬件钱包发送交易细节。

3 (硬件)检查硬件钱包屏幕上的交易细节。一些硬件钱包会提示输入密码或pin码。硬件签名并上传到在线钱包。

4 (网络)网络钱夹接收签名交易,并将其广播到比特币网络。

硬件钱包的主要优点是大大提高了安全性,而且没有离线钱包那么麻烦。

最重要的缺陷是麻烦,虽然比离线钱包好,但用户仍然必须购买硬件钱包,无论他们需要在哪里交易。

另一个缺陷(希望是暂时的),到目前为止,很少有流行的钱包支持硬件钱包——尽管绝大多数流行的钱包程序声称支持至少一个硬件钱包的愿望。

仅派发钱夹

在不安全的环境中运行钱夹程序,如web服务,可以设计用于分发公钥(包括P2PKH和P2SH地址)。这些简单的钱包通常有两种设计方式:

与大家一起学习区块链技术系列之一 比特币钱包(2)

用一些公钥和地址预先填充到数据库中,根据要求分发公钥脚本或地址,并使用数据库的一个内容。为了防止密钥重量,web服务应跟踪所使用的密钥,以防止所有公钥耗尽。下一种方法建议使用公钥,这将很简单。

使用父亲的钥匙建立一些子公钥。为了防止密钥重量,必须有办法防止同一个公钥分发两次。每个密钥都是一个数据库的内容,或者指向密钥检索的指针。

这两种方法并没有显著增加成本,特别是在任何情况下使用数据库,并使用与数据库相关的支付和公钥来跟踪交易。

相关推荐