Even though the blockchain technology has introduced the world to a revolutionary concept of digital currencies that can entirely transform the global financial system, the scalability of bitcoin, and many other cryptocurrencies, is hindering mass adoption of the world’s first decentralized currencies. Bitcoin’s proof-of-work (PoW) scheme promotes immutability and consensus formulation; however, it represents a process that consumes enormous time and energy.
Coinspermia represents a fairly different cryptocurrency approach as transactions are simultaneously seeded through a network, formed by peer nodes, in a manner that bolsters reliably secure financial operations, high speed of transfer of coins from the sender to the recipient and prevention of double spending attacks. On the other hand, coinspermia retains some of bitcoin’s features including utilization of cryptographic addresses and transaction input/outputs, yet no proof-of-work (PoW) process is needed to validate transactions. Alternatively, confirmation of a transaction takes place when a sufficient portion of the nodes across the network validate the transaction, which occurs only when the transaction successfully propagates across the network.
An Overview of Coinspermia:
Coinspermia is comprised of a peer-to-peer (P2P) decentralized network of nodes. The connection among nodes is random which is a crucial factor in coinspermia’s protocol.
The following represents the input and output of a coinspermia transaction:
a- ID of the proceeding transaction output
b- Proceeding transaction output ID: signature of the payer
a- ID of transaction output
b- Transaction destination address
c- Amount of paid coins
Transactions are recorded onto a public ledger that is stored onto all nodes across the network. To minimize memory usage and increase speed, only outputs of transactions that include unspent coins utilize fast memory. Full transaction data is added to an archive to promote future audit and restoral.
For a transaction to be successfully executed, its inputs have to match the unspent outputs of the proceeding transaction which are found on the ledger via means of universally unique identifiers (UUIDs). Just like bitcoin, the proceeding output address must validate the input’s signature. Also, the quantities of the input and output coins have to be equal. In case the transaction is valid, the matching proceeding outputs are excluded from the unspent store and the new outputs are recorded. Whenever a matching proceeding output isn’t found, the transaction will be marked as “invalid”. This can occur if either a proceeding transaction never took place, or the coins have been already sent (double spending attempt).
A transaction is initially sent to a network node from the sender of the coins and then broadcast to the network, from the entry node, beginning with its near neighbors, with the expectation of finding out either proceeding transactions or the valid absence of them. For achieving a reliable performance, the probability of discovering such findings has to be high.
The below figure illustrates the immediately connected network nodes for a “blue” transaction that needs to match one of the transactions within the nodes immediately updated by a proceeding “green” transaction. For instance, a blue user may want to spend the coins which were received from a green user. In such situation, the red node represents an immediate neighbor which would be involved in both the green and blue transactions. Once discovered, the immediate blue neighbors can be quickly synchronized with the proceeding green transaction to confirm the blue transaction. Whenever a double spend is attempted, the red node will exclude the proceeding transaction due to the fact that it only supports the double spending transaction attempt.
Finally, the transaction propagates throughout the entire network. Nevertheless, to promote low latency, a user is notified of completion of a transaction when a sufficient percentage of the nodes across the network validate the transaction. According to Coinspermia’s protocol, the entry node, along with its immediate neighbors, comprise a sufficient percentage of the network’s nodes. For this to operate swiftly, the probability of discovering an intersecting node has to be relatively high. The following formula calculates the probability of finding one or more of K items in N nodes with S samples:
Where N is the number of nodes, K is the number of nodes that contain search items (proceeding green transaction), S is the number of random samples (present blue transactions) and P is the probability of discovering an item.