栏目分类
你的位置:北京航江龙谱科贸有限公司 > 最新动态 >
原子更调(Atomic Swaps)是一种能在差别范例数字资产之间实现去信任的点对点买卖技能,它也是跨链技能的个中一种,而此前通例的原子更调,平日需求4笔买卖材干实现。
而在近期,比特币开发者Ruben Somsen形貌了一种仅应用2笔买卖(或3笔买卖)而举行的去信任币交换进程,并将其称为轻便原子更调(SAS)和谈。
这类“减半”和谈的所长,在于它要比现有原子更折衷谈需求更小的区块空间,其减省了买卖费用,并且它不寄托于任何新的安好性假设或比特币共识厘革。
其他,假设比特币应用了taproot,则可以或许更为私密且有用地举行原子更调买卖。
对付SAS和谈,密码学和安好垂问Lloyd Fournier在举行评审后默示,该规划是实践上的冲破,对其而言,三笔买卖的主见主张是最优雅的剖明,而两笔买卖的和谈则是一个更优化的版本,它在某些环境下可以或许会是有意义的。
(图:轻便原子更调策画)
下列是SAS规划的具体形貌:来日诰日,你可以或许在应用单签名者ECDSA 适配器签名(Adaptor Signatures)的环境下应用SAS规划,或许是应用Schnorr签名+MuSig。
(注:除了文章,另有一个对付SAS规划的视频说明)
劣势: 告成实现只需求两笔链上买卖,而从前的和谈则需求四笔; 无脚本,并且个中一条链不需求支持时光锁(timelocks); 可用于有用的隐私情换,譬如Payswap; 弱点: 是否拜访资金取决于记着神秘(在备份方面会带来宏壮性); 2 tx 和谈的环境下,timelock支持链有在线/瞭望塔哀告(3 tx 和谈则不需求); 和谈步伐
0.)除了方括号中的签名,Alice&Bob对下列买卖举行预签名: success_tx(给Bob钱):[sigSuccessAlice] + [sigSuccessBob] revoke_tx (timelock): sigRevokeAlice + sigRevokeBob,必须由下列应用:
refund_tx(绝对于timelock,退款给Alice):[sigfundalice]+{sigfundbob}
timeout_tx(更长的绝对于timelock,给Bob钱):sigTimeoutAlice + [sigTimeoutBob]
{sigRefundBob}是一个适配器签名(adaptor signature),其需求 secretAlice来实现。
1.) Alice接着应用keyAlice和keyBob作为公钥与Bob锁定1 BTC。
假设和谈在步伐1当前失利中止: Alice宣布revoke_tx,尔后宣布refund_tx和sigRefundBob,以拿回她的BTC; 假设Alice未能及时宣布refund_tx,则Bob将在超时后认领这笔BTC; 2.)Bob用secretAlice和secretBob作为公钥,与Alice一起锁定竞争币。
假设和谈在步伐2当前失利中止:
一旦Alice宣布sigRefundBob当前,Bob晓得了secretAlice,并从头获患有对竞争币的掌握权。
3.)和谈实现: Alice将适配器签名 {sigSuccessAlice} 交给Bob,这需求secretBob来实现; Bob今朝可经由过程success_tx认领BTC,提醒secretBob,从而让Alice掌握竞争币(3tx和谈的环境); 另外一种环境,Bob只是将secretBob交给了Alice; 一样,最新动态Alice将keyAlice交给Bob,以销毁她对refund_tx的认领权; Bob延续照管这条链,因为一旦Alice宣布了revoke_tx,他将不能不做出照顾; 更优雅的和谈失利:
假设和谈在步伐1当前中止,Alice将自愿执行3笔买卖,而Bob则没有执行任何买卖。我们可以或许经由过程引入带有timelock的第二个refund_tx,将其削减到两笔,该timelock可以或许在revoke_tx从前宣布,并间接从融资买卖中付出。宣布此买卖还将经由过程适配器签名向Bob体现secretAlice。在3tx和谈中,这一输出可以或许间接发送给Alice。在具有在线/暸望塔哀告的2 tx和谈中,此输出需求一个脚本:Alice + Bob登时可用,或在绝对于timelock当前由Alice应用。首要的是要留心,此买卖必定不克不迭在步伐3中宣布。一旦Bob可以或许实现success_tx,则在体现secretAlice从前,需求revoke_tx来使success_tx无效。
罕见成就解答(FAQ):
一、假设Alice不警醒让Bob宣布timeout_tx,为何不许许她延续认领竞争币呢?
答:Alice 可以或许同时发送revoke_tx,泄露两个神秘,并可以或许构成损失。这可以或许经由过程增加另外一笔买卖来实现,但这样做效劳不高,也不会鼓励Alice。
二、是否可以或许在只支持绝对于时光锁(absolute timelocks)的链上实现此和谈?
答:是的,然则Bob必须在timelock到期从前花掉他交换的币(或许应用3 tx和谈)。请留心,revoke_tx必须在timeout_tx生效从前举行确认,假设费用倏忽上涨,这可以或许会成为成就。refund_tx也不许许CPFP超时发送,因为它们必须独立确认材干首先使success_tx生效。
三、和谈实现后,Alicee无法只宣布revoke_tx吗?
答:是的,她首先必须移动竞争币(以使secretAlice无效),尔后可查验测验经由过程宣布revoke_tx来认领BTC,迫使Bob在refund_tx生效从前在链上做出反映。eltoo费用领取法(需求sighash_anyprevout)或第二个CPFP可用输出可以或许是一种改进抉择(并且还加剧了费用增加的成就),然则请留心,假设和谈未能告成实现,这也会增加所需的tx数据量。
四、这可以或许和哈希锁(hash lock)一起应用吗?
答:是的,经由过程sigalise+preimageBob或sigBob+preimageAlice 就能让竞争币可以或许应用,并确保BTC端的合约体现了任何一个原像。请留心,这不是无脚本的,因而会增加买卖的大小。
开放性成就:
大略仅需执行一次链上买卖就能举行闪电网络的原子更调买卖,这将需求某种二级HTLC,准许发送者在一守时光后经由过程泄露神秘来勾销闪电网络领取。
作者:Ruben Somsen
谢谢冲动Lloyd Fournier的反映和反省。
相干材料:
一、Tier Nolan提出的初版原子更调规划 :https://bitcointalk.org/index.php?topic=193281.msg2224949#msg2224949
二、门罗的原子更调:https://github.com/h4sh3d/xmr-btc-atomic-swap/blob/master/README.md
三、Private Key Turnover:https://github.com/AdamISZ/CoinSwapCS/issues/53