I saw a video talking about the flaws of Bitcoin and how another altcoin would fix it. It's basically a promotional video for an altcoin, however they did point out a few problems Bitcoin has, but I am not sure how would real Bitcoin technical experts would find it:
This is the video:
https://www.youtube.com/watch?v=Jetfhhkg_YU
1) Removing TX Data (@ 8:00)One point that interested me was that they claimed that bitcoin should remove all TX data from the block, and only leave the SHA256 of the transaction inside a block. So that the merkle root can be verified.
And then create another protocol, that contains the data, and verify the transaction inside the memory pool, when you create another transaction.
How I imagine this:Core Blockchain = Merkle Root of Transactions
Secondary Blockchains = Storing the Actual TX data, that only gets verified when another transaction is made in the memory pool, only once instead of twice, to remove burden from the node network.
The video claims that by doing this, the 1 MB block can contain 50,000 transactions.
This would only really help SPV wallets, and even so, not all that much as SPV wallets still don't want to download 1 MB of data per block from the network.
This idea is actually both horrible and adds another overhead on top of the existing. First of all, full nodes are still going to have to download the entirety of both blockchains so that they can check that the transactions whose hashes are included in the primary blockchain are actually valid transactions. Blocks in this primary blockchain would contain at most 31250 transactions, ~15 times more than current blocks. That is a lot of transactions and requires a lot of processing power to just verify all of those transactions.
Secondly, there is no limit on how large the secondary blocks are. Someone could make an absolutely massive (on the order of Mb) transaction that would take an extremely long time to verify. That transaction, without any limits on the secondary blockchain, can be as large as the malicious entity wants it to be. Full nodes would still have to download that transaction and verify it. If that transaction does not use segwit, it will essential DoS attack any node which receives that transaction.
Thirdly, those secondary blocks will, with the best case scenario, be ~7 Mb in size. The problem is that this is assuming all transactions are of the average transaction size of 225 bytes. Of course there will be larger transactions, so it will be quite larger than that.
Thus the overhead of such an idea is way too much. Furthermore, why do you have to commit the transaction hashes when that is already done with the merkle root AND the hashes can just be calculated programmatically? There is simply too much overhead with bandwidth and processing power requirements that this is not a good idea at all.
2) SHA256 (@ 12:00)
He claims at '12 minutes (and a bit before that after 10:07 how he explains how his mining algo is 4x more secure than SHA256) that SHA256 is going to be cracked by quantum computers.
While SHA256 is not a quantum safe algorithm, it will not be "cracked" by quantum computers. There are no ways for a quantum computer to be able to perform a preimage attack on SHA256, they will only be able to find ways to solve SHA256 faster. This just means that the difficulty will increase with the increased hash power brought on by quantum computers. Furthermore Bitcoin's mining algorithm uses SHA256 double (SHA256 of the SHA256 of the block header) and has very strict constraints on what that preimage is, it would still be difficult to quickly find a block even if a preimage attack were found on SHA256.
RIPEMD160 is (relatively) old, but it certainly not outdated nor broken. The only concern here is a collision where the RIPEMD160 of the SHA256 of two public keys is the same. Even so, RIPEMD160 is certainly not broken and 160 bits is still plenty. There are no known collision attacks with RIPEMD160.
3) Koblitz Curve (@ 13:10)
At 13:10 he claims that the Koblitz Curve had some signature leakages, so he uses an R curve (571 bit), which he claims that has the highest quantum security to this date.
I don't know enough about this topic to comment on it.
4) Bitcoin is single threaded (@ 18:20)
He claims that the bitcoin protocol should be multi-threaded, because a single threated protocol creates a large queue.
In what way is the Bitcoin protocol single threaded? It is not even a process that is run but rather a specification of what the messages are. How can it be "multi threaded"?
There is no way to make everyone on the Bitcoin network to use exactly the same current time. All computers will be slightly off of each other due to both latency and physical limitations. Furthermore, forcing everyone onto the same time via a time server introduces centralization.
Currently Bitcoin Core tries to unify time by using the median time of the last 11 blocks. This essentially ensures that all nodes are synced to the right time. AFAIK system time is no longer used for time calculations.
How does he propose to "fix" time syncing?
6) Miners don't include TX in their block (@ 21:20)
He claim that BTC miners dont include transactions in their block due to this overhead, instead just go for the block rewards.
There is no way around it. You cannot force all miners to make full blocks. There must be a way to make empty blocks otherwise the blockchain can stagnate if there is not enough traffic. Removing the block reward is also plain stupid. There would be no incentive for miners to continue mining as transaction fees are nowhere near high enough to support miners.
How does he propose to "fix" this?