LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 区块链性能问题和限制

区块链性能问题和限制

2019-12-10 区块链吴哥 来源:区块链网络


任何具有大量服务器的系统、区块链或数据库的性能,我们通常不是指实际性能,而是指在受控条件下每秒处理N个事务的能力(在执行预定义事务集的少量测试计算机上运行时)。实际上,这些数字完全不同,主要取决于用户的行为。


区块链性能度量比传统服务(如分布式数据库)更为复杂。让我们找出原因



什么是事务处理时间?


对于用户来说,区块链性能是他们获得所请求服务的速度。例如,加密货币转账交易或调用智能合约函数的交易。在所有这些情况下,我们都会准备一个事务,将其发送到网络并期望得到响应。此参数显示客户端收到成功付款、确认预订或交易的可靠确认的时间。下面是客户端软件花费时间的大致步骤顺序:


1.用户准备并签署事务


2.用户将事务发送到网络并等待接受确认


3.网络在网络参与者之间复制信息


4.一些参与者生成包括用户事务的新块并在网络参与者之间复制新块


5.用户接收有关新块的信息通过网络交易


此方案类似于访问分布式数据库。用户发送一个修改数据的事务,并等待许多计算机对数据库进行更改。然后,用户收到一个大致意思如下的响应:“看起来最大的集群部分已经对数据库应用了更改”。区块链交易也应该“被大多数人接受”,但每台计算机都会更彻底地检查变化。计算机彼此不信任,所以有更多的检查,特别是加密检查。除此之外,与会者还就区块的顺序和内容达成一致。


区块链的性能问题


哪些问题会减缓区块链的运行速度,而不让它获得集中系统的性能?假设我们设计了一个超级区块链。我们如何确定它的性能问题以及何时可能出现这些问题?


客户交易准备


任何区块链交易都是数字签名的。任何数据更改请求都会涉及少量的非零费用。因此,区块链中的交易成本高于标准数据库中的交易成本:签名检查必须按处理器工作时间、增加的交易规模(按网络带宽)、区块链中的任何更改(按存储大小)支付。事实上,区块链是分散的系统,客户在其中执行大部分工作。


因此,客户端的计算量正在逐渐增加,区块链本身也变得越来越轻、越来越快。在一些密码高级区块链中,客户机可以执行持续数十秒甚至几分钟的计算。因此,浏览器、钱包或区块链游戏交易可能需要大量时间。从用户的角度来看,这一重要因素影响着区块链的整体性能。我们越是使用现代密码学来确认参与者行为的正确性,这个因素就越会影响整个区块链的性能。


对等网络


当事务准备就绪时,用户将其发送到p2p网络,所有区块链节点都通过该网络进行通信。换句话说,用户从所谓的对等计算机列表中向它发送任何可用的计算机,这些计算机彼此不信任。接收到事务后,对等方立即开始在列表中随机的对等邻居之间分发事务。在多次传输之后,许多对等方都有一个事务副本。


然后,生成块的计算机(也称为矿工、块生产者或简称BPs)将事务包含在下一个块中,并通过网络分发。结果,信息在网络上分布了两次。首先,事务从用户传输到块生产者,然后返回到等待区块链“消息”的节点。每次信息都以新的方式通过不同的对等方传递。这使得BoStLink不同于一个大型集中式系统,其中请求路径被严格设置以确保最大速度。不幸的是,块或块部分有时可能在一些当前不可用的节点上找到。


在这种情况下,对等方将等待所需的数据出现在网络中。同样,重要的数据也有可能如此流行,以至于它可以在任何时候到达一个随机节点,并且比预先定义的系统具有更好的效率。


在大型集中式系统中,对等网络作为优化的数据传输方案,不能保证快速稳定的数据传输。另一方面,对等网络更能抵抗整个网段的切断和参与者的恶意行为。由于在对等端之间分布流行的数据部分,它们可能显示出极好的带宽。


由于这种网络请求处理的时间变化很大,因此很难预测它的准确时间。这个阶段非常耗时,尤其是当网络节点分散在世界各地时。通过模拟大量的p2p网络状态来衡量网络性能是非常困难的。因此,区块链没有确切的tx/sec值。


一致性算法


一致性算法是影响交易接受速度的另一个因素。负责块和链生产的网络节点,同意正确的块和应该丢弃的块。协商节点借助数字签名交换关于块的信息,从而为一个或多个块“投票”,节点之间的消息数量在不同的区块链中有所不同。例如,在大多数股权证明算法中,需要从至少1/3的区块生产商处接收消息(“投票”),以接受给定的区块及其构建的链。如果出现网络问题,这些网络没有时间在合理的时间内将消息传递给所有参与者。有时,该算法需要额外的消息-添加或删除块生成器,在块生产暂停后恢复工作,等等。


评估区块链在每秒事务中的性能,重要的是了解在网络共识上花费了多少时间,它有多有效,以及它是否可以进一步优化。与在网络重新配置或复杂事务期间具有周期性暂停的高速1000 tx/sec区块链相比,100 tx/sec区块链可以展示更稳定的服务质量。现在,几千个TX/SEC是最大的。但现在。。。


结论


如今,区块链是可靠的网络,具有抗恶意交易的能力。它们比它们的中央对手慢——我们不能谈论每秒数百万次的事务。如果你看到每秒发送一百万次的消息,请询问架构。超高速“区块链”的创造者通常会有所保留,因为数百万tx/sec通常意味着中间件连接。事实上,这样的软件只不过是一种满足这种速度要求的通用集中式服务。在大多数情况下,这是一个L2解决方案或解决方案,承诺组装许多平行链。



在阅读或评估区块链绩效时要小心,因为这是一个极其困难且有争议的问题。在实际项目中,具有或多或少标准方案和共识的现代区块链在负载下的性能可能达到1000-10000 tx/sec,而不是数百万。目前具有几十个验证器的P2P网络可以最大限度地分发和处理成千上万的每秒事务,即使是相当快的网络。对于更多的参与者来说,一切都会变得更慢。对解决性能问题的承诺持怀疑态度,尽管有大量团队的工作,但这个问题尚未成功解决。然而,有很多好的方法,我们正在等待软件研究领域的工作解决方案。


https://hackernon.com/blockchain-performance-issues-and-limitations-78qss3co5

—-

编译者/作者:区块链吴哥

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...