Vitalik Buterin: Ethernet place Casper punir les conditions réduisant au minimum

La semaine dernière, Yoich a publié un billet de blog, j'ai introduit la « condition de la peine minimale » du processus en détail, et formellement prouvé « pour réduire au minimum la condition de la peine, » la sécurité et la viabilité de l'offre. Ceci est l'algorithme de tolérance aux pannes byzantine, un élément clé de asynchrones (coffre-sous-asynchronisme) et mot de passe sécurité économique (cryptoeconomically) dans l'algorithme de consensus de sécurité et byzantins algorithmes à tolérance de pannes, algorithme de consensus asynchrone et mot de passe de sécurité économique pour la sécurité, mais aussi mes intérêts preuve feuille de route de base. Dans cet article, je voudrais expliquer plus en détail ce que l'algorithme à la fin est qu'il est d'une grande importance où la performance, il est généralement applicable pour étudier la façon dont les intérêts de la preuve.

Un des principaux objectifs est de réaliser l'étude Casper « déterminer économique le nombre de », « déterminer économique le nombre de » la moitié nous pouvons formellement défini comme suit:

Si un client peut prouver que (i) le bloc B1 sera toujours une partie de cette chaîne de spécification, ou (ii) la cause des blocs participants B1 à récupérer seront garantis par versements égaux de $ peine X, ce bloc B1 dans l'économie est en cours de finalisation, la sécurité économique de la marge de mot de passe de $ X.

Imaginons que X est approximativement égale à 70 millions $. En fait, si un bloc est finalisé, le bloc devient une partie de la chaîne, et que vous voulez changer ce fait est très, très cher. La charge de travail est avéré être pas à cet effet, ce qui est la preuve des caractéristiques uniques de l'équité. Notre intention est de faire 51% d'attaque est très cher, et même si pas en mesure de travailler ensemble avec les la plupart des blocs ont été identifiés rollback validateur, à moins qu'ils sont prêts à supporter de lourdes pertes économiques - la perte économique si grande, de sorte que lorsque l'attaque est réussie, il va augmenter le prix du chiffrement sous-jacent de l'argent parce que le marché réduira l'offre globale de pièces pour apporter une réponse forte, au lieu de permettre la bifurcation d'urgence difficile d'attaque correcte (voir aperçu de la profondeur philosophique de base ici) .

Déterminer le nombre d'études économiques à compléter à Casper, en exigeant un dépôt en espèces pour vérifier qui participent, et si le protocole de vérification pour déterminer qui violent un ensemble de règles, sera prise le dépôt du vérificateur loin (punissant les conditions).

A des conditions qui punissent peuvent ressembler à ceci:

Si un vérificateur envoie une forme d'information de signature:

Une forme d'informations de signature:

Lorsque HASH1! = HASH2epoch_source1! = Epoch_source2epoch

Protocole définit une série de conditions punitives, les nuds honnêtes suivent un protocole de vérification pour veiller à ce que ne déclenche pas l'une des conditions (Note: Parfois, nous disons « violer » une condition de punition, il est synonyme de « déclencheur », la condition comme punition une loi, vous ne devriez pas violer la loi). Ne jamais envoyer PRÉPARER message deux fois, ce qui est un honnête que le vérifier nud est pas difficile du tout.

« Prepared » et « Commit » est emprunté à la terminologie de la théorie du consensus à tolérance de pannes traditionnelle byzantine. Maintenant, nous allons supposer qu'ils représentent deux différents types de messages, dans le dos de l'accord, nous allons présenter. Vous pouvez penser à un appel accord de consensus pour les deux accords différents, qui représentent un accord PRÉPARER, COMMIT représente le second tour du protocole.

Il y a aussi une autre des conditions de certitude, il décrit le client peut déterminer quand certains bloc est de déterminer le nombre de hachage. Il est facile de comprendre, nous continuons, a exprimé que dans l'étude Casper pour déterminer l'état de la version actuelle.

S'il y a une époque particulière sous la forme d'une série de messages signés, puis un code est généré.

Les dépôts de signature vérificateur si vous créez ces messages sont ajoutés, le montant que vous obtenez est supérieur au solde du dépôt total des activités verifier collection de deux tiers du courant.

En raccourci, on peut dire, « Hash présenté par les deux tiers de vérification dans une période donnée. » Ou « hash avec deux tiers dans une période donnée est garantie. »

conditions Punir doivent répondre aux deux conditions suivantes:

  • Responsabilité de sécurité: Si les valeurs de hachage des deux conflits sont finalisés, alors au moins être en mesure de confirmer la présence d'au moins un tiers de la peine en violation de la condition de noeud de vérification
  • activité raisonnable: il doit y avoir un groupe d'au moins deux tiers d'un groupe de messages envoyés par le noeud de vérification, et doit être en mesure d'identifier un nouveau bloc de hachage en l'absence de punition en violation des conditions, sauf si au moins un tiers des une peine validateur en violation des conditions.
  • responsabilités de sécurité nous ont apporté l'idée de « données économiques pour déterminer » si deux valeurs de hachage contradictoires ont été déterminées (par exemple, fourche), nous devons prouver mathématiquement qu'une série de vérification certains noeuds sont la peine en violation des conditions, nous pouvons présenter des preuves à cette une chaîne de bloc et d'imposer des sanctions en cas de violation de ces conditions pour vérifier les nuds sont punition.

    activité raisonnable revient à dire « algorithme ne doit pas être « coincé » et ne doit pas déterminer quelque chose. »

    Pour illustrer clairement le sens de ces deux concepts, on peut considérer deux jouets algorithme, répondant ainsi à la sécurité mais ne peut pas répondre à l'activité, pour répondre à une autre activité, mais ne répond pas à la sécurité.

    Algorithme 1: Chaque nud a la possibilité de vérifier qu'une transmission sous forme de COMMITCOMMIT

    Ici, il y a une preuve claire que cet algorithme est sûr: si HASH1 et HASH2 ont été déterminées, on peut montrer que les deux hachant chacun d'au moins deux tiers des engagements, il est nécessaire d'avoir un tiers un chevauchement a eu lieu, donc un tiers du noeud de vérification est réduite (réduit), mais il ne vit pas à vrai: s'il y a un demi présenté un, un demi soumis B (une complète ce qui est raisonnablement possible accident), alors il est le nud de vérification, l'un des six doivent être prêts à réduire leur propre pour déterminer une valeur de hachage.

    (Authentification de sécurité)

    Algorithme 2: Chaque nud a une chance d'envoyer un message de vérification une liste de COMMITepochCOMMIT

    Cela résout les problèmes de l'algorithme, avant même que à l'époque, nous avons obtenu un 50/50, la moitié et la moitié situation, alors nous essayons de faire la prochaine époque, mais l'introduction d'une autre faille de sécurité: deux différents Kazakhstan Grèce peut être fait à des moments différents.

    Il se trouve qu'il est possible d'obtenir deux valeurs de hachage en même temps. Mais ce n'est pas trivial, le besoin de répondre à quatre conditions punissent, couplées avec 1000 lignes de code pour compléter le Yoichi formel prouver qu'il est réellement possible.

    Ces conditions punitives:

    À moins d'une valeur spécifique epoch_source-1 < = Epoch_source <  époque

    Celles-ci ont été signés par le vérificateur et la diffusion 2/3, le dépôt de vérificateur est déduit.

    English En termes simples, envoyer une demande nécessite noeud deux tiers de vérification prêt.

    Si un nud de vérification de signature envoie une liste de messages:

    Lorsque epoch_source! = -1epoch_source_source-1 < = Epoch_source_source <  epoch_source

    Quand ANCESTOR_HASH (époque-poch_source)

    Si vous voulez préparer à l'avance pour indiquer une période donnée dans la période certaine précédente, puis les deux tiers du nud de vérification est prêt à avancer dans cette période, ces préparations doivent pointer à la même période du précédent (par exemple, les deux tiers le noeud d'authentification 41 au cours de la période de préparation de 35 points sont possibles, les deux tiers du nud de vérification 41 comporte seulement la moitié de la période de préparation 35 et l'autre moitié 37 ne sont pas prêts à point à l'autre au cours de la période, les cinq sixièmes du nud de vérification 41 période préparatoire, dont 35 peut également indiquer les quatre cinquièmes de la période, les cinq sixièmes de deux tiers à quatre cinquièmes, de sorte que vous pouvez ignorer le sixième restant.

    « N-ième ancêtre de commande » ( « n-ième ancêtres du degré »), ce qui signifie la chaîne de hachage de bloc, l'ancêtre est destiné, par exemple, dans lequel l'éther est un bloc carré de 3,017,225 blocs carrés de l'éther 3017240 ancêtres ordre de 15 blocs. S'il vous plaît noter qu'un bloc peut avoir qu'un seul père, pour un certain nombre spécifique n seulement un n-ième ordre ancêtres.

    Si le vérificateur envoie un message liste

    Il y a aussi une information de liste prête

    lorsque epoch_source <  epoch1 <  epoch2HASH1? = HASH2

    Lorsque vous effectuez une présentation dans une certaine période, vous pouvez voir clairement les deux tiers de la préparation d'une place dans cette période. Donc, dans un avenir mieux préparé, il vous êtes prêt à diriger ce qu'il faut faire à ce moment ou plus tard.

    Si un validateur envoie une liste d'informations

    Il y a une liste d'informations

    Lorsque HASH1! = HASH2epoch_source1! = Epoch_source2

    Impossible de préparer deux fois dans une période unique

    La peine de ces quatre conditions peut le prouver, tout en assurant la garantie de sécurité fiable activité raisonnable est possible.

    S'il vous plaît noter que la règle ci-dessus, puis, deux hachage différent pour donner le OK final est réalisable - si deux hash font partie de la même pièce de l'histoire, ils peuvent être mis au point, et, en fait, quand il y a de plus en plus de hachage est déterminée en permanence à la fin de cette croissance a été la chaîne est exactement ce que nous voulons.

    Gauche: valeur différente de hachage peut être déterminée selon ces règles à suivre, mais si elles font partie de la même chaîne, ils sont comme prévu à courir. A droite: l'histoire ne appartiennent à la même hachage est en conflit, il existe des preuves qu'un hachage des quatre conditions de la peine peut organiser deux contradictoires finalisés, sauf si au moins un tiers de la vérification est un épéiste.

    Maintenant, nous allons mettre ces choses ensemble rapiécées. Il y a une piscine pleine validateur (tout le monde peut adhérer librement, bien qu'il y ait des retards, nécessité de remettre de l'argent pour les dépôts, bien sûr, tout participant peut quitter librement, puis retirer leurs fonds après une latence plus élevée) et ces validateurs ont le droit de signer et envoyer une liste d'informations.

    Si assez de COMMIT message au HASH à une certaine époque, le HASH a été finalisée. Hash sont reliés les uns aux autres, un point avant chaque hachage de hachage, nous voulons voir, que le temps augmente, le nombre croissant de nouveaux arrivants sur le plus plus la croissance de la chaîne hachage reliés entre eux et sont finalisés. Nous ajoutons validateur ont les incitations économiques pour les encourager à envoyer et COMMIT PRÉPARER, de sorte que suffisamment rapide pour envoyer un message pour parvenir à une décision finale est terminée.

    En général, vous pouvez utiliser PBFT algorithme a un mécanisme de consensus byzantin tolérant aux pannes « assurant la synchronisation de l'activité pour assurer la sécurité en asynchrone » dans, et il a transformé en un ensemble de conditions punitives pour vous donner la sécurité fiable et raisonnable d'activité. Les conditions mentionnées ci-dessus sont soumises et en collaboration avec le Tendermint inspiré mécanisme de consensus tolérant aux pannes byzantine (PBFT), mais il y a d'autres points peuvent produire des résultats différents.

    S'il vous plaît noter qu'une activité raisonnable et l'activité réelle est en fait pas la même chose, moyenne d'activité rationnelle, en théorie, nous pouvons toujours une certaine chose finalisé, mais il peut toujours être le cas - nous sommes toujours très malchanceux, répéter toujours répété jamais terminé quoi que ce soit à déterminer. Pour résoudre ce problème, nous devons trouver une mécanisme proposé Et pour faire en sorte que ce mécanisme proposé peut avoir une telle propriété qui en fait besoin d'être en mesure de nous aider à atteindre l'objectif de l'activité.

    Le système proposé est proposé mécanisme de hachage, et l'utilisation de repos COMMIT et PRÉPARER message à essayer de terminer le OK final. Ce mécanisme aussi ont parfois des défauts, il a fait pour punir les besoins de l'état à faire, qui est, bien que le système proposé est imparfait, mais il a également voté pour protéger efficacement la sécurité, et une fois que le mécanisme proposé de l'arrêt et l'échec ce protocole peut faire cette chose obtenir la confirmation définitive.

    Dans de nombreux algorithme de consensus tolérance aux pannes traditionnelle byzantine, l'algorithme proposé et d'autres parties du mécanisme sont étroitement liés. Dans l'algorithme de consensus à tolérance de pannes byzantine, chaque vue (à peu près équivalent à une époque) est attribué à un seul validateur aller, et cette vérification est libre de proposer ce qu'ils veulent des propositions, le validateur ne peut soulever aucune proposé ou hachage invalide fait, a également soulevé un certain nombre de hachage ou produire un fonctionnement non désiré, mais l'algorithme de consensus à haute disponibilité byzantine assure que le reste de ces opérations ne sera pas fatale, et cet algorithme passera automatiquement à la prochaine période . Ici, nous pouvons réellement mettre nos punitions et bien d'autres conditions et mécanismes proposés combinés, ils ne doivent répondre à un certain nombre de conditions.

    Tout d'abord, le mécanisme proposé ne doit être proposé par une valeur de hachage, et cela doit être un hachage de hachage valide (condition de validité peut rendre très complexe, dans ce cas, la place de l'éther, la place Ethernet impliqué dans chaque période transition d'état du cycle de l'éther Square et procéder à la vérification des fonctions, ainsi que la disponibilité d'une partie de vérification des données de conception).

    En second lieu, Hash doit former une chaîne C'est, il doit y avoir un hachage dans un des parents de la période de soumission de N, les parents doivent être soumis un hachage N 1 période, la deuxième fois que les ancêtres doivent être soumis hash N-2 fois.

    En troisième lieu, hachage de hachage doit être la punition n'empêche pas la condition validateur avoir finalisé la valeur de hachage. Cela peut être très subtile. Nous considérons maintenant un tel scénario, en temps de O, le hachage proposé mécanisme proposé 0, 1 dans la période, le hachage proposé mécanisme proposé 1, (hachage de hachage sous directe 0), pour une raison quelconque , aucune de ces hachage de hachage a été suffisamment préparé pour obtenir soumis. Eh bien, ce système proposé (en raison d'une défaillance temporaire) soulève un autre hachage pour la période 00, ce qui nécessite une préparer les deux tiers et de soumettre un demi.

    Maintenant, ce mécanisme proposé a deux options. La première possibilité est qu'il peut être soulevée HASH2 (HASH1 sous hachage), puis HASH3 (HASH2 sous hachage) et ainsi de suite. Cependant, punir les conditions pour que, en l'absence d'un sixième de la vérification est le cas de l'épéiste, il n'y a pas de hachage peut être soumis. Une autre possibilité, la possibilité est également vrai, il a soumis HASH1 (HASH0 sous hachage), et nous avons hâte de hachage ne peut jamais être déterminé parce que ses concurrents HASH1 plus d'un tiers de la préparation, de sorte HASH1 pas obtenir les deux tiers de la préparation dont il avait besoin, puis mis HASH2 avant (HASH1 sous hachage), HASH2 peut être soumis, le système proposé peut continuer à proposer de nouvelles hachage, chaque hachage sont il est un ancien hachage sous-hachage

    Une idée directe est que certaines personnes peuvent avoir: nous pouvons faire une chaîne de charge de travail traditionnelle prouvé à suivre est la plus longue chaîne de son règne en tant que mécanismes proposés font? Chacun des blocs 100 est une station d'inspection, où un bloc de N * 100 devient le hachage pour la proposition de la période N. Mais cela ne garantit pas qu'il puisse continuer à fonctionner comme dans le cas ci-dessus, le mécanisme proposé tentera de présenter une HASH2 à la place HASH1, il n'a jamais terminé la détermination finale de tout hachage (Cela ne veut pas dire que nous sommes « coincés » parce que vous voulez sortir de cette situation ne nécessite pas que quiconque d'être coupé, mais ne nécessite mineurs collusion inclus sur la chaîne HASH0, même si elle contient une théorie de la preuve de HASH1 de la chaîne dans la charge de travail est plus longue que HASH0) . Cependant, nous pouvons faire est d'utiliser une chaîne de blocs de charge de travail traditionnelle prouvé combinée à la possibilité de modifier les règles de sélection de bifurcation.

    règle de sélection de bifurcations est une fonction, cette fonction est générée par l'évaluation du client, qui sera une collection de blocs et d'autres messages qui ont été générés comme entrée, sortie au client ce qui est « la chaîne standard », « le plus long actif la chaîne est la chaîne correcte « est une des règles de sélection simples de bifurcation, il est très approprié pour une preuve de travail, Zohar et Sompolinsky GHOST est un exemple plus complexe. Nous pouvons définir une sélection de règles de bifurcation, ce qui peut permettre au mécanisme de la chaîne de bloc comme mécanisme proposé pour l'algorithme de consensus, et a les propriétés mentionnées ci-dessus, ce qui suit peut être vu:

  • HEAD Genèse est le début d'une
  • HEAD ont trouvé un deux tiers efficace des générations futures à préparer et à présenter le plus grand nombre de
  • La descendance HEAD mis son, etc., puis retourne à la deuxième étape
  • Lorsque l'étape 2 ne peut plus trouver les règles de sélection bifurcation doivent préparer et présenter les descendants de temps, basé sur l'utilisation des deux tiers de la chaîne de bloc (si elle est la plus longue chaîne, ou GHOST, ou autre) pour trouver des conseils.
  • S'il vous plaît noter que dans notre exemple ci-dessus, il sera plus propice à la place HASH0 HASH1, donc cela conduira au comportement souhaité. S'il vous plaît noter également que s'il y a une décision définitive de la chaîne, puis il choisira toujours de déterminer éventuellement la chaîne.

    Les règles de punition ci-dessus assurent que peut être très coûteux d'un type de défaillance spécifique pour produire: la bifurcation de la réduction finale. Cependant, alors qu'il y aura d'autres types de faute, pas la peine qui règle fourchue, il peut être résolu. En particulier, pour déterminer une table de hachage valide, et détermine un représentant de la chaîne contient hachage de données non valide. La façon la plus simple et maintenant peut résoudre le problème de cryptage de sécurité économique absolue a été réalisé est d'obtenir nud complet - Télécharger et vérifier tous les blocs, de sorte que vous pouvez ignorer complètement les blocs invalides. Par conséquent, ce hachage est déterminé à ne pas être finalisé peut être réalisé en deux étapes: 1) les deux tiers de l'examinateur présenter 2) a été la vérification de la chaîne jusqu'à ce que vous pouvez prouver ce hachage est valide.

    Pour éclairer la valeur de la plupart définitives, il y a deux façons du client. La première est d'ajouter un autre type de noeud pour envoyer un message (comme ), qui a pour effet que si le message est soumis à une chaîne, et en fait il y a un hachage est dans le hachage de cette période, le validateur obtenir une partie de la récompense, si ce n'est pas le hachage de hachage de cette période, ils seront soumis à un châtiment. Par conséquent, le validateur ne sera déterminante le hachage est donné le temps de la part de la scie à chaîne spécifications du client, ils enverront un message, et continuera à jamais (validateur de le faire dans leur bon moment après vérification de l'individu bloquer complètement la chaîne au hachage, et vérifier leur soumission des deux tiers).

    Le deuxième est de donner client léger a accès à une variété de cryptage économique et technique, pour leur permettre d'être en mesure de la disponibilité des données validate très efficace et l'efficacité avec l'aide de quelques hypothèses. Cela impliquera probablement une combinaison de codes d'effacement et de validation croisée. Ceci est similaire à une étude des fragments similaires, et les liens entre eux très étroitement - la première méthode nécessite validateur lui-même est un nud complet, alors que la seconde méthode ne nécessite pas lui-même l'authentification est un noeud complet, et la fragmentation est lui-même sur la création d'un bloc de chaîne, ce bloc dans la chaîne aucun parti est un noeud complet sur ce sujet continuera de mettre à jour le blog dans le suivi.

    remerciements spéciaux Yoichi Hirai, rivière Keefer et Ed m'a aidé à regarder à nouveau dans cet article.

    Remarque:

    1. Certaines personnes pourraient penser que la charge de travail a été décisive et la marge de sécurité R * k sur l'économie, où R est la récompense de bloc, k est le nombre de blocs en cours de restauration, mais ce n'est pas vrai, si vous réussi à mettre en 51% de l'attaque, alors vous obtiendrez récompensé la compensation de bloc à 51% de la demande budgétaire ne attaque à peu près R * k, mais vous coûter une attaque réussie, mais est 0.

    2. Le troisième rapport tolérance aux pannes byzantines de la théorie classique, et est choisi pour maximiser le niveau total de la tolérance de panne sélectionnée. En général, dans cet article, vous pouvez utiliser tout t >  1/2 de la valeur à remplacer dans les deux tiers des conditions de punition dans les présentes. Vous pouvez être calculé à partir d'un angle de tolérance de pannes actif de 1 t (1-t car si plus de hors ligne, ne peut pas être obtenu t), d'un point de vue de la sécurité, le degré de tolérance aux pannes 2t-1 (si t peut être finalisé A, t peut finaliser B, puis ajouter jusqu'à 2t >  1, donc au moins 2t-1 doit être répété). t = 2/3 maximiser les deux (1-t = 1 / 3,2t-1 = 1/3) de la valeur minimale, on peut également essayer t = 3/5 (activité: la force à tolérance de pannes 2/5 sécurité: 1/5), ou t = 3/4 (activité: 1/4, sécurité: 1/2). S'il vous plaît noter également que la valeur de t <  1/2 dans le bon sens sur le nombre de nuds sont également susceptibles de ces circonstances serait logique, mais dans le concept pour répondre à ces situations, et « dernier seuil subjectif » d'un plus large, la prochaine fois que je serai dans un autre article plus en profondeur l'article pour discuter un autre sujet.

    3. Bien sûr, à moins que ces dépôts ont été retirés, mais ( « attaque à distance ») sera le thème que j'ai écrit un autre article, bien que l'article d'aujourd'hui je publiais il y a deux ans devrait.

    4. Au moins, tant qu'il utilise hachage et la signature unissent le chiffrement. Si elle utilise le seuil de signature, alors ce sera plus difficile. Parce que l'Union 2/3 nuds malveillants peuvent être contrefait la signature de tout autre participant.

    Lorsque l'affichage Prix croissant Prix d'achat Bitcoin: ¥ 8321,00 Prix de vente: ¥ 8145,00

    Original: https: //medium.com/@VitalikButerin/minimal-slashing-conditions-20f0b500fc6c#.4s8pm7fu5

    Auteur: Vitalik Buterin

    Compile: Lola

    Les manuscrits (traduit): Babbitt information ( Copyright:

    Droits d'auteur réservés. Articles pour les auteurs indépendants ne représentent pas nécessairement la position de Babbitt.

    6 conduisent à des actes de « vieillissement » des hommes, de vous voir dans quelques?
    Précédent
    Publié IZOA Yize, nouvelle orientation énergétique claire, l'action de Toyota FAW est pas petite
    Prochain
    La disparition de deux mille années! Cette « famille humaine » est sur le point de disparaître dans les activités humaines
    Ils sont la poudre de protéine musculaire boire sur? Un léger exercice ne mangent pas de protéines, les muscles vont exceller dans quoi?
    situation de développement et de localisation semi-conducteurs mondial des équipements de lithographie
    155 ans, 15,5 millions de la ligne d'assemblage, Changan Automobile Bienvenue étape
    Perdre du poids devrait cesser de collation de minuit, des bonbons, qui à la fin n'est pas scientifique?
    Trois flèches décochées, SAIC-GM-profond labour le marché automobile haut de gamme
    Les astronautes ont découvert de vastes zones de merveilles d'or de l'espace au sol, mais il est un parapluie humain
    Les hommes ne pratiquent pas la jambe, tôt ou tard ...... 6 pratique les mouvements des jambes, vous aurez besoin!
    Test drive Baojun 730 Version TCD, pas plus de trois ans, les gens de temps et blanc
    Les ondes gravitationnelles que les étrangers voient? Faux! La Chine a un « yeux du ciel » ont vu!
    Pourquoi est-ce que vous avez toujours perdre du poids après « re-gras »? La plupart de ces trois causes
    Les grandes nouvelles: par des étoiles à neutrons entrent en collision, les scientifiques ont les yeux peuvent voir les ondes gravitationnelles