使用数字货币原子化(atomically)购买数字文件的想法在这个领域有着悠久的历史。数字商品、数字货币,两者似乎是完美的搭配。数字商品,即信息,也是巨大的市场。想象一下人们定期购买和消费的所有视频、音频、文本、游戏以及其他形式的数字内容,他们的市场价值达数十亿美元,人们每天都在这些市场中进行交互。
大多数试图实施付费文件共享的尝试都走上了错误的道路。Filecoin 试图在 IPFS 之上实现这一目标,但最终项目被设计得荒谬可笑。BitTorrent(公司而非协议)被 Justin Sun 收购,并集成了自己的加密货币和区块链。这两个项目在技术上都没有取得实质性的进展,技术上过度设计,经济上动机可疑。
BitStream 是 Robin Linus 提出的一个方案,试图在没有无谓的替代币和过度设计的技术协议的情况下解决原子化购买数据的需求。
所有文件都可以通过单个哈希唯一标识,这是这个方案中非常重要的一个细节。原子化销售文件需要使用允许用户验证已加密内容的函数对文件进行加密,之后用户原子化购买文件的加密密钥。问题在于验证过程,更重要的是证明是否被欺骗以及文件解密为不正确的数据是昂贵的。简单地说,您需要生成整个加密文件和解密密钥,以便其他人可以解密并验证解密后的数据是否与期望的哈希值匹配。
像 BitTorrent 这样的文件共享系统经常将文件分割成标准大小的块,并构建一个 merkle tree,这使得根哈希可以在磁铁链接中作为文件标识符,并验证您下载的文件的每个单独块是否是该文件的有效部分。这是一个可以利用的属性,可以极大地提高欺诈证明的效率,以展示文件分发商欺骗了您。
文件的销售者可以生成一个随机值,并使用这个值通过对该随机值进行异或操作来加密每个文件块。然后,他们可以签署一个包含加密文件根哈希和加密值哈希的声明书。加密文件树以一种特殊的方式设置,以便简化欺诈证明。
与其仅将正常文件块构建成加密的 merkle tree,该树创建了由一个加密文件块和其旁边的未加密文件块的哈希组成的叶子对。现在,买家可以下载加密文件,并在通过获取所有未加密块的哈希并从中创建 merkle tree 以确保它们与未加密文件的根哈希匹配后,可以原子化购买解密值。这是通过卖家将其用作闪电网络上的 HTLC 的 preimage 或支持 HTLC 的 Chaumian eCash 铸币(如 Cashu)的 preimage 来实现的。
如果文件解密不正确,要么是因为加密数据是另一个文件,要么是因为 preimage 不是实际的加密密钥,那么加密文件树中到任意两个叶子的默克尔路径可以显示卖家欺骗了买家。只提供到任何加密文件块及其相应未加密块哈希的路径和买家购买的 preimage 将明确证明卖家未提供给买家他们声称的文件。
使用 BitStream 协议的任何文件销售者都可以存入一个保证金,如果他们欺骗客户,可以按照上述设计用欺诈证明进行削减。在最简单的情况下,这可以通过在 Chaumian Mint 中存入保证金来执行。像 Liquid 这样的平台提供了构建可通过 OP_CAT 等功能无需信任执行的替代方法。脚本可以被构建,实际上接受 BitStream 欺诈证明并在堆栈上验证,从而允许创建一个由具有有效欺诈证明的任何人都可以花费的 UTXO。如果 OP_CAT 在主链上变得可用,甚至可以完全无需联邦执行环境进行操作。
BitStream 是一个非常有前景的协议,用于原子化出售数字信息,具有非常高效的欺诈证明方案,无需垃圾币。