Tech Blog

SmartX智图如何实现极速交易?

By 2019年12月6日 No Comments

近期,SmartX举办了线下技术研讨会,为有兴趣了解区块链技术及智图团队的伙伴提供了一个非常好的交流平台,做纯技术分享,展望区块链技术未来。与此同时,SmartX也会陆续在线上做一些技术分享,帮助人们更好的认识SmartX技术创新。

中本聪共识中所面临的一个巨大问题之一是交易速度问题,因为全网出块率过低,区块容量不足,TPS过低等。而SmartX在源头上能够分区出块,随着分区增加,系统处理速度呈线性增长,从而提高交易速度,节省能源和交易费用。

目前有哪些方法实现极速交易?

  • 二层网络

以太坊曾经提出过很多二层网络的扩容方案,例如:状态通道,plasma协议等。

状态通道在2015由Jeff Coleman首次提出,而plasma协议由Vitalik和Joseph在2017年8月提出。

状态通道是一种执行交易或状态更新的链下技术。虽然如此,状态通道中发生的事情依然保持高度的可靠性和完整性:如果存在任何差错,我们仍有回溯至建立在链上交易的确定性的机会。状态通道是支付通道的更一般应用——它不能能应用于支付,还可应用于任何区块链的状态更新,比如智能合约内部变化。

Plasma是一种依靠以太坊保证安全性的链下扩容技术。但Plasma的思路不同,它通过链接到以太坊的子链实现扩容。这些子链又可以向下衍生出自己的子链,依次类推。因此,我们可以在子链上运行复杂的操作,运行几千用户的完整应用,而至保持与主链的最小交互。由于操作不需要复制到整个以太坊,Plasma子链能够运行更快,收费更低。

二层网络概念的根本上减少了主网的负载,但是却需要智能合约的开发者自己实现并保证子链的确定性和一致性,这或多或少的增加了开发者的负担。

  • 闪电网络

闪电网络的概念早是 2015 年 2 月在论文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中提出,其主要思路十分简单 — 将大量交易放到比特币区块链之外进行。

比特币的区块链机制自身提供了很好的可信保障,但是很慢;另一方面考虑,对于大量的小额交易来说,是否真实需要这么高的可信性?闪电网络通过智能合约来完善链下的交易渠道。

闪电网络的核心的概念主要有两个:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)。前者解决了链下交易的确认问题,后者解决了支付通道的问题。

RSMC类似于准备金机制,先假定交易双方之间存在一个“微支付通道”(资金池)。双方都预存一部分资金到“微支付通道”里,之后每次交易,就对交易后的资金分配方案共同进行确认,同时签字作废旧的版本。当需要提现时,将最终交易结果写到区块链网络中,被最终确认。可以看到,只有在提现时候才需要通过区块链。

任何一个版本的方案都需要经过双方的签名认证才合法。任何一方在任何时候都可以提出提现,提现需要提供一个双方都签名过的资金分配方案(意味着肯定是某次交易后的结果)。在一定时间内,如果另外一方提出证明表明这个方案其实之前被作废了(非最新的交易结果),则资金罚没给质疑成功方。这就确保了没人会拿一个旧的交易结果来提现。

另外,即使双方都确认了某次提现,首先提出提现一方的资金到账时间要晚于对方,这就鼓励大家尽量都在链外完成交易。

HTLC其实就是限时转账。理解起来其实也很简单,通过智能合约,双方约定转账方先冻结一笔钱,并提供一个哈希值,如果在一定时间内有人能提出一个字符串,使得它哈希后的值跟已知值匹配(实际上意味着转账方授权了接收方来提现),则这笔钱转给接收方。

闪电网络只适合一致性和正确性要求不太高的场景,例如小额支付场景。很多币的闪电网络的实现还依赖于交易双方进行交互,这大大的降低支付体验。

根据这些现有方式,Smartx的创新更好的规避了一些技术上的缺陷和场景应用问题。

那smartx的极速交易是如何实现的?

无论是二层网络还是闪电网络,核心思想都是通过智能合约来减少主链共识的工作量,虽然SmartX也会支持智能合约,并且通过SmartX的智能合约也能实现这些扩展方案,但是SmartX更多的是尝试将链上共识的速度加快,让共识过程能够充分利用带宽和计算资源。我们相信,如果在SmartX高效的链上共识上面再进行二层网络或者闪电网络的扩容方案,那将会让SmartX的共识能够承载的更多。