引
闪电网络是基于比特币的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
Curve社区投票通过“支持WBTC为抵押品铸造crvUSD”提案:6月27日消息,据相关投票页面信息,Curve社区近日已通过链上投票通过“部署2亿枚crvUSD债务上限的WBTC市场”提案,这意味这Curve将支持WBTC为抵押品铸造crvUSD。
昨日消息,Curve将支持WETH为抵押品铸造crvUSD,债务上限为2亿枚crvUSD。[2023/6/27 22:03:31]
基于闪电网络的基础理论,OmniBOLT描述了如何在闪电通道间转移OmniLayer上的资产,以及OmniLayer上的资产如何受益于新型快速支付理论。由于已经不限于BTC的流通支持,OmniBOLT是对闪电网络基础理论的极大的扩展,以支持更为广泛的资产流通,以及通过多通证原子交换,实现了了更加具有适用性的复杂合约,也更能够切实支持现实中的应用。
OmniBOLT自身并不发行任何通证。所有的通证都是在OmniLayer上发行,并通过P2(W)SH支持的通道进入OmniBOLT网络,相关资产被锁定在主链上,并可以在任何时候在OmniLayer主链上赎回。
2关键概念阐释
OBD:OmniBOLTDaemon,OmniBOLT守护进程。
通道:通道是指闪电网络中的Poon-Dryja通道。通道由组成,这意味着Alice与Bob创建了一条通道并以USDT充值。
资产:指代发行在OmniLayer上的通证,与“asset”等义。
序列到期可撤销合约:RevocableSequenceMaturityContract被用于惩罚那些广播旧的交易承诺以获得比其原本余额更多的恶意节点。
哈希锁定合约:HashedTime-LockContract链接多个通道,用于将通证从两个没有直接通道的节点间转移.
行情 | BTC短线触及7700美元:火币全球站数据显示,BTC短线持续小幅下跌,触及7700美元,日内跌幅约2.50%,行情波动较大,请做好风险控制。[2020/1/10]
承诺交易:指那些创建了但是没有广播的交易,有可能在下一个承诺交易出现时前一个就作废了.
作恶惩罚交易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,哈希时间锁定交换合约,由两组分别的哈希时间锁定合约以及具体的代币交换利率与时间锁组成。
3序列到期可撤销合约
为了避免恶意者拒绝签名任何的P2SH交易,导致通道另一方的资金被永久锁定在通道中,我们构建了可以取消的承诺交易,也就是序列到期可撤销合约。这里介绍的序列到期可撤销合约最早由Poon和Dryja发明,发表在闪电网络的第一篇白皮书中。
BitTrade发布关于BTC/LTC/MONA/BCC(BCH)充值地址变更的公告:BitTrade为了提高交易所信息安全,准备在5月30日(周三)变更BTC/LTC/MONA/BCC(BCH)充值地址。由于此次信息安全升级变更了充值地址。在BitTrade进行上记虚拟货币充值时,用户需向新的充值地址充值。在变更前向原地址进行充值的情况,2018年12月31日之前都会显示在用户账户上,用户需尽快变更为新的地址。[2018/5/28]
『创建充值』信息并不意味着双方向通道中存入了任何资金。首轮通讯仅是创建了一个P2SH地址,构建了一个RSMC交易但是没有广播。然后,Alice与Bob可以广播充值交易以便将真正的Omni上的资产转入通道。
下图表示了我们在广播充值/承诺交易之前必须做的事情。BR1a不需要立即创建,可以在下一承诺交易被构建之前被创建。
概括来说,RSMC由以下五步组成:
第一步:Alice使用临时私钥Alice2来构建一个临时的2-2多签地址,并等待Bob的签名:Alice2&Bob;
第二步:Alice从Alice&Bob中构建了一笔承诺支付C1a,一份输出指向Alice2&Bob的60USDT,另一输出指向Bob的40USDT。
第三步:RD1a是C1a交易的第一个输出,支付给Alice60USDT。但是RD1a交易带有一个延迟序列值,防止Alice作弊时立即把60USDT支付给她。
第四步:Bob签署C1a与RD1a,发送回给Alice
第五步:OBD构建赎回交易:C1a/RD1a
动态 | Poloniex回应CLAM“闪崩事件”:无论如何损失将得到解决:Poloniex在推特发布了对于CLAM事件更新:“毫无疑问,我们致力于让受影响的债权人成为一个整体,无论遇到什么样的困境。我们正在努力实现这一目标,包括(但不限于)收回违约借款人欠贷款人的债务。无论如何,损失将得到解决。”据金色财经此前报道,用户考虑起诉Poloniex,指责其处理加密货币CLAM闪崩亏损之举为盗窃。[2019/6/8]
上图展示了通道内发生的承诺交易,演示了通道内的状态是如何转换的。
4哈希时间锁定合约
"双向支付通道仅允许在一个通道内安全地转移资金。为了构建一个多通道网络,用多跳的方式来安全地转账到目的地,需要构造一个额外的合约:哈希时间锁定合约。"
--Poon&Dryja,TheBitcoinLightningNetwork:ScalableOff-chainInstantPayments
在使用HTLC进行转账时,一个常见的错误理解是,如果Alice想要给David支付10USDT,她可以用两跳就到达David:
Alice---(10USDT)--->Bob---(10USDT)--->Carol---(10USDT)--->David.
这令人困惑,因为闪电网络中没有个人账户的概念。闪电网络中唯一可用的基本组成部分是通道。所以正确的跳转是这样的:
==(Bobhastwochannels)====(Carolhastwochannels)==
代表A和B创建的通道,并且用USDT充值。
Alice向通道中的Bob转账10USDT,然后Bob向通道中的Carol转账10USDT,最终Carol向中的David转账10USDT。
设计HTLC的目的是为了保证中间通道不会扣留住钱,不往下一个通道传输了。所以只有通道内的接收方出示正确的密钥,他才能得到钱,而为了得到这个正确的密钥,他必须在另一个通道内向密钥持有者支付同等数额的钱。具体过程是这样的:
美国证券交易所:加密货币交易所没有透露是否对一些用户提供了优先服务 以及平台如何挑选加密货币:据华尔街日报,美国证券交易所今天发布了有关加密货币交易所存在不规范问题的公告。SEC在公告中表明,加密货币交易所存在非法运营的风险,这是因为他们没有透露如何优先考虑投资者的订单或如何选择在其平台交易何种加密货币。前SEC官员,现任由投资者支持的健康市场协会的执行董事Tyler Gellasch透露:“SEC不仅要管理产品,还要管理他们交易和交易的地点。”SEC没有在其声明中提及具体的加密货币交易所,但提醒投资者,监管机构对交易所的实际运作方式知之甚少,不知道它们是否为其中一些交易者提供了优先于其他交易者的服务。SEC表示,虽然其中一些平台声称采用严格的标准来挑选高质量的加密货币资产进行交易,但SEC并没有审查过这些标准。[2018/3/8]
>如果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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。