V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nowgoo
V2EX  ›  区块链

请问有没有算法可以保护零信任环境下的数据交易?

  •  
  •   nowgoo · 2022-01-19 18:56:00 +08:00 · 2066 次点击
    这是一个创建于 1038 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景:

    • A 有一份数据。不算小,比如 10MB 吧。
    • B 有加密货币,以及这份数据的哈希 X (假设 MD5 )。
    • B 愿意购买这份数据,也跟 A 谈妥了价格。

    但是现在 A 和 B 互不信任,有什么办法可以保证 A 成功拿到钱的同时,B 也拿到了正确的数据?

    • 先打款后传数据,A 可能跑路。
    • 先传数据后打款,B 可能跑路。

    直接上链?一来成本扛不住,二来……B 也不信任矿工啊。

    设想过这样的加密方式:

    1. A 传输加密后的数据给 B ,密钥为 Y 。已加密数据的某种神奇哈希值为 Z
    2. B 在链上发起一个密码学挑战,只有知道 Y 方可破解。
    3. 这个神奇的哈希可以保证:如果有一份数据的神奇哈希值为 Z ,通过 Y 解密后得到的数据,其 MD5 必然是 X
    4. A 亮出密钥 Y ,拿到钱。B 拿到 Y 解出原始数据。

    这样,只有哈希值上了链,成本不会太高;矿工也抢不到钱。

    然而即便存在这样的神奇哈希,也有一个致命缺陷:

    假如 A 传了一份假数据给 B 呢? A 完不成挑战拿不到钱,但 B 却有一笔钱去了黑洞啊。

    想来想去,可能最终还是要引入一个 A 和 B 都认可的第三方来担保。

    19 条回复    2022-01-26 10:33:38 +08:00
    Jooooooooo
        1
    Jooooooooo  
       2022-01-19 19:06:57 +08:00
    A 一开始数据就是假的 B 咋能知道
    picone
        2
    picone  
       2022-01-19 19:22:18 +08:00
    问题相当于找到一个解的哈希值符合要求,找到了就给他钱。那么这份数据能公开吗被大家都知道,如果能公开的话好解决。
    picone
        3
    picone  
       2022-01-19 19:23:25 +08:00
    如果不能公开的话,零知识证明是不是也可以解决,这块领域不太熟悉。
    xppppsfg
        4
    xppppsfg  
       2022-01-19 20:14:29 +08:00
    零知识证明 了解一下
    niubee1
        5
    niubee1  
       2022-01-19 20:24:52 +08:00
    用 hash 值的话只能证明你拿到了一坨数据,但是并不能证明这坨数据能用。比如你要和对方交换一个算法,那么,你拿到了算法的 hash 值,怎么证明算法能正常工作呢?这样对方拿到了钱,但是你拿到了一个 hash 对应的依托数据,但是可用不可用你怎么证明?
    ioriwong
        6
    ioriwong  
       2022-01-19 20:36:29 +08:00 via iPhone
    这问题有点意思,插个眼
    AItsuki
        7
    AItsuki  
       2022-01-19 21:57:23 +08:00
    当面交易
    xupefei
        8
    xupefei  
       2022-01-19 22:36:09 +08:00 via iPhone
    感觉和同态加密有点儿关联。
    nowgoo
        9
    nowgoo  
    OP
       2022-01-19 23:27:18 +08:00
    @Jooooooooo B 不知道。所以才要算法保护 B 不能花冤枉钱。
    @picone 可以公开;但是要保证最先提供数据的 A 能拿到钱。
    @xppppsfg 我知道零知识证明,但不知道在这个问题上如何应用。请大佬展开讲讲?
    @niubee1 神奇算法的 hash 值,跟目标哈希 X 之间应该有某种关联。而且买数据的人查看了算法源码之后,应该十分确信只要拿到密钥 Y ,解出来的数据就是正确( MD5 值为 X )的。这只是我一个失败的设想,并没有实现。
    @AItsuki 当面交易,应用场景就被大大压缩了呀。
    Jooooooooo
        10
    Jooooooooo  
       2022-01-19 23:28:46 +08:00   ❤️ 1
    @nowgoo 我举个例子吧. B 要的东西是 pi 的第 x 位(x 很大, 全世界的计算机算很多年都算不出来), A 说这一位是 5, 你感觉什么算法能保证 A 说的是对的.
    mxT52CRuqR6o5
        11
    mxT52CRuqR6o5  
       2022-01-19 23:37:29 +08:00 via Android
    网购时人们碰到的也是一样的问题啊,想想看淘宝是怎么解决的
    Buges
        12
    Buges  
       2022-01-19 23:59:12 +08:00 via Android
    这个 https://github.com/flex-dapps/enzypt
    ipfs 的一个应用,好像已经下线了。
    ruxuan1306
        13
    ruxuan1306  
       2022-01-20 01:18:49 +08:00
    @mxT52CRuqR6o5 #11 淘宝是引入受信任的第三方:支付宝担保
    geelaw
        14
    geelaw  
       2022-01-20 01:24:10 +08:00   ❤️ 1
    关键词是 fairness 和 guaranteed output delivery 。

    @Jooooooooo #10 关键词是 succinct proof 和 delegation of computation 。验证计算正确所需要的时间可以远远小于执行计算本身所需要的时间。
    murmur
        15
    murmur  
       2022-01-20 08:48:43 +08:00
    没有,售后都是扯皮,有人的地方就有陷阱,就看是无脑偏商家,还是无脑偏顾客,当然也有闲鱼小法庭这种 sb 东西
    adrianzhang
        16
    adrianzhang  
       2022-01-20 09:16:16 +08:00
    这不就是智能合约解决的问题么。创建一个智能合约并定义 hash ,B 往智能合约充钱,然后 A 把数据放到永久公开存储,将 URL 发给智能合约,智能合约判断 URL 的数据 hash 等于预定义 hash ,就将款转往 A 。
    nowgoo
        17
    nowgoo  
    OP
       2022-01-20 21:16:18 +08:00
    @geelaw 感谢提供线索,多谢。
    AkashicRecords
        18
    AkashicRecords  
       2022-01-25 20:26:36 +08:00   ❤️ 1
    一个人有没有密码学安全的办法和另一个不可信的人平等交换信息? - Rix Tox 的回答 - 知乎
    https://www.zhihu.com/question/19839010/answer/1094349743

    完美符合楼主的要求。
    nowgoo
        19
    nowgoo  
    OP
       2022-01-26 10:33:38 +08:00
    @AkashicRecords 正好是我需要的,非常感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2885 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 07:55 · PVG 15:55 · LAX 23:55 · JFK 02:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.