Dynamic vector commitments that enable local updates of opening proofs have applications ranging from verifiable databases with membership changes to stateless clients on blockchains. In these applications, each user maintains a relevant subset of the committed messages and the corresponding opening proofs with the goal of ensuring a succinct global state. When the messages are updated, users are given some global update information and update their opening proofs to match the new vector commitment. We investigate the relation between the size of the update information and the runtime complexity needed to update an individual opening proof. Existing vector commitment schemes require that either the information size or the runtime scale linearly in the number k of updated state elements. We construct a vector commitment scheme that asymptotically achieves both length and runtime that is sublinear in k. We prove an information-theoretic lower bound on the relation between the update information size and runtime complexity that shows the asymptotic optimality of our scheme. While in practice, the construction is not yet competitive with Verkle commitments, our approach may point the way towards more performant vector commitments.
翻译:动态向量承诺支持对开放证明进行局部更新,其应用涵盖具有成员变更的可验证数据库到区块链上的无状态客户端。在这些应用中,每个用户维护所承诺消息的相关子集及对应开放证明,旨在确保简洁的全局状态。当消息更新时,用户获取某些全局更新信息并更新其开放证明以匹配新的向量承诺。我们研究了更新信息大小与更新单个开放证明所需运行时复杂度之间的关系。现有向量承诺方案要求要么信息大小,要么运行时复杂度与被更新状态元素数量k成线性关系。我们构建了一个向量承诺方案,该方案渐近地实现了信息长度和运行时复杂度均关于k呈次线性关系。我们证明了关于更新信息大小与运行时复杂度关系的信息论下界,表明了该方案的渐近最优性。尽管在实际应用中该构建尚不及Verkle承诺具有竞争力,但我们的方法可能为开发更高性能的向量承诺指明方向。