静5前沿讲座回顾:Dr. Alan Szepieniec介绍区块链中可扩展且隐私保护的存储技术
2023年11月17日,Neptune 加密货币首席架构师和联合创始人 Alan Szepieniec 博士访问北京大学前沿计算研究中心,并在静园五院作了题为“Mutator Sets and their Application to Scalable Privacy”的报告,介绍了 Neptune 中货币 UTXO 的关键加密存储技术。此次报告由中心助理教授刘天任老师主持。
UTXO(Unspent Transaction Output)模型是区块链中一种常见的交易架构模型,被诸如比特币,莱特币等著名区块链系统所使用。在该模型中,矿工将持续维护一个 UTXO 池,每个未使用的 UTXO 都被视为一笔可用的货币。当一个用户想要发起一笔交易时,他们需要指定之前交易的 UTXO 作为输入,并将其分配给接收方的新地址。该交易输入将被标记为已使用,并从 UTXO 池中排除,同时交易输出的新 UTXO 将会被矿工加入到 UTXO 池中。通过使用 UTXO 模型,区块链可以确保每笔交易都是基于真实且有效的输入,并避免了双重支付等问题的发生。每个交易都可以通过检查其输入 UTXO 的有效性来进行验证,从而确保交易的可信度和安全性。同时,使用承诺系统和零知识证明技术可以使 UTXO 不以明文的方式存储,进而能够保证用户的隐私性。
然而,目前具有隐私保护的区块链存在可扩展性差的问题。为了解决这一问题,讲者采用一种名为 Mutator Set 的数据结构来实现带有可扩展性的 UTXO 隐私存储。Mutator Set 是一种抽象的数据结构,其能够使用定义好的操作进行状态变更。这些操作不仅使用加密算法来保护参与者和交易数据的隐私性,同时还允许多个操作并行处理,使该数据结构拥有良好的可扩展性。
在该技术框架下,讲者解释了 UTXO 池的两种变更操作:增加 UTXO 和移除 UTXO。当需要增加 UTXO 时,用户使用哈希函数对 UTXO 信息进行承诺,将承诺和时间戳一起存储在一个只能增加的承诺序列(AOCL)当中。而当需要移除 UTXO 时,用户不仅要证明自己拥有承诺序列中某个承诺的 UTXO 原像,同时还需要通过一个布隆过滤器的验证。该布隆过滤器同样由矿工维护,其根据 UTXO 时间戳决定 UTXO 对应的过滤器窗口。当 UTXO 被使用时,其哈希所对应的比特位都将被清零,这使得用过的 UTXO 无法被再次使用。同时,不断移动的窗口设计使得 UTXO 之间只有极小的概率被哈希到同一个比特位,使不同 UTXO 之间不会互相影响。以上的操作都只需要用户通过零知识证明来向矿工证明存在性,因此能够保护用户的交易隐私。
然而,以上结构需要矿工维护线性增长的承诺列表和过滤器,这仍是一笔极大的开销。为了进一步解决这一问题,讲者说明矿工可以使用 Merkle Mountain Range 技术来动态构建上述的两个存储列表。矿工通过不断生成更大的 Merkle Tree,只需要维护树的根节点,使矿工的存储空间能够降低到对数级别。
讲者将 Mutator Set 方案与其他保护隐私性的区块链方案进行比较,并说明了该技术作为区块链存储上的优势。与任合现有隐私保护的区块链相比相比,该方案在发送交易,交易验证和 UTXO 状态更新的操作时间复杂度上都有一定的优势。同时,这一方案也不需要任合可信假设,并且拥有良好的可扩展性。
报告的最后,讲者还给出了一些开放性问题,并和老师和同学们讨论了 Mutator Set 在区块链其他领域的应用前景。
合影留念(报告视频:https://www.bilibili.com/video/BV16Q4y1b7XJ/)