ThunderCore is a permissionless, Turing-complete smart contract platform utilizing PaLa, a new variant of Proof-of-Stake consensus. The dApp-focused project intends to harness Ethereum’s existing developer ecosystem and tooling while improving upon the platform’s scalability restraints; thus, ThunderCore is completely Ethereum Virtual Machine compatible, theoretically allowing any Ethereum-based dApp or smart contract to operate on Thundercore with only minimal adjustments to source code necessary. The Thunder Protocol powering ThunderCore evolved from Thunderella, an earlier Byzantine Fault Tolerant blockchain protocol proposed in a 2017 whitepaper by Cornell professors Rafael Pass and Elaine Shi, both co-founders of the Initiative for Cryptocurrency and Smart Contracts (IC3). Shi led ThunderCore’s development as Chief Scientist, working alongside CEO Chris Wang, founder of Playdom, a gaming ecosystem company later acquired by Disney for $500M. The ThunderCore team is based in Sunnyvale, California. The project was founded in 2018 and launched its mainnet at the start of 2019.
While at times emulating its generational peers, ThunderCore’s initial uniqueness originated from its simultaneous pursuit of EVM-compatibility, scalability via the PaLa consensus protocol, and security through the use of a ‘fast-path’ and ‘slow chain.’ ThunderCore is fully compatible with the Ethereum Virtual Machine, meaning any Solidity-based Ethereum dApps and smart contracts may be ported over to and become fully operational on ThunderCore with only minor code adjustments. As such, the platform is theoretically able harness not only the multitude of technological contributions already made to Ethereum, but potentially also the vast community of developers already experienced in Solidity.
ThunderCore was conceived as one of many smart contract platforms comprising an industry-wide effort to address the blockchain trilemma: the hypothesis that a DLT system must sacrifice either security, decentralization or scalability in pursuit of the other two attributes. ThunderCore seeks scalability through the PaLa consensus protocol, which streamlines consensus on its own ‘fast-path’ blockchain that is then secured by an unaffiliated ‘slow chain.’ The ‘fast-path’ is best defined as ThunderCore’s own, native blockchain, while the ‘slow chain’ may be any entirely separate, independently functioning blockchain, such as Ethereum or Edgeware. Notably, ThunderCore is not a Layer 2 solution, but rather a completely sovereign blockchain merely employing another blockchain for contingency purposes.
On ThunderCore’s fast-path blockchain, the partially synchronous, Byzantine Fault Tolerant PaLa mechanism achieves streamlined Proof-of-Stake consensus amongst nodes through a condensed notarization procedure. In a typical PoS protocol comprised of a predetermined block producer and a committee of validators, a proposed block requires two sets of notarizations to be finalized. First, validators must confirm the validity of block and the transactions it contains. Second, as it is possible for even validated blocks to be ‘orphaned,’ it must be demonstrated that a sufficient portion of validators (usually two-thirds) have acknowledged the block’s validity by adding it to their blockchains; at this point the block becomes immutable and a canonical chain is propagated throughout the network.
In contrast, PaLa effectively eliminates the latter step by merging it with the first step for the next block, enhancing throughput and scalability. In PaLa, one block is produced every ‘epoch,’ with the currently proposed block designated the ‘child block’ and the previous block designated the ‘parent block.’ If the block labels demonstrate a valid parent-child relationship, an affirmative vote on the validity of the ‘child block’ indicates network acknowledgement of ‘parent block,’ finalizing the latter block and shifting the child block to the parent block position. As the process repeats, the overlapping validation and confirmation processes therefore allow proper notarization to occur in one step.
Consensus voter committees are elected for three hours sessions at a time by the ‘Accelerator:’ an algorithmically-governed, autonomous central authority coordinating proper committee selection and transaction ordering. To be eligible for selection, one submits a ‘bid’ detailing factors such as available stake size and desired gas fees, which are evaluated algorithmically. The top 32 bidders form the new committee, and gas fees for the given session are set at two-thirds the ascending median of those stated in the accepted bids. Those wishing to serve as block proposers must also include a public URI and proposing key; each eligible and willing proposer from the elected committee is then granted block proposing opportunities proportionate to stake size, receiving a guaranteed minimum of one such opportunity. In addition to receiving equal gas fees, committee members receive block rewards from a pre-established, protocol-governed fund containing 40% of the total token supply. To disincentivize incomplete submission of votes, the block proposer’s share of the block rewards are determined by the number of committee votes they report; the remaining block rewards are distributed to voters on a pro rata basis. Evidence of malicious or negligent behavior results in the slashing and/or freezing for 1,000,000 blocks of one’s stake; notably, however, offline nodes are not punished.
While the above procedure takes place on ThunderCore’s so-called ‘fast-path,’ a ‘slow chain’ is also employed to further secure the network. A slow chain, on which transactions are ‘backed up’ at a delayed pace, serves a method of recovering the ledger of transactions in the event the Accelerator is corrupted or comes under attack, or if less than three-quarters committee participation results in a consensus error. Further, ThunderCore’s transactions and consensus may occur on a slow chain directly until the comprised fast-path blockchain regains proper functionality. With regard to its underlying slow chain, ThunderCore is blockchain agnostic: any Turing-complete PoS or PoW blockchain may be employed. Nonetheless, ThunderCore initially launched with Ethereum as its slow chain.
ThunderTokens (TT) are ThunderCore’s freely-tradable and fungible native asset. These tokens function similarly to Ethereum’s ether: among other functions, they serve to pay block rewards and gas fees for transactions and smart contract execution. Additionally, TT may be staked to perform node duties and be received as compensation. A total of 2,618,829,515 TT were sold during four token sales occurring in 2018 and 2019 for a total of $50,500,000. Of the 10,000,000,000 total supply of ThunderTokens, the remaining 34% and 40% were allocated to founder’s rewards and block rewards, respectively. While token allocations vest over time, there exists no permanent inflation mechanism within the ThunderCore protocol.