a16z视角:探索区块链技术如何保障数据交换的原子性与公平性

发表时间: 2024-03-22 09:00

原文标题:New paper alert: Atomic and fair data exchange via blockchain

原文作者:Ertem Nusret,TasIstván András,SeresYinuo 等人共作

原文来源:a16zcrypto

编译:火星财经,MK

本篇新论文概括了一种构建公平数据市场的新型协议——涵盖EIP-4844下过期数据块的处理(亦称“原始碎片化”)。

我们提出的公平数据交换协议允许存储服务器以原子化方式向客户端传输数据文件:只有在服务器接收到约定付款后,客户端才能接收到文件。简而言之,这种方法使您能够在去中心化和开放市场中,最小化信任前提下购买大数据块(具备您所认定的属性)。至今,不公开数据而又确保数据一经发送,卖方就能得到付款,是一件难事。这种新方案为交易双方提供了保障,同时引入了一种新的加密原语——承诺密钥下的可验证加密(VECK),它将可验证加密扩展到对称密钥原语。

背景

确立公平且安全的数据访问购买协议对激发全球数据市场的巨大潜力至关重要。当前的获取数据方式大多是基于订阅,客户需提前支付给服务器,并依赖服务器的声誉来交付数据;或是无偿的,服务器免费提供数据或用户间进行数据交换。前者无法保护客户免受恶意服务器的影响,这些服务器可能不提供数据便收取款项;后者则缺乏促使客户提供下载数据的动力,常导致免费搭便车和有限的服务能力,且多数系统无法保证数据的完整性。

区块链——起初被设计为支付系统——也能用于数据存储,确保每笔交易在网络中都能被访问(例如,比特币的OP_RETURN或以太坊的calldata)。作为只能添加、不可变且分布式的账本,区块链能为数据存储提供抗故障和权力滥用的强大保障。但仅靠区块链(未采用分片或Rollups技术),其存储容量极为有限,因为所有验证者都需复制全部数据,导致链上存储成本高昂。(截至2024年3月15日,存储1MB的calldata在以太坊上约需2500美元。)

虽然许多区块链项目正努力提高容量并降低成本,但由于增加容量与保持安全性及去中心化之间的矛盾(称为“区块链三难问题”),这些系统可能始终面临限制。

有限的链上容量催生了第二层系统的发展,这些系统在链下进行计算。主链(现称为第一层)利用非交互式有效性证明(zk-rollups)或交互式欺诈证明(optimistic rollups)来验证链下计算。在传统模式中,数据存储于链上,但由于链上存储成本高昂,因此设计出也将数据存储于链下的系统(通常称为validiums)。在此方法中,第一层区块链仅存储关于数据的简洁承诺,用以验证存储证明或复制证明,证明数据确实在链下持久存在。

尽管这些协议提供了自然的支付存储数据机制,但它们不支持按客户端请求时支付提供数据的功能。当前系统只激励存储,并默认服务器会“免费”提供下载访问,这在两方面存在问题:首先,数据传输本身具有成本,服务器应得到相应补偿;其次,若无激励措施,恶意服务器可能仅存储数据获得付款,却永不响应合法下载请求。若数据无法访问,则存储毫无意义。

公平数据交换

我们期望实现一种机制,客户端支付数据费用后,服务器即提供数据。这体现了更广泛的公平交换问题,已知需依赖可信第三方(如区块链)解决。区块链可以直接解决这个问题,例如通过智能合约保管客户款项,待服务器发布具有特定属性的数据于链上时,再将款项释给服务器。但若数据量大,此法效率不高,因为所有数据都需发布在链上以供智能合约验证。

我们论文中介绍的公平数据交换(FDE)协议,依托区块链确保交易的原子性与公平性,使用VECK(承诺密钥下的可验证加密)——一种新的加密原语,确保客户在支付解密密钥前离线接收正确数据(与约定承诺匹配)。该协议最小化了信任需求,仅需固定大小的链上通信:包括3个签名、1个验证密钥和1个密钥,而大量数据存储和通信则在链下完成。

此协议还支持交换数据的子集,并能在多客户端间分摊服务器工作,提供一个通用框架,用于设计采用不同承诺和加密方案的FDE替代协议。

工作原理如下,分三步进行:

1. 客户端向服务器请求数据,指明期望数据的KZG承诺和公开加密密钥。

2. 服务器用客户端提供的密钥加密数据,并通过链下发送加密数据和零知识证明(VECK证明),证明加密数据与承诺相符。

3. 服务器通过链上的简单原子传输销售解密密钥。

大部分通信在链下进行,服务器的工作可在多个请求同一数据的客户端间重复利用。关键技术挑战在于第二步:高效证明加密数据与指定承诺的一致性。这正是我们新引入的VECK原语发挥作用之处。

应用

FDE适用于支付使用EIP-4844(原始碎片化)和以太坊全碎片化数据可用性方案存储的数据的访问费用。这些方案允许数据过期,即在预定时间段后(约18天或4,096纪元),验证者无需继续存储数据。我们的协议可能促使节点继续存储数据,并通过FDE售卖数据获利,这有助于缓解过期数据丢失的担忧。此外,这两种协议通过KZG多项式承诺来实现数据承诺,正是我们的FDE所专门优化支持的。

我们首个协议采用指数ElGamal加密方案,而第二个协议则应用Paillier加密方案来加密交换数据。我们还提供了协议的开源实现(详见相关仓库),包含两种VECK实现,展示了我们的协议在以太坊及通过适配器签名在比特币上的效率和实用性。具体来说,在以太坊上进行单次FDE的链上成本大约为服务器200,000 gas(不到10美元)和客户30,000 gas(不到1美元)。

此外,FDE适用于任何场景,即客户希望在最小信任假设下,于去中心化和开放市场购买具有某些预期属性的大量数据。我们的协议还支持私下购买数据,保障交易双方的隐私和安全。

未来工作

我们的未来工作方向可能包括:

探索更多承诺和加密方案的组合,

优化实现,加快协议对客户和服务器的响应速度(详见论文中的开放问题),

泛化方案以支持数据的可验证预处理,特别是在数据分布式存储的情况下,

为去中心化数据市场设计有效的定价机制。

最后,如果客户和服务器都是理性的,则在我们的协议中他们都不会感到不满。然而,非理性或恶意的客户可能导致服务器重复发送加密数据,却从未请求解密密钥。虽然这个问题超出了论文讨论的范围,但在实际应用中必须考虑并解决这一问题。