专栏名称: 渡鸦区块链
区块链领域创业公司的首发阵地 投资机构必读公众号
目录
相关文章推荐
51好读  ›  专栏  ›  渡鸦区块链

区块链上资产与链下实物锚定的正确姿势在这里,别再用二维码自欺欺人了

渡鸦区块链  · 公众号  · 区块链  · 2017-09-08 09:43

正文

请到「今天看啥」查看全文



  • 第三,“一对多” 攻击,也就是让区块链中DAR 同时对应多个RA。实施这种攻击的方法是想办法复制多个一模一样的sTAG,贴到不同的实体上,也就是伪造标签。


  • 第四,“多对一”攻击,与一对多攻击正好相反,就是让把多个sTAG贴到一个RA上,一个物件多个身份证,这样就可以在交货之前想办法把一个RA进行多次销售。


在以上四种基本攻击方式还可以任意组合,形成丰富多彩的攻击模式。简而言之,如果不能实现一对一的、可靠的、难以破坏、复制和挪动的硬链接,那么用区块链来管理实物资产就是一个笑话。


遗憾的是,据我了解,目前大多数区块链防伪追踪系统的设计,就只达到了这个层面。可以这么说,这样的区块链系统,在现实世界中只能是防君子不防小人,实际意义非常有限。




中本聪的启示


怎么解决这些问题呢?一个直觉的想法是让 sTAG唯一、不可伪造且与RA无法分割。那么我们就从确保sTAG的唯一性出发来思考。首先,sTAG中所含的ID信息,一经产生就必须是独一无二的,我们永远无法从区块链中产生出两个内容相同的标签。初看这个要求并不难达到,使用密码学标准的SHA-256、SHA-512或者其他密码产生器产生的位串,从概率上讲在人类文明存续期间不会出现第二次。


但想要真的实现唯一性并不是那么简单。强有力的攻击者不会规规矩矩的去找区块链重新生成一个新标签,而是会通过读取一个标签中的ID信息,用自家的黑设备复制一个标签,其中包含一个与原标签内容一模一样的ID信息,从而就可以实现上面所列举的一对多攻击。


这个问题当然不是区块链首先遇到的。现实世界中防伪,特别是纸钞、艺术品、珠宝、名酒等物品的防伪,已经有了很丰富的经验。但一方面,效果其实并不那么好,另一方面, 这些防伪机制都依赖于一个权威的中心化机构。想要在现实世界解决唯一标签问题,又不引入中心化机构,这恰恰就是区块链试图解决的问题之一,因此如果在这个环节当中重新引入权威的中心化机构,那么整个区块链系统的价值和意义就大打折扣了。



那么比特币是怎么解决这个问题的呢?中本聪没有费力防范比特币数据被复制,而是允许任何人都可以随意复制,但复制是随意的,操作则要凭私钥才能进行。具体来说,中本聪设计了一个“锁定脚本(locking script)”机制来保护UTXO资产。这个锁定脚本也叫“负载(encumbrance)”。也就是说,任何人想要动用这个UTXO资产,必须执行这个脚本,过得了关才能动用,过不了关你就别想。


详细的机制限于篇幅在这里不详述,感兴趣的读者可以参考我的另一篇文章《 智能资产:概念、动机和技术思路》 ,该文从代码层面详细分析了锁定脚本的机制。我们在这里只需要注意以下几点:


  • 第一,比特币没有使用静态的标签,而是用执行锁定脚本的方式来实现所有权的转换。锁定脚本的执行,需要“开锁人”,也就是收款人提供一些“证据”作为参数,才能够执行成功,从而也才能开锁。


  • 第二,UTXO 自身包含了锁定脚本,从而使锁定脚本成为区块链数字资产(UTXO)不可分割的一部分。这就一举消除了一对空、一对假、一对多攻击的可能性。但是比特币能够这么做是有条件的,那就是它管理的智能资产UTXO本身就是数字资产。因此有人评论说,比特币是使用特定方案解决了一个特定问题,不能把它的解决方案直接照搬到其他领域去,而是必须做一些修改。


  • 第三,每一次交易,原UTXO被消耗,产生新的 UTXO,包含新的锁定脚本。


  • 第四,任何人都可以复制UTXO,但这并不构成攻击,因为锁定脚本保护的是内容,不是UTXO 那几个字节。比特币的本质是一个账簿,只要账簿内容是一致的,不管有几个账簿副本实体,本质上都只有一个账簿。这就解决了唯一性问题, 并消除了多对一攻击。


以上是比特币的设计。需要指出的是,在区块链世界里,比特币的思路并不是唯一可行的路径。比如以太坊就有另一套思路,简单的说就是一切交给智能合约的思路。在我看来,如果仅仅是进行智能资产的防伪与追踪,以太坊的做法实在太 大材小用了。因此我还是主张以比特币的思路为主来解决硬链接的问题。


我们能不能从比特币的设计中吸取灵感,来解决前述的硬链接问题呢?








请到「今天看啥」查看全文