阅读此篇论文受益匪浅,特此共享。
Investigation of the potential for using the bitcoin blockchain as the world’s primary infrastructure for Internet commerce
调查将比特币区块链作为全球互联网商务主要基础设施的潜力
Abstract. Bitcoin has the potential to replace all existing payment systems to become the world‘s primary infrastructure for commerce over the Internet。
摘要 比特币有可能取代所有现有的支付系统,成为互联网上全球主要的商业基础设施。
However,expanding in scale to meet the demands of such a system would require the constraints that are currently imposed to be lifted.
但是,扩大规模以适应这种制度的要求,将要求取消目前所施加的制约因素。
This prompted us to build a model based on live data to simulate the existing network(by using high-performance computing) and extrapolate it to alternative future networks to test the hypothesis that the infrastructure would be capable of accommodating increased block sizes in its blockchains.
这促使我们建立一个基于实时数据的模型来模拟现有网络(通过使用高性能计算),并将其外推到替代的未来网络,以测试基础设施将能够适应区块链中增加的块大小的假设。
#其实就是做一个模型测试一下区块的大小应该要多少比较好
In addition,we also simulated the effect of introducing a fast payment network that enables merchants to pay a premium for faster propagation of their transactions。
此外,我们还模拟了引入快速支付网络的效果,使商家能够支付额外费用,以便更快地传播交易。
#这里的另外一个模型是只闪电网络?还是就单只小额的支付在BCH里面的?
We show that the network can scale up indefinitely with no limit on block sizes and that a fast payment network mitigates double-spend attacks。
我们表明,网络可以无限制地扩大规模,没有限制块大小,快速的支付网络减轻双重支出攻击。
#什么是双花攻击?
KEYWORDS
关键词
1、Blockchain 2、 Payment systems 3、Fast payment network 4、Block size 5、Double-spend attack
区块链 支付系统 快捷支付网络 区块大小 双花攻击
#不能理解什么是双重攻击
1、Introduction
介绍
Our research involved conducting an extensive research program utilizing virtualized high-performance computing (HPC) to investigate the possibility of scaling up the Bitcoin Blockchain protocol to enable it to sustain the global economy;
我们的研究涉及利用虚拟化高性能计算(HPC)进行广泛的研究计划,以研究扩大比特币区块链协议的可能性,使其能够维持全球经济;
that is , we determined the feasibility of replacing the global financial infrastructure with one based on the Blockchain。
也就是说,我们决定用区块链替代全球金融基础设施的可行性。
This could be expected to contribute a host of benefits including (but not limited to)increased cyber-security ,permanency of records,and transparency (e.g. , for tax purposes).
这可以预期会带来许多好处,包括(但不限于)增加的网络安全性,记录的永久性和透明性(例如:为了税收目的)。
Based on our research , our calculations showed that such a vision is feasible provided the current restrictions on transaction size and block size are removed.
基于我们的研究,我们的计算表明,如果消除了当前对交易规模和区块大小的限制,这样的愿景是可行的。
In this paper,we explain the research and present the first set of results.
在本文中,我们解释研究并提出第一组结果。
Further results will be published separately to limit the size of papers。
进一步的结果将单独出版,以限制文件的大小。
The research program involves modeling the existing Bitcoin network and creating models for a potential alternative future Bitcoin infrastructure.
研究计划包括对现有的比特币网络进行建模,并为潜在的未来比特币基础架构创建模型。
The existing Bitcoin network was modeled by simulating every node in the real Blockchain network and configuring the operational parameters of the model using live data captured from the real network in near real time.
现有的比特币网络是通过模拟实际区块链网络中的每个节点来模拟的,并使用实时网络捕获的实时数据来近似实时配置模型的运行参数。
Parameter data included variables such as transaction sizes,block sizes,latency,and transaction queues。
参数数据包括事务大小,块大小,延迟和事务队列等变量。
This is believed to be the first model of the Bitcoin system that has been created to run large-scale tests
这被认为是比特币系统的第一个模型,已经被创建来运行大规模的测试
These data were used to study the operation of the current version of Blockchain in the real environment and to derive relationships between the different variables。
这些数据被用来研究当前版本区块链在真实环境中的运行情况,并导出不同变量之间的关系。
The model of the existing Blockchain network was compared to the actual Blockchain network to verify its operational accuracy and hence the validity of the parametric settings and their interrelationships。
现有的区块链网络的模型与实际的区块链网络进行比较,以验证其操作的准确性,从而验证参数设置及其相互关系的有效性。
This information was then extrapolated and used in the HPC models of alternative potential future Blockchain network configurations.
然后将这些信息外推,并用于替代潜在未来区块链网络配置的HPC模型。
These futuristic models were used to investigate how the Blockchain might operate under different conditions and with different configurations (for example, if the current restrictions on block size were relaxed in future, or if tiers of paid and unpaid services were introduced).
这些未来的模型被用来研究区块链如何在不同的条件下以不同的配置运行(例如,如果当前对区块大小的限制在未来得到放松,或者引入了有偿和无偿服务层)。
Our overall conclusion is that the Bitcoin Blockchain can be scaled up to replace all existing payment system networks to become the world’s single global economic infrastructure.
我们的总体结论是,比特币区块链可以扩大规模,取代所有现有的支付系统网络,成为世界上唯一的全球经济基础设施。
The primary concern here relates to the latency effects and transaction processing times that would be associated with increasing the block size that would result from a combination of more complex transactions and larger transaction pools.
这里主要涉及延迟效应和事务处理时间,这些时间会与增加由更复杂的事务和更大的事务池的组合导致的块大小相关联。
In this research, we modeled both the effect of increasing the number of transactions as well as the complexity involved in each individual transaction.
在这项研究中,我们模拟了增加交易数量的效果以及每笔交易涉及的复杂性。
We extrapolated diverse types of transactions that add complexity by simulating the validation of the cryptographic hashes and capturing the time used in various process types.
我们通过模拟密码散列的验证和捕获各种过程类型中使用的时间来推断各种类型的事务,从而增加了复杂性。
In addition to investigating the scalability of the Blockchain, it was important to examine several related issues, such as resistance to cyber-attacks (such as double spending), the ability to track possible criminal activities such as money laundering, and robustness against financial shocks such as currency fluctuations and credit crises.
除了调查区块链的可扩展性之外,还需要研究几个相关的问题,比如抵制网络攻击(比如双重支出),跟踪洗钱等犯罪活动的能力以及防范金融冲击的稳健性如货币波动和信贷危机。
These latter two issues lie outside the scope of this paper and the results will be published later.
后面两个问题不在本文的讨论范围之内,结果将在稍后公布。
The results of investigating the vulnerability to double-spending attacks are central to the management of the Blockchain itself and are reported in this paper.
调查双重支出攻击的脆弱性的结果是区块链本身管理的核心,并在本文中进行了报道。
The work presented in this paper is concerned with the ability to control and manage the introduction of transactions to the mining network.
本文介绍的工作涉及到控制和管理向采矿网络引入交易的能力。
In addition, the model probes the implications of propagating a transaction to most nodes faster than an attacker as well as the failure to do so.
另外,该模型还探讨了将事务传播给大多数节点的含义比攻击者更快以及未能这样做。
The primary reason for modeling such an interaction is economic.
建模这种交互的主要原因是经济的。
A merchant would need information as to the risk associated with a transaction.
商家需要有关交易风险的信息
The node network would then be able to add a cost function to this calculation to enable us to add a level of certainty even to insecure networks.
然后,节点网络能够在这个计算中增加一个成本函数,使我们能够为不安全的网络增加一定的确定性。
- Background
背景
2.1. Current Bitcoin network size and constraints
目前比特币网络的规模和限制
As of December 2015, the Bitcoin network was composed of approximately 5200 active nodes.
截至2015年12月,比特币网络由大约5200个活动节点组成。
The current maximum block size is 1 MB.
当前的最大块大小是1 MB。
To be valid, a transaction output is required to exceed 546 satoshi (known as ‘dust’)1.
为了有效,交易产量必须超过546(被称为“灰尘”)
These factors place a limit on the capacity of the network. Furthermore, most of the nodes operate without reward, contributing their CPU power for free.
这些因素限制了网络的容量。而且,大多数节点没有奖励,免费提供CPU的能力。
These factors confer a self-imposed limit upon the network.
这些因素赋予网络自我限制。
These limits were imposed on the early version of the network because of the small number of nodes and the fact that most nodes were run as a hobby by most people conducting trials on the system.
这些限制是由于节点数量较少以及大多数人在系统上进行测试而被作为业余爱好的事实而被强加给网络的早期版本。
This has changed significantly.
这个变化很大
The mining of Bitcoin and hence the security of the network has moved from a “home as a hobby” function into a significantly funded corporate system.
比特币的挖掘以及网络的安全性已经从“家庭作为一种爱好”的功能转变为一个资金充足的公司系统。
The results of this change have led to considerable economic inefficiency associated with the limitations on the initial design.
这种变化的结果导致了与最初设计的限制相关的相当大的经济效率低下。
The network did not account for the economic effects of storage or processing.
网络没有考虑到储存或加工的经济影响。
As the network matures and grows along with increasing public acceptance, the future profile of the Bitcoin network will be significantly different.
随着网络的成熟和增长,越来越多的公众接受,比特币网络的未来形象将会有很大的不同。
To meet the future demands on the network and to ensure its capability to sustain the multitude of innovative uses planned for it, the network needs to be enhanced.
为了满足未来对网络的需求,并确保其能够支持为其规划的众多创新用途,网络需要得到加强。
The primary limit on the unspent transaction outputs (UTXO) has its origins in memory constraints and significantly affects small nodes.
未使用交易输出(UTXO)的主要限制源于内存限制,并且显着影响小节点。
Sufficient memory is necessary to quickly look up each of the unspent transactions and process it in a timely manner.
需要足够的内存来快速查找每个未使用的事务并及时处理它们。
In this paper, we propose a scenario using large specialized nodes capable of transmitting and receiving gigabytes of data quickly and processing elliptic curve signature data in close to real time.
在本文中,我们提出了一个场景,它使用能够快速发送和接收千兆字节数据的大型专用节点,并且能够近乎实时地处理椭圆曲线签名数据。
We aim to show here that, in such a system, the size of the unspent transaction pool matters less than the amount being processed.
我们的目的是在这里表明,在这样的系统中,未使用的交易池的大小比正在处理的数量要少。
Fig. 1 shows the change in various Bitcoin metrics as a function of time.
图1显示了各种比特币指标随时间的变化。
The figure clearly shows that the size of the transaction pool has been growing in a linear fashion.
这个数字清楚地表明,交易池的规模一直在线性增长。
In our research we show that, even if this pool was to grow with the extent of transaction usage, our system of large specialized nodes would be able to accommodate the load.
在我们的研究中,我们表明,即使这个池随着事务的使用程度而增长,我们的大型专用节点系统也能够适应负载。
Cached access using fast SSDs and a memory cache is sufficient to scale to well over 200,000 transactions per second (TPS) using present consumer hardware.
使用快速SSD和内存高速缓存进行缓存访问足以使用目前的消费者硬件扩展到每秒超过200,000个事务(TPS) 20万
Such a system would require at least 32 Gb and potentially up to 64 Gb RAM which is well within the range of consumer equipment.
这样的系统至少需要32Gb,可能高达64Gb RAM,这完全在消费设备的范围内。
The UTXO is not stored in RAM;
UTXO(未使用交易输出)不存储在RAM中;
in the default software, this information is saved to disk using the LevelDB command.
在默认软件中,使用LevelDB命令将此信息保存到磁盘
The mempool (pool of pending transactions that have not been included in a block) is stored in RAM.
mempool(尚未包含在块中的待处理事务池)存储在RAM中。
Both values are configurable. In the scenario, we have been testing a distributed database utilizing PostgreSQL enables far higher throughput and performance.
这两个值都是可配置的。在这个场景中,我们一直在使用PostgreSQL测试一个分布式数据库,以实现更高的吞吐量和性能。

Fig. 1. Bitcoin growth metrics showing
图1.比特币增长指标显示
(a) total transactions with unspent outputs,
a)没有支出的产出总额,
(b) unspent transaction outputs,
b)未使用的交易产出,
(c) size of serialized UTXO set,
c)序列化的UTXO集的大小,
(d) total Bitcoins in existence
d)总比特币存在
As the network grows, it is necessary to introduce a market-based methodology that will allow for the growth of systems and services in a competitive framework that takes user needs into account.
随着网络的发展,有必要引入一种基于市场的方法,以便在考虑用户需求的竞争性框架中增加系统和服务。
This would enable individuals with an economic incentive to have their transaction guaranteed more rapidly and to ensure that those who would not be able to wait for an individual transaction to be written to the block are assured of the security of a transaction by introducing risk functions and payment guarantees.
这将使具有经济激励的个人能够更迅速地保证他们的交易得到保证,并且确保那些不能等待单个交易的人被写入该交易所,通过引入风险职能来保证交易的安全和付款保证。
2.2. The double-spending issue
双重支出问题
Bitcoin transactions are broadcast using an epidemic model that is commonly referred to as a gossip protocol within computer science (for example, see Leitao et al. 2007).
比特币交易使用通常被称为计算机科学中的八卦协议的流行病模型进行广播(例如参见Leitao et al.2007)。
Each node that receives a transaction verifies that:
每个接收事务的节点都会验证:
. (i) the total output value of the transaction does not exceed the total input value and hence that the amount spent does not create a negative amount on the ledger;
. 交易总产值不超过总投入金额,因此消费金额不会在分类帐上产生负数;
. (ii) the electronic signature used to sign the transaction matches the public key of the sending account; and
用于签署交易的电子签名与发送账户的公钥相匹配
. (iii) outputs can only be spent once.
. 产出只能用一次
If these three aspects of the transaction are shown to be valid the node forwards the transaction to connected neighbors.
如果事务的这三个方面被证明是有效的,则该节点将事务转发给连接的邻居。
The first two of these steps can be accomplished based solely on the data in the transaction itself but the third – the prevention of double spending – requires crosschecking against other transactions.
前两个步骤完全可以基于交易本身的数据完成,但第三个步骤 - 防止双重开支 - 需要对其他交易进行交叉检查。
If an attempt is made to spend the same Bitcoin in multiple transactions, only the first such spend transaction accepted into the Blockchain is considered valid.
如果尝试在多个交易中花费相同的比特币,则只有第一个这样的花费交易被接受进入区块链被认为是有效的。
One approach attackers can follow in an attempt to double spend is to manipulate broadcasts in such a way that the fraudulent transaction is accepted by the network ahead of the legitimate one.
攻击者可以采取的一种方法是尝试双重花费,即以欺骗性交易被合法网络接受的方式操纵广播。
Therefore, this possibility had to be monitored in our simulations of alternative Blockchain configurations (i.e., in those simulations involving fast payment subnetworks for premium services).
因此,在我们对替代区块链配置的模拟中(即那些涉及优质服务的快速支付子网的模拟),必须监视这种可能性。
In the classic double-spend attack an attacker provides two transactions, Transaction A and Transaction B.
在经典的双花攻击中,攻击者提供两个事务,事务A和事务B.
Each transaction spends the same output from the Bitcoin address given to the merchant and this means that these transactions cannot both be valid when processed.
每笔交易都会从给予商户的比特币地址开销相同的输出,这意味着这些交易在处理时不能同时有效。
Transaction B denotes the transaction that transfers the amount to the attacker whereas Transaction A is a transfer to the merchant.
交易B表示将金额转移给攻击者的交易,而交易A是转移给商家。
The attacker needs to convince the merchant (or rather the merchant’s service provider) that Transaction A is valid while simultaneously broadcasting Transaction B into the network in such a manner that it is more likely that B will be the successful transaction.
攻击者需要说服商家(更确切地说商户的服务提供商)交易A是有效的,同时将交易B广播到网络中,这样B更有可能是成功的交易。
That is, a merchant who has received Transaction A should only know about Transaction A and should not see Transaction B until the goods or services have been provided to the customer irreversibly.
也就是说,已经收到交易A的商家应该只知道交易A,并且在商品或服务不可逆转地提供给客户之前不应该看到交易B.
To prevent the attack from being completed, for example, a customer at a store or vending machine would need to be held there sufficiently long to ensure that Transaction B is less likely to occur than Transaction A.
为了防止攻击被完成,例如,商店或售货机上的顾客需要在那里保持足够长的时间,以确保交易B比交易A更不可能发生。
Further, for a double-spending attempt to be successful, Transaction B needs to be confirmed by the Bitcoin network;
此外,如果双重支出尝试成功,则交易B需要由比特币网络确认;
that is, the miners would need to select Transaction B over Transaction A.
也就是说,矿工需要选择交易B而不是交易A.
In any instance where over 50% of the miners supported Transaction B over Transaction A, regardless of whether this is through collusion or through random propagation to those miners, Transaction A will not become valid over time.
在任何超过50%的矿工支持交易B而不是交易A的情况下,不管这是通过串通还是通过随机传播给那些矿工,交易A不会随着时间的推移而变得有效。
The ability to economically manage the double-spending issue within the Blockchain is a prime concern.
经济上处理区块链内双重支出问题的能力是一个主要关切。
One of the primary reasons for introducing an FPN is to ensure the merchant can trust the payment based on a probabilistic risk function for attack.
引入FPN的主要原因之一是确保商家能够基于概率风险函数来信任支付。
This would enable a user to economically reduce the risk by using a game-based function.
这将使用户通过使用基于游戏的功能来经济地降低风险。
In the case in which a user has a known identity, and has been interacting with a merchant continuously over time, as opposed to engaging in a single interaction, the identity of the parties can be known between the two parties while remaining pseudonymous.
在用户具有已知身份并且已经与商家连续地交互的情况下,与参与单个交互相反,双方的身份可以在双方之间被知道,同时保持假名。
In this way, we can have a layered effect where the risk of loss is known and limited.
这样,我们就可以有一个分层的效果,其中损失的风险是已知的和有限的。
This would enable the FPN to ensure that payments are processed without the risk of double spending and where a double-spending attack does manage to occur that this can be economically accounted for.
这将使FPN能够确保在没有双重支出风险的情况下处理支付,并且确实会出现双重支出攻击,这可以在经济上得到解决。
This approach would also enable competing networks to optimize their losses.
这种方法也可以使竞争网络优化其损失。
Thus, a merchant would not necessarily seek to achieve zero losses if the cost of stopping or mitigating that loss exceeds the cost of the loss itself.
因此,如果停止或减轻损失的成本超过损失本身的成本,商人不一定会寻求实现零损失。
Different payment processing networks will compete with the aim of minimizing this loss function.
不同的支付处理网络将与最小化这种损失功能的目标竞争。
In a competitive environment, merchants who can reduce their costs through a combination of loss minimization against processing cost will become more competitive over time.
不同的支付处理网络将与最小化这种损失功能的目标竞争。