Bitcoin Forum
September 24, 2018, 10:24:04 PM *
News: ♦♦ New info! Bitcoin Core users absolutely must upgrade to previously-announced 0.16.3 [Torrent]. All Bitcoin users should temporarily trust confirmations slightly less. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: nombre de transactions par bloc, frais de transaction et autres concepts...  (Read 84 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
oscar2000
Legendary
*
Offline Offline

Activity: 1400
Merit: 1015


עם ישראל


View Profile
July 15, 2018, 09:48:34 PM
Merited by Halab (4), LeGaulois (1), F2b (1)
 #1

je vais ici dans cette file écrire ce que je comprends actuellement de bitcoin. c'est une sorte de cahier de brouillon, que je complèterai quand j'aurai le temps, un endroit où je mettrai à la vue de tout le monde le fruit de mes recherches, les points que j'aurais aimé discuter et comprendre avec meuh... (tout un chacun peut intervenir dans cette file, ça peut aussi me donner d'autres idées ou me permettre de comprendre plus vite les choses. j'ai néanmoins modéré cette file, c'est une première pour moi, on verra bien si je ferai usage de cette modération).

mise à l'échelle (scalabilité) : il est dit sur https://fr.wikipedia.org/wiki/Bitcoin#Évolutivité_du_protocole que les blocs limités à 1 mo a été établie pour limiter le nombre de transactions à 7 par seconde...
ce qui me parait bizarre, c'est qu'on a connu des blocs complètement saturés à 1 mo (*) d'octobre 2017 à mars 2018 ( https://www.blockchain.com/fr/charts/avg-block-size ) mais on n'a jamais eu les 7 transactions par seconde, ce qui équivaut à 605 000 transactions par jour, voir un peu plus si l'on prend en compte l'augmentation du taux de hashs par seconde, on pourrait même voir théoriquement 700 000 transactions par jour les jours où il sort un bloc toutes les 8 minutes 30 au lieu de 10 minutes. or, on n'a jamais dépassé 490 000 transactions en un jour ( https://www.blockchain.com/fr/charts/n-transactions ), c'était le 14/12/17.

* on remarque que blockchain.com reporte des blocs qui peuvent être plus lourds que 1 mo, c'est à cause du segwit (signatures séparées), en effet, les données liées aux signatures des transactions utilisant le protocole segwit sont stockées quelque part "ailleurs" en dehors de la chaîne de blocs, mais le site les reporte quand même. ici, je ne comprends pas tout, c'est un peu confus...

la question que je me pose est pourquoi on n'a jamais eu plus de 500 000 transactions en un jour ?
je reprends les historiques et je construis le tableau ci dessous, je procède par sondage, début janvier et début juillet, c'est la première colonne.
la deuxième colonne vient de https://www.blockchain.com/fr/charts/avg-block-size?timespan=all
la troisième colonne vient de https://www.blockchain.com/fr/charts/n-transactions?timespan=all
la quatrième colonne est obtenue en faisant une simple division de la deuxième colonne par la troisième, en supposant que le temps de bloc est effectivement de 10 minutes, c'est à dire sans corriger par le temps réel (si je l'avais fait, les résultats seraient encore pires).
la dernière colonne représente le nombre maximum de transactions par seconde que l'on aurait réellement pu atteindre si le bloc avait été rempli à 100 %, c'est une fonction inverse de la quatrième colonne.


date       remplissage   transactions   octet par      transactions
              blocs en Mo      par jour     transaction   par seconde
                                                                        maximum
            
01/07/11    0,025           9 454              399           4,4
01/01/12    0,020           5 809              520           3,4
01/07/12    0,062         25 272              370           4,7
01/01/13    0,110         38 986              426           4,1
01/07/13    0,103         34 053              457           3,8
01/01/14    0,103         41 476              375           4,7
01/07/14    0,291         67 724              649           2,7
01/01/15    0,252         72 234              527           3,3
01/07/15    0,625       150 917              625           2,8
01/01/16    0,469       123 623              573           3,1
01/07/16    0,752       210 409              540           3,2
01/01/17    0,699       180 502              585           3,0
01/07/17    0,780       196 539              599           2,9
01/01/18    1,041       340 980              461           3,8
01/07/18    0,705       156 247              681           2,6

les 7 transactions théoriques par seconde n'ont jamais été atteints. et plus que cela, au fur et à mesure que le temps passe, moins ce 7 théorique semble accessible. en effet, la transaction moyenne semble s'alourdir lentement mais surement en fonction du temps qui passe.
ce qui m'amène à d'autres questions et d'autres réflexions, développées dans le prochain post.

הִנֵּה לֹא יָנוּם וְלֹא יִישָׁן שׁוֹמֵר יִשְׂרָאֵל
1537827844
Hero Member
*
Offline Offline

Posts: 1537827844

View Profile Personal Message (Offline)

Ignore
1537827844
Reply with quote  #2

1537827844
Report to moderator
1537827844
Hero Member
*
Offline Offline

Posts: 1537827844

View Profile Personal Message (Offline)

Ignore
1537827844
Reply with quote  #2

1537827844
Report to moderator
1537827844
Hero Member
*
Offline Offline

Posts: 1537827844

View Profile Personal Message (Offline)

Ignore
1537827844
Reply with quote  #2

1537827844
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
oscar2000
Legendary
*
Offline Offline

Activity: 1400
Merit: 1015


עם ישראל


View Profile
July 16, 2018, 12:07:18 AM
 #2

j'ai donc cherché à savoir combien pèse une transaction, depuis plus d'un an, en fait, pas loin de deux ans.
j'ai plusieurs fois essayé de tirer les vers du nez à meuh, mais il était peu loquace sur ce point.
j'ai fini par comprendre peu à peu que le poids d'une transaction dépend du nombre d'entrées et du nombre de sorties. les entrées et les sorties sont des adresses bitcoin sur lesquelles il y a un certain nombre de bitcoins...
combien d'entrées ? combien de sorties ? combien pèse une entrée ? combien pèse une sortie ?
on cherche ici à calculer le nombre d'octets d'une transaction.
le but final est de calculer le coût d'une transaction, la mienne, celle que je vais faire là, maintenant, et pas le prix prix moyen d'une transaction moyenne d'aujourd'hui. ainsi, par exemple, pour reprendre la date du 14/12/17 avec ses 490 000 transactions, ce jour là, les frais de transaction de la journée s'élevaient à 10 750 000 dollars, soit une moyenne de 22 dollars par transaction ( https://www.blockchain.com/fr/charts/transaction-fees-usd ). les frais maximaux sont montés jusqu'à 60 dollars par transaction en moyenne le 22/12/17...

de quoi s'étrangler, surtout quand meuh nous narguait "j'ai passé hier une transaction à 5 dollars", "comment as tu fait ?", "apprenez à utiliser les outils qui existent", "combien pèse une transaction ?", pas de réponse...

une transaction consiste à envoyer un certain nombre de bitcoins d'un endroit à un autre. il peut avoir une ou plusieurs entrées et une ou plusieurs sorties. combien d'entrées ? combien de sorties ? ça dépend...
prenons des exemples pour expliquer les différents cas possibles.
on a sur une adresse1 https://www.blockchain.com/btc/address/1G3oAfdgcgGjMkBXxQoWi9h29AYMRQZKsc 0,02413308 btc et on veut envoyer la totalité vers une adresse2 https://www.blockchain.com/btc/address/145pbkq8kct716JrnAECbjbDvcZqFak4hT les frais de 0,00002712 étant à prélever sur ces 0.02413308 btc, il y a dans ce cas une entrée qui est adresse1 et une sortie qui est adresse2. sauf erreur de compréhension de ma part, les frais ne sont pas comptés comme une sortie https://www.blockchain.com/btc/tree/353216753

autre exemple, on a sur une adresse https://www.blockchain.com/btc/address/14UEoMLBnTESEgPByHxaUp1m7WGjAEyppD 1,1211701 btc et on veut envoyer 0,65 btc vers une adresse https://www.blockchain.com/btc/address/36tEyBPryNHrD4RwYhiEdvF6o5Rmfa1rGi , le logiciel va vider la totalité de l'adresse de départ, va envoyer 0,65 btc vers l'adresse de réception qu'on a choisi, va payer les frais nécessaires de 0,00006780 btc, va créer automatiquement une nouvelle adresse https://www.blockchain.com/btc/address/12nXRU5kFxwViSJd7QQMwe887PgEzbKVUY qui nous appartiendra pour y verser la "monnaie" de notre envoi, soit 0,4711023. il y a dans ce cas une entrée et deux sorties https://www.blockchain.com/btc/tree/353163447

autre exemple, on veut envoyer 3 btc vers une adresse mais on n'a pas une telle somme sur aucune adresse que l'on possède, le logiciel va alors regrouper plusieurs adresses pour atteindre cette somme, par exemple 2 adresses qui possèdent chacune 2,5 btc, la somme fait 5 btc, on est capable d'envoyer les 3 btc, de payer les frais de 0,0001256 btc et de déposer la monnaie de 1,9998744 sur une nouvelle adresse. l'exemple pratique est ici : https://www.blockchain.com/btc/tx/a9bb9b847b1170942e98c2bff5c70e338e16cd7c79595e64d5fed77e35942776 (la représentation graphique des arbres est uniquement descendante, il faut analyser la page telle qu'elle est présentée). il y a dans ce cas 2 entrées et 2 sorties.

il n'y a pas vraiment de limite au concept, il peut y avoir 10 ou 20 ou 50 entrées, et 10, 20 ou 50 sorties.
typiquement, quelqu'un qui se serait amusé avec les robinets à bitcoins pendant 1 ou 2 ans, qui aurait retiré ses satoshis une fois par mois, le jour où il veut envoyer 0,001 btc pour se payer une bière au https://www.timeout.fr/paris/bar/sofs-bar il construira une transactions avec 20 entrées et 2 sorties.
à l'inverse, un échange qui paye ses clients qui veulent retirer leurs fonds, il pourra avoir des dizaines de sorties https://www.blockchain.com/btc/tx/e50f6b8a5e4f68a6eab3e3bd682bf93b583901de9f0a6fa7c66cc37b766b1bed

à ce stade là, j'ai compris à peu près comment se construisent les transactions, en précisant que le logiciel est intelligent et qu'il essaie de minimiser le nombre d'entrées afin d'alléger le plus possible le poids en octets de la transaction.
il reste encore à trouver le poids en octets des entrées, des sorties...

הִנֵּה לֹא יָנוּם וְלֹא יִישָׁן שׁוֹמֵר יִשְׂרָאֵל
oscar2000
Legendary
*
Offline Offline

Activity: 1400
Merit: 1015


עם ישראל


View Profile
July 16, 2018, 12:50:30 AM
 #3

j'ai mis longtemps à trouver l'équation mathématique permettant de calculer théoriquement soi même dans son coin le poids d'une transaction.
il y a plusieurs mois, j'avais trouvé, et je ne sais plus où, une équation que j'avais noté :
le poids en octets = 180 entrées + 34 sorties + 10
on peut donc calculer que pour une transaction classique avec 1 entrée et 2 sorties, on a une transaction qui pèse 258 octets. quand on connait les frais en satoshi par octet, on arrive alors à calculer en dollar ou en euros un ordre de grandeur du montant de la transaction.
on comprend que les transactions qui nécessitent 2 entrées et 2 sorties pèsent beaucoup plus lourds : tout de suite 438 octets...
on comprend qu'ajouter une sortie supplémentaire ne coûte pas grand chose et permet même en cas de besoin de rendre moins coûteuse la transaction.

par exemple, si on doit payer plusieurs personnes, si on les paye chacune à leur tour, on paye 258 octets pour chacun.
si on arrive à en payer 2 en une seule opération, on paye 292 octets pour les deux, c'est à dire 146 octets pour chacun.
si on arrive à en payer 3 en une seule opération, on paye 326 octets pour les trois, c'est à dire 109 octets pour chacun.
si on arrive à en payer 4 en une seule opération, on paye 360 octets pour les quatre, c'est à dire 90 octets pour chacun.
si on arrive à en payer 10 en une seule opération, on paye 564 octets pour les deux, c'est à dire 56 octets pour chacun.
si on arrive à en payer 20 en une seule opération, on paye 904 octets pour les deux, c'est à dire 45 octets pour chacun...

on comprend que les échanges sont avantagés à ce petit jeu, ils ont tout intérêt à construire de grosses transactions, c'est beaucoup plus économique.
ici, je me dis que j'aimerais bien aussi pouvoir et savoir grouper mes paiements en une seule transaction (si quelqu'un sait comment faire avec le bitcoin core, il est le bienvenu).
on comprend enfin que si les échanges font de grosses transactions de 1 000 ou 2 000 octets, la moyenne du poids des transactions analysée dans le premier post de cette file tend à grossir de plus en plus et que donc le nombre de transactions par seconde va encore diminuer. on n'a jamais eu 7 transactions par seconde, ni même 6, ni même 5; si la tendance se poursuit, on ne verra plus non plus dans le futur les 4 transactions par seconde sur le réseau principal (c'est à dire sans prendre en compte le réseau foudre) et les 3 transactions par seconde ne seront plus qu'un souvenir également.

dernier problème encore, en voulant vérifier si l'équation "180 entrées + 34 sorties + 10 = le poids en octets" est correcte, ben en fait, ça marche pas, cette équation est fausse...
j'ai trouvé récemment une équation "un peu plus floue" dans laquelle je ne comprends pas tout, elle est ici : https://www.kryptomole.fr/?p=2094 et elle modifie l'équation en introduisant une incertitude à mon niveau présent de compréhension :
le poids en octets = 180 entrées + 34 sorties + 10 +/- 10 entrées
en fait, l'équation varierait de "170 entrées + 34 sorties +10" à "190 entrées + 34 sorties + 10"...

nouvelles questions à ce stade : en fonction de quoi varie ce coefficient de +/- 10 sur les entrées ?
le segwit était sensé permettre plus de transactions dans un bloc, est ce que ça a un rapport avec ce plus ou moins ?
originellement, les adresses bitcoins avant le segwit commençaient toutes par "1", aujourd'hui, les adresses compatibles segwit commencent par "3", voilà une piste à explorer, ce que je ferai dans un futur proche. mais pas maintenant, car demain, je me lève à 08 heures et je pars une semaine en vacances.

הִנֵּה לֹא יָנוּם וְלֹא יִישָׁן שׁוֹמֵר יִשְׂרָאֵל
Klarks_C
Newbie
*
Offline Offline

Activity: 118
Merit: 0


View Profile
July 25, 2018, 08:20:40 PM
 #4

 

. . . .   "j'ai passé hier une transaction à 5 dollars",
ça veut dire que WU c'est mieux ! ??  Grin  Grin


En tt cas je peut te dire que pour (le passage par deux sorties obligatoires) le client portefeuille qui génère une nouvelle adresse pour y mettre la monnaie, ça n'existait pas au début, j'envoyai des bitcoins et le reste restait sur la même addresse. Un peut à la manière de Bitcoincash aujourd'hui

asche
Full Member
***
Offline Offline

Activity: 266
Merit: 114


I forgot more than you will ever know


View Profile
September 11, 2018, 07:28:14 PM
 #5


le poids en octets = 180 entrées + 34 sorties + 10 +/- 10 entrées


C'est +/- entrées et pas +/- 10 entrées.

Sinon super post, merci !

EDIT : les données de ton post c'est en segwit ou en legacy ?
oscar2000
Legendary
*
Offline Offline

Activity: 1400
Merit: 1015


עם ישראל


View Profile
September 13, 2018, 01:18:26 PM
 #6

exact, j'avais lu trop vite.
je corrige donc :
le poids en octets varie donc de "179 entrées + 34 sorties + 10" à "181 entrées + 34 sorties + 10"

sans vouloir être trop affirmatif, j'ai l'impression que c'était avant, en legacy donc...

j'ai encore d'autre posts à rédiger ici dans ce sujet, je reprendrai dès que j'aurai une minute. pour l'instant , je dois retrouver un titre de propriété pour que le notaire finalise un compromis de vente. je l'avais dans la main il y a quelques semaines, mais je n'arrive plus à le retrouver...

הִנֵּה לֹא יָנוּם וְלֹא יִישָׁן שׁוֹמֵר יִשְׂרָאֵל
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!