Background
Full nodes allow to get an complete view on the state of the Tangle (after a snapshot) in order to verify transactions, and to append new transactions to the Tangle.
Therefore, full nodes have two major tasks:
- Receiving and propagating transactions to neighbours
- Filtering out incoming transactions that are invalid because they didn't provide enough Proof-of-Work (by checking the nonces of the transactions)
The first task is network-intensive, the second task is rather CPU-intensive.
Assumptions for estimating the network traffic
For calculating the network traffic accruing for a full node I assumed:
- 1650 bytes for a single transaction
- 1000 global Tangle transactions per second
- 5 active neighbors for the full node under investigation
- Each transaction will be either (a) received from, or (b) send to each neighbor
(which is the optimized version of pure flooding)
Estimation of the accruing network traffic
Based on these assumptions, the (aggregated ingoing and outgoing) network traffic of a full node can be estimated as follows:
- 663.85 GB per day (= 1650*1000*(60*60*24)*5 bytes)
- = 27.66 GB per hour
- = 472.07 MB per min
- = 7.87 MB per sec
- = 62.94 Mbit per sec
Questions
- Is this a valid estimate for n=1000 transactions per second, are the assumptions legit, or am I getting something wrong?
- Are there any sources available to read more on the scalability, any simulation results?