A major issue for many applications of blockchain technology is the tension between immutability and compliance to regulations. For instance, the GDPR in the EU requires to guarantee, under some circumstances, the right to be forgotten. This could imply that at some point one might be forced to delete some data from a locally stored blockchain, therefore irreparably hurting the security and transparency of such decentralized platforms. Motivated by such data protection and consistency issues, in this work we design and implement a mechanism for securely deleting data from Bitcoin blockchain. We use zero-knowledge proofs to allow any node to delete some data from Bitcoin transactions, still preserving the public verifiability of the correctness of the spent and spendable coins. Moreover, we specifically use STARK proofs to exploit the transparency that they provide. Our solution, unlike previous approaches, avoids the complications of asking nodes to reach consensus on the content to delete. In particular, our design allows every node to delete some specific data without coordinating this decision with others. In our implementation, data removal can be performed (resp., verified) in minutes (resp., seconds) on a standard laptop rather than in days as required in previous designs based on consensus.
翻译:区块链技术在许多应用中面临的核心问题在于不可篡改性(immutability)与法规合规性之间的冲突。例如,欧盟《通用数据保护条例》(GDPR)要求在某些情况下保障“被遗忘权”,这意味着用户可能需要在特定时刻强制删除本地存储区块链中的部分数据,从而不可逆转地损害此类去中心化平台的安全性与透明度。针对这些数据保护与一致性问题,本文设计并实现了一种从比特币区块链中安全删除数据的机制。我们利用零知识证明(zero-knowledge proofs)允许任意节点删除比特币交易中的部分数据,同时保持已花费与可花费硬币正确性的公开可验证性。此外,我们特别采用STARK证明(STARK proofs)以利用其提供的透明性。与以往方案不同,我们的方法避免了要求节点就待删除内容达成共识的复杂性,具体而言,该设计使每个节点无需与其他节点协调即可独立删除特定数据。在实现中,标准笔记本电脑上可在数分钟(验证仅需数秒)内完成数据删除操作,而此前基于共识的方案需要数天时间。