Architecture du protocole

Une plongée en profondeur dans le modèle de sécurité de Parallax : les signatures pour l'auctorialité, la PVM pour la sémantique, la preuve de travail pour le temps, et le consensus Nakamoto pour l'histoire canonique.

Comment les pièces s'assemblent
Parallax tisse cryptographie, exécution déterministe, horodatage par preuve de travail et choix de fork neutre en un seul pipeline vérifiable.
Cryptographie

ECDSA décide qui peut agir (auctorialité valide).

Exécution (PVM)

Définit ce que font les actions (transitions d'état).

Serveur d'horodatage

Établit quand les actions ont lieu (ordonnées par PoW).

Nakamoto

Sélectionne quelle histoire prévaut (chaîne la plus lourde).

Signatures numériques
Qui peut agir : ECDSA sur secp256k1 authentifie les transitions d'état.
  • ECDSA sur secp256k1, identique à Bitcoin, pour une sécurité et un outillage éprouvés au combat.
  • Les transactions incluent (r, s, v) ; l'expéditeur est récupéré via la clé publique, puis dérivé en adresse.
  • La validation s'effectue dans le pipeline d'exécution, garantissant des règles uniformes entre nœuds.
  • Non-répudiation : les signatures lient les intentions aux clés ; protection contre le rejeu via chain id et nonce.
Vérification de signature (conceptuelle)
pseudocode
// Pseudocode: PVM-side validation sketch
verify(tx):
  msg = keccak256(encodeTxForSig(tx))
  pub = ecrecover(msg, tx.v, tx.r, tx.s)
  require(address(pub) == tx.from)
  require(tx.nonce == account.nonce)
  // gas accounting & state updates proceed
Script Turing-complet (PVM)
Ce que signifient les actions : exécution déterministe compatible EVM sous des règles monétaires à la Bitcoin.
  • Parité des opcodes avec l'EVM (CALL/SSTORE/etc.), exécution déterministe avec comptabilité du gas.
  • État stocké dans un Merkle Patricia Trie ; l'en-tête du bloc engage stateRoot et receiptsRoot.
  • Programmabilité dans la rareté : plafond de 21M, halving ⇒ l'exécution hérite d'une monnaie saine.
  • Compatibilité avec les clients légers via preuves d'inclusion et rejeu déterministe des blocs.
Bloc → Exécution → Racines
pseudocode
// Conceptual block processing
for (tx of block.txs):
  result = PVM.execute(tx, state)
commit:
  stateRoot    = MPT(state)
  receiptsRoot = MPT(receipts)
  header.stateRoot = stateRoot
  header.receiptsRoot = receiptsRoot
Serveur d'horodatage
Quand les actions ont lieu : la PoW transforme le temps en ressource cryptographique et ordonne les événements.
  • Chaque bloc engage le hash de l'en-tête précédent ⇒ chaîne temporelle vérifiable.
  • La preuve de travail (XHash) lie le coût au temps ; le recalcul impose la flèche du temps.
  • Ordonnancement objectif sans horloges de confiance ; le median-time-past empêche les abus d'horodatage.
  • La sécurité croît avec la difficulté cumulée ; antidater devient économiquement irréalisable.
Chaînage des en-têtes
pseudocode
// Block header sketch
header = {
  parentHash,
  stateRoot,
  txRoot,
  time,
  nonce,
  difficulty,
  mixHash,      // XHash result
}
assert(block.parent.hash == parentHash)
assert(XHash(header) < target(difficulty))
Consensus Nakamoto
Quelle histoire prévaut : la chaîne valide la plus lourde en travail cumulé est canonique.
  • La règle de la chaîne la plus lourde sélectionne l'histoire canonique via la PoW cumulée (somme des difficultés).
  • Finalité probabiliste : le risque de réorg décroît exponentiellement avec la profondeur (k confirmations).
  • Le retargeting de difficulté (XHash) vise des blocs d'environ 10 minutes via le median-time-past.
  • Économiquement neutre : ni staking ni validateurs privilégiés — uniquement une PoW ouverte.
Choix de fork (conceptuel)
pseudocode
// Choose chain with max cumulative work
best = argmax(chains, sum(block.work for block in chain))
Pipeline

Flux de bout en bout

Une transaction signée entre dans le mempool → le mineur propose un bloc → la PVM exécute de manière déterministe → l'en-tête engage l'état et les reçus → XHash prouve le travail → le réseau adopte la chaîne valide la plus lourde. La rareté (21M, halvings) sous-tend l'ensemble de l'exécution.

1
Signer
2
Exécuter
3
Engager
4
Prouver
5
Sélectionner