PascalCoin Infinite Scaling…and why others can’t scale
This article is part of a series on the highly innovative PascalCoin ($PASC), a cryptocurrency written entirely in the Pascal programming language.
Cryptocurrencies make extensive use of blockchain-based technologies. Through this blockchain, they are able to record transactions, verify work, and ensure resistance to tampering. However, it is not without its downsides, but PascalCoin has a unique solution.
A History of Bitcoin’s Scaling Problems
Each block takes up a certain amount of memory, dependent on the particular cryptocurrency’s implementation. Bitcoin, for example, utilizes a block size of 1 MB. In the beginning, Bitcoin had no limit on their block size thanks to the architecture of Satoshi Nakamoto. This was thought by Hal Finney to be a mistake — his concern being that a “big block” DoS attack could occur when malicious actors became involved (this has been proven untrue through modern research^). These actors would stuff the limitless blocks with nonsense that would cause the block size to balloon. Once this massive block was in the network, it would take an extraordinary amount of time to process. This would lead to severe delays throughout the network. In the end, Satoshi agreed with Finney and Bitcoin moved to limit the block size and rejected all blocks that were larger than 1 MB as invalid.
Unfortunately, limiting the block size creates an inherent bottleneck on the network. Only so much information can be put into a block that small. This ended up causing increased transaction fees and delayed processing. At this point in time, transaction can take hours to be confirmed. Because of this delay, some do “off-chain transactions” to expedite transfer. This work introduces additional risk that may potentially allow duplicate transactions to be injected.
Bitcoin’s Attempt at Scaling
In an attempt to end the disastrous bottlenecks, Bitcoin has attempted to introduce Bitcoin Improvement Proposals (BIPs). BIP 91 introduces Segregated Witness (“SegWit”). SegWit measures blocks in terms of “units” instead of bytes. Using this new measurement, they remove the “witness” signature data from the Merkle tree and append it to the end of the block. This “witness” takes up one-fourth of a unit. This implementation increases the average block size to 1.6 MB from the previous 1 MB limitation. Excluding the signature data from the transaction hashing digest renders the transaction impossible to change, but does impact the security model somewhat. Companies and mining pools agreed to attempting to move forth with this proposal under the New York Agreement. Locking in SegWit will result in a “soft fork” of Bitcoin where older software will continue to recognize the blocks under the new system.Additionally, another improvement titled SegWit2X is at play. First and foremost, SegWit2X builds upon SegWit. That is, it will implement SegWit. The block size will increase to 2 MB to help deal with the scaling issues further. Several members that agreed to the New York Agreement have now declined to participate in SegWit2X due to a difference in ideology. If SegWit2X is locked in, it will result in a “hard fork” of Bitcoin where older software will not recognize the blocks under this new system.
Infinite Scaling
As described by the PascalCoin whitepaper, infinite scaling is defined as ‘the ability of a blockchain-based network to achieve virtually infinite up-time on finite and constant storage.’ Scalability is measured in throughput-per-unit-of-storage.High throughput-per-unit-of-storage results in:
- a high number of users
- fast confirmation times
- low fees
Low throughput-per-unit-of-storage results in:
- an inherent cap on the number of users
- slow confirmation times
- high fees
How to Achieve Infinite Scaling
Checkpointing, which is used just like it sounds it would be used, allows for an increase in speed. It sets a checkpoint every 100th block, its height, as a compressed SafeBox archive. Since blocks are appended to the top and deleted from the bottom like a queue, there is only ever a constant number of blocks required. When a new node joins the network, it grabs only the latest checkpoint and a few dozen blocks. The Block Header, new in Version 2, allows the node to “independently compute and verify the the cumulative work required to construct the SafeBox structure,” according to PascalCoin’s whitepaper. The node is able to do this by a process outlined in the whitepaper: (1) checking that the blocks are transitively linked as a chain via the SafeBox, (2) recalculating Accumulated Work using the Proof-of-Work payloads, (3) verifying Accumulated Work is the largest known.This system allows an exponentially higher throughput-per-unit-of-storage than other cryptocurrencies. Nodes store only the network throughput itself rather than the aggregate of such.The SafeBox does grow over time. However, its growth is negligible. It grows by a constant amount that does not differ based on the amount of transactions conducted. For example, the PascalCoin whitepaper indicates that the size of the SafeBox will be approximately 6 GB in 2072 regardless of the amount of transactions. Even provided Bitcoin’s current node storage, PascalCoin could have a block size of 5.4 GB and achieve 72,000 transactions per second.
Why Not Others?
PascalCoin is based on a unique idea that others cannot easily replicate, since they rely on a system of using old block data to fund new transactions through UTXOs (Unspent Transaction Outputs) instead of a state-transitioned account balances. Also, the Proof-of-Stake paradigm cannot be used to secure the SafeBox since PoS stake-proofs do not convey any intrinsic cryptographic difficulty which can be aggregated in the matter the SafeBox requires. The Proof-of-Work paradigm, used by PascalCoin, provides a difficulty that is proportional to total work of blocks used to create the structure.Other approaches that could be used include pruning, warp-sync, finality checkpoints, and UTXO snapshotting. At their core, though, a significant difference remains. Nodes in these lacking systems prove that they are on most-work-chain by using the infinite history of these systems. PascalCoin provides the same proof without requiring an infinite history.
For more information and how to get PascalCoin, visit http://pascalcoin.org
Official LinksDiscord: https://discord.gg/8yqftqF
Telegram official channel: https://t.me/pascalcoinofficial
Twitter official account: https://twitter.com/PascalCoin
Reddit: www.reddit.com/r/pascalcoin/
Medium -PascalCoin: www.medium.com/@pascalcoinmktg
Very interesting read, I was a Pascal programmer when I entered my IT field back in 2001. I wonder if it is Object Pascal or something similar. I will be looking into this further so thanks for the heads up!