不是圈钱,更不是炒热点,AI + Blockchain 造就广阔前景:人工智能大数据交易平台



  • 原创: 缥缈孤鸿影 PRESSone项目资讯

    339376a5bc5226153536cea153cbb0f1.jpg

    人工智能、大数据其实是目前非常火热的一个赛道,当然,区块链就是 CS 另一个火热的方向,AI + Blockchain 给人的第一印象是:这个公司在圈钱吧,真会炒热点。但这两者相结合,的确存在着非常广阔的应用前景。

    大数据交易的弊病


    目前大数据交易主要存在着如下的问题。第一是数据的可靠性。在大数据的实际处理中,数据清洗往往是最耗时、也是最重要的部分,如何获得统一结构、相同条件下可以信赖的数据,对于模型的训练是非常重要的。
    第二则是由于电子数据和实物不同,其天然具有复制成本低、复制无差异性、没有“唯一且明确的”所有权约束等特征。因此,数据交易后,资产的权益无法得到保障。

    我们的解决方案


    1.合约自动化交易数据

    我们想要的是采用合约来进行数据的交易。买家在购买前能够获得样本数据以及第三方授予数据提供方的可靠性证书。这样,买家就能够来决定是否购买。数据本身可以存储在去中心的架构如 IPFS,storj 或者其他的中心化架构方式上。当买家付款后,就会把解密的私钥和数据地址发回买家,解密后即可使用。

    2.数字证书保证数据的可靠性

    对于需要的公司或机构来说,对购买的数据进行可靠性验证是一个费时费力的工作。因此,我们认为,由一个买卖双方都认可的第三方机构进行认证是一个很好的解决方案。当然,这笔费用由卖方支付。数据验证完成后,第三方机构会授予一个数字证书和卖方的地址或者交易数据的 hash 值绑定, 这样,在交易的过程中,买方就有对数据规范性和可信性的保证。

    3.Proof of authority 保护原数据产生者的权益

    为了保护卖方数据的权益,我认为核心在于不去卖出全部的数据。每个数据都只卖出自己持有的一部分,而全部的数据都持有在自己手里作为 proof of authority。

    说下具体操作大家可能就明白了。

    当每个买方从卖家手里买取数据的时候,会获得一个对应的 nonce,也许是把 transaction 通过 SHA-256 hash 一下产生一个针对这笔交易的唯一对应的类似 ID 的东西。那卖方把数据交易的时候,就会根据这个 nonce,或者说 ID ,来产生与之对应的部分数据卖给买家。

    一图胜千言,简单的原理如下:

    f117391c9f1988be7f9ed09fa6c6683f.jpg

    这样,每个卖家获得的数据都是与之对应的唯一 nonce 所产生的,如果数据泄漏出去,马上就能够根据数据的组成分辨出究竟是谁泄漏的。

    当然,买家也许会把买到的数据分拆开来进行销售从而避免自己被发现,但由于他无法获得其他买家的 nonce 信息,所有的 nonce 都存在卖家一侧,他没有十足的把握来避免自己被发现。只要卖家发现市场上销售的盗版数据缺失的部分与 nonce 上的相吻合,就能够确定究竟是谁售出了自己的数据,或者缩小嫌疑人的范围。

    当然,采用 nonce 这种方式售出数据也要求卖家的数据量足够大,这在机器学习领域来说,应该不是什么大问题。
    除此之外,我们倾向于采用 Merkle Tree 的数据结构来存储卖方的大数据。

    d68ea43a6804acf6569cf6172c3f3574.jpg

    By Azaghal - Own work, CC0,https://commons.wikimedia.org/w/index.php?curid=18157888

    在密码学及计算机科学中,哈希树(hash tree;Merkle tree)是一种树形数据结构,每个叶节点均以数据块的哈希作为标签,而除了叶节点以外的节点则以其子节点标签的加密哈希作为标签。哈希树能够高效、安全地验证大型数据结构的内容,是哈希链的推广形式。(摘自中文维基百科)

    采用 Merkel Tree 的第一个好处是数据本身是分片的,这样,根据 nonce 来查找对应的数据部分就方便的多,可以每两个 data block 一组,根据 nonce 的值,产生对应的购买数据。

    第二个好处则是,买家能够验证买到的数据的确是自己想要的。因为在数据交易之前,买家能看到的只是数字证书,样本数据以及全部的 hash 值。那么,等到获得了数据后,买家就能够根据自己购买到的数据块来建构整个 merkle tree,从而验证买家所售出的数据究竟是不是在智能合约里售卖的。

    举个例子,智能合约里展示出的是 hash 00, hash01, hash10, hash 11 以及 hash 0, hash 1, 和 top hash。买家买到的数据也许是 L1 和 L4,那么,他就能够验证 L1,L4 产生的 hash 值是否是 hash 00, hash 11,并计算更上一层的 hash 究竟是不是正确的。

    因为在 merkle tree 的数据结构中,只要一点点数据发生变化,整个从树底到树枝的一条路径上的 hash 值都会改变。而 top hash 已经与数字证书绑定,那么,卖家无法再私自更改售卖的数据,因而,交易的数据是被证实过的可信数据。

    从而,买卖双方都能够得到自己想要的部分。卖家无法伪造假的数据而买家也无法售卖从卖家获得的数据。大家都会很开心,哈哈。

    联系作者、讨论idea 前往:
    https://onedev.club/topic/522/

    947ac6a7775970990cb7bea0ba86f4f8.jpg