什么是状态通道?

以太坊作为第一个实现智能合约的平台,它带来的影响是巨大的,但以太坊本身仍旧存在不少的问题,一个以太坊养猫游戏就已经让以太坊网络拥堵,这对于定位是全球计算机的以太坊平台是不可接受的。

1. 引言

以太坊为作为一个公有链,允许任何人发布智能合约,但使用以太坊网络的成本很高,无论是普通交易或是智能合约都需要一定费用。尤其对于大批量的小额交易来讲,如果频繁的执行智能合约,不单单会增加以太坊网络的负担,光交易手续费一项,就让人望而却步。

状态通道为此提供了一种新的思路,通过将部分流程移出到链外来提高区块链的效率,但这并不会增加参与者的风险。目前状态通道的应用仍然是纯粹的支付通道,如闪电网络,该研究旨在解决小额交易高昂的手续费和极低的效率问题。但状态通道的应用不应仅限于支付领域。

2. 什么是状态通道?

首先,先看一下什么是状态机。状态机是一个很简单的概念,维持着世上很多软件的各种表现形式,可以总结为:f(state, action) => state’,也就是说,这个函数采用当前的状态和一次操作(即更改状态的方法),并返回执行完该操作之后的状态。

以太坊是一个全球化的基于交易的状态机,在链上的每一步操作都会产生最新的状态。不同的是,状态通道是在链外进行状态维护。

状态通道听起来就像是“支付通道”的延伸,这也是这项技术一直被低估和忽视的原因,一个隐私、效率、信任最小化、安全性和模块化的广义通道是我们要建设的重要基础设施之一。

状态通道本质上是通过在不同用户之间或用户和服务之间建立一个双向通道,为不同实体之间提供状态维护服务。它允许把区块链上的许多操作在链外进行管理,等完成链外操作后多方签名确认后,才将最终结果上链。其实可以把状态通道理解成一个执行特殊操作的智能合约,一个专门建立双向通道,在一定条件下进行状态保持的智能合约。

可以将状态通道中的执行过程作为原子操作,在执行完成这个原子操作后,将最终结果上链。

我们用银行和余额宝的例子来讲解一下状态通道,虽然可能不太准确,但多多少少可以说明一些问题。

首先我们把银行比作区块链,我们把部分的钱从银行存到余额宝中,用余额宝进行平时的小额交易,当我们想提现时,直接从余额宝提现至银行卡即可。状态通道对应余额宝,当有一方要关闭状态通道时,相当于提现操作,余额宝中保存了当前账户的状态,关闭状态通道时将状态更新至链上,相当于更新银行账户状态。

3.状态通道的生命周期
  • 打开通道:首先由两个或多个参与者就初始状态达成一致,区块链中的某些状态将发生变化(在支付通道中意味着放入一些代币进行托管)则状态通道开启。通道预言机被用来报告通道中的状态,并根据规则进行判断是否关闭通道。
  • 关闭通道:当状态通道oracle从其中一个通道参与者接收到有效的状态更新时,它将进入挑战期,在此期间另一个通道参与者可以提交更高序列号的状态更新。在挑战周期结束之后,具有最高序列号的有效状态更新被接受为最终状态。
  • 结算:当参与方的任何一方想要关闭交易通道,则更新到最近的状态后,将数据上链进行结算,并关闭通道。

状态通道预言机对于状态是否有效的判断依据如下:

  • 状态更新必须由至少两个通道参与者签署。
  • 每个连续的状态更新必须高于sequence最后一个。
  • 预言机在通道关闭后只能提交关闭前的最近状态更新。
4. 为什么要使用状态通道?

为什么要把信息(信息的哈希)保存在链下?有两个重要的原因,交易费和效率。

状态通道为Dapp的可用性提供了基础,减少Dapp的延迟以及将网络响应时间控制在用户的可容忍范围。Dapp的参与者将消息与事务相互发送,以更新状态,但不会将消息发布到链中。如果其中一位参与者离开或试图欺骗另一位参与者,可以随时向区块链发布最新交易以完成状态。这其中的奖罚措施足以让参与者保持诚实。

状态通道是两方之间的互动,可以适用于任何智能合约。状态通道管理商业进程或者交易状态。它可以在保证指定人群之间交互性能和隐私性的同时,降低交易成本。

使用分片技术可以一定程度上实现可扩展性,但是对于依赖大量原子操作(如流式支付、物联网设备、游戏等)的应用程序来说,分片技术无法有效降低成本,而对于大量细碎交易来讲,通过状态通道,可以很大程度上缩小开支。

5.状态通道应用场景

比特币的闪电网络是状态通道在支付领域的一个很好的应用

下面我们来举例描述状态通道在其他方面的应用:

(1)举一个象棋游戏的例子
两个人开始一局游戏(创建一个新的“评判”程序),并为其提供初始投注。他们的实际举动不是作为交易提交给区块链,而是对每一步的操作进行签名并直接发送给对手方。当对手方接受移动时,由程序检查当前操作是否有效,并在游戏“状态”的更新版本上签名,再将其返回给对手方。如果此举无效,他们会向法官提交最近达成一致的状态,由该方签名操作,以便法官可以使用规则来确定适当的处罚。每一个新动作都会增加序列号,所以其他玩家将无法向法官提交旧版本的状态。如果他们这样做,另一位玩家将在等待期间回复最近的版本。同样,如果其他玩家拒绝返回更新状态的签名副本,法官也可以被要求裁决。但只要对方遵守规则,就不需要诉诸法官。当程序根据规则判定一方胜出时,结束游戏,将最新的状态提交到链上。因为验证和签署新举动的时间要比区块链确认交易所需的时间小得多,所以这个过程无明显延时。除非一个玩家行为异常,否则这些操作对其他区块链用户是透明的。

游戏结束后,玩家可以签署一个更新,根据游戏的结局简单地分配投注,甚至不需要裁判的复杂逻辑,从而再次降低成本。事实上,通过进一步优化,使判定的逻辑和比赛规则本身也可以放入签名的“状态”中,各方之间进行交换。只需建立一个简单的合约,以存储通道参与方的资产,遵守由各方同意的规则。

6. 状态通道展望
  • 我们希望看到明确设计的通用目的渠道不会减少,实际上在很多情况下会大大增加隐私。
  • 尽可能的把不必要上链的操作在状态通道中进行处理。
  • 状态通道可以很容易地融入到新的应用程序中,降低开发难度,使研发人员可以尽可能的参与进来。
  • 保证隐私,使得状态通道的运行看起来与其他常见的链上活动无异。
  • 在单个通道中对于并行操作的支持,并且这些操作不会相互干扰。
  • 状态通道做到组件化,用户在进行dapp开发时,无需再进行重复的工作,可以直接使用通用的状态通道。
  • 平滑升级状态通道,尽可能的不影响用户端。
  • 做到标准化,让用户可以轻松的链接其他通道。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容