|
|
|
|
|
by elmar
3244 days ago
|
|
they are two diferent ways to solve the same scalability problem, Btc doubles the current number of transactions by increasing the block from 1mb to 2mb and adds a new service the segregated witnesses that allows off-the-chain private transactions, Bcc simply increases the block to 8mb for roughly 8x times more transactions. |
|
The default Bitcoin signature algorithm has quadratic performance due to repeated hashing and if the block size is increased above 1MB an attacker can use this in a fairly nasty DoS attack that, worst case, might be able to fork the blockchain. The BTC/SegWit side fixes this by creating a new transaction type that moves the signatures outside the main block into a separate "witness" and uses more efficient signature hashing. The new transactions appear to older nodes as though they simply didn't require signatures, so existing software keeps working. This also fixes an annoying issue called "transaction malleability" which allows attackers to change the transaction IDs of other people's transactions; all of the data hashed to compute the transaction ID is now signed. It's apparently this malleability fix that makes off-chain payments easier.
BCH essentially replaces the original signature hashing algorithm with the SegWit one but keeps the signatures in the block. Bitcoin also has a hard cap on the number of expensive CHECKSIG operations that can be carried out to prevent DoS attacks and both sides take different approaches to raising that, neither of which is straightforward.