美文网首页看场电影
区块链的发展走向:一场去中心化与TPS的角力战争

区块链的发展走向:一场去中心化与TPS的角力战争

作者: 贝壳儿说 | 来源:发表于2018-06-12 00:44 被阅读0次

    本文实时同步发布在区块链原创技术公众号【堂说区块链】上,欢迎关注订阅。

    推荐一个新的区块链领域优质内容输出平台:币读【www.biduDNA.com】博主已在币读平台上首开专栏,区块链领域技术原创文章将同步首发在【币读】平台上;

    币读专栏地址:https://www.bidudna.com/statics/topics?id=49

    0.著名的三元悖论

    在介绍区块链TPS之前,先介绍一下,著名的三元悖论。

    蒙代尔不可能三角(又称三元悖论)

    其含义是:在开放经济条件下,本国货币政策的独立性(Monetary policy),固定汇率(Exchange rate),资本的自由进出(Capital mobility)不能同时实现,最多只能同时满足两个目标,而放弃另外一个目标来实现调控的目的。

    延伸到分布式系统就是CAP定理和BASE思想

    Consistency(一致性), Availability(可用性), Partition tolerance(分区容忍性) ,三者只能满足其二放弃其一,因此,任何分布式系统的设计只是在三者中的不同取舍而已。

    CAP定义

    C(强一致性):所有的节点上的数据时刻保持同步

    A(可用性):每个请求都能接受到一个响应,无论响应成功或失败

    P(分区容错):系统应该能持续提供服务,即使系统内部有消息丢失(分区)

    高可用、数据一致是很多系统设计的目标,但是分区又是不可避免的事情:

    基于CAP定理的妥协,引出了相关的BASE思想

    BASE模型牺牲高一致性,获得可用性或可靠性:

    Basically Available(基本可用):支持分区失败;

    Soft state(软状态): 状态可以有一段时间不同步,异步。

    Eventually consistent(最终一致):最终数据是一致的就可以了,而不是时时高一致。

    BASE思想的主要实现有

    1.按功能划分数据库    2.sharding碎片

    BASE思想主要强调基本的可用性,如果你需要High 可用性,也就是纯粹的高性能,那么就要以一致性或容忍性为牺牲;

    同样的,延伸到区块链领域类似。

    延伸到区块链领域,就是SED妥协:

    安全性Safety,扩容性Extendsion,去中心化Decentralization 三者只能满足其二,放弃其一。

    下图用三围视图的方式展现了不同类别的区块链的CAP比较

    1. “去中心化”与“点对点”

    概念上的去中心化,其实就是因为底层使用的P2P协议,而P2P这个概念早就炒冷饭了,为什么现在用到了P2P底层技术的区块链会大火?

    要知道,中本聪创造的比特币系统,论文原文标题为:《Bitcoin: A
    Peer-to-Peer Electronic Cash System》这里说的是一个点对点的电子现金系统,压根就没有提去中心化,更没谈什么不可篡改的特性。

    个人感觉,这完完全全像是大众(实话实说,包括我本人),或者说非强权在握的P民的一种有声的反抗,那种终于找到了一种像强权宣战的宣泄口(而且,巧了,还有底层技术支持)。这种宣泄跟仇富心态是一个道理,当然,也跟现在的垄断的大环境有关,peer的的确确压抑太久了。

    所以,区块链其实,更应该宣传的应该是点对点,但是没办法,没有噱头,点对点更是一个中性词汇,所以在技术领域,使用点对点更符合。

    2.交易效率与TPS

    以比特币为例子,它的的确确显著的提升了交易效率。

    但是,我们也知道比特币网络能支撑的TPS平均也就不到7/s,以太坊约20笔/秒(目前主链的现状,至于改进措施后文会继续介绍),有个别项目号称达到上百笔/秒。对比VISA 平均5万笔/秒、支付宝峰值20w笔/秒(据说)来说差了好几个数量级。

    传统中心化的交易流程的CASE

    当我们使用某个中心化的交易平台,在平台内部,交易的承载有可能是巨大的,但是,我们会发现这个交易平台也许只是繁杂的交易流程中的某一个环节,平台和平台的协作几乎会成为整个流程的瓶颈。

    比如,北京的房产交易,从签约买房开始,到房本到手为止,这其中需要经历多个跟传统的政府或者机构交互的节点,涉及到的审核很多,比如银行,比如房管局等。在这个流程中,房产交易平台的本身的交易TPS相对来说

    已经不是那么重要了。(题外话:所以链家网一直在做的事是重塑交易流程标准,让房产交易不再难,刚上线的贝壳大平台也是基于这个最终目的)。

    再比如,跨境交易,哪怕一笔1美分的跨境支付,这其中的繁琐程度也足够让人抓狂的。市值始终占据前三的Ripple就是为了解决跨境支付的难题而诞生的,而Ripple的TPS也不高。

    去中心化的交易流程CASE

    虽然,区块链点对点的交易模式,看似比较低效的交易TPS,但是它解决的是全局价值转移的无缝对接,省去了很多中间不必要的平台审核环节,这减少了整个生命周期的步骤。

    3.再谈区块链TPS

    虽然,区块链技术天生的TPS短板(见下文中的区块链TPS公式),但是追求高TPS似乎已经成为了“程序员与架构师”的一场没有理由的情怀。

    “比特币信仰”:在区块链世界中,比特币是万链之祖,人们对比特币网络的要求总是那么超乎想象的忍耐,甚至比特币网络压根都不是图灵完备的。

    从区块链1.0时代,一直到如今的区块链3.0时代,人们对区块链项目的高TPS追求从未停止过,下图列举了几个常见的区块链项目(BTC ETH EOS)的交易TPS平均参数.

    热门项目的TPS

    区块链项目的TPS受到哪些参数的影响?

    TPS指的是Transitions Per Second。

    在区块链领域也就是:每秒区块链能确认的交易数;

    TPS = Transitions个数/出块时间blockTime;

    Transitions是由每个区块的大小和每笔交易的大小决定的

    Transitions = blockSize区块大小/transitionSize单笔交易大小

    PS:所以关于如何提升BTC的交易TPS,曾经发生过BTC扩容之争,目的就是为了通过扩容BTC每个区块的大小的方式来增加打包交易数(BTC设定每个区块1M)

    区块大小blockSize又是由记账参与者(POW矿工或者POS见证者)的网络带宽决定

    blockSize * witnessCount(矿工或者记账者的个数) = witnessCapability(矿工或者记账者的带宽性能)

    所以:blockSize=witnessCapability/witnessCount

    参与记账的节点越多,参与交易确认的节点越多,对网络的贷款要求也就越高。

    TPS=  (blockSize & 网络状况 & witnessCapability)/(witnessCount*blockTime)

    其中,&含义是 参数正相关

    由公式可以看到,如果我们想增加区块链的TPS表现,那么我们要努力提升分母大小,降低分子大小。

    而分母中的blockSize & 网络状况 & witnessCapability 要么属于物理性能范畴或者要么由共识算法决定的,所以现在的各种共识算法都从分子参数入手,

    降低witnessCount个数 或者 降低 blockTime出块时间。

    PS:

    1)基于POW或者POS的区块链比如BTC或者ETH的记账节点是无门槛的,任何节点都可以,所以witnessCount多导致了TPS也就个位数,而且,witnessCount越多,导致的网络环境越复杂。

    2)基于DPOS的区块链比如EOS,规定了记账节点只有21个,出块时间大约1.5S

    4.提升TPS的其他方式?

    1)物理扩容区块大小

    可以短暂的提升TPS,毕竟物理扩容有上限。

    2)闪电网络

    lightingNetwork是用来解决点对点账户之间的小微支付问题,闪电网络的主要思路十分简单 -- 将大量交易放到比特币区块链之外进行。该设计最早是 2015 年 2 月在论文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中提出。

    3)Sharding分片

    在由中国IT技术社区CSDN和灵钛科技主办的“2018以太坊技术及应用大会”召开中,V神介绍以太坊将使用一套称为Casper的混合工作量证明(PoW)和权益证明(PoS)的激励执行机制。

    Casper将分阶段部署,目前第一阶段已经完成。另外,他还介绍了分片技术(Sharding),直言“分片技术马上到来”,并展示了一种新型的代码库。V神认为,分片技术的优势主要包括:1. 提升交易速度;2. 改善交易吞吐量;3. 减少单笔交易的处理量,降低交易费用。

    PS:详见《以太坊:Casper与分片技术的最新进展》

    另外:关于Casper的分片技术底层原理解析,将在下一篇文章中介绍,敬请期待。

    本次的堂说区块链时间到此结束,欢迎diss评论。

    下期预告《以太坊Casper+POS分片技术原理解析》

    欢迎关注同名微信公众号:堂说区块链

    欢迎关注,一起讨论研究区块链技术~~~

    相关文章

      网友评论

        本文标题:区块链的发展走向:一场去中心化与TPS的角力战争

        本文链接:https://www.haomeiwen.com/subject/rtbusftx.html