区块链技术资源分享
追寻中本聪先生的脚步

BFP_BCH文件安全存储系统Bitcoin Files Protocol@比特币指南

BFP是一个开源项目,是由Simple Ledger Protocol(SLP)开发者 James Cramer, Ryan X. Charles, Mark B. Lundeberg, Calin Culianu, Jonald Fyookball, 以及BCH开发者 Unwriter联合推出的。

通过它,可以将一些小文件(<5kb的文件)上传到比特币现金区块链上,并可以下载下来。

之所以推出该协议是因为目前缺少将匿名文件上传到Web端的可靠服务,以及良好的免费API。

现在所有可靠的云存储服务通常不允许在没有登录或拥有API密钥的情况下上传。这些服务都是中心化的,而且可以随意审查。

因此BFP开发团队推出该程序解决这些问题。此协议的最初目的是简化JSON文档的上载,这些文档可能与Token的GENESIS交易中的特定SLP Token相关。

BFP是一个与SLP Token不同的协议,但它的设计是通过多个事务处理,使用DAG将文件块和元数据链接在一起,因此它类似于SLP Token。

上传文件

文件以一系列文件块的形式被上传到区块链,这些块封装在位于vout=0(即第一个输出)的OP_RETURN消息中。文件块相互引用,使用vout=1输出作为指向下一个数据块位置的指针。该文件可以与任何人共享,只需共享文件上传到的最后一个块的事务id即可,该块还包含可选的文件元数据。

下图展示了一个使用此协议的多部分文件上传示例:

BFP-创建一个初始融资交易

在上传的文件数据块系列中,最后一个事务的事务id是文件的句柄。最后一个事务包含一组特殊的可选文件元数据参数,最重要的是需要与文件关联的块的数量,以便知道要下载多少数据块。

例如:创建一个初始融资交易(如上图所示),以支付所有后续交易的成本。这样做的原因是,所有的事务都可以一个接一个地签名,然后所有签名的事务都可以成批提交到网络。这也降低了文件上传的总成本,因为每个文件块的事务只有1个输入。

下载文件

此时文件位于区块链中,使用文件元数据OP_RETURN消息的事务id下载文件。为了下载完整的文件内容,软件只需要按照以下步骤操作:

  1. 下载文件的元数据事务
  2. 解析位于该事务中第一个输出(即vout:0)的元数据OP_RETURN消息
  3. 如果只有一个块,并且在元数据消息中提供了一个块,那么过程就完成了。
  4. 如果有更多的块需要下载,那么使用vin:0中指定的事务id来查找下一个数据块,并重复这个过程,直到所有的块都被下载。应该在每个步骤执行验证,以确保遵守协议规则。
  5. 使用上面指定的“Chunk Transaction OP_RETURN”格式解析纯数据块。
  6. 使用第一个signed = first块规则重建文件的数据块。

目前该协议已经内置于最新的Electron Cash SLP钱包代码库中。其开发人员James Cramer也在社交媒体平台Yours.org上发表了一篇文章,对BFP的使用方法做了一个简单示例。

BFP的使用方法简单示例

BFP的推出为BCH的应用添加了新功能。越来越多的应用程序的产生将会丰富BCH的生态,并推动BCH的采用。

对于BCH来说,加强采用应该作为现阶段的重要任务,BCH社区欢迎开发人员开发更多好玩有用的应用程序。

而且开发人员还可以参加BCH DEVCON黑客马拉松来展示自己的才华。

@比特币指南

推荐阅读:

比特大陆的BCH比特币现金才是真正的比特币?

BFP_BCH文件安全存储系统Bitcoin Files Protocol

分享到:更多 ()

来评论吐槽 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

快手号:神吐槽shentucao

交易所地址更多手机免费挖矿APP