【区块链 链外交易】SoK Off The Chain Transactions

这篇具有很好参考价值的文章主要介绍了【区块链 链外交易】SoK Off The Chain Transactions。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SoK Off The Chain Transactions

摘要

本文对区块链进行了简单介绍,分析目前区块链的缺点——交易吞吐量和速度慢的原因,在此基础上引出解决此问题的方法,也是本轮将要论述的主题——链外交易。之后介绍了链外交易的基本概念和结构,并对两种类型的链外交易:通道和信任链进行了简单分析。对于通道,本文介绍了通道的结构和生命周期,通道同步技术,通道路由算法等,对于信任链,我们介绍了其基本概念和两类信任链:分别是是基于帐户的NOCUST,以及基于UTXO的Plasma。最后,本文介绍了链外交易的隐私保护和安全性。

关键词:区块链、比特币、链外交易

Abstract

This paper gives a brief introduction to blockchain, analyzes the shortcomings of blockchain at present - the reason for slow transaction throughput and speed, and on this basis leads to the method to solve this problem, which is also the topic of this round - off chain transactions. Then it introduces the basic concept and structure of out of chain transactions, and analyzes two types of out of chain transactions: channel and trust chain. For channels, this paper introduces the structure and life cycle of channels, channel synchronization technology, channel routing algorithm, etc. For trust chains, we introduce their basic concepts and two types of trust chains: account based NOCUST and UTXO based Plasma. Finally, this paper introduces the privacy protection and security of off chain transactions.

Keywords:Blockchain, Bitcoin, Off chain Transactions

一、 概述

区块链被认为是继蒸汽机、电力、互联网之后的第四次技术革命。由于区块链技术具有去中心化、公开透明、可追溯性和不可篡改等特点,在一定程度上,可以解决“中心化”导致的信息不对称问题,从而实现去中心化社会。目前,区块链技术已经被广泛应用到互联网金融领域。区块链是一个去中心化的分布式账本数据库,每一个节点都有一个“账本”,记录着每一笔交易的发生过程或原因。区块链记录着每一笔交易中的相关信息,并且这些信息具有不可篡改的特性。但区块链目前表现出很高的延迟,无法处理与传统托管金融系统相当的负载。[1]

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

区块链链上交易与其他支付方式相比

区块链的第二层次的协议基于(第一层)区块链,它只作为争端的追求权,交易并不直接写入,通过向外部传送交易,从而防止每个交易扩散到整个网络。第二级协议的交易只需数秒,成本就会降低,并且可以扩大区块链。

二、 引言

以比特币为代表的公共区块链体系,其最大的缺陷就是交易表现不佳。交易表现较差的原因有两个:一是交易吞吐量较小,二是交易速度较慢。交易吞吐量是指一个系统每小时处理的请求数目。交易速率是指从一个客户提交一个请求到一个交易被确认的平均时间。这两个数值在比特币的区块链系统中是非常低的。平均的交易吞吐量为7次/秒, 速率平均每1小时可以完成1次交易。和普通的商业银行相比,每秒的交易吞吐量都在2000以上,几乎是实时的。[2]

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

区块链

因为比特币区块链在交易速度及吞吐量中表现得如此之差,许多人都将其视为其性能上的不足,从而使其不能作为一种交易货币。是什么原因造成比特币区块链系统的低效能呢?

作为一种分布式的帐簿技术,区块链的核心作用就是记录所有的帐款。一般情况下,公共区块链的记账方法就是一页一页的记录,记录一段时间后,就会用一种竞争的方法,将最好的一张记录下来,然后所有人都抄录一份,加入到自己的账簿中。

这里面有两个限制:账页的大小和记账的周期。账页大小确定了每个区块所能容纳的交易数量,每个区块容纳的交易数量除以记账周期就是交易吞吐量;

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

而记账周期则直接决定了交易确认时间,记账周期乘以大概率确认区块有效性的区块数(比如比特币里我们通常认为6个区块基本上就能确定交易有效)就是交易确认时间。

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

要提高公共区块链的效能,最简单的方法是在每一页面上增加交易(区块扩展),并缩短记录时间。对于区块的扩展,一般会对区块的传输速率产生直接的影响。当然,考虑到目前的带宽和速率,最初的1 MB规模的比特币的确是小了一点,但小块也有小块的优势,那就是可以使用更多的通信手段,比如卫星通信。

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

区块链

减少记账周期,则会影响到区块传播的范围。如果区块过大并且记账周期太短,就会造成去中心化程度的降低。原因很简单,一个矿工挖到了一个区块,其他矿工还在下载接收这个区块时,他已经开始挖下一个区块了。显然,接收一个区块所占用的时间在一个记账周期中的比例越低,对于全体矿工来说就越公平。否则,先发优势过于明显,导致整个系统的去中心化程度降低。与此同时,整个网络同时挖出块的概率将会大大增加,就会需要更加复杂的机制来解决这个问题。

因此,对于公有链来说,用改变区块链自身的方式来提升区块链的交易性能,想要追赶现在金融系统的交易处理能力,难度还是非常高的。换句话说,我们想提高公有链的链内交易的交易性能,难度极大。

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

区块链

再回过头来看一下传统的金融体系。目前,国内各大商业银行均采用中央银行的大额小额支付系统进行跨行业务。而一般的用户,在银行系统中,大部分的业务都是在一家银行内部完成,而当涉及到跨行业务的时候,这些数据就会通过中央银行的系统来进行处理。结果是,大量的小额付款系统中的交易量大幅减少。

区块链上也可以采用类似的办法来解决。我们把这种方式统一叫做链外交易。也就是说,某一个组织或者机构可以提供一些服务,让我们在链外记录这些交易,每隔一定的时间,把这些交易的结果写入区块链即可。

尽管转账的过程非常复杂,但是只需要在链上记录下来每个时刻的账户状态(就是每个时间段的清算结果),最终结果与所有交易信息都记到链上效果是一样的。区别在于从链上的数据并不知道交易发生的真实情况。

除了这个区别以外,还有一个重要的区别:在链外交易时,提供这些链外交易服务的组织或机构的信用与整个公有链的信用是有差别的。在链外交易时,这些交易已经不是一个去中心化的交易了,而是一种局部的中心化的交易系统。当然,由于定时会把交易清算结果写回链上,一旦结果写回链上,我们就能够确认提供链外交易的组织是否存在篡改数据的情况。[2]

从经济学的观点来看,由于小额交易的限额很低,所以在链外交易中,通过篡改数据所获取的收益要比通过不断地提供服务所能得到的收益要少。所以,从信用的角度来说,小额交易向外部转移,并没有太大的差别。将来,公共链的发展趋势将会是一个类似于中央银行的结算中心的服务提供商,而事实上,很多小规模的交易都是通过外部的交易完成的。[2]

三、 链外交易基本结构

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

链外交易基本结构示意图

如图所示,链外交易主要分为4层:硬件层、网络层、区块链层、链外层:[3]

(1) 硬件层:可信执行环境(Trusted Execution Environments ,TEE)提供了一个完全隔离的环境,可防止其他软件应用程序、操作系统和主机所有者篡改甚至了解在TEE中运行的应用程序的状态,从而在其他层实现了高效协议,如链外支付[4],可以消除争议流程和向后兼容[5]。例如,Intel Software Guard eXtensions(SGX)提供了一个TEE的实现。TEE和区块链具有互补性。一方面,区块链可以保证其状态的强可用性和持久性,而TEE不能保证可用性(因为主机可以自行终止TEE),也不能可靠地访问网络或持久性存储。另一方面,区块链的计算能力非常有限,必须公开其整个状态以供公开验证,而TEE产生的开销与本地计算相比最小,并通过远程认证提供机密状态的可验证计算。因此,构建能够同时利用两者的混合协议是很有吸引力的。

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

可信执行环境

(2) 网络层:区块链的网络层,作用是节点之间的信息交流和传递,参与区块数据的校验和记账过程[6]。在区块链中,网络层是保证其可扩展性、安全性和隐私的关键。有效的网络层能够提高交易的吞吐量,增强对恶意程序的抗性[7]。除了公用区块链P2P网络,区块链矿工们也会利用专门的矿工P2P网络,例如光纤来实现交易[8]。

(3) 区块链层:第一层是一个固定的、只能附加的区块链,它可以从网络中收集所有的交易。每次交易都会对更新的区块链状态进行编码。交易可以在双方之间进行数字资源的交换或者调用一个应用(也就是智能合同)。区块链的完整性通过参与者之间执行的共识算法来保证。共识算法依赖于例如计算上昂贵的工作量证明(PoW)或大量替代品[9]。设计第二层协议的关键是底层区块链的脚本语言。类似比特币的区块链基于受限的脚本语言,并通过一组未抑制的事务输出(UTXO)进行操作,而其他区块链支持图灵完备语言,实现高度表达的智能合约[10]。第二层协议通常假设区块链层的两个属性:完整性(即,仅将有效交易添加到账本)和与上限的最终同步性(即在关键超时之前,将有效交易最终添加到账本中)。

(4) 链外层:我们将链外或层间协议定义为:1、不会立即在区块链上发布每一笔交易(与链上交易相反);2、完全依赖于父链的共识算法的协议;链外协议有两种类型,分别是,通道:在n个同等方之间形成通道,COMMIT-CHAINS: 依赖于一个中央但不可信的中介。侧链由于具有自己的共识算法,因此不属于第二层[11]。

四、 通道

4.1通道概述

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

通道示意图

一个通道允许n个用户通过一致同意商定智能合约的新状态来建立。通道的生命周期包括三个阶段。1、通道建立;2、通道转换;3、通道关闭。

(1) 通道建立:所有参与用户通过在区块链上锁定资金来合作打开一个通道。资金只能通过一致的协议或通过预先定义的退款条件来释放。

(2) 通道转换:一旦通道被建立,所有参与用户都可以通过两步流程更新通道的状态。首先,某个用户提出一个新的状态转换,向所有其他用户方发送一个签名命令和新的状态【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易。每一方将状态转换计算为【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易,其中【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易表示应用【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易的转换函数,【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易表示与应用【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易相关的给定命令。其次,所有其他用户方重新计算状态转换,以验证提议的状态,然后再签署它并将其签名发送给所有其他用户方。

(3) 通道关闭:如果一个诚实的用户在本地超时前没有收到n个签名,它就认为对提议的状态有分歧。诚实的一方可以触发区块链第一层争端,在没有其他各方合作的情况下强制执行新的状态转换。

通道为各用提供的财产和安全保障有以下几点[12]:

(1) 一致建立:只有当所有用户方同意建立通道时,通道才被视为开放。

(2) 一致过渡:第二层的过渡,即没有链上争议,需要所有用户方同意。

(3) 平衡安全:诚实的一方用户总是可以在链上发生争议时从通道中撤回约定的平衡状态。

(4) 状态进展:用户可以随时在链上强制执行链外状态转换,因此状态机总是到达终端状态[13]。

建立通道:Bob和Coffeeshop都把资金存入到链上地址,Bob存入0.05BTC,Coffeeshop存入0BTC。只有通道关闭时,链上的资金才会被释放,用户才能真正拥有该资金[14]。

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

建立通道

通道转换:Bob和Coffeeshop之间的交易在链下进行,可以是多次交易。他们在建立的支付通道内通过相互在白条上签名来完成交易。每次交易,双方都保存一份相同的带有双方签名的白条。保存的白条是处理后续交易,解决交易纠纷的关键。

【区块链 链外交易】SoK Off The Chain Transactions,区块链,链外交易

交易打白条

通道关闭:任何一方都可以申请关闭链下支付通道来进行交易结算。比如BoB 可以拿着白条:Bob 0.045 BTC Coffeeshop 0.005 BTC,到链上申请关闭链下支付通道,并进行交易结算,结算完成后 Bob 可以拿到 0.045 BTC,Coffeeshop拿到 0.005 BTC。文章来源地址https://www.toymoban.com/news/detail-857705.html

到了这里,关于【区块链 链外交易】SoK Off The Chain Transactions的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nautilus Chain:主权模块化区块链的早期实践

    “Nautilus Chain是目前行业内首个以模块化的方式构建的主权Layer3区块链系统,其也是Celestia模块化Layer0体系下最早的印证者,现在Nautilus Chain主网正式上线,揭示着模块化区块链正在从早期的理论阶段走向实践。” Celestia:全新的模块化区块链构想 从2020年开始,围绕以太坊所

    2024年02月15日
    浏览(54)
  • 33复杂美区块链核心技术Chain33开发平台系统特点

    简单易上手 联盟让开发者一学就会用,一用就能开发部署,是Chain33的首要愿望。Chain33开发者平台部署快捷简单,一个可执行文件,数个配置参数,一行启动命令便可以快速部署一个区块链主链网络及平行链网络。 高效 联盟区块链中,交易在主链上共识并存储。多条平行链

    2024年02月12日
    浏览(54)
  • Block_Chain: 菜鸟成长手册CS系列、web系列、区块链系列、Golang系列......

    🔍 快速指南(wike) — 仓库总结 🔗 中国大陆加速地址(Gitee平台) 📵 不限速在线个人云盘 💡 关于(先看❗) ⚠️ 这是一个菜鸟的成长记录,如果你也想成为工程师,想从事后端的相关工作,或者想了解区块链的相关知识,那么它可以帮助到你😎 — 喜欢请给个⭐收藏~

    2024年02月03日
    浏览(35)
  • Nautilus Chain测试网迎阶段性里程碑,模块化区块链拉开新序幕

    Nautilus Chain 是目前行业内少有的真实实践的 Layer3 模块化链,该链曾在几个月前上线了测试网,并接受用户测试交互。该链目前正处于测试网阶段,并即将在不久上线主网,这也将是行业内首个正式上线的模块化区块链底层。 而在上个月,Nautilus Chain 测试网迎来了阶段性

    2024年02月09日
    浏览(49)
  • 对比传统交易模式与基于区块链的交易模式

    随着科技的不断进步,交易模式也在持续革新。传统交易模式与基于区块链的交易模式,作为两种截然不同的交易方式,各有其特点与影响。本文将对这两种交易模式进行详尽的对比,从多个维度揭示它们之间的差异。 传统交易模式通常依赖于中央机构或第三方来进行交易验

    2024年04月27日
    浏览(47)
  • 区块链常见交易问题-高级

    以太坊账户类型 交易部署合约 交易调用合约(ERC20 等) 合约运行报错 合约的gas不足 抛出event的交易 多合约互相调用 Token 与 NFT 数据区别 交易、消息与调用(Message Call)的区别 介绍区块链交易 区块链是一种记录保存系统,在将条目添加到数据链之前会有多个源来验证该条

    2024年02月06日
    浏览(50)
  • 区块链系统:点对点交易原理

    比特币的交易是一种无需信任中介参与的P2P(Peer-to-peer)交易。 传统的电子交易,交易双方必须通过银行这样的信任机构作为中介,这样可以保证交易的安全性,因为银行记录了交易双方的账户资金,能保证在一笔交易中,要么保证成功,要么交易无效,不存在一方到账而另

    2024年02月15日
    浏览(44)
  • 简易区块链的搭建(3)——交易

    1. UTXO账户模型 产生背景: 为了解决第一类双花问题(一笔钱花两次) 原理介绍: 我们先来介绍传统的金融模式,你有10元存款,想转给我3元,银行会怎么操作? 很显然,他会将你的账户减3元,将我的账户加3元。 这种交易模式记录的是 交易结果 而UTXO账户模型记录的是

    2024年04月09日
    浏览(83)
  • 解析 ETH 区块数据交易input

    这里使用了一个开源项目:https://github.com/rvullriede/evm-abi-decoder 在pom中添加依赖即可: 这个jar需要jdk11,想使用jdk8的同学可以把项目中net.osslabz.evm.abi.definition.AbiDefinition#fromJson(java.lang.String) 的入参 Files.readString(Path.of(abiFilePath)) 改一下,这个Files.readString(Path.of(abiFilePath)) 方法只

    2024年02月22日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包