引
闪电网络是基于比特币的Layer2解决方案,旨在通过链下通道实现瞬时、小额支付,释放主链的资源压力,提升区块链网络的整体效能,由分布于全球多个国家与地区的数个团队同时开发,它是目前全球区块链行业最为成功的扩容方案之一,同时也是最为关键的DeFi基础设施之一。
众所周知,目前的闪电网络只支持BTC,不支持自定义智能资产的流通。而且即使是BTC,也只是一个支付功能,完全不能满足DeFi应用的需求。
为此,根据闪电网络的基础原理,Omni规范委员会制定了OmniBOLT标准,它是全球首个闪电网络内的智能资产流通标准,也是继OmniLayer后由Omni规范委员会推出的第二个重磅协议。Omni规范委员会以推出OmniLayer协议而著名,该协议是全球最大数字资产的发行平台,目前正在支持全球两万多家区块链企业的运营。
OmniBOLT首次为所有公链以及相关资产接入依照闪电网络原理设计的通道,允许他们在OnionNetwork内进行交互,这将极大增强各个公链的交互性。OmniBOLT构建在OmniLayer之上,因为在基础层面支持智能资产,所以不仅仅BTC的快速支付能够支持,而且具备以下显著优势:
基于OmniLayer的智能资产快速支付.
不同资产的跨通道原子交换.
建立在闪电通道之上的去中心化交易所.
基于原子交换的抵押贷款合约.
更多适用性强的DeFi智能合约.感兴趣的读者可以访问OmniBOLT规范的第6章:
抵押贷款,在线商店和DEX
(https://github.com/).
1闪电网络&OmniLayer
美国议员要求孙宇晨解释如何防止极端内容在DLive平台上播出:2月10日消息,Reps. Raja Krishnamoorthi和Jackie Speier两位美国议员写信要求波场创始人孙宇晨和DLive首席执行官Charles Wayn解释,继上月华盛顿特区企图叛乱后,他们计划如何防止极端内容在BitTorrent旗下流媒体平台DLive上播出。这封信与上个月国会的叛乱有关。几名极右极端分子在美国国会大厦被攻破时通过DLive进行直播,其中一些人后来被捕。(CoinDesk)[2021/2/10 19:23:04]
基于闪电网络的基础理论,OmniBOLT描述了如何在闪电通道间转移OmniLayer上的资产,以及OmniLayer上的资产如何受益于新型快速支付理论。由于已经不限于BTC的流通支持,OmniBOLT是对闪电网络基础理论的极大的扩展,以支持更为广泛的资产流通,以及通过多通证原子交换,实现了了更加具有适用性的复杂合约,也更能够切实支持现实中的应用。
OmniBOLT自身并不发行任何通证。所有的通证都是在OmniLayer上发行,并通过P2(W)SH支持的通道进入OmniBOLT网络,相关资产被锁定在主链上,并可以在任何时候在OmniLayer主链上赎回。
2关键概念阐释
OBD:OmniBOLTDaemon,OmniBOLT守护进程。
通道:通道是指闪电网络中的Poon-Dryja通道。通道由组成,这意味着Alice与Bob创建了一条通道并以USDT充值。
资产:指代发行在OmniLayer上的通证,与“asset”等义。
序列到期可撤销合约:RevocableSequenceMaturityContract被用于惩罚那些广播旧的交易承诺以获得比其原本余额更多的恶意节点。
Robinhood因未恰当披露如何应对高频交易机构而遭到调查:金色财经报道,股票与加密货币投资平台Robinhood因未能恰当地披露如何将客户订单发送给高频交易机构而受到民事欺诈调查。根据报告,这项由美国证券交易委员会(SEC)进行的调查已进入“高级阶段”,可能导致其遭到1000万美元的罚款。[2020/9/3]
哈希锁定合约:HashedTime-LockContract链接多个通道,用于将通证从两个没有直接通道的节点间转移.
承诺交易:指那些创建了但是没有广播的交易,有可能在下一个承诺交易出现时前一个就作废了.
作恶惩罚交易BR:BreachRemedy被用在序列到期可撤销合约中,如果Alice通过广播旧有交易进行,BR将会把她所有的资金发送给Bob.
可撤销支付交易RD:当Alice广播最新的合法交易承诺时,RD从2-2P2SH交易输出中支付。它会立即向Bob汇款,并且会在相对于当前区块高度的相对值之后向Alice汇款.
HED:HTLCExecutionDelivery,HTLC执行支付交易。
HT:HTLC超时交易交易
HBR:HTLCBreachRemedy,作恶惩罚交易
HTRD:HTLCTimeoutRevocableDelivery,HTLC超时可撤销支付交易
HTBR:HTLCTimeoutBreachRemedy,HTLC超时作恶惩罚交易,被用于惩罚在时间锁定期间广播旧有哈希时间锁定交易信息的参与方.
原子交换AtomicSwap:原子交换技术使得通证间的交易无需借助中心化媒介,比如交易所。
HTLSC:HashedTimeLockSwapContract,哈希时间锁定交换合约,由两组分别的哈希时间锁定合约以及具体的代币交换利率与时间锁组成。
比特币社区仍在讨论如何激活Taproot:金色财经报道,自Taproot于今年1月正式成为比特币改进提案以来已经过去了6个多月。尽管争议很少,但社区仍在讨论如何实施适当程序。问题的根源在于是否需要进行一个能够被所有利益相关者都可以接受的软分支。根据Reddit比特币社区的一个帖子,“激活Taproot的最大问题是之前的软分叉SegWit导致的创伤后应激障碍(PTSD)”。据悉,“新式软分叉激活”程序提出了一种混合系统,在一年内未能达成共识后,升级将被拒绝。经过另外六个月的讨论,社区可以决定开始为期两年的过程,将在到期时激活升级。此过程最长可达42个月,即三年半。尽管相对没有争议且功能有限,Taproot可能仍需花费数月(甚至数年)才能激活。[2020/7/16]
3序列到期可撤销合约
为了避免恶意者拒绝签名任何的P2SH交易,导致通道另一方的资金被永久锁定在通道中,我们构建了可以取消的承诺交易,也就是序列到期可撤销合约。这里介绍的序列到期可撤销合约最早由Poon和Dryja发明,发表在闪电网络的第一篇白皮书中。
『创建充值』信息并不意味着双方向通道中存入了任何资金。首轮通讯仅是创建了一个P2SH地址,构建了一个RSMC交易但是没有广播。然后,Alice与Bob可以广播充值交易以便将真正的Omni上的资产转入通道。
下图表示了我们在广播充值/承诺交易之前必须做的事情。BR1a不需要立即创建,可以在下一承诺交易被构建之前被创建。
概括来说,RSMC由以下五步组成:
第一步:Alice使用临时私钥Alice2来构建一个临时的2-2多签地址,并等待Bob的签名:Alice2&Bob;
第二步:Alice从Alice&Bob中构建了一笔承诺支付C1a,一份输出指向Alice2&Bob的60USDT,另一输出指向Bob的40USDT。
大咖零距离 | BTC价格剧烈波动 如何保持长期盈利:4月1日16:00,金色盘面邀请捞针选手泰迪帮主做客金色财经《大咖零距离》直播间,将分享《BTC价格剧烈波动,如何保持长期盈利》,敬请关注,欲进群观看直播扫描海报二维码报名即可。[2020/4/1]
第三步:RD1a是C1a交易的第一个输出,支付给Alice60USDT。但是RD1a交易带有一个延迟序列值,防止Alice作弊时立即把60USDT支付给她。
第四步:Bob签署C1a与RD1a,发送回给Alice
第五步:OBD构建赎回交易:C1a/RD1a
上图展示了通道内发生的承诺交易,演示了通道内的状态是如何转换的。
4哈希时间锁定合约
"双向支付通道仅允许在一个通道内安全地转移资金。为了构建一个多通道网络,用多跳的方式来安全地转账到目的地,需要构造一个额外的合约:哈希时间锁定合约。"
--Poon&Dryja,TheBitcoinLightningNetwork:ScalableOff-chainInstantPayments
在使用HTLC进行转账时,一个常见的错误理解是,如果Alice想要给David支付10USDT,她可以用两跳就到达David:
Alice---(10USDT)--->Bob---(10USDT)--->Carol---(10USDT)--->David.
这令人困惑,因为闪电网络中没有个人账户的概念。闪电网络中唯一可用的基本组成部分是通道。所以正确的跳转是这样的:
==(Bobhastwochannels)====(Carolhastwochannels)==
声音 | 赵长鹏:无论市场如何变化,币安仍将在100年内存在:据CCN报道,币安首席执行官赵长鹏今日表示,无论行业发生什么变化,币安仍将在100年内存在。币安团队并没有对每日比特币的价格波动有所顾忌,基本上并没有真正关注市场,而是长期关注并专注于团队工作。赵长鹏表示,币安只是低着头,建立功能。[2019/2/8]
代表A和B创建的通道,并且用USDT充值。
Alice向通道中的Bob转账10USDT,然后Bob向通道中的Carol转账10USDT,最终Carol向中的David转账10USDT。
设计HTLC的目的是为了保证中间通道不会扣留住钱,不往下一个通道传输了。所以只有通道内的接收方出示正确的密钥,他才能得到钱,而为了得到这个正确的密钥,他必须在另一个通道内向密钥持有者支付同等数额的钱。具体过程是这样的:
>如果Bob能给到AliceR,这个R的原像)在通道3天前进行10USDT交易时Carol已经给了Bob,那么Bob将从通道内获得10USDT资金。如果Bob给不了AliceR,10USDT将退回给Alice。
使用HTLC进行资金转移时,是一个额外的充值交易的输出,与RD1a/BR1a绑定在一起的未广播交易。
5跨通道多资产原子交换
一般来说,原子交换发生在不同区块链之间,在无信任情况下交换通证,并且保证交易双方都没有机会作弊。OmniBOLT中的通道可充值任何OmniLayer发行的资产。如果某人需要交易其通证,比如USDT/BTC,双方需要在特定时间内使用加密哈希公式来知晓USDT与BTC的接收方。如果参与中的某一方没能在特定时间内确认交易,那么整个交易取消,相关资金被退回原本的账户。这免除了交易的对手风险。
.通道间标准的交换程序如下图所示
与此同时,Bob在另一通道中创建了另一个HTLC,及其在Alice一侧的镜像交易,将双方同意的数额的BTC发送给了Alice。时间锁t2被设置为2天,少于t1=3天。
原子交换是许多区块链应用的基础。下一章将呈现更多例子,相关例子将更加直观,帮助开发者构建面向真实商业世界里更为复杂的用例。
6应用:抵押贷款、宠物商店以及更多可能性
以下例子采用面向特定场景的多阶原子交换。相关进程将通过图灵完备语言写就的一段程序执行,调用OBDAPI以完成基本任务。所有参与者将运行程序以检查所有交易是否有效以及参与方是否诚实。
抵押借贷合约
抵押借贷为以下特定目的服务:
“你在托管账户中存入某有价值物作为抵押品,我根据合适的LTV向你放贷。如果你在商定的日期内还款,我将归还你的抵押品。如果没有,你的抵押品将归我所有。”
实际上,一个HTLSC为贷款中的各方创建了托管账户。我们假设如下场景:
Bob想要从Alice处借900USDT,他使用1BTC作为抵押品。
Bob发起了一个交换合约
Bob---》Alice:交换合约,…)
这在通道中创建了HTLSC。
Alice---》Bob:接收到的交换合约,…)。
与此同时,Bob需要创建赎回合约以便将来取回他的1BTC。
Bob---》Alice:交换合约,…)。
Alice---》Bob:接收到的交换合约,…)
这在通道中创建了HTLSC。
只有当参与方接收两份交换合约,且他们的OBDs帮助创建所有的由HTLSC所要求的对应交易后,Bob能够使用R1通过HTLSC1来在通道中取得他的900USDT,因此Alice从Bob处获得1BTC作为抵押物。
在一段时间后,Bob想要赎回他的1BTC。他使用HTLSC2中的R2,以经由通道中的HTLSC2赎回他的1BTC,因此Alice取得她在通道中的900USDT。
当然,Alice可以根据BTC的价格设定汇率。例如,她可以要求Bob创建汇率为1/905的交换合约。然后她将在Bob赎回BTC之时获得905USDT。
在线宠物商店
宠物商店的应用只用到了一阶段原子交换:
Alice使用Omnilayer发行了叫做"PET"的资产,每一枚PET代表一只加密猫。
Bob和Alice建立USDT通道和PET通道,并在USDT通道中充值。
Bob创建HTLSC来支付Alice100USDT,换得一只加密猫。
很简单:-)
实际应用中,Alice和Bob甚至不需要建立直接的通道。利用HTLC就可以借用别人的通道进行交换了。
7钱包实现&官方API
OmniBOLT规范官方地址:
https://github.com/omnilaboratory/OmniBOLT-spec
OmniBOLT规范的实现可以访问官方仓库:
https://github.com/omnilaboratory/obd/
API在线文档:
https://api.omnilab.online/
JavascriptAPI:
https://github.com/omnilaboratory/DebuggingTool/blob/master/js/obdapi.js.
GUIdebugging工具:
https://github.com/omnilaboratory/DebuggingTool
参考内容
.BitcoinLightningnetworkWhitePaper:lightning.network/lightning-network-paper.pdf
.BOLT规范:https://github.com/lightningnetwork/lightning-rfc
.闪电网络项目:https://github.com/lightningnetwork/lnd
.OmniLayer规范:https://github.com/OmniLayer/spec
.OmniBOLT规范:https://github.com/omnilaboratory/OmniBOLT-spec
.OmniBOLT项目:https://github.com/omnilaboratory/obd
.OmniLayer钱包:https://github.com/OmniLayer/omniwallet
.OmniJ的Java实现项目:https://github.com/OmniLayer/OmniJ
本期编辑|泽润
本期投稿|Neo
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。