『学概念找员外』不可分割的交叉链互换

在比特币体系里,在不同个体或群体之间,达成一项交换货币或资产的交易很直接。这就是之前谈到的合币的原理。合币也可以用来交易智能资产。前面谈到的在域名币中出售域名也是基于同样的原理。

但是前面所有的例子中,即便涉及不同的资产,交易也都是限制在单一的区块链里。一般来说,一个另类币的交易和另外的其他另类币的交易历史没有任何关系也无法相互参考,这是一个基本的无法跨越的限制。那么,是否有其他办法可以互换不同的货币?比如,如果喵妹想卖掉a个另类币给员外,换得员外的b个比特币,他们可以把这项交易做成是单一且无法分割的形式吗?初看起来好像不太可能,因为无法强迫不同体系的区块链同时发生相关的交易。如果其中一个人,假设是喵妹,先执行交易,有什么办法可以阻止员外不遵守承诺呢?

有个聪明的办法可以做到,这用到了密码学的承诺和锁定时间存储,这是两个我们已经讨论过的技术。下图描绘了这个协议。暂时先假设两个区块链里的区块是按固定步骤轮流产生的,每个时间单位产生一个区块。T代表协议流程的开始时间。

  1. 喵妹创建如下 a 个另类币的可以退换存款:
    • 喵妹创建一个随机的字符串x,计算哈希值 h=H(x)
    • 喵妹创建如下所示存储A区块,但是并不公开
    • 喵妹创建再融资 A 区块,让员外签名
    • 一旦员外在再融资 A 区块签名,喵妹公开存储A区块(但是还没有公开再融资A区块)
  2. 员外创建如下可以退还的存款 b 比特币:
    • 员外创建如下所示存储B区块,但是并不公开
    • 员外创建再融资 B区块,让喵妹签名
    • 一旦喵妹在再融资B区块签名,员外公开存储B区块(但是还没有公开再融资B区块)
  3. 情景1:喵妹按照计划完成兑换
    • 在 T1 喵妹索回比特币,把x给员外(和其他所有人)
    • 在 T2 索回另类币
      情景2:喵妹改变主意,不要比特币,也不让员外知道 x 值
    • 在 T1 员外索回他的比特币
    • 在T2 喵妹索回她的另类币

存储A[另类币区块]
输入:喵妹的价值为a的货币
输出脚本:可以通过签名A以及签名B一起兑现或者通过签名B和xs.t.H(x)=<h> 一起兑现

再融资A[另类币区块]
输入:存储A
输出:地址A
定时:T2
输入脚本:签名A,签名B

存储[比特币区块链]
输入:员外的价值为b的货币
输出脚本:可以通过签名A以及签名B一起兑现或者通过签名A和xs.t.H(x) = <h> 一起兑现

再融资B[比特币区块]
输入:存储B
输出:地址B
定时:T1
输入脚本:签名A,签名B

第一步,喵妹存储a价值的另类币[这里的存意味着把货币发给输出脚本(ScriptPubkey),并在里面注明只有两种情况可以使用这笔货币]。这个存款只有通过以下两种方法可以取得此a价值另类币:第一,如果喵妹和员外两个人都同意,他们可以取回。事实上,喵妹只有在员外签署回款交易后,她才公开这个存款。这样就保证如果两个时间单位过去后,存款还没有被领取,她可以赎回她的存款。

另外一个办法是在任何时候,提供员外的签名和x的值,通过x的值去开启哈希函数的承诺h。注意,把<h>写在存储A的区块里来表明喵妹特意把h写入输出脚本。因为只有喵妹知道x,所以在最后阶段,任何单独一方无法索取存款。这个方法就是,当且仅当喵妹拿到比特币,员外才知道x的地址,他才能索取另类币。

第二步大体是第一步的反向过程。员外存b单位比特币,这些比特币只能在两种情况下才能被取走。很重要的区别是,员外并不需要创建一个新的谜题。相反,他用相同的哈希值h ( 把这个h值从存储A区块简单复制到存储B区块)。哈希值h就是链接两个区块链的钥匙。

这时,喵妹有主动权,她可以临时变卦。如果在T1 时,喵妹还没有表示要给员外x值,员外可以简单地取回他的存款退出交易。喵妹的另一选择是在T1 之前取走员外的比特币,但是她必须创建并广播输入脚本,里面含有x值。员外看到这个广播就可以用x值去领取喵妹的另类币,兑换的交易完成。

注意,如果喵妹稍微晚点领取员外的比特币(在T1 之后但是在T2 之前),员外可能同时拿走两笔存款。类似地,如果喵妹及时拿走员外的比特币,但是员外等太久还没取走喵妹的,那么喵妹也可以把两个都拿走。但这不是问题,只要保证双方无法在协议上欺骗对方就可以,自己的疏忽或者故意怠慢不是系统考虑的范围。

最后,区块在比特币和另类币中,并不是按照固定时间产生的。这种情况会造成一些混乱,特别是两个区块链没有协调一致时。假设两个区块链各自平均10分钟产生一个区块。以1小时为时间单位,也就是说,需要T1 至少为现在另类币区块+12,T2 至少为现在比特币区块+6,也许能带来更大安全边际。

遗憾的是,存在很小的可能性,12个另类币区块已经找到,但后面6个比特币还没有找到。这时,喵妹可以索取两个存款。可以通过增加时间单位来降低可能性,但是会牺牲速度。

这是一个清晰明了的协议,但是截至2015年,还没有人用到。相反,所有加密货币都是在传统的中心化的交易系统里交易。造成这种现象有很多原因:第一是该协议的复杂、不便和缓慢;第二,这个协议可以防止偷盗货币,但是不能防范服务性攻击。有人或许以诱人的兑换价格作为广告,但是在协议原型的第一步或第二步就反悔退出,这浪费了每个人的时间。为了减缓这种情况,也为了集合并匹配大家的需求,可能需要一个中心化的交易平台(机制),即使如此,也不能完全相信它不会偷你的货币。这种情况进一步降低了该协议原型的使用范围。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353