We’ve chosen the bitcoin ledger transaction history as it is an easily verifiable, familiar data set, containing 460 million addresses and over 400 million transactions. Moreover, bitcoin and radix share the same fundamental building block - UTXO.
We’ve prepared a blog post explaining in detail each and every decision along the way, starting from the concept up until the test itself. In case you are interested, please go to: https://www.radixdlt.com/post/test-method-part1/ (Non Technical) https://www.radixdlt.com/post/test-method-part2/ (Technical)
We are translating BTC transactions to our Atom model - 1 bitcoin transaction is equal to 1 atom being sent.
We will be repeating this test periodically. Though the test itself will probably be completed much earlier, you will be able to validate your address for an hour. Head to https://radixdlt.com/test to see live tests and to see prior test results as we progress.
We use 1,000GCP (Google Cloud) nodes evenly spread among at least 11 datacenters across the globe to create a fair test environment. The nodes we use are n1-standard-8. More info available at https://cloud.google.com/compute/pricing#predefined.
Yes, the Radix ledger and the test data is fully state sharded (2^64 shards, which we split up into 100+ shard groups)
The bitcoin ledger transaction history does not include those, so no, not for this test.
Yes, this test is intended to recreate real-world conditions
Yes, future tests will include those
Sure, here’s the GitHub link - https://github.com/radixdlt/mtps for running it yourself.
We're bypassing the WebSocket API normally used for submitting atoms, and instead, pre-load them into memory before the test and inject them directly into the submission queue. Redundancy is around 4.2 nodes per transaction, which is low to save cost.
Each node receives all atoms relevant to its shards directly from the atom pump. Nodes are still trying to synchronize as normal, but only a small fraction of atoms get sent between them over the network.
To emulate BTC being mined (coinbase inputs), we allow creating tokens out of thin air
Since the Radix ledger doesn't support the full capabilities of BTC scripts, any advanced transactions such as timelocks have been replaced with sending the funds to a randomly-generated intermediate address
The test is run within the Google Cloud Platform data-centers, which means that while distributed around the world, packet loss is lower than in the real world