OKCoin比特币冷钱包设计理念和操作方法
比特币的理想是构建一种金融社交网络,实现人类的金融民主。时至今日,比特币的基础技术架构仍有很大的提升空间。比特币交易平台、在线钱包等如何安全的保存大量比特币是整个行业面临的重要问题。
比特币的安全是基于比特币的核心加密算法和私钥的安全保存。密码学界认为比特币的密码学基础(SHA256和EDSA)在目前的解密技术能力下,是绝对安全的,比特币安全的主要问题就在于私钥的保存,所以业界通常采用冷钱包(绝对不接触互联网的钱包)来保存大量比特币。
但如何设计并运行一个真正安全的的冷钱包呢?OKCoin在长期的实践中总结出本方案,现将方案分享出来和大家一起探讨,我们可以帮助行业内没有条件的公司保存冷钱包,同时也在和国际的安全公司探讨比特币的托管事宜,我们希望和合作伙伴一起让比特币更透明、更安全。当然,也希望大家能给我们提出有效的建议,让我们在打造史上最安全、最易用、最便捷的比特币钱包道路上更进一步。
我们的设计理念
1、网络是不安全的,只要是接触网络的设备,就有可能被攻击。
2、U盘是不安全的,U盘可能会被植入病毒,被植入病毒的U盘可能会自动记录数据,在被插入有网络的电脑以后,通过网络把数据盗走。
3、单个人是不可信的,所有的授权必须要经过多个人做双重确认,才能确保安全。
4、每个人都有可能出现意外事件,因此掌握授权的人需要将授权进行异地备份以确保安全。
5、人可能被绑架,因此重要的数据需要保存在保安级别高的银行保险柜里,同时须本人亲自去银行才可取出。
我们的设计方案
私钥产生和备份
1、在完全离线的电脑上生成10000个私钥和对应的地址。
2、在完全离线电脑上对私钥进行AES加密。
3、删除原始私钥。
4、AES密码由公司的两个分属异地的人掌握,OKCoin 的两位密码掌握人,一位在OKCoin办公室,一位在美国西部某城市。
5、掌握AES密码的两个人不得乘坐同一辆交通工具,避免出意外的风险。
6、把之前加密后的私钥和明文地址生成二维码加密文档。
7、通过扫描完全离线的电脑上生成的二维码地址,用于日常使用,每次热钱包往冷钱包汇币,必须使用一个未使用过的地址,每个地址不可重复使用。
8、将二维码加密文档打印保存到保安级别高的保险柜,即使发生文档掌握人被绑架事件,也无法获取此加密文档,因为必须要文档掌握人本人亲自到银行才能获取此文档。
9、在异地银行保险柜对二维码加密文档进行备份,OKCoin有两份备份,一份在OKCoin办公室附近的银行保险柜,一份在美国东部某城市一家银行的保险柜内。
10、本地和异地银行保险柜必须由两个不同的人掌握。
11、掌握银行保险柜的两个人不得乘做同一辆交通工具。
12、本地、异地银行保险柜的控制人不得和AES密码的两个控制人相同。
线上往冷钱包打币
1、从地址文档中取相应地址,根据安全级别,每个地址汇不超过1000B。
2、每个地址被使用一次后就不可再使用。
从冷钱包取币
1、派人去办公室附近银行保险柜取出相应数量的未使用过的私钥密文,用扫描二维码的方式取回。
2、把私钥密文通过二维码扫描放入完全离线电脑。
3、掌握AES密码的人在完全离线电脑上进行解密,获得私钥明文。
4、通过二维码扫描把私钥明文导入另一台完全离线电脑。
5、在另一台完全离线电脑上进行签名交易,并把签名后的交易通过二维码或U盘同步至有网络的电脑广播交易。
本方案要点
1、冷钱包的币采取分散存储方式,每个地址存确定数量的比特币。
2、所有私钥在完全离线电脑上存储。
3、确保私钥永远没有接触过网络或U盘。
4、私钥加密文档需在异地有备份,并且由在异地的不同人控制。
5、私钥的AES密码也须由异地的两个不同人控制,且不得与掌握私钥的人相同。
6、掌握私钥密文文档或私钥密码的两组人必须在分别在异地,最好是异国。
7、某个私钥一旦汇币到线上以后,即作废,永不再使用。
本方案实现的结果
1、所有冷钱包比特币分散在多个私钥存储。
2、每个私钥的使用需要两个人双重授权。
3、私钥的双重授权有异国备份,即使出现自然灾害,也不会发生丢币。
4、私钥有一个授权保存在银行保险柜,即使掌握人被绑架,也无法被迫获取比特币。
5、每个私钥被使用一次(从冷钱包打币到线上),即作废。