Abstract
The blogpost explores relativistic effects on proof-of-work based cryptocurrency protocols. Cryptocurrencies are here to stay and it is quite plausible that future human colonists spread across the solar system and beyond will use a decentralized cryptocurrency as opposed to a fiat currency issued by a central authority. The low transaction fees, the ubiquitous access, not being bound by exchange rates or interest rates, not being controlled by financial institutions who are serving foreign interests — these are some of the advantages cryptocurrencies will enjoy in the thriving exo-economy.
Motivation
At present, on a cryptocurrency network, the information exchanged by the nodes in the network reaches each node almost instantaneously. The speed at which the TCP/IP packets travel on the network and the fact that the Internet spans only the Earth and the LEO makes this possible. However, once the region the network is spread across will reach certain boundaries, the network size would have negative impact on the network: increasing communication failures due to network delays, more frequent and longer blockchain forks as part of the proof-of-work protocol, network segregation into local sub-networks (let us call them topological forks), just to name a few.
Nullius in verba… as they say. Let’s go deeper into details and figure out a feasible solution for a truly interplanetary cryptocurrency.
Cryptocurrency 101
You can think of a cryptocurrency as a digital money ecosystem. Plain and simple. A collection of technologies are part of this ecosystem, all of them the result of years of research in the cryptography and distributed systems fields: a decentralized network of computers, a public transaction ledger — also known as a blockchain, a protocol that consists of a set of rules for transaction validation, a decentralized consensus mechanism. [ANTO]
A decentralized network of computers ensures the resilience of the network. We can think of both computing power and data storage capabilities. As the computing power is distributed across the network, any disruption can be successfully handled by the network. Transaction data resides on all nodes of the network. This implies that even physical damage done to network nodes will not take out the network.
The blockchain is a public distributed ledger which stores all transactions handled by the network. As the name suggests, the blockchain is a list of data blocks. Each of these blocks contains a set of transactions, as many as can fit in the block, given the maximum size of the block (a characteristic of the network). Transactions contain sender and receiver info, and the amount/asset that is changing ownership, and they are broadcasted and added to blocks by network nodes. Blocks are linked to the previous block in the chain by a cryptographic hash (the hash of the previous block becomes part of the current block). This backward link leads all the way to the first block in the chain, the Genesis block. Each cryptocurrency blockchain has one. The cryptographic hashes have an important role in protecting the blockchain from tampering attempts.
The transaction validation rules enforced by the nodes in the network ensure that the content of each block in the blockchain is valid. By far, the most frequent form of fraud is double spending. The validation process makes sure that the inputs on the transactions exist and that they have not been already spent. The transactions marked as invalid are rejected by the network and do not make it on the blockchain.
The consensus mechanism is designed so that all the nodes in the network can agree on the set of transactions to be included in the current block. It shifts the authority and the credibility required by a central clearing house to a network of nodes. Important to mention here that, inherently, the nodes do not trust each other, and they do not have to because the trust is enforced by the consensus mechanism itself.
The Proof-of-Work
We mentioned above that one of the key innovations that make cryptocurrencies possible is the decentralized consensus mechanism. Currently, the de facto consensus mechanism is the proof-of-work.
The proof-of-work consensus mechanism was proposed by Satoshi Nakamoto in 2008 [NAKA]. In general, a proof-of-work is a piece of data that requires costly and time consuming computational effort, but it is very easy to verify. A very good analogy is one of your semester projects in college… it takes you a whole semester to finalize it, but it takes very little time and effort for your supervisor to evaluate and grade it. Similarly, proof-of-work is used by cryptocurrencies for block generation. For the network to accept the block, nodes must complete a proof-of-work which also guarantees the integrity of the transactions included in the block. The difficulty of the proof-of-work is adjusted by the network so that a new block can be generated every fixed time interval. This fixed time interval is characteristic to every cryptocurrency. Most notably, for Bitcoin this time interval is set to 10 minutes.
Satoshi Nakamoto’s solution, emobodied by the proof-of-work algorithm above, achieves consensus on the network without a central trusted authority (hence the name decentralized consensus mechanism).
Enter the Ansible
For the astute reader, it is quite obvious at this point that communication delays between the network nodes have a direct effect on the protocol described above. An important assumption made when the protocol was designed is that these delays are small, and this is why they can be handled by the network when the nodes choose to follow and validate the blocks on the longest blockchain fork. Also, this is the reason why all the nodes in the network can have a say in the network consensus. They all can find a solution for the current block, and they all can be rewarded when they find the solution. The communication delays witnessed by the peripheral nodes will cripple their ability to find solutions and these nodes will not be incentivized to remain in the network. Hence, the segregation of the network effect mentioned earlier.
Unfortunately, given the current technological level of our civilization, we do not have at our disposal a technology that allows us to communicate fast and reliable over the large expanse of space. It would take a hell of a wait time to proces a payment made by a mining corporation in the TRAPPIST-1 system, 12 parsecs within the constellation of Aquarius, to a planetary engineering corporation located in the Sol system… twice 39 years plus the block confirmation time.
Fortunately, the Sci-Fi literature already offers a solution for our problem. For those of you, Sci-Fi nerds like myself, that have already read Rocannon’s World [LEGU] and Ender’s Game [CARD], the Ansible device must sound very familiar. The ansible is a fictional device capable of faster-than-light communication. To word this differently, an operator of such device can send and receive messages to and from another device over any distance with no delay.
Hence, even if only in the realm of science fiction, we will be able to devise a solution for the problem that the future cryptocurrency enthusiasts, living in the outer space colonies, will eventually face.
The Special Relativity Theorem
Before elaborating more on a required upgrade of the network protocol, we have to discuss the special relativity theorem and its implications on how time and distance are perceived in reference systems.
Albert Einstein was awarded the Nobel Prize in Physics in 1921. He received it for his contributions to the understanding of the photoelectric effect, after publishing a paper on it in 1905. At that point his contributions to the understanding of gravity through his theory of relativity were well known, but the new perspective on gravity offered by Einstein’s theory was so controversial that the Nobel Prize Committee members chose to protect their reputation. They decided that it was appropriate to award Einstein the Nobel Prize for “his services to theoretical Physics, and especially for his discovery of the law of the photoelectric effect.”
During his research Einstein attempted to reconcile the principle of relativity with the principle of the constancy of the velocity of light. This attempt led Einstein to the discovery of the special relativity theorem. Einstein’s Gedankenexperiment (thought experiment) with a test subject travelling by train is very well known in the scientific community. If our human subject is walking towards the front of the train with velocity w with respect to the train, and the train is moving with velocity v with respect to the embankment, then an observer on the embankment will measure as W = v + w the velocity of our subject on the train. If instead of our traveller, we consider a beam of light propagating with velocity c, the velocity measured by the observer on the embarkment would be v + c. However, this violates the principle that the velocity of light is constant in any inertial reference system and equal with c. Einstein found a solution for this problem and thus resolved the incompatibility.
One direct consequence of the special relativity theorem is the Lorentz transformation.
Before the relativity theorem, time in physics had an absolute significance, independent of the state of motion of the reference system. However, every inertial reference system has its own particular time. We always have to be told which inertial reference system the statement of time refers to. If you look at your watch, the time you read is the time as measured in the Earth inertial reference system. By the way, the Earth circles the Sun on an almost circular orbit, which means that any body maintaining a constant position in the Earth reference system should experience some centripetal force. However, this centripetal component is negligible compared to the gravitational pull of the Earth. Hence, engineers use this aproximation when calculating satellite orbits.
Back to our original trail of thoughts… the axiom that lays the foundation for the Lorentz transformation states that every ray of light possesses the velocity of transmission c relative to any inertial reference system. That is the velocity of transmission in vacuo (in a vacuum).
If following Einstein’s thought experiments [EINS], the above-mentioned axiom leads to a set of four equations that explain the relation between dimensional and temporal coordinates in two inertial reference systems:
x’ = (x – vt)/sqr(1 – v2/c2)
y’ = y
z’ = z
t’ = (t – x*v/c2)/sqr(1 – v2/c2)
where:
x, y, z, t coordinates in inertial reference system K,
x’, y’, z’ , t’ coordinates in inertial reference system K’,
v the relative velocity between inertial reference systems;
also, the expression 1//sqr(1 – v2/c2) is known as the Lorentz factor.
The Lorentz transformation equations are a more general case of the Galilean transformation:
x’ = x – vt
y’ = y
z’ = z
t’ = t
which is the basis of the assumptions of the classical mechanics as to the absolute character of both dimensional and temporal coordinates. The above are the result of replacing velocity c with ∞ in the Lorentz transformation equations.
The Lorentz transformation has a few corollaries which have an impact on time dilation, length contraction, relativistic mass, relativistic momentum, and relativistic kinetic energy. The one that concerns us is the time dilation corollary:
Δt = γΔt’
where γ is defined by
α = 1/γ = sqr(1 – v2/c2)
Assuming a clock at rest in inertial reference system K, and moving with the velocity v in the inertial reference system K’, the time Δt’ between two ticks as measured in the frame K’ is longer than the time Δt between the same ticks as measured in the rest frame of the clock, K.
Relativistic Effects on Proof-of-Work
To better understand the relativistic effects on how relative time is perceived in two inertial reference systems (or Galilean reference systems [EINS]) we have to mention the twin paradox. The twin paradox is a thought experiment that involves two identical twins. One of the twins makes a journey into space onboard a relativistic spaceship, and upon his return to Earth discovers that his twin has aged much more than he did. Depending on how fast the spaceship moves through space and/or how long the journey was, our traveller could return to Earth and realize that several generations have passed meanwhile.
As a direct application of the twin paradox, we have Mazer Rackham, International Fleet Admiral and Ender Wiggin’s mentor, as portrayed by Orson Scott Card [CARD]. The fighter pilot who destroyed the Formic Fleet Flagship, killed the Hive Queen, and ended the Second Formic Invasion, Mazer Rackham is sent on a journey on a relativistic spaceship and returns to Earth 100 years later in order to assist the International Fleet. Upon his return he has barely aged a few years.
Similarly, if a subnetwork is moving relative to the rest of the network, the nodes in the subnetwork would experience time dilation as predicted by the special relativity theorem. Hence, they are at a disadvantage compared to the rest of the nodes because they have less time available to find a solution for the proof-of-work problem. In order to make thing square for all the nodes in the network, the difficulty of the problem should be adjusted in each subnetwork using the Lorentz factor: in order to compensate for time dilation, the relativistic nodes should have to solve a simpler problem. Also, their block confirmation time should decrease as well.
One element is missing still… how do ansibles synchronize? What value has the Lorentz factor for each one of them? One simple solution for this problem is having one of the ansibles (let us say the Earth-bound one) broadcasting a beacon every fixed number of seconds. The ansibles interfacing to subnetworks would pick up the broadcast, and by measuring the time interval between the beacons, infer the Lorentz factor. Once the Lorentz factor is determined, the nodes mining on the subnetworks will have their proof-of-work difficulty and the block confirmation time adjusted accordingly.
A more Down-to-Earth Solution for the Problem
We will fork the storyline (pun intended) at Enter the Ansible paragraph, and suggest a more down-to-earth solution for the problem. The peripheral nodes are not to participate in the consensus. Their function would be just to relay messages (a.k.a. payment information) across the network. In our multi-planetary scenario, the nodes working on the proof-of-work would reside on/around the Earth, and the network nodes on Mars or any other region in the Sol system would have to wait 2x (network packets travel time) + (block confirmation time) in order to confirm a payment. However, such a solution would have an Achilles heel very hard to defend… if starting its mining engine, any peripheral node could take over the local network and force a topological fork of the network. For a node, the incentive of staying honest on the current network must be stronger than any reward obtained by cheating.
Concluding remarks
While the blogpost contains some elements of fiction, it accurately describes the cryptocurrency ecosystem, the special relativity theorem, the Lorentz transformation and its corollaries. We would like to thank the readers that went through this exercise with us. Undeniably, cryptocurrencies are disrupting the global economy and they are here to stay. Undeniably, we — as a species — will explore and migrate farther than the LEO. History has taught us that decentralization is the key to survival and prosperity. Let us together make the future happen.
References
[ANTO] Antonopoulos, Andreas M., Mastering Bitcoin, Second Edition, O’Reilly Media, Inc., June 2017;
[CARD] Card, Orson Scott, Ender’s Game, A Tor Teen Book, 2014;
[EINS] Einstein, Albert, Relativity, The Special and the General Theory, Princeton University Press, 2015;
[LEGU] Le Guin, Ursula K., Rocannon’s World, Harper & Row, 1977;
[NAKA] Nakamoto, Satoshi, Bitcoin – A Peer-to-Peer Electronic Cash System, www.bitcoin.org, 2008;