一些完整服务的钱包也是按照两个分离的钱包程序来运行的:一个程序扮演只用于签名的钱包(通常被叫做“离线钱包”),另一个程序扮演网络钱包(通称被叫做“在线钱包”或“监听钱包”)。
离线钱包的得名因为它是运行在一台不联网的设备上,极大程度的抵御了攻击的媒介。按照这样的方式,通常需要用户通过可移除的媒介,比如 USB 驱动,来控制所有数据的传输。用户操作的流程大致是这样的:
- (离线)在一台设备上禁用所有的网络并安装钱包软件。在离线模式下开启钱包软件,用来创建父私钥和公钥。复制父公钥到可移除的媒介。
- (在线)在另一台设备安装钱包软件,这一台设备是联网的,然后从可移除的媒介导入父公钥。如同一个完整钱包一样,发布公钥来接收付款。当准备花费接收到的比特币时,通过钱包填写输出的细节然后生成未签名的交易,将其保存至可移除媒介。
- (离线)在离线这端打开未签名的交易,审核交易的输出细节确保数目和地址都是正确的。这阻止了在线钱包中的恶意软件欺骗用户将交易信息发送给攻击者。审核过后,签名交易并将其保存至可移除媒介。
4.(在线)在在线钱包中打开交易,以便其在点对点网络中广播。
离线钱包的主要好处是它比完整一个钱包提供了安全性。因为离线钱包未被危害到(或破坏),用户在签名前都审核所有的交易信息,那么用户的比特币就是安全的,就算在线钱包已经被危害到。
离线钱包主要的弊端就是它很麻烦。为了最大的安全性,它需要用户为了离线的事务贡献一台电脑。为了花费比特币,离线设备必须开启,用户必须在离线设备与在线设备间手动的拷贝数据。