1. 趣币网首页
  2. 资讯
  3. 新闻

学术向丨论十大比特币区块链数据嵌入方式

译者按:如何将外部数据永久保存在比特币区块链上?对于这一问题,其实我们有不下10种答案,那在这些答案中,哪一种会是最佳的呢?论文作者通过研究发现,对于不同大小的数据,并不存在一种通用的最佳区块链数据嵌入…

译者按:如何将外部数据永久保存在比特币区块链上?对于这一问题,其实我们有不下10种答案,那在这些答案中,哪一种会是最佳的呢?论文作者通过研究发现,对于不同大小的数据,并不存在一种通用的最佳区块链数据嵌入方式。相反,根据不同的优先级以及要存储的数据量,选择不同的方法将是最优的。对于少量数据,使用OP_RETURN是一个可靠的选择。而对于较大量的数据,如果重点是考虑低成本,而不是考虑安全性,那么带有签名的数据删除法(Data Drop w/o Sig)可能是最好的选择。或者,你也可以采用带有签名的数据哈希法(Data Hash w/ Sig),其在数据完整性和有效成本之间提供了良好的平衡。

友情提示,文章较长,请谨慎阅读。

blockchain data

(图片来自:csoonline.com

原文载于 ledgerjournal.org 期刊

作者:Andrew Sward,† Ivy Vecna,‡ Forrest Stonedahl§*

作者信息:†A. P. Sward (andrewsward@augustana.edu)是奥古斯塔纳学院应用数学助理教授

‡I. Vecna (ivyvecna15@augustana.edu)是奥古斯塔纳学院的一名本科生研究者

§F. Stonedahl (forreststonedahl@augustana.edu) 是奥古斯塔纳学院计算机科学分院的助理教授,

摘要。本论文提供了各类将任意数据嵌入比特币区块链的方法。文章描述了各类数据嵌入方法,以及一些鲜为人知的效率优化技术。我们对嵌入方法在效率、成本、数据重建便利性、持久性以及对比特币生态系统潜在负面影响这些方面,进行了深入的比较。

一、介绍

在比特币的创始区块诞生那一刻,其创始人中本聪在区块链中记录下了第一条永久信息,自那以来,比特币已经被用作一个自由言论的平台(1)(2)。 除了在全球范围内作为一种数字货币被交易之外,比特币还为用户提供了发布抗审查或无法被删除的信息能力,并将永久性地呈现给世界(只要比特币本身持续存在着)(3)。然而,关于比特币作为一种数据发布/存储平台的使用,是否是合适的这一问题,比特币社区内存在着分歧意见:

“使用比特币区块链存储与比特币支付无关的数据,是一个颇有争议的话题。很多开发人员认为这是一种滥用,并设法阻止这种行为。其他人则认为,这正是区块链技术强大能力的一种展示,他们还希望鼓励这种实验。” -Andreas Antonopoulos (4)

关于比特币可以做什么,以及应该做什么,每个人都有自己的想法。虽然我们倾向于支持数据嵌入可以是区块链合法且有价值应用的这一观点,但是本文的目的,并不是赞成(或反对)这种做法,而是列举有效的数据嵌入方式,并检查每种方法的优点和缺点。具体而言,我们将基于效率、成本、数据重构的便利性、持久性,以及对比特币生态系统的潜在负面影响,来比较这些数据嵌入方式。

我们相信,这项工作会引起几类读者的兴趣:

  1. 对于那些希望在区块链中存储数据的人,我们识别出在给定协议约束的情况下,哪些是实现数据存储优化的方法(并且最小化了相关成本)。
  2. 对于那些担心区块链被用于数据发布/存储的人来说,我们提供了目前可用方法的清晰概述,并解释了哪些方法减轻了对其他用户的负面影响。
  3. 对于未来的数据考古学者,我们提供了一个有价值的参考点,可以让后代发掘这些虚拟文物,否则这些虚拟文物将可能永远隐藏在二进制格式的区块链当中 (5)

二、 相关工作

众所周知的是,我们可以把外部数据存储到区块链上,并且有很多网站提供了对这些数据子集(6)(7)(8)的访问,并且其中有一些优秀的网站已经发现了以前存储的各种有趣历史文物(9)。尽管如此,关于数据可以(和已经)存储的各种不同方法,仍然存在着混乱以及错误信息。例如,最近有一本关于比特币的综合教科书,其中有这样一段内容:

“没有办法可以阻止人把任意数据写入到比特币区块链[sic]。其中一种可能的对策是只接受P2SH交易。这会使得写入任意数据的代价变得更高,但它仍然不能阻止数据写入这种行为,” (10)

第一个“不能防止任意数据嵌入区块链”的断言是正确的,因为目前我们并没有区分合法地址哈希和任意二进制数据的一般方法。然而,第二个说法却是错误的,因为对于存储大量任意数据而言,P2SH交易实际上提供了最便宜,也是最有效的方法(参见第5章)。

市场上,也有各类网站为用户提供了友好的数据发布工具(11)(12)。然而,这些工具目前使用的是P2FKH(Pay-to-Fake-Key-Hash)方法,而这种方法具有严重的缺点(详见第四章第2节内容),使得这些服务对用户而言效率低下,并且有害于比特币的基础设施。

虽然之前的一些研究工作,分析了比特币交易账本的图形结构和匿名性 (13)(14),但关于任意数据的发布与存储问题,目前学术界很少有过研究,只有为数不多的研究例子。

在2015年,Sleiman等人显然没有意识到,比特币用户已经将任意(ASCII和二进制)数据嵌入到了比特币的区块链中,他们天真地提出了一个协议,并使用交易货币量字段来编码数据,开发了用于将文本消息纳入区块链的软件(15)。结果这是一种非常低效的数据发布机制,每个交易输出只能存储最多8个小写字母。而最近,Bartoletti和Pompianu分析了附加到交易的元数据,这些交易使用了一种特定的数据嵌入方法(OP_RETURN,参见第四章第5节内容),从而在比特币协议之上构建协议层(例如,用于资产管理、公证等)(16)。在