Description de l'étiquette ping
EDIT: Cette question n'est pas spécifique à Bitcoin. Il est applicable à toute autre crypto-monnaie qui est intéressé par l'utilisation d'une signature différente régime de Bitcoin ou de l'intervalle QT client de référence. L'une des raisons pour cela est de réduire la complexité (et les bugs) dans le protocole.
Ma compréhension de malléable transactions en Bitcoin, c'est que deux valeurs différentes sont pris en charge pour les "S" lorsqu'une signature est validée.
La solution pour cela est de s'assurer que S est inférieure à la suivante
X9ECParameters ecParams = Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetByName("secp256k1");
HALF_CURVE_ORDER = ecParams.N.ShiftRight(1);
Compte tenu de la pléthore de signature des mécanismes à la disposition de la crypto-monnaie, ce algorithmes ou de la signature approches ne sont pas vulnérables à Malléable Transactions?
par exemple, si...
- Un autre type de courbe a été sélectionné à la place de secp256k1?
- Un autre mécanisme de signature a été choisi?
- Une approche différente entièrement, comme un aveugle HMAC a été utilisé pour signer des transactions?
Je suis intéressé par les réponses qui décrivent à la fois des solutions qui sont brisés, et ceux qui empêcherait malléable transactions de se produire.
Mon objectif est d'éliminer un algorithme qui produit des résultats cohérents avec un minimum de complexité pour des réalisateurs. (en d'autres termes, même Mt Gox l'obtenir droite)