Introduction to XRB Nano (Previously RaiBlocks) Part 9

XRB, 50 percent attacks and penny spend attacks


Penny spend attack

A penny spend attack is similar to transaction flooding. During a penny spend attack, hackers try to send extremely small amounts of funds to a large number of accounts with an attempt of overloading the network with transactions that would require large computational resources. The reasons why a penny spend attack won’t be effective on the XRB Nano/Raiblocks network are the same as to why the transaction flooding and the Sybil attacks won’t be successful. These reasons are the necessity to have balances in accounts, small proof-of-work computations for all blockchains and proof-of-stake as the main decision-making algorithm on the network.


50% attack 

A 50% attack is an attack during which a hacker controls over 50% of resources that a network uses to make decisions. On the Bitcoin network, this means controlling over 50% of the mining power on the network. Because the XRB Nano/Raiblocks network uses proof-of-stake and not proof-of-work, the 50% attack on the XRB Nano/Raiblocks network would mean getting control over 50% of votes. If attackers could do that, they’d be able to break the rules of how the XRB Nano/Raiblocks network functions.

To prevent this attack, the XRB Nano/Raiblocks network connects the voting power on the network with financial investments in the system. When someone has funds in the XRB Nano/Raiblocks system, they are inherently interested in the system functioning according to the announced “rules of the game,” because changing the rules would mean a risk of losing the funds. Attempting to make changed to the ledger would be destructive to both the system and the individual accounts. Because the voting power and the financial interests are interrelated, essentially the probability of a 50% attack is tied to the market capitalization of XRB Nano/Raiblocks. With proof-of-work blockchains such as Bitcoin, it is theoretically possible to create technology that would give a huge computational advantage compared to the financial investment in the network or in the hardware to perform an attack. With XRB Nano/Raiblocks, the costs of attack will always be directly tied to the market capitalization of the network.

Finally, what makes a 50% attack unlikely is that the XRB Nano/Raiblocks can’t have accidental or good-faith forks. A fork on the XRB Nano/Raiblocks network is always an attack attempt. For this reason, the network can create sets of policies that protect it from the forks and issue guidelines for users. For example, because on the XRB Nano/Raiblocks network only the owner of an account can update the blockchain of the account, the only scenario in which accounts that don’t belong to hackers are vulnerable during an attack is when they receive a send transaction from an attacking account. This means that there’s a simple security solution. If an account holder wants to make sure that the incoming transaction is valid and secure, he or she can simply wait for a bit before initiating a receive transaction. Waiting would allow for nodes on the network to either sync or reject the forked blocks. When a user thinks that incoming funds may be coming as a result of an attack, the user can simply create a new account in order to protect existing valid accounts on the network.

The network does its best to create the blocks and distribute them to nodes very quickly. It is able to do so because it uses proof-of-stake algorithm. With Bitcoin, it is impossible to predict how long it would take for miners to mine a block on the Bitcoin network because the miners need to run computations and create a winning hash. This is one of the reasons why it may take the Bitcoin network five minutes to create one block of the network and twenty minutes to create the next block.

You can see how quickly the Bitcoin blockchain is creating blocks as you are reading this article by visiting and checking the “Age” column. If, for example, the “Age” column has, from top to bottom, the following numbers: 6 minutes, 36 minutes, 39 minutes, then it means that the network created the last block 6 minutes ago and it took it 30 minutes to create the block (36 minus 6), the block before that took three minutes to create (39 minus 36).

The XRB Nano/Raiblocks network makes decisions by checking accounts for funds and assigning voting power accordingly. The benefit of this approach is that it is possible to calculate how much it is going to take. There’s no guessing or randomness with proof-of-stake that exists with mining, difficulty, and hashes on the Bitcoin network.