金色观察|Layer1与layer2互操作性举例:条件事务

这篇文章介绍的是StarkEx提供的快速取款的解决方案:在区块链时间内从L2提取资金到任何L1地址,并且该解决方案与L2运营商生成有效性证明的频率无关。StarkEx是L2扩容技术服务商StarkWare的二层交易应用。

目前,快速取款功能已经在StarkEx的以太坊主网上运行,并为DeversiFi和dYdX的交易所提供支持。

下面的解决方案可以应用于行业内广泛的用例,首先我们来看场景需求。

场景需求

区块链允许Alice和Bob两方之间的无信任交互。Alice可能希望发布一个只有在某个条件事件发生时才能执行的交易;Bob希望在满足条件后执行Alice的交易,而无需再次获得她的批准。我们将这样的规范称为条件事务(CT)。

分析 | 金色盘面: XBT/USD永续合约出现数据异常:金色盘面综合分析:BitMEX交易所比特币永续合约出现异常拉升,但并未见到此价格的成交数据,疑为数据异常,目前BitMEX并未就相关情况进行说明。[2018/8/24]

在L1上实施CT很简单,因为智能合约可以加强事件和交易执行之间的耦合。也就是事件发生自动执行。并且把执行条件固定。但当迁移到L2系统时,这将成为一个挑战。例如,在StarkEx中,签名者将签署的交易传递给运营商,运营商负责执行它,在满足请求的条件之前,没有什么可以阻止运营商执行这个交易。

在这篇文章中我们提到的在L2上指定的CT,它依赖于L1事件。也就是说,CT确保操作员只有在发生某些链上事件时才能执行签名交易。如果我们再添加一个CT,它依赖于另一个L2事件上的事件,这将实现StarkEx实例和StarkNet之间的互操作性。

金色快评:共识度下降及山寨币资金分流导致比特币下跌:比特币下跌源于共识度下降和山寨币资金分流。对于近期比特币连创年内新低,比特币投资人李一刀认为:基本面主要是大家对比特币的共识度下降,资金面是因为大部分资金进入了山寨币,山寨币对主流币分流太明显,我们今年募集的资金全部进山寨币了,说明主流资金没怎么进主流币,我们就是一个缩影,最后这个市场目前缺一个故事,本来EOS这个故事够大,但是主力没动静了,故事不继续讲了,很可惜,没有故事的市场比较难起来,没有故事,就没有凝聚力,也不会有散户进场接盘。[2018/6/24]

下面,我们将此类链上事件的概念形式化,并了解如何将它们用于StarkEx中的CT。

金色财经现场报道 俞之贝:区块链本身是一种可信任的机制:金色财经现场报道,在GBLS全球无眠区块链领袖峰会上,云象区块链联合创始人俞之贝表示:“区块链它本身就是一种可信任的机制,它是通过几种方式,一种是分布式的布局,一种是跨越式的存储方式,还有一种是通过共识和验证才能把数据更新的方式,通过这几种方式提供了数据安全不可篡改的存储环境,现在我们社会当中很多成本都是消耗在信任的问题上,比如说我们买房、卖房需要中介,某些交易是通过支付宝,这些都是信任成本存在。区块链可以通过信任的机制,保障多方之间的协作,信任这套机制,降低协作的成本,这也就是区块链所能带来,首先它是保障数据的安全,然后基于安全上构建信任机制,以及信任机制带来社会协作成本的降低。”[2018/6/6]

条件事务

金色财经独家分析 强调“共识”的区块链行业应避免各自为战:随着区块链行业日益壮大,要求行业标准的呼声正在加强。近日,工业和信息化部信软司透露,2018年将从组织建设、标准体系、重点标准等七个方面推进信息化和软件服务业标准化工作。按照“中国制造2025”的有关要求,将持续推进云计算和区块链等领域标准研制工作。支持在区块链参考架构、数据格式规范等方向发布系列团体标准。金色财经独家分析,“共识”是区块链思想的核心,然而目前的情况是各细分领域之间有自己单独标准,并未实现广泛的技术交流和模式的沟通。币圈、链圈各自为战的现象还比较普遍。当前,有必要共建区块链基础设施,并明确共建生态系统的需求。北航数字社会与区块链实验室主任、国家大数据综合实验区区块链互联网实验室主任蔡维德预计,三年后可能就能出现区块链集团、区块链帝国以及区块链联合国。相应的交易规则、治理法则、帝国法律、跨境交易、自治协议等等都会应运而生。然而无论是集团与帝国,都需要更加明确的沟通机制,以共识实现互通。[2018/4/16]

CT使用FactRegistry合约来跟踪链上事件。特别是,除非在事实登记处注册,否则CT不能以事件为条件。例如,如果Alice直接在Ethereum上向Bob转账1ETH,则没有可以用作CT的链上事件。

也就是需要进行一次单独的定义某些事件为条件。

在上面的例子中,FactRegistry合约需要一个函数transfer(),Alice使用Bob的地址作为接收者参数调用该函数。

transfer()函数做两件事:(a)将传输的ETH发送给接收者,(b)保留传输的记录,例如合约中存储传输参数的哈希值。

FactRegistry也有一个isValid()函数,它接收一个哈希值作为参数,并返回一个布尔值——True当且仅当它是这个合约记录的交易哈希值。

交易的哈希被称为事实—代表事件的发生。向事实登记处引入新事实的过程称为事实登记。

在CT中签署的链上事件包会含两个字段:(a)一个事实登记合约的地址,(b)一个应该在执行交易之前注册的事实。

StarkEx中的条件交易

StarkEx对交易进行批量处理,并使用单个STARK证明在链上进行结算。如果批次中的交易之一是CT,StarkEx将确保关联的Fact确实已注册登记,以便对批次进行结算;否则,整个批次将被还原。

条件事务示例

快速提款

在任何L2解决方案中,在L2到L1之间转移资金的理想方法是完成L2状态更新和L1上的提款交易。

在基于有效性证明的系统中,如StarkEx,L2状态更新的最终确定发生在链上接受证明它的有效证明时,这通常需要10分钟。这意味着如果用户想要将他们的资金从L2转移到L1,他们将被迫等待。

快速取款的目的是解耦这种依赖性,并允许用户在“区块链时间”无需信任地将资金提取到L1。

这将如何运作?如果Alice想从L2提取1ETH到L1,Alice可以签署CT将1ETH转移到L2上的流动性提供者,条件是LP在L1上转移1ETH给Alice。

Alice的CT只有在她首先在L1上获得资金时才能执行,因此她也不会面临交易对手风险。

更多其他用例

类似的流程可以通过L2CT事务捕获以下类型的事件,及为以下提供证明,就可以在L1上进行一些关联操作,例如:

ETH的价格跌至1010DAI,Alice想在L2上以1000DAI的价格出售她在L2上的1ETH。

Alice希望在L2上给Bob10ETH,Bob在她选择的dApp中以Alice的名义存入9.5ETH。

Alice想在DeversiFi的L2上为Bob提供10ETH,Bob在dYdX的L2中将9.5ETH存入Alice的账户。

这些其他操作用例代表着虽然CT的第一个用例是快速提款,但StarkEx运营商可以使用这个方式实现更多L2-L1交互,用来丰富产品功能。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-8:841ms