从一个实际的版权保护方案,解释区块链能做、不能做什么

网络上有很多关于区块链改变生产力的文章,是大家憧憬区块链未来的精神粮食,然而现实骨感,目前实际可使用的公链只有以太坊,可以大规模有效测试的只有IPFS,所以并不能做出什么惊世骇俗的产品。

同时很多人有一些误区,就是某些方案放到区块链上就解决了问题,但是大多数情况下这是对区块链实际是什么不理解造成的误区,我们见过的90%的方案,完全不需要用到区块链。举个最简单的例子,大多数区块链方案说Token可以发给股东以外的企业的stakeholder(权益人),比如社区的参与者、客户、上游供应商,鼓励大家共建社区等;但是企业完全可以把股份也发给这些人,法律上有限制,比如不能超过200人,流通比较麻烦,但是并不是不能。这里我们不展开讨论,以后拟文再议。

我们举一个实际的方案,来解释时至今日,区块链技术能做到什么,做不到什么。

我们的方案是这样:

目的:使用区块链技术做版权保护

功能:提供基于区块链的原创时间证明

适用:有UGC内容的平台

技术:IPFS,以太坊(ERC721)

具体的实现路径也不难:

1.一个用户可以把任何文件递交给本地电脑的IPFS客户端(或者通过我们的网页,递交给我们的服务器上的IPFS客户端);

上图的哈希:

QmbEK9WsjEWgmKdKj9GidhoD52h3vszSsB9rUfx7iRXuHi

3.我们制作了一个以太坊智能合约,支持生成一个ERC721的Token,并且把第二步的哈希写入这个token的metadata。同样,这个步骤可以我们通过提供一个网站服务来自动完成,或者用户支持以太坊的客户端自己完成这个步骤;

4.这个Token会被发送到上传文件的这个用户指定的以太坊钱包地址中。这样,上传素材的用户有了一个证明,证明自己在生成ERC721 Token那个时间节点,拥有他上传的素材,并且在IPFS网络上存储了一个不可磨灭的拷贝;

5.我们的智能合约支持素材的授权和交易(使用以太坊或者ERC223 Token)。

结合不同的应用场景,我们可以对整个流程的易用性、交互方式、加密方式和用户权限进行设定。

这个流程的核心是利用了IPFS,一个去中心化存储网络,或者去中心化的CDN;以及以太坊的ERC 721标准,Non-fungibleToken或者叫唯一Token,即每个Token的metadata参数不一样,因此每个token是唯一的。

这样,简单来说,我们就为一个用户,提供了一种保护机制,任何人通过上述流程来证明,自己在某个时间拥有某个素材。原创声明的主张,一个核心在于谁能提供一个有公信力的较早的时间证明,那么区块链的公信力这点符合原创保护的需求,因为以太坊Token的生成和交易,即每次写入以太坊网络的时间,是记录在区块上的,而区块链是一个单向的链,有明显的时间先后顺序。

以上是目前区块链可以做到的,理论上。

之所以说理论上,因为还是有些瑕疵的。因为IPFS是目前还是测试网络,其问题在于,第一不能保证目前存储的文件一定以后会存在网络上;第二,没有引入价格(Filecoin)的机制,所以无从计算商用成本;第三,界面和接口,随时都有可能调整,所以整个开发流程都有可能要重来。

IPFS虽然项目已经存在了3年有余,但是仍然不是一个可商用的网络,仅供开发者测试。目前唯一能用的网络还是只有以太坊。我个人认为,其他网络从发布第一个测试版本,到能够达到今天以太坊的商用程度,至少要3年到5年。

就区块链设计而言,有很多从逻辑上都做不到的。

首先,在这个方案设计了以后,公司的同事就直接提出,最好能够通过区块链实现版权的鉴定和仲裁。

从目前我们使用的两个网络来看,IPFS和以太坊,在没有第三方介入的情况下,逻辑上不能实现上述功能。IPFS目前只是支持上传文件,生成哈希指针;以太坊可以支持写入内容,以及关联账户。但是,这两者都不能识别内容,更不要说做判断。

也就是说,我如果在IPFS上上传了《蒙娜丽莎》的图片,IPFS上只能给我一个哈希,网络并不知道这个图片的意义。如果我很鸡贼的使用上述流程,我就得到了一个我在某个时间点,比如今天,在以太坊+IPFS上存储了《蒙娜丽莎》的证明。

任何人都能鉴定和仲裁《蒙娜丽莎》不是我画的,但是区块链不能。

同样的,如果蒙娜丽莎已经存在于IPFS网络上了,我把《蒙娜丽莎》改了改颜色,只要生成的哈希是不一样的,那么网络也不能鉴定。鉴定和仲裁,一定是人为的。

其次,我们能不能引入社区投票机制,来实现鉴定和仲裁。在这个思路上,我们没有改变鉴定和仲裁必须人为这一事实,而只是把这个职能让超过一个人来完成。

我们对这个问题没有现成的解决方案,因为现阶段以太坊和IPFS不具备形成解决方案的功能,目前一定要加上第三方。一个典型的通过社区鉴定的版权的机制是,对于任何用户上传的并且声明原创的素材,其他用户可以进行投票,必须超过某些票数的指标,才能认可原创。

为了完成上述的方案,一个社区需要发行新的Token(Fungible的ERC20或者223)进行投票,但是如果原创声明的规则是要求是达到一定票数,则很容易通过小号作假;如果要求达到社区总token的一定比例,那么实际耗费的时间又比较长,很难大规模的鼓励社区去参与投票;如果是举报模式,则依然要第三方进行评估和确认。

如果我们设计在再复杂一点,让我们参考Maker/Dai的机制,通过发行2套Token来完成这个功能:如果社区以鉴定作为奖励,需要原创声明的人使用一套Token A,用类似集赞或者二选一投票的方式,为每个申明原创的文件支付一定比例的Token,对是否原创做出正确判断的社区用户将分配这笔费用,判断错误的则获得惩罚。为了让这个机制公平,另外一套Token B则用于记录每个社区成员的评判成功次数,以增加该用户的评判权重。

即使这样,也没有有人可以保人鉴别的结果是绝对正确的,并且实际上这个模式也仅仅是把社区的成员当作第三方,token只是变相的支付而已。

总的来说,在区块链上要完成一些功能,实际要比中心化的设计复杂很多。一个真正有意义的去中心化应用,最好满足两个条件:第一,这个服务的运营方不被用户信任,或者不信任用户,双方需要公平的机制来建立信任;第二,整个体系需要有一个标准化的部分,是不需要被定义就能够被大家公认的。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180427A1RN5S00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券