找回密码
 立即注册

扫一扫,登录网站

首页 区块链生态 查看内容
  • 10304
  • 1
  • 分享到

真正的以太坊,远比你想象的简单?

2018-10-18 09:02

来源: dapdap区块链

Layer2是加密经济学解决方案
 
在深入解释layer2解决方案前,我们先来了解一下其背后的原理。

公链的基本力量在于加密经济共识。

通过仔细调整激励措施,并将其与软件和密码学结合,我们能够通过网络对系统内部达成共识。这也是中本聪白皮书中提到的重点,这点现在已经被应用到许多不同的公链中,包括比特币以太坊

加密经济共识给了我们一个确定性内核——除非发生像51%攻击这样极端事件,否则所有操作(包括支付,或者智能合约)都将按书写程序执行。

Layer2背后的原理是,我们可以将这个确定性内核作为一个锚——在此基础之上附加其他经济机制。Layer2可以将公有链的效用扩展到链外,让我们在链外互动成为可能,在需要的时候,这些互动仍然可以返回到主链。

这些layer都是建立在以太坊主链之上的,所以它并不能持续保证与链上操作同样的安全性。但是仍然可以确保它们是最终地、安全地、实用地——尤其是只需要牺牲一点操作权限,就可以提高运作效率,降低手续费用。

加密经济学的起源并不是中本聪的白皮书,但这同样不是终点——这是我们正在尝试应用的技术。不仅在核心协议的设计上,也体现在旨在扩展底层链功能的layer2的设计中。
 
通道状态特点和限制
 
状态通道(State channels)

状态通道指的是“链下”处理交易和其他操作的一种技术。然而,发生在状态通道内事物仍然保持着很高的安全性和终结性:如果出了什么问题,我们仍然可以选择回到链上交易。

很多读者对支付通道都很熟悉,这个同店已经出现了许多年,最近也在通过闪电网络(lightning network)在比特币上实施。状态通道是支付通道更为普遍的形式——它们不仅可以处理支付,也可以处理区块链的“状态更新”——就像智能合约的更改。状态通道于2015年由Jeff Coleman率先提出。

通过一个案例我们可以更好理解状态通道的工作方法。这依然是一个概念性的解释,我们不会进入特定的技术细节。

比如说Alice和Bob正在玩三子棋游戏(tic tac toe),赢家可以获得1ETH作为奖励。最简单的办法,就是在以太坊上创建一个智能合约,将三子棋游戏的规则写入智能合约内,并追踪每一名玩家棋子的移动轨迹。每次玩家移动棋子时,就发送给合约一次。当一个玩家胜出时,合约将支付1ETH给胜出者。

这种做法虽然可行,但是弊端很明显,效率低、速度慢。整个以太坊网络都在为这个游戏运行,造成资源的浪费。玩家每移动一步棋,都要支付一笔费用,并且,他们还要等矿工完成验证,才能进行下一步。

这时候,我们就可以设计一个系统,让Alice和Bob的互动尽量在链下进行。Alice和Bob可以在链下更新状态,并在需要的时候,回到链上交易。我们把这种系统称之为“状态通道”。

首先,我们在以太坊主链上创建一种智能合约作为“法官”,并将游戏规则写入合约,并识别出Alice和Bob是本次游戏的两个玩家。再给这个合约设置1ETH的奖励。

随后,Alice和Bob开始互动。Alice开始走第一步,签名后发送给Bob,Bob也会签名,并将自己签名后的版本发回,自己保存一份副本。然后往复操作,每次他们都会更新自己的状态。每次互动都会包含一次“nonce”,以便于按时间给每次互动排序。

至此,所有操作都不是在链上发生。Alice和Bob只是在互联网中发生了交易,但是所有交易都可以上传至合约——换句话说,它们依然是有效的以太坊交易。你可以理解成,这两个人是在来回写着区块链认证的支票。事实上银行内并没有存款或者取款业务,但是每张支票都可以随时存入。

如果Alice和Bob的游戏结束,比如说Alice赢了,他们可以上传最终状态(交易清单)并关闭通道。这样,只用支付一次交易费用就可以了。合约可以确保“最终状态”有双方签名,并等待一段时间,以确保结果可靠,最后把1ETH的奖金支付给Alice。

为什么需要这个等待时间?

假设Bob上传的不是最终版本,而是他胜利那个版本。但是合约只会执行指令,无法知道哪一个是最终版本。这个时候,设置一段等待时间,可以让Alice提供证据证明自己提供的是最终版本。

Alice提交双方签名的交易副本,合约通过的nonce确定Alice提交的才是最终版本,驳回Bob的请求。

特点和限制

状态通道可以适用于很多应用程序,并对传统的链上操作进行了许多升级。但是,在引入状态通道之前,还必须考虑其他因素:

状态通道依赖可用性。如果Alice在过程中断网了(假设是由于Bob迫切想要获得奖金,而破坏了Alice家的网),那么她可能无法及时提交状态信息。但尽管如此,Alice可以付钱让其他人保存她的交易状态,并作为她的代表,维持数据的可用性。

如果用户要进行许多次状态更新,并且持续时间很长,那么这种状态通道就特别适合。因为虽然在创建状态通道时需要一笔费用,但是之后维护成本就会特别低。

状态通道适用于那些拥有固定用户的应用程序。因为合约必须知道通道内的所有实体(地址)。虽然可以对人员进行增加或者移除,但这都需要在合同上进行更改。

状态通道具有很强的隐私属性。因为所有操作都发生在“内部”通道中和参与者之间,而不会在链上公布,也不会记录在链。只有交易的开始和结束状态是公开的。

状态通道具有即时的终结性。也就是说,一旦双方对状态签名了,就可以认为是最终的。必要的话,也可以“强制”在链上执行。

在L4,我们正在构建一个Counterfactual:一个基于以太坊的状态通道框架。我们通用的、模块化的模板将允许开发人员在其应用程序中使用状态通道,不需要自己去研究状态通道。

另一个值得关注的状态通道项目是Raiden,该项目的目标是建立一个支付渠道,使用与闪电网络类似的模式。这意味着,不仅仅只能与特定人员开设通道,你还可以与一个较大的频道网络开设通道,使你可以与同一频道内的所有成员交易,并无需手续费。

除了Counterfactual,Raiden之外,还有几个基于以太坊的的应用程序。例如,Funfair为了它们的去中心化平台建立的状态通道(“Fate channels”),Spankchain为成年演员建立了单向支付通道(他们也为ico创建状态通道),Horizon Gamesis为他们的第一款以太坊游戏创建了状态通道。

版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部