【参赛IDEA】基于零知识证明的供应链信息共享平台



  • img

    本文正在参加 PRS Dapp 产品及开发创意大赛IDEA 公开征集,并非最终稿,还将持续完善。欢迎大家联络我,我非常需要任何有助于该 IDEA 进一步完善的建议或反馈。

    • Idea Owner:飘渺孤鸿影

    • Idea Owner 邮箱:ly74132@126.com

    • Idea title:基于零知识证明的供应链信息共享平台

    • Idea Improve:等大佬哈

    • 邀请人 :飘渺孤鸿影

    我承诺本文所展示的 IDEA 归本人原创,欢迎监督。本人均已在 PRESSone 发布签名记录该 IDEA 的重要历史版本,以下为签名信息:


    Idea简介

    这个是我和朋友在打区块链黑客松时的备选idea,虽然执行起来也许比较难,但是有着非常大的市场前景。因为本身就是区块链的开发人员,一直都在以太坊上做开发,但是以太坊还是太慢了,最近就在关注EOS,IPFS和国内的公链例如MIXIN。

    我们想要做的是通过区块链来上传各个地区的销售数据,从而使得供应商能够马上调整生产策略,或者通过存证信息获得融资来保证生产。

    举个例子好了,苹果,三星,华为都在生产手机,而他们的供应链其实也存在很大程度的重合度。从TSMC台积电买CPU芯片,从三星或者LG买显示面板,但各个地区的销售数据也许需要经过很长的时间才反应到供应链上。这就对供应链上的各个生产商带来了很大的波动和库存开销。在经济不景气的时候也许就会破产,或者在需要扩大生产的时候缺乏足够的资金。对消费者而言也会造成蛮大的困扰,消费者可能会等待较长的时间才能够买到心爱的产品。

    我们就想要通过智能合约和零知识证明来解决这个问题。

    首先,每个销售渠道都会获得自己的钱包地址并上传销售数据。为了确保数据的可靠性,可能会由公司来颁发数字签名证书并绑定当前地址。当然,数据都是加密的,需要密钥才能看到原始数据。因为PRS网路上存的是数据的Hash值,原始数据的存储可以用私有化的架构来进一步保证安全。

    当然,大家的疑问是这样不就把自己的机密都泄露出去了。因此,我们想要采用零知识证明来展示销售点的大致信息。目前可能会使用零知识分类证明来证明所属的类别(Zero Knowledge Set Membership Proofs,简称ZKSM),例如中国那个省份的销售数据啦,哪个渠道啦,或者用零知识范围证明来说明销售点的大致位置,和其他的数据(Zero Knowledge Range Proofs)。

    当然,如果把销售数据原封不动的展示出来,公司也不愿意,上游的生产商需要的仅仅是订单总量而已。而且很多时候供应商不只是接一家公司的订单,可能要统计很多的家的来制定生产计划。因此,我们想要通过在销售数据上增加随机数,只要随机数的seed能够控制好,加和之后就能够相互抵消。而且如果对应的是多个公司,则可以通过随机数来保护各个公司的销售数据,只能让生产商得到所有公司加起来的订单总量,保护每个公司的隐私数据。

    同样的,因为引入了数字证书,如果加上签订的合法合约,那么生产商就可以在没有拿到最终的合同前把它们作为凭证进行供应链融资。这样就能够提早的扩大生产,更加快速的反应消费者的需求。

    Idea 阐述

    1、你的idea想要解决的问题或痛点是什么?

    供应链融资滞后于生产计划带来的巨大生产成本与销售机会流失。
    供应链数据的造假,不公开透明。
    企业订单修正滞后带来的供应链库存与现金流压力。

    2、你的idea要解决的需求痛点主要面向哪些人群?

    供应链

    3、你的idea在哪里需要用到区块链技术或借助PRS开放的资源或技术?

    1. 链上数据的存储与存证。
    2. 基于零知识证明的智能合约架构。

    这里,智能合约主要用于数据的传递和数据的计算。github
    上有这个零知识证明的库零知识证明,它是跑在solidity(以太坊)上的,所以需要智能合约进行数据的自动化传递和敏感数据的保护传递,同时也要验证数据上传的地址,只有是符合的销售点地址才能够调用合约进行计算。

    为了进一步在保护隐私的数据同时也能让供应商获得销售的总数据信息,由于数据上传是基于智能合约,也许在数据上传时就能够根据上传数据的地址对数据内的信息做一些加工,不论是做seed加一些随机数,或者是用某个函数进行数据的变换,这些都可以写在智能合约上。

    这样处理后,每个数据点上传的数据都不是真实的,但经过总数据的加和和处理就能够得到整个的真实销售数据来提供给上游的供应链。既保护了公司销售点和库存的信息,也同时反映出市场的需求和变化,方便及时对供应链作出调整。

    1. 针对钱包地址的数字证书颁发以及验证数据的电子签名。

    4、你的idea 在现实世界或互联网上已经有解决方案了吗?举点例子?

    没有。之前的供应链区块链会造成信息的泄露与公开,无法保证企业的利益。

    5、(接上题)对比已有方案,你的idea有哪些差异/优势/满足什么之前没被解决的问题?

    采用密码学保证节点的合法性,零知识证明解决企业的数据泄露问题。

    而采用hash哈希值上链存证也保证数据的可靠性。

    因为这个是用于供应链上的数据共享,本身的造假成本就很高。如果生产过多,可能会拖垮生产商的库存;如果生产太少,那么也就没有办法组装足够的成品去满足市场的需求。不论那种方式都是对公司利润的极大损害,他们不会自己攻击自己。所以数据也是真实可信的。

    6、实现idea过程中你可预见的最大困难或障碍在哪里?

    因为是ToB的架构,需要开发出一整套的完整产品,这需要前期较大的投入。

    7. 供应链融资数据

    促进供应链融资这边需要考虑银行所接受的可信数据。通常情况是银行需要生产商和公司签订的合同来作为生产商的融资凭证。

    如果采用区块链,首先需要做的就是和银行进行商定,如果账号地址带有带有第三方颁发的数字证书(digital certificate),且该地址上传的数据带有数字签名(digital signature),能否作为可信数据?

    第二点就是,在数据可信的前提下,需要定义哪些数据作为银行认定的订单数据来给予融资?当然,销售数据是一个很重要的部分,但也许会包含其他的。

    这是和银行签订协议需要做的事情。我之前和日立公司的人聊过,他们也在用区块链做供应链的融资,但问题不出在链上,而是如何和银行达成一份基于区块链的有效协议。

    当然,也可以绕过银行来做。这就是最近非常火的defi, decentralized finance。通过基于mixin的一个去中心化的借款机构来进行供应链上的融资也是一个很好的选择。尤其mixin也支持USDT,支持稳定币也有助于这些去中心化金融机构的推广,



  • 欢迎参赛!

    抛砖引玉,提几个小的疑问:

    1、在这个idea中,为了促进供应链融资,所需提供的可信数据有哪些?销售数据吗?

    2、相较于传统解决方案,基于区块链的好处是,“不可篡改”提高了造假的成本、降低了信任的成本,但如果确实发生造假、有什么追溯和追责的方式吗?

    3、智能合约如何运用其中,没怎么看明白。



  • @HelenLiu刘娟娟
    对于第一个疑惑,促进供应链融资这边需要考虑银行所接受的可信数据。通常情况是银行需要生产商和公司签订的合同来作为生产商的融资凭证。

    如果采用区块链,首先需要做的就是和银行进行商定,如果账号地址带有带有第三方颁发的数字证书(digital certificate),且该地址上传的数据带有数字签名(digital signature),能否作为可信数据?

    第二点就是,在数据可信的前提下,需要定义哪些数据作为银行认定的订单数据来给予融资?当然,销售数据是一个很重要的部分,但也许会包含其他的。

    这是和银行签订协议需要做的事情。我之前和日立公司的人聊过,他们也在用区块链做供应链的融资,但问题不出在链上,而是如何和银行达成一份基于区块链的有效协议。

    当然,也可以绕过银行来做。这就是最近非常火的defi, decentralized finance。通过基于mixin的一个去中心化的借款机构来进行供应链上的融资也是一个很好的选择。尤其mixin也支持USDT,支持稳定币也有助于这些去中心化金融机构的推广,但是这就不在我们这个idea的讨论范围之内了



  • @HelenLiu刘娟娟 对于第二个疑问。因为这个是用于供应链上的数据共享,本身的造假成本就很高。如果生产过多,可能会拖垮生产商的库存;如果生产太少,那么也就没有办法组装足够的成品去满足市场的需求。不论那种方式都是对公司利润的极大损害,他们不会自己攻击自己。



  • @HelenLiu刘娟娟 智能合约主要用于数据的传递和数据的计算。github
    上有这个零知识证明的库零知识证明,它是跑在solidity(以太坊)上的,所以需要智能合约进行数据的自动化传递和敏感数据的保护传递,同时也要验证数据上传的地址,只有是符合的销售点地址才能够调用合约进行计算



  • 为了进一步在保护隐私的数据同时也能让供应商获得销售的总数据信息,由于数据上传是基于智能合约,也许在数据上传时就能够根据上传数据的地址对数据内的信息做一些加工,不论是做seed加一些随机数,或者是用某个函数进行数据的变换,这些都可以写在智能合约上。

    这样处理后,每个数据点上传的数据都不是真实的,但经过总数据的加和和处理就能够得到整个的真实销售数据来提供给上游的供应链。既保护了公司销售点和库存的信息,也同时反映出市场的需求和变化,方便及时对供应链作出调整。



  • 这个idea技术含量还蛮高的,关注下



  • 很有想法,关注ing



  • idea已经更新到首帖



  • 感觉最大的问题还是怎么样让企业同意上链,怎么找到第一批数量足够的客户。



  • @cgq81444 是,如果能够提供一整套的解决方案,企业才会买单。而且这里面除了企业的问题,还有法规的考量。之前我们打黑客松的时候和hitachi的负责人聊过,他们也提供了一些区块链供应链融资方案,企业也愿意去尝试,但是银行会有法规的担忧,阻力也是蛮大的。

    其实区块链所能够解决的都还算是小问题,区块链解决不了的才是落地中的大问题。



  • @飘缈孤鸿影 感谢解答