Merci de tous ces détails. Je suis toujours étonné de voir que j'en apprends chaque jour sur Bitcoin. Je me focalise surtout sur l'aspect cryptographie (DSA, sécurité, key management, ...).
Je ne comprends pas pourquoi on ne doit pas refaire la transactions? Qu'il y a t-il de plus compliqué? Ne peut on pas simplement envoyer des fonds avec un client, même si une transaction n'a pas été validé? Cela dépend peut être des vérifications du solde lors de l'a tentative d’envoi. Que fait le client "officiel sur ce point? En gros les fonds sont-ils débités à l'envoi ou après? Je sais bien que réellement les fonds "bougent" à la validation, lors de l'inclusion dans la blockchain.
On peut peut être aussi utiliser un deuxième client qui ne "connait" pas la transaction non validé? Vas-t-il quand même la recevoir via le memory-pool et bloquer tout nouveau paiement?
La priorité n'a d'importance que pour les transactions sans fee. Lorsqu'il y a des frais, les mineurs mesurent le ratio fee/KB pour "classer" les transactions.
Oui et non. La priorité a de l'importance pour autoriser de ne pas mettre de frais. Mais ensuite les mineurs (s'ils respectent la référence) incluent d'abord les transactions les plus hautes en priorité (sans se soucier des fees). Puis viennent ensuite les transaction classés par fee/kb. Peut être que certains mineurs ne font pas cette première passe avec la priorité.
C'est marrant, je mine depuis plus d'un an et j'avais jamais vu comment était construit un bloc. Je m'attache surtout à maximiser les hash par seconde et à la consommation électrique. D'une part parceque 98% du chiffre d'affaire provient du coinbase et non des fees. D'autre part, parceque je passe par un pool et donc tout ceci est fait dans ce serveur et je ne peux pas modifier sa config.
Si je comprends le système de fees/priorité, une transaction avec un montant important n'aura pas besoin de fee (jusqu'à certaines limites car pour dépasser certains montants il faut plusieurs input et ca va dépasser 1kB), alors qu'une petite devra obligatoirement en avoir. Une très gros montant sera meme inclu dans un bloc facilement (ref. impl.). C'est assez contre intuitif. vous savez quelle est la raison de cela?