Explications du Segregated Witness :
https://bitcoincore.org/en/2016/01/26/segwit-benefits/Le problème de malléabilité sur les transactions à 0 confirmation sera rêglé !
Segwit prevents third-party and scriptSig malleability by allowing Bitcoin users to move the malleable parts of the transaction into the transaction witness, and segregating that witness so that changes to the witness does not affect calculation of the txid.
Le réseau diffusera bien plus vite les blocks au noeuds !
where an individual block required 25 seconds to validate, and maliciously designed transactions could take over 3 minutes.
Segwit resolves this by changing the calculation of the transaction hash for signatures so that each byte of a transaction only needs to be hashed at most twice.
Le réseau sera plus stable en frais de réseau !
When a hardware wallet signs a transaction, it can easily verify the total amount being spent, but can only safely determine the fee by having a full copy of all the input transactions being spent, and must hash each of those to ensure it is not being fed false data. Since individual transactions can be up to 1MB in size, this is not necessarily a cheap operation, even if the transaction being signed is itself quite small.
Segwit resolves this by explicitly hashing the input value. This means that a hardware wallet can simply be given the transaction hash, index, and value (and told what public key was used), and can safely sign the spending transaction, no matter how large or complicated the transaction being spent was.
Le réseau sera encore plus sûr envers les paiements à multiples signatures !
they can find a collision between a valid address as part of a multisig script and a script that simply pays them all the funds with only 80-bits (280) worth of work, which is already within the realm of possibility for an extremely well-resourced attacker.
Segwit resolves this by using HASH160 only for payments direct to a single public key (where this sort of attack is useless), while using 256-bit SHA256 hashes for payments to a script hash.
Le réseau sera plus apte à manier les scripts (nécessaire pour les paiements en série) !
additional opcodes that would have required a hard-fork to be used in non-segwit transactions can instead be supported by simply increasing the script version.
Le client réseau se connectant au Bitcoin fonctionnera mieux avec moins de RAM !
Segwit improves the situation here by making signature data, which does not impact the UTXO set size, cost 75% less than data that does impact the UTXO set size. This is expected to encourage users to favour the use of transactions that minimise impact on the UTXO set in order to minimise fees, and to encourage developers to design smart contracts and new features
Cette évolution permettra de déployer des clients hybrident (fonctionnant avec la Blockchain ET le mode à sommaire d'arbres de Merkle) !
To maintain the decentralised, trustless nature of Bitcoin, it is important to allow those who cannot afford to validate the entire blockchain to at least be able to cheaply validate as much of it as they can afford.
Segwit improves the situation here by allowing a future soft-fork to extend the witness structure to include commitment data, which will allow lightweight (SPV) clients to enforce consensus rules
Le réseau pourra utiliser le mode "Prune" plus aléatoirement ! (pas de suppression linéaire des blocks)
At present, however, signature data is an integral part of the transaction and must be present in order to calculate the transaction hash.
Segregating the signature data allows nodes that aren’t interested in signature data to prune it from the disk, or to avoid downloading it in the first place, saving resources.
Les blocks seront remplis à la juste hauteur du mempool en attente chez les clients !
Finding the most profitable set of transactions to include in a block given a single limit is an instance of the knapsack problem, which can be easily solved almost perfectly with a simple greedy algorithm. However adding the second constraint makes finding a good solution very hard in some cases, and this theoretical problem has been exploited in practice to force blocks to be mined at a size well below capacity.
It is not possible to solve this problem without either a hardfork, or substantially decreasing the block size. Since segwit can’t fix the problem, it settles on not making it worse: in particular, rather than introducing an independent limit for the segregated witness data, instead a single limit is applied to the weighted sum of the UTXO data and the witness data, allowing both to be limited simultaneously as a combined entity.