引
闪电网络是基于比特币的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
动态 | 美国国防部将向国会提交“区块链技术如何增强美军工作”相关报告:今年晚些时候,美国国防部(DoD)将向国会提交报告,介绍区块链技术如何增强美军工作。价值技术协会(VTA)主席Jason Brett上周在拉斯维加斯举行的消费电子展(CES)上接采访时说,VTA将牵头要求国防部组织这样一个听证会。(Coindesk)[2020/1/16]
基于闪电网络的基础理论,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链接多个通道,用于将通证从两个没有直接通道的节点间转移.
动态 | Kyle Samani发推质疑Block.one如何在两年时间花掉 8 亿美元:著名区块链投资机构 Multicoin 创始合伙人 Kyle Samani 发推质疑 EOS 背后的开发公司 Block.one 如何在两年时间中烧掉 8 亿美元。Kyle Samani 发表推文称,如果 Block.one 通过 ICO 融资了 40 亿美元,现在的资产负债表上有 32 亿美元的资产,那么这家有 200 名员工的公司如何在两年时间里花掉了 8 亿美元现金?Kyle Samani 还称,Block.one 进行了 1.8 亿美元风险投资,但这不是支出,即便把这些投资的账面资产都减记为 0 ,时间也不够用。而 Staked.us 的联合创始人 Jonathan Marcus 则表示,Block.one 花费的那 8 亿美元中,最少有 5.3 亿美元用于股权回购,因为 Block.one 过去两年共进行了两次股权回购,一次花费了 3 亿美元,最近又回购了 2.3 亿美元的股权。[2019/6/3]
承诺交易:指那些创建了但是没有广播的交易,有可能在下一个承诺交易出现时前一个就作废了.
作恶惩罚交易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超时作恶惩罚交易,被用于惩罚在时间锁定期间广播旧有哈希时间锁定交易信息的参与方.
声音 | 段新星:看到有价值的场景时思考如何用区块链去更好地打造才是正确的:Bytom创始人段新星在“区块链平昌论坛2019(Blockchain Pyeongchang Forum, BPF2019)”的圆桌论坛上表示,在投机和炒作层面区块链处于熊市,但是在区块链应用层面仍然在向前发展。同时,他指出,不能像拿着锤子砸钉子一样,把区块链强加于所有项目,而应该在看到有价值、有意义的场景时,思考如何用区块链去更好地打造才是正确的。只有做到这点,离区块链下一次爆发也就不远了。[2019/1/28]
原子交换AtomicSwap:原子交换技术使得通证间的交易无需借助中心化媒介,比如交易所。
HTLSC:HashedTimeLockSwapContract,哈希时间锁定交换合约,由两组分别的哈希时间锁定合约以及具体的代币交换利率与时间锁组成。
3序列到期可撤销合约
为了避免恶意者拒绝签名任何的P2SH交易,导致通道另一方的资金被永久锁定在通道中,我们构建了可以取消的承诺交易,也就是序列到期可撤销合约。这里介绍的序列到期可撤销合约最早由Poon和Dryja发明,发表在闪电网络的第一篇白皮书中。
『创建充值』信息并不意味着双方向通道中存入了任何资金。首轮通讯仅是创建了一个P2SH地址,构建了一个RSMC交易但是没有广播。然后,Alice与Bob可以广播充值交易以便将真正的Omni上的资产转入通道。
下图表示了我们在广播充值/承诺交易之前必须做的事情。BR1a不需要立即创建,可以在下一承诺交易被构建之前被创建。
概括来说,RSMC由以下五步组成:
第一步:Alice使用临时私钥Alice2来构建一个临时的2-2多签地址,并等待Bob的签名:Alice2&Bob;
动态 | 金色沙龙深圳站“量化市场暗流涌动 如何破冰”将拉开序幕:由金色财经主办,贝壳公关承办,节点资本、Nodeplus、引力波G-Wave协办的金色沙龙深圳站第一期将于1月24日拉开序幕。本期沙龙以“论生态·量化市场 | 暗流涌动如何破冰”为主题,邀请臻云科技、Amber AI、BQuant、共盈资本、Tokenpanda等量化企业,再次聊聊量化,与你共同面对熊市,了解量化交易策略。金色财经将对此次活动进行全程图文直播,敬请留意。报名点击链接。[2019/1/16]
第二步:Alice从Alice&Bob中构建了一笔承诺支付C1a,一份输出指向Alice2&Bob的60USDT,另一输出指向Bob的40USDT。
第三步:RD1a是C1a交易的第一个输出,支付给Alice60USDT。但是RD1a交易带有一个延迟序列值,防止Alice作弊时立即把60USDT支付给她。
第四步:Bob签署C1a与RD1a,发送回给Alice
第五步:OBD构建赎回交易:C1a/RD1a
上图展示了通道内发生的承诺交易,演示了通道内的状态是如何转换的。
4哈希时间锁定合约
"双向支付通道仅允许在一个通道内安全地转移资金。为了构建一个多通道网络,用多跳的方式来安全地转账到目的地,需要构造一个额外的合约:哈希时间锁定合约。"
--Poon&Dryja,TheBitcoinLightningNetwork:ScalableOff-chainInstantPayments
在使用HTLC进行转账时,一个常见的错误理解是,如果Alice想要给David支付10USDT,她可以用两跳就到达David:
布鲁金斯学会:全球监管机构之间没有就如何处理加密货币达成协议:据福布斯消息,布鲁金斯学会昨日发布关于央行和加密货币的研究报告。报告指出,世界各地的银行监管机构并未采取统一的方式来规范加密货币。该报告还指出,目前的大型经济体中,没有任何一个国家的央行认真考虑是否推出自己的加密货币。然而,美联储、日本央行、加拿大央行、英国央行和欧洲央行均表示正在评估央行加密货币的利与弊。研究表明,央行领导人目前主要对于加密货币潜在的逃税和可能表示担心。[2018/4/18]
Alice---(10USDT)--->Bob---(10USDT)--->Carol---(10USDT)--->David.
这令人困惑,因为闪电网络中没有个人账户的概念。闪电网络中唯一可用的基本组成部分是通道。所以正确的跳转是这样的:
==(Bobhastwochannels)====(Carolhastwochannels)==
代表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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。