Les règles de consensus peuvent-elles être associées à des informations hors chaîne et comment est la règle de consensus de verrouillage ?

  • Les règles de consensus ne peuvent dépendre que des informations validées par des hachages de blocs, sinon la chaîne peut bifurquer.
  • Les règles de consensus doivent être toujours correctes ou incorrectes, sans possibilité de devenir correctes ou incorrectes avec le temps.
  • Une transaction avec une valeur de verrouillage est comparée aux horodatages des blocs et non à l'heure réelle. Avant BIP113, l'horodatage du bloc était utilisé mais maintenant c'est la médiane des 11 blocs précédents.

même si nous avons tout à fait raison/honnêteté ?

Oui, les règles de consensus ne peuvent dépendre que des informations validées par des hachages de blocs. Il n'est pas possible de garantir que quoi que ce soit soit observé de manière identique par chaque validateur, à tout moment. Et lorsque les règles de consensus donnent des résultats différents pour différents validateurs, la chaîne peut bifurquer.

Pour utiliser l'exemple du temps réel, les nœuds peuvent recevoir des blocs à différents moments (en raison de retards de propagation, de pannes de l'infrastructure réseau, ou même simplement en raison d'un nœud se synchronisant à partir de zéro seulement des années plus tard). Dans tous ces cas, les nœuds doivent arriver exactement à la même conclusion quant aux blocs valides ou non valides, sinon un fork se produit.

  • Les règles de consensus doivent-elles être telles que quelque chose soit toujours correct ou toujours incorrect, et non qu'il puisse devenir correct ou incorrect au fil du temps (par exemple, un bloc avec un certain horodatage devient valide à un moment donné) ? Quand je dis pour toujours, je ne considère pas les cas où les règles du consensus changent

Oui. Considérez les règles de consensus de manière abstraite comme une fonction qui reçoit en entrée une chaîne entière de blocs (donc un bloc avec tous ses ancêtres, pas y compris tous les blocs qui faisaient autrefois partie de la chaîne mais qui ont été réorganisés), et renvoie « valide » ou « invalide ». Il ne nécessite aucune autre entrée et ne peut pas utiliser le caractère aléatoire dans le processus.

Les règles de consensus peuvent-elles être associées à des informations hors chaîne et comment est la règle de consensus de verrouillage ?

  • Une transaction avec une valeur de verrouillage (définie sur un horodatage ; pas sur la hauteur du bloc) qui n'a pas encore eu lieu ne doit pas faire partie du bloc. Pour autant que je sache et comme je l’ai pensé jusqu’à présent, il s’agit d’une règle consensuelle. Ce qui m'intéresse, c'est comment cela peut être une règle de consensus lorsque la comparaison sera faite avec un horodatage réel, qui est une information hors chaîne ?

Ce n'est pas exact. Une transaction avec une heure de verrouillage est comparée aux horodatages de bloc, et non à l'heure réelle.

Plus précisément, depuis BIP113, il est comparé à la médiane des horodatages des 11 blocs précédant le bloc dans lequel la transaction est incluse. Avant BIP113, l'horodatage du bloc était utilisé.