本文意在讲解StarkEX为支持快速取款而提出的解决方案。本方案的优点在于,其速度完全独立于L2的运营者生成有效性证明的速度。
快速取款模块已经运行在以太坊主网的StarkEx上,并且赋能了DeversiFi交易所和dYdX交易所。
而下文我们讲解的方案除了快速取款以外,还有非常多的使用场景。我们先来了解一下需求是什么。
需求
区块链使得两方之间的免信任交互成为可能。Alice想发布一笔仅在特定条件满足时才能执行的交易;Bob希望在条件满足时能直接执行Alice的交易、不必再次获得Alice的许可。我们把支持此类交互模式的元件称作“有条件交易”。
在L1上实现CT不需要什么奇思妙想,因为智能合约可以保证时间和交易执行的耦合。但如果要求在L2中实现,那就有些挑战了。比如,在StarkEx中,交易发起人签名之后把交易传递给运营者,后者有责任来执行这笔交易,可是你用什么办法来阻止运营者在所需条件满足之前就执行这笔交易呢?
现场 | 区块大陆创始人杨扬:Libra第一次向全世界展示了什么叫区块链:金色财经现场报道,2019年第一财经金融科技峰会12月1日在北京举行。区块大陆创始人兼首席科学家杨扬在“区块链与数字货币”高峰对话环节表示,Libra第一次向全世界展示了什么叫区块链,几大互联网巨头和独角兽公司的联盟非常少见。区别于以太坊、比特币的获客生态建设模式,Facebook是一家真正的互联网区块链公司,它拿手上28亿用户来换场景,这是从来没有人干过的事情。但它们为什么会有互信基础,因为大家的利益都被写在区块链上面。[2019/12/1]
在本文中,我们只聚焦于在L2上实现依赖于L1事件的CT。也就是说,这种CT要能保证,运营者仅能在某个链上事件发生之后才能执行某笔签过名的交易。更进一步,我们将加入一种依赖于另一个L2中事件的CT,从而支持StarkEx实例之间以及StarkNet中的互操作性。
声音 | BB:为什么Facebook不构建在区块链上?:Block.one CEO Brendan Blumer今日转发Facebook CEO马克.扎克伯格关于“言论自由” 看法的推特,并评论称:马克理解人们自由表达看法的重要性,但是为什么Facebook不构建在区块链上呢?难道是有太多东西不能公开透明化? (MEET.ONE)[2019/10/17]
下面,我们来形式化这种链上事件的概念,看看我们如何在StarkEx中的CT如何利用它。
有条件交易简介
链上事件的注册
CT使用了FactRegistry合约来跟踪链上事件。实际上,只有在一个FactRegistry合约中注册了的事件,才能“解锁”CT。举个例子,如果Alice直接在以太坊链上转账了1ETH给Bob,那CT是不能因此满足执行前提的。
声音 | 比特币安全专家:代码提交等KPI可信度取决于区块链项目既定目标是什么:据AMBcrypto消息,比特币安全专家Andreas Antonopoulos近期在会议现场提出:“我们是否应该将代码提交、区块链活动、DApp数量或节点数量作为衡量区块链项目成功与否的KPI(关键绩效指标)?这取决于你想达到的目标是什么。”Antonopoulos指出,KPI的可信度在很大程度上取决于选择适合其特定需求的度量标准。然而,他承认在许多情况下很难准确地衡量这些标准。Antonopoulos还提醒与会者,要避免将KPI视为一种投资零和游戏。[2019/5/7]
在上面这个案例中,FactRegistry合约需要一个函数transfer(),Alice传入Bob的地址作为收款方。transfer()函数做两件事:把需要转移的ETH发送给收款方;保存对这笔转账的记录,比如存储这笔转账相关参数的哈希值,到合约的存储项中。FactRegistry合约还带有一个isValid()函数,接受一条哈希值作为参数,返回一个布尔值——如果该条输入的哈希值等于合约中记录的某条哈希值,就返回True。如此,这个记录在合约中的哈希值,就可以当成是一个事实的证明。这个为FactRegistry合约引入一个新的事实的过程,通常称为“事实注册”。
声音 | 郎咸平发文:没搞清楚比特币,有什么资格活埋李笑来?:郎咸平于5日在微信公众号“功夫财经”上发布标题为《没搞清楚就瞎投,有什么资格“活埋”李笑来?》的原创文章,评论日前发生的李笑来录音泄露事件。
日前,一段疑似“中国比特币首富”李笑来内部讲话的录音在社交媒体上广泛传播。在这段长达50分钟的录音中,李笑来对以太坊、瑞波、小蚁等多个区块链项目和老猫、罗振宇、赵长鹏等多位区块链领域名人进行了吐槽和评价,全程脏话连篇,不断自曝,引起轩然大波。
郎咸平在文中评论此事件,称自己很早之前就揭露过比特币真相,比特币有“三宗罪”:操纵价格,沦为,区块链没有解决问题。由于这三宗罪的存在,郎咸平十分不建议老百姓当下投资比特币,他在文中谈到:“现在的比特币或者各种区块链Token就是中世纪时期的银行业,放长远来看,可能二十年后这里面谁特别牛,谁从里面捞了第一桶金,毕竟这么多聪明人,群雄逐鹿,你方唱罢我登场,肯定有枭雄。但是,你一个老百姓,我非常不建议你参与这个可能99%都注定肉包子打狗有去无回的游戏。”[2018/7/5]
一笔签过名的CT所包含的链上事件的指纹有两个字段:一个FactRegistry合约的地址;上述合约中应当记录的事实。
StarkEx有条件交易
StarkEx会批量打包Layey-2中的交易,并使用一条发送到链上的STARK证明来结算这些交易。如果某一批次中包含CT,StarkEx将保证相关的事实已经注册,以便能清算该批交易;否则,整批交易都会回滚。
有条件交易的案例
在本部分,我们会提出一些应用场景,并指出CT如何能用在这些场景中。
详细案例——快速取款
在任意L2方案中,最初级的从L2转出资金到L1中的办法便是终局化一次L2的状态更新。在基于有效性证明的系统中,终局化一次L2的状态更新需要在链上提交一个相应的有效性证明,一般来说需要10分钟。这就意味着,如果用户使用这种方式来取款,就不得不等待至少10分钟。
而快速取款的用意正是为了解耦这种依赖,让用户能够在“区块时间”内免信任地将资金取出,也即,就像使用普通的以太坊合约一样。
那到底是怎么个流程呢?如果Alice想要从L2中取出1ETH到L1,Alice可以在L2上签名一条将1ETH转移给流动性提供者的CT,条件是LP在L1上转移1ETH给Alice。Alice的CT仅能在她收到L1上的转账之后才能执行,所以她不会面临对手方风险。
我们来看一个能够协助CT的简易的FactRegistry合约:
我们可以看到这个合约有一个payabe函数transfer(),它的功能有两个:
转移一定数量的ETH到某个地址
登记keccack(amount,address,nonce)
Alice签发的CT只有keccack(1ETH,Alice,nonce)在FactRegistry中注册之后才能执行。而这个事实,也只有在给Alice的1ETH转账发生了之后才能成功注册。Alice可以无需信任地取出1ETH,整个过程只需她的前面,和LP在以太坊链上发起的一笔交易。
更多应用场景
类似的流程可以捕捉到下列类型的事件,从而L2的CT也可以有更多的用途,例如:
如果ETH的价格跌到了1010DAI,Alice希望在L2卖出1ETH,换回在L1上的1000DAI
Alice希望在L2上给Bob10ETH,只要Bob以Alice的名义在Alice指定的dApp中存入9.5ETH
Alice希望在DeversiFi的L2上给Bob10ETH,只要Bob在dYdX的L2中给Alice的账户存入9.5ETH
总结
CT的第一种用途是快速取款,但StarkEx运营者可以用这一元件实现许多种类的L2-L1交互。
(完)
原文链接:https://medium.com/starkware/conditional-transfers-the-key-to-interoperability-2e1de044fb65作者:StarkWare翻译:阿剑
专门从事数字资产投资研究的分析师Messari预言随着以太坊ETH2.0升级的启动,比特币在数字货币中的地位可能更早被以太坊所取代.
美国新一轮刺激经济计划的资金在本周晚些时候开始进入银行账户,而早先数据统计,美国散户交易员准备向比特币市场投入数十亿美元,为从去年起席卷加密货币行业的交易狂潮增速.
一、基本模型: 将交易分成两种类型,”PublicTransaction”和“PrivatTransaction”.
以太坊上将有和媲美Zcash的隐私交易了。UTC时间3月15日,以太坊隐私技术解决方案Aztec发文宣布Aztec2.0Rollup服务正式主网上线,并同步推出zk.money,zk.money.
目前,数字人民币试点工作正在稳步开展,经过几轮测试和两会热点之后,数字人民币仍然保持着良好的持续推进趋势.
头条 ▌央行穆长春:纸钞、电子支付和数字人民币将在可预见的将来同时共存3月20日,中国人民银行数字货币研究所所长穆长春3月20日在中国发展高层论坛2021年会上表示,在可预见的将来.