一哥们和我聊,用我的 BTC 换他老婆。 借这个机会聊聊 为什么这个赌局我们成不了 兄弟,你说用你老婆换我全部的BTC,但交易要求纳秒级对齐。 好,那我们按… · @fatparrotdaily · TwKit
@fatparrotdaily
一哥们和我聊,用我的 BTC 换他老婆。 借这个机会聊聊 为什么这个赌局我们成不了 兄弟,你说用你老婆换我全部的BTC,但交易要求纳秒级对齐。 好,那我们按区块链最经典的规矩来。 你要证明三件事: 你老婆愿意跟你离婚。 她愿意嫁给我。 你本人同意放手。 如果我们远程交易,双方又都不想曝光隐私,那么你就必须在不透露任何原始信息的情况下,让我相信这三件事确实成立。 这在密码学里叫零知识证明 Zero-Knowledge Proof 问题是,婚姻意愿、情感状态和现实中的同意,无法直接编码成链上可验证的零知识证明。 当然,如果你直接把人带到我面前,当面表达意愿、核实身份、签署协议,那就不需要零知识证明了。 但这时候又出现了另一个问题: 你可以把BTC写进智能合约,却不能把一个人的自由意志写进智能合约。BTC是数字资产,转出去就是转出去了;人不是数字资产,不能被锁定、交割,更不能保证未来永远不改变主意。 这就是链上与链下的区别。 链上可以验证数字资产的转移,链下的人和事却需要现实世界的法律与信任来保障。 反过来,我也有我的约束。 你要我出示钱包并按你指定的数字动一笔币。但按照“Not your keys, not your coins”的铁律,我不会在没有对等保障的情况下先动私钥。 这又触发了另一个经典机制 原子交换(Atomic Swap)+ 哈希时间锁合约(HTLC)。 没有可验证的对等承诺,没有时间锁保护,没有同时成功或同时失败的原子性,我不能先动钱包,你也不能要求我先承担风险。 更何况,我们要求纳秒级对齐。 比特币平均出块时间约10分钟,确认还需要更多时间。你要的这种现实事件与链上交易的瞬间同步,本身就不是比特币能够保证的事情。 结果就是: 远程交易,你证明不了现实世界的同意; 当面交易,智能合约也锁不住人的自由意志; BTC可以转移,但人不能像BTC一样交割。 我公布我这个地址是: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 公开可查 https://bitinfocharts.com/bitcoin/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa 所以现在的局面很简单: 你想用零知识证明解决隐私问题,用智能合约解决履约问题,再用原子交换解决交易安全问题。 可惜 这三套技术都无法替你解决人的问题。 Code is law,但婚姻不是代码。 这场赌局,从区块链的逻辑上,就是一场注定无法达成共识的交换。 你要继续,就先想办法解决这些问题。否则,这个钱包继续沉睡,跟过去十七年一样。 而这个地址中本聪创世区块那个 从2009年至今一笔出账都没有 如果上诉交易无法数学达成 你也无法证明鹦鹉哥不是中本聪 数学上你无法证明
曝光 216 · 评论 7 · 点赞 5 · 书签 0
查看原帖