Let us say a coin's blockchain is ridiculously huge or will be. Can the protocol have an implementation where some predetermined block will be the genesis block of a brand new blockchain?
Like say that for every 1,000,000 blocks, for example, the miners put all new trannies on hold for just a sec, then gather all the existing unspent outputs in the entire blockchain together and mine a humongous genesis block for a brand new blockchain. After that they keep mining blocks like normal on the new blockchain. You don't need the old blockchain anymore, you can just throw it away.
No. It doesn't work that easily. The whole point of blockchain is to have a ledger where its fully transparent. What if you throw away the blockchain at block height 1,000,000 but I made a purchase for a house at block 950,000? Who can prove that I paid? In addition, what would be in that 1,000,000 block? What if a miner with sufficient mining power attempts to attack the Blockchain and change block 1,000,000?
Better bite the bullet soon because i am hearing about some transactions that are taking days to complete but mine with Coinbase
only take a second because these coins are not in the block-chain and belong to a pool and logic says to me that they are all
counterfeit but this speed comes at a great cost in exchange rates and fees.
Is your coinbase transaction: verifiable? Transparent?
A miner can tally up all those balances, make them into genesis transactions to those same addresses, add a nonce to hit the appropriate target, mine it like normal (except for the size). Difficulty might have to be adjusted since they would be hashing a huge amount of data. Or they could maybe split it up and make many genesis blocks. Consensus would be a lot of work, but not that much. End result would be a brand new blockchain, same addresses, same balances. Don't even need the old blockchain, pruned or not.
It isn't that simple. The whole point of Blockchain is for everyone to see the transactions in the address. If you're removing it fully, then we're better off going back to the traditional banking system.
Difficulty doesn't have to be adjusted. Even if I were to be mining a 1MB block and another miner were to be mining a 1kb block, the difficulty of producing a block is the same. Miners are hashing the block header, not the transactions individually.