过去6个月里,小泰的日常:

“太钱包的电子钱包。dat放在哪里了?”

“比起泰,电子钱包。没有dat”

“不可能。所有比特币钱包都有wallet。有dat。电子钱包。没有dat怎么能叫钱包?”

@ # $% * '

比特币老玩家经常挂在嘴边的“wallet.dat”到底是什么神圣的?

我们知道,从早期的比特币客户端(bitcoin-qt)开始,我们设计了一个名为“wallet.dat”的文件来存放比特币私钥和相关交易。直到今天,官方qt/core和大多数第三方客户端都采用了类似的方案。

比特币玩家们通过努力学习来实现电子钱包。如何备份dat,如何修复钱包损坏,甚至发送比特币的人也是电子钱包。掌握了很多“技术”,例如直接给dat(存储在SIDNA或USB上)。对于大多数比特币用户来说,比特币是wallet.dat,wallet.dat是比特币。

当然,这不太准确。wallet.dat只是一种不合理的文件存储方式(序列化或数据库),比特币是比特币。这和wallet.dat一点关系都没有。

比特币的产权是由一件东西决定的,无论过去、现在还是未来。就是私钥。掌握私钥的人控制那个地址的比特币,丢失私钥,比特币就没有了。重要的是私钥。那么交易呢?交易不重要吗?这不是比特币区块链总帐中记录的所有交易吗?

交易也很重要。历史交易记录决定了特定地址的比特币余额,决定了能花多少钱。但是重要的不是钱包文件wallet.dat的交易,而是区块链(blockchain)的交易。任何人都可以在自己的wallet.dat中制造假交易,试图支出,但其他比特币节点不会接受这笔交易而已。

也就是说,存储在wallet.dat中的交易只是软件本身为了便于查询而采用的数据结构,毕竟不可能每次查询相关地址的历史交易时都搜索整个区块链吧?(阿尔伯特爱因斯坦,《北方司法》前情提要)。

为此,将与钱包地址相关的比特币交易保存在wallet.dat中,成为过去使用最多的解决方案,与该文件进行交易也成为比特币用户的“日常”。

那个问题又来了。为什么交易和私钥要存放在一起?

小太平的答案是,中本聪一开始是这样设计的,后来大家一直这样做。(莎士比亚)。

这种设计的缺点很多: (这也是为什么小泰放弃bitcoinj,重新开发bitherj的原因之一。)

1.每次同步到新区块时,都必须更新wallet.dat。这意味着,为了写入存储私钥的文件,不仅存在性能问题,还会增加写入错误私钥数据的风险。

2.对于最终用户,wallet。dat备份比直接备份私钥困难得多,风险也高,备份文件的有效性也很难验证。

3.区块同步时始终更新wallet.dat文件。杀人过程可能导致wallet.dat与内存中的wallet对象不匹配,有时需要恢复,有时需要重置整个区块链数据。

4、钱包的扩展性严格来说是电子钱包。受dat支配。例如,不能像交易所或电子商务解决方案提供商一样采用比特币核心解决方案。经常说:“我们需要太多地址。Qt不能满足。可以根据Qt进行更改。”听到你说。其实想想,几百万甚至几千万的地址记录,在数据库技术上不能算是大数据量。如何成为困扰比特币产业的问题?

5.不能实现冷热分离的模式,私钥和交易一起保存,交易要与区块链同步。这意味着私钥“热”。你认为“冷”吗?请更改程序。

交易和私钥放在一起的缺点这么多,那我们该怎么办?

很简单。交易是交易,私钥是私钥。这两个本来就不是一样的。千万不要放在一起。

对用户来说,最重要的总是私钥。私钥使您可以随时找到从比特币区块链获取相关事务的方法,包括使用SPV光钱包模式与区块链同步,或从可信的第三方区块查询服务(blockc、blockme等)API获取事务数据。

钱包本身提供了一种存储所有安全可靠私钥的方法,包括文本、队列(QR)代码和blockc的JSON格式文件。

这样用户就不需要学习wallet.dat或备份此文件。用户只需要知道一件事。私钥很重要。私钥决定财产权,需要备份和保护的也是私钥。

因为乔布斯和他的iphone,我们在使用智能手机时不需要学习“文件”这个烦人的概念。没想到比特币会再次纠缠wallet.dat,这到底是退步吗?还是退步?

忘记Wallet.dat。好好管理比特币。不需要文件,只需要私钥。

作家:非泰钱包

官方微博:@ bitai钱包http://weibo.com/bither

捐赠地址:

1 BST womax 3a yx 9n c8 gdghzzagmg 669 bc3

转向: