阅读此篇论文受益匪浅,特此共享。接上一部分 坚定选择BCH的原因-1
Investigation of the potential for using the bitcoin blockchain as the world’s primary infrastructure for Internet commerce
调查将比特币区块链作为全球互联网商务主要基础设施的潜力
三. Method
方法
3.1. Hardware and software configuration
硬件和软件配置
The Bitcoin network models were built on successive iterations of virtualized high-performance computers that have become increasingly powerful since 2009.
比特币网络模型建立在自2009年以来越来越强大的虚拟高性能计算机的连续迭代之上。
The initial system comprised 680 Windows XP machines that were subsequently updated to run CentOS Linux.
最初的系统包括680台Windows XP机器,随后更新为运行CentOS Linux。
These early machines, which were not clustered, acted as both mining and capture hosts.
这些早期的机器,没有集群,充当采矿和捕获主机。
The first cluster was created in 2012 as an SGI-based supercomputer.
第一个集群是在2012年创建的一个基于SGI的超级计算机。
Prior to this, a combination of machines individually ran tcpdump node software and analysis software.
在此之前,机器的组合单独运行tcpdump节点软件和分析软件。
In 2011, it became apparent that a parallelized cluster would be needed.
2011年,显然需要一个并行化的群集。
With the introduction of GPU, then FPGA, and subsequently ASIC-based systems, the demand to process transactions increased significantly.
随着GPU,FPGA和后来的ASIC系统的引入,处理交易的需求大大增加。
Although it was understood that the number of transactions would increase over time, the rate of this increase was significantly higher than was expected.
虽然据了解,交易数量会随着时间的推移而增加,但这一增长速度明显高于预期。
Between January 2011 and mid-2012 many systems clustered in parallel were trialed.
在2011年1月至2012年中期间,许多并行集群系统被试用。
The devices were implemented across the various networks and allowed the high-speed data that was written across a variety of online drives to be captured and analyzed.
这些设备通过各种网络实现,并允许捕获和分析在各种在线驱动器上编写的高速数据。
The amount of captured information grew significantly in this period, thereby leading to the need to run multiple machines.
在此期间捕获的信息量显着增加,从而导致需要运行多台机器。
Even the use of GPU-based structures did not succeed in capturing all the data on individual machines and hence started running systems in parallel.
即使使用基于GPU的结构,也无法成功捕获单个机器上的所有数据,因此开始并行运行系统。
The current HPC system in use, known as Tulip Trading, runs on over 265,000 Supermicro cores and is currently ranked at position 17 in the Top 500 Supercomputer list2 (see Appendix 1: Tulip Trading HPC for full specification).
目前正在使用的高性能计算系统(称为Tulip Trading)运行超过26.5万个超微内核,目前在500强超级计算机列表中排名第17位(请参阅附录1:郁金香交易高性能计算的完整规范)。
We combined several utilities and software packages, many of which are open source, to create the model of the Bitcoin system.
我们结合了几个实用程序和软件包,其中许多是开放源代码的,来创建比特币系统的模型。
The simulation software we used was the Common Open Research Emulator3 (CORE), a real-time network emulator that allows the rapid instantiation of multiple technologies in a hybrid fashion.
我们使用的仿真软件是通用开放式仿真器3(CORE),这是一个实时网络仿真器,可以混合方式快速实例化多种技术。
CORE was selected as it allows for the integration of both real hardware and virtualized nodes including router and switch configurations.
CORE被选中,因为它允许包括路由器和交换机配置在内的真实硬件和虚拟节点的集成。
The integrated multi- protocol network Emulator/Simulator (IMUNES)4 from the University of Zagreb was patched into CORE to port the virtual stacks from FreeBSD5 into scientific Linux.
来自萨格勒布大学的综合多协议网络仿真器/模拟器(IMUNES)4被修补到CORE中,将来自FreeBSD5的虚拟栈移植到科学的Linux中。
Each virtualized network stack is assigned its own process space.
每个虚拟化网络堆栈都分配有自己的进程空间。
We have ported the FreeBSD Jar mechanism into Linux to form a lightweight virtual machine.
我们已经将FreeBSD Jar机制移植到Linux中以形成一个轻量级的虚拟机。
These virtual machines are configured with SSH and the Bitcoin protocol and no other services.
这些虚拟机配置了SSH和比特币协议,没有其他服务。
Our model includes support for wireless networks, mobility scripting, IPSec, distributed emulation over multiple machines, which is used across different machine nodes, and the control of external Linux routers that have been integrated within our system.
我们的模型包括支持无线网络,移动脚本,IPSec,跨多台机器的分布式仿真,以及在我们的系统中集成的外部Linux路由器的控制。
Using CORE, we emulated both wired and wireless settings and replicated the node distributions of the Bitcoin network including IP address and network positioning.
使用CORE,我们仿真了有线和无线设置,并复制了比特币网络的节点分布,包括IP地址和网络定位。
The derived hardwired/wireless scenario composes both physical and emulated nodes including the full archive nodes of the Bitcoin Blockchain as well as limited nodes that are used for propagation only.
派生的硬连线/无线场景组成了物理节点和模拟节点,包括比特币区块链的完整归档节点以及仅用于传播的有限节点。
The system is tuned to allow up to 50,000 full nodes at any time.
系统可以随时调整到最多50,000个完整节点。
At present, no scenario has occurred where 50,000 nodes have ever come online in the real Bitcoin network.
目前,真正的比特币网络中没有出现50,000个节点上网的情况。
The system has captured and can emulate the traffic flows between each of the nodes over time.
系统已经捕获并可以仿真每个节点之间的流量。
Our implementation of CORE uses operating system virtualization tools (Zen, UML, KDM and Open VZ, VMware, and Virtual PC) primarily to allow for the isolation of hosts or multi-server environments.
我们的CORE实现主要使用操作系统虚拟化工具(Zen,UML,KDM和Open VZ,VMware和Virtual PC)来实现主机或多服务器环境的隔离。
We used the Quagga6 open source package as well as virtualized CISCO images to instantiate emulated routers in conjunction with physical routers across our network.
我们使用Quagga6开源软件包以及虚拟化的CISCO镜像,通过我们网络中的物理路由器实例化仿真路由器。
The Quagga routing package was configured using Open Shortest Path First protocols OSPFv2 and OSPFv3.
Quagga路由包使用开放式最短路径优先协议OSPFv2和OSPFv3进行配置。
The CISCO IOS virtualized platform simulated Border Gateway Protocol (BGP) and Virtual Router Redundancy Protocol (VRRP) routing.
CISCO IOS虚拟化平台模拟边界网关协议(BGP)和虚拟路由器冗余协议(VRRP)路由。
Bandwidth performance and throughput measurements were recorded using the Iperf7 network testing tool.
带宽性能和吞吐量测量使用Iperf7网络测试工具进行记录。
This system can scale up to 1.2 million simultaneous virtualized implementations of Bitcoin nodes.
这个系统最多可以扩展到120万个比特币节点的虚拟化实现。
At the same time, the system integrates the supporting infrastructure and simulates this over time.
同时,系统集成了支持基础设施,并随着时间的推移进行模拟。
Thus, the system can simulate the existing network and capture live information in real time and can also be extrapolated to model alternative future configurations.
因此,该系统可以模拟现有的网络并实时捕捉实时信息,也可以外推以替代未来的配置。
3.2. Node simulation
节点模拟
Our network simulates the mining and propagation processes natively (the mining process has been simplified to reduce complexity) enabling a limited number of machines to simulate the existing mining infrastructure (the node infrastructure has not been simplified).
我们的网络本地模拟挖掘和传播过程(挖掘过程已经过简化以降低复杂性),使得有限数量的机器能够模拟现有的挖掘基础设施(节点基础设施未被简化)。
The types of nodes simulated are:
模拟的节点类型是:
. (i) Nodes that create/broadcast transactions;
创建/广播交易的节点;
. (ii) Nodes that validate/propagate transactions; and
验证/宣传交易的节点
. (iii) Miners.
. 矿工
In addition, there are a total of 10 nodes in each of five continents that act as collection and monitoring nodes to capture information around the Bitcoin network.
此外,五大洲每个地区总共有10个节点作为收集和监控节点,以捕获比特币网络上的信息。
In two centralized locations in the UK and the Americas an additional collection node infrastructure has been configured each with 50 nodes that capture data in those locations.
在英国和美洲的两个中心位置,一个额外的收集节点基础设施已配置为每个节点都有50个节点来捕获这些位置的数据。
Each of these nodes is tuned to have a mean collection of 50 nodes.
每个节点被调整为具有50个节点的平均集合。
It is configured to attempt to remember more systems if the number of connected nodes drops below 40 and to stop advertising for additional nodes when the number of connections exceeds 75.
如果连接节点数量低于40,则配置为尝试记住更多系统,并且当连接数量超过75时停止为附加节点发布广告。
The systems update to share the IP address and node information such that there is limited overlap between the nodes collected.
系统更新以共享IP地址和节点信息,使得收集的节点之间的重叠有限。
The Bitcoin clients on each of these nodes are configured with maximum connections set to 200 and simultaneously capture approximately 100 node links on average.
每个节点上的比特币客户端配置的最大连接数设置为200,同时平均捕获约100个节点链接。
We averaged this number of links with a distribution that varies between 75 and 200 links.
我们对这个数量的链接进行了平均,分布在75到200个链接之间。
The system would attempt to learn more links if the number dropped toward 75 and would stop adding links if the number of connections exceeded 200 links.
如果数量减少到75,系统将试图学习更多的链接,如果连接数量超过200链接,系统将停止添加链接。
These are seeded using the -addNode command line config option for a few key collectors and then once each of them has collected several nodes, the nodes collected are blocked from the other collectors to allow a maximum distribution of known nodes in the collectors.
这些种子使用-addNode命令行配置选项为几个关键收集器播种,然后一旦每个节点收集了多个节点,收集的节点就会被其他收集器阻塞,从而允许收集器中已知节点的最大分布。
At present the node infrastructure has recorded up to 15,000 nodes running simultaneously.
目前,节点基础设施已经记录了多达15,000个同时运行的节点。
In the few instances where more than 15,000 nodes existed, a process was used to cycle through nodes dropping and rejecting connectivity using IP tables to block any connectivity between nodes for a period and then adding additional nodes.
在存在超过15,000个节点的少数情况下,使用一个进程来循环使用IP表的节点丢弃和连接,以在一段时间内阻止节点之间的任何连接,然后添加额外的节点。
Given this capacity, the existing real Bitcoin network number count of between 5,000 and 7,000 nodes at any point in time is easily monitored.
鉴于这种能力,现有的真实比特币网络数量在任何时间点都在5000到7,000个节点之间,很容易被监控。
Each monitored node has its IP address, the version of Bitcoin protocol being run and packet information captured using tcpdump.
每个受监视的节点都有自己的IP地址,正在运行的比特币协议版本以及使用tcpdump捕获的包信息。
This is recorded in a database and the header information is analyzed using the traffic fingerprinting tool P0F8 to analyze the version of the operating system and supplementary data of the machine.
这被记录在数据库中,并且使用业务指纹识别工具P0F8分析报头信息以分析操作系统的版本和机器的补充数据。
The traceroute command is run daily between the collector nodes and each of the collected nodes;
traceroute命令每天在收集器节点和每个收集的节点之间运行;
this enables the formation of a detailed router map providing connectivity details, redundancy details and resilience details for each of the nodes, and it also provides estimation of the bandwidth and the type of connectivity.
这使得能够形成详细的路由器地图,为每个节点提供连通性细节,冗余细节和弹性细节,并且还提供对带宽和连接类型的估计。
For each of the hops recorded using traceroute, we analyzed the router type and modeled these in CORE.
对于使用traceroute记录的每一跳,我们分析了路由器的类型并在CORE中对它们进行了建模。
The links were emulated with known router link statistics and where available, real-time physical networks were integrated with the CORE solution.
这些链路是用已知的路由器链路统计数据模拟的,并且在可用的情况下,实时物理网络与CORE解决方案集成在一起。
The integration of the system allows for the application of link effects and bandwidth shaping delay, loss and duplicates.
系统的集成允许应用链路效应和带宽整形延迟,丢失和重复。
The recorded information allows us to create a link between routers, for example with a bandwidth up to 50 GB per second and 7 ns propagation delay with a bit error ratio of 1 in 100 billion or lower.
记录的信息使我们能够在路由器之间创建链路,例如带宽高达每秒50 GB,传播延迟7 ns,误码率为1千亿或更低。
The configuration can be changed to enable parameters to be adjusted instantly and each of the emulations can be changed to model the differences over time.
可以更改配置以使参数能够即时调整,并且可以改变每个仿真以对随时间的差异建模。
The addition of a random jitter delay option has been incorporated to model future transactions and the growth of network bandwidth over diverse types of networks.
已经加入了随机抖动延迟选项来模拟未来的交易和不同类型的网络上网络带宽的增长。
We have modeled this over centralized, decentralized, and distributed international networks and have extrapolated network growth over the period 2015 to 2025 assuming no block size limit.
我们已经通过集中式,分散式和分布式的国际网络对这个模型进行了建模,假设没有数据块大小的限制,在2015年到2025年期间推断出网络增长。
Each simulation was measured against a combination of Bitcoin data captured from nodes running between 2009 and June 30, 2015.
每个模拟都是根据从2009年到2015年6月30日期间运行的节点获取的比特币数据的组合进行测量的。
The growth models for this were analyzed against bootstrapped data as well as against financial system data from a variety of public sources.
对这种增长模式进行了分析,对引导数据以及来自各种公共来源的财务系统数据进行分析
In testing the growth pattern, we first used the classical estimates for orders of growth over a complete function, which provides the measure of growth as:
在测试增长模式时,我们首先将经典的增长顺序用于一个完整函数的增长顺序,它提供了增长的度量:
Mf (R)=ln ||f|| R
Equation (1) follows a log growth pattern from a “Bayesian Averaging of Classical Estimates” based system (Doppelhofer et al., 2000).
方程(1)遵循来自“基于经典估计的贝叶斯平均”系统的对数增长模式(Doppelhofer等,2000)
The data and growth patterns are expected to follow a continual nonlinear pattern and various analyses of the data demonstrated that the anticipated growth for Blockchain-based financial systems would be expected to comprise a meromorphic function rather than a classical growth model.
数据和增长模式预计将遵循持续的非线性模式,并且数据的各种分析表明,基于区块链的金融系统的预期增长预期将包括亚纯函数而不是经典增长模型。
3.3. Data capture
数据抓取
The initial set-up was aimed at modeling the real Bitcoin network by capturing network behavior over time, including both mining systems and broadcast nodes over each version of the Bitcoin software and its interactions.
最初的设置旨在通过捕捉网络行为随着时间的推移对真正的比特币网络进行建模,包括挖掘系统和每个版本的比特币软件及其交互的广播节点。
This enabled us to model interactions against the number of nodes, the estimated bandwidth and packet capability of the monitored nodes, and the distribution of nodes.
这使我们能够根据节点数量,被监测节点的估计带宽和数据包容量以及节点分布建模交互。
Our system has been scaled to allow a total receiving traffic more than 600,000 packets per second.
我们的系统已经扩展到允许每秒接收总流量超过60万个数据包。
This capability is provided using a combined infrastructure of 2,000 nodes each running Xeon Phi or NVidia GPU cards.
这个功能是通过使用至少2,000个节点的联合基础设施提供的,每个节点运行Xeon Phi或NVidia GPU卡。
The information is recorded and stored in 10-second intervals such that a complete model of the Bitcoin network over time was captured.
信息以10秒的间隔记录和存储,以便捕获比特币网络的一个完整模型。
This information enables a complete network replay of the processes occurring over the Bitcoin network including a high-level capture of Bitcoin client IP addresses that talk to the network.
这些信息可以在比特币网络上进行完整的网络重播,包括与网络交谈的比特币客户端IP地址的高级捕获。
This enables us to map a sizable percentage of client wallets and their IP addresses as they communicate between nodes.
这使我们能够在节点之间进行通信时,映射相当大比例的客户端钱包及其IP地址。
The capture provided a database of over 30 million source IP addresses belonging to nodes and client wallets.
捕获提供了超过3000万个属于节点和客户端钱包的源IP地址的数据库。
The database also includes the routers and switches connecting these devices.
数据库还包括连接这些设备的路由器和交换机。
The infrastructure also modeled many of the miner networks over time.
基础设施也随着时间的推移模拟了许多矿工网络。
The system was analyzed in a manner that allowed us to establish the amount of network traffic we expected the Bitcoin network to be able to process.
该系统的分析方式使我们能够确定比特币网络能够处理的网络流量。
Various CORE scenarios including increasing the number of routers linked together, the number of hops, and the alteration of throughput were investigated.
研究了各种CORE场景,包括增加连接在一起的路由器的数量,跳数和吞吐量的变化。
Using the recoded information, many scenarios were produced by considering simulated mining environments.
使用重新编码的信息,通过考虑模拟采矿环境产生了许多场景。
In addition, simulations were recorded by using a simulated simplified algorithm.
另外,使用模拟简化算法记录模拟。
This was achieved by altering the mining difficulty in each of the simulated networks such that the true difficulty in mining was reduced for the simulated network.
这是通过改变每个模拟网络中的挖掘难度来实现的,从而减少了模拟网络的真实采矿难度。
In this way a network was created that could simulate the existing infrastructure and create solutions that would make it possible to sign packets and blocks without the current mining overhead which would not be viable to simulate.
通过这种方式创建了一个网络,可以模拟现有的基础设施,并创建解决方案,使签署数据包和数据块成为可能,从而避免当前无法模拟的挖掘开销。
四. Simulation runs
模拟运行
The models enabled many experiments using distinct categories of simulations.
这些模型使用不同种类的模拟进行了许多实验。
These include measurements of network capacity and behavior by varying factors such as the block size, number of nodes, node capacity, use of different compression algorithms, alternative data structures, exotic trade types (such as tokenized transactions), alternative crypto libraries, and specialized hardware.
这些包括通过改变诸如块大小,节点数量,节点容量,使用不同压缩算法,替代数据结构,异国交易类型(例如标记化交易),替代密码库以及专门化的因素来测量网络容量和行为硬件。
In this paper, we report on only three categories of experiments (with further results to be published in due course):
在本文中,我们仅报告三类实验(将在适当的时候公布进一步的结果):
Cryptographic Functions Benchmarking, Block Size Variations, and Fast Payment Networks.
加密功能基准测试,块大小变化和快速支付网络。
This section describes the simulations and the parameters that were used; the results are presented in section 5.
本节介绍所使用的模拟和参数;结果在第5节中介绍。
4.1. Cryptographic functions benchmarking
密码功能基准测试
We executed benchmarking measurements on the processing and propagation speeds of transactions using alternative configurations of hardware clusters using E5 Intel cores, NVidia GPU-based CUDA systems, and Xeon Phi coprocessors.
我们使用E5英特尔内核,基于NVidia GPU的CUDA系统和Xeon Phi协处理器,使用硬件集群的替代配置对交易的处理和传播速度执行基准测量。
We chose these products to benchmark as they are the main types of architecture that exist across most systems today.
我们选择这些产品进行基准测试,因为它们是目前大多数系统中存在的主要类型的体系结构。
Slight variances in different CPU and other hardware types were beyond the scope of our tests.
不同CPU和其他硬件类型的差异超出了我们测试的范围。
The processors were tested for their performance on cryptographic functions such as ECDSA signature verification and hashing operations.
处理器在密码功能上进行了测试,例如ECDSA签名验证和散列操作。
We aim to present these data in a supplementary paper.
我们的目标是在补充文件中提供这些数据。
It is important to note that the processing time used to validate the ECDSA signatures forms the primary limit on processing rather than the network propagation times or other processing aspects formed in validating a transaction for propagation.
重要的是要注意,用于验证ECDSA签名的处理时间形成对处理的主要限制,而不是网络传播时间或在验证传播的事务中形成的其他处理方面。
4.2 Block size variations
4.2块大小的变化
We enabled the creation of large datasets that can be run against potential future scenarios with the Blockchain.
我们启用了创建大型数据集,这些大型数据集可以通过区块链与潜在的未来场景一起运行。
We tested block sizes of up to 340 GB using both packet sizes and transaction sizes of 1 KB up to 20 MB.
我们使用数据包大小和1 KB到20 MB的事务大小测试了最大340 GB的块大小。
Optimization techniques were applied to explore the optimal settings for block sizes and transaction sizes based on their effects on transmission latency and queue sizes.
应用优化技术,根据对传输延迟和队列大小的影响,探索块大小和事务大小的最佳设置。
The simulation network configuration enabled us to run forecasting on 1,000 simultaneous simulations of the current Bitcoin network globally.
模拟网络配置使我们能够对全球当前比特币网络进行1000次同时模拟的预测。
These simulation runs tracked the distribution of nodes and the transport of gossip- network-based communications excluding the Bitcoin mining protocol.
这些模拟运行跟踪了节点的分布以及不包括比特币挖掘协议的基于八卦网络的通信的传输。
4.3. Fast payment network
快速支付网络
FPNs are subnetworks designed to preferentially propagate some transactions over others. For example, some merchants may be prepared to pay a premium on their transactions for such a service.
FPN是设计用来优先传播一些事务的子网。例如,一些商家可能准备为这种服务交易付款。
Previous studies on FPNs (Karame et al., 2012; Bamert et al., 2013) showed that it is possible to secure transactions for small-scale rapid payment systems (such as a vending machine).
以前对FPNs的研究(Karame等,2012; Bamert等,2013)表明,有可能确保小规模快速支付系统(如自动售货机)的交易。
This can be extended to high-value payments and even high-frequency trading systems.
这可以扩展到高价值的支付,甚至高频交易系统。
We hypothesized that the securing of an FPN could be conducted on a risk basis:
我们假设可以在风险的基础上进行FPN的保障:
smaller payments should be more likely to be sent quickly without the risk of double spend owing to the limited loss associated with each of these transactions.
由于与每笔交易相关的损失有限,更小的付款应该更有可能被快速发送,而没有双倍花费的风险。
We used simulations of the network incorporating a variety of different nodes:
我们使用了包含各种不同节点的网络模拟:
a verification node, a transmission node, a node that stores the full Blockchain and a propagation node.
验证节点,传输节点,存储完整区块链和传播节点的节点。
The aim was to test simulations of a network that allows merchants to assure that their fast payments can be quickly integrated into a network that does not permit the double spending of their payment due to the faster propagation of a fraudulent transaction.
其目的是测试一个网络的模拟,允许商家确保他们的快速支付可以迅速整合到一个网络,由于欺诈性交易的传播速度较快,不允许支付双倍支出。
This can be probabilistically calculated to assess whether it is successful based on the propagation to miners, which can be implemented selectively via nodes given a suitable distribution.
这可以概率性地计算,以评估是否成功的基础上传播给矿工,这可以有选择地通过节点给予适当的分布。
Our model used the Floyd-Warshall algorithm for shortest-path calculations.
我们的模型使用Floyd-Warshall算法进行最短路径计算。
In our simulations, we utilized data generated by a Visa-type network and modeled merchants’ reaction to fees of between 0.1% to 3% of transaction costs versus no fees, and then considered the load a free network would be expected to carry versus the cost of that node.
在我们的模拟中,我们利用签证类网络生成的数据,并模拟了商家对交易费用的0.1%到3%,而不是任何费用的费用的反应,然后考虑到免费网络预计携带的负载该节点的成本。
We compared the latency and propagation delays between the existing network and our proposed FPN of specialized nodes, as shown in section 5.3.
我们比较了现有网络和我们提出的专用节点的FPN之间的延迟和传播延迟,如5.3节所示。
The expectation is that a market-based rate would eventuate for transactions and the proposed system would allow for a fee market to develop.
预期市场基准利率会导致交易,建议的系统将允许费用市场的发展。