Quelle est la décision de conception d'avoir des transactions incluent des hachages de blocs récents?
3 réponses
- votes
-
- 2019-02-04
Il y atrois considérationsprincipales à la lecture
1) C'est unmoyen d'augmenter lapreuve du consensus de laparticipation avec uneforme detapos.Bien que lestransactionsne soientpas utilisées comme règne de sélection de la chaîne,elles laissent unepistemédico-légale quipeut être utiliséepour différencierentre la chaîne réelleet lesfaçons.
Quelle valeur que cela dépend de lamanière dont vous êtesparanoïde sur la subjectivitéfaible.
2) Il crée une solidarité dans le cas de longues réorganisations.Si une attaque de 51% devait déclencher une double dépense,il devra également revenir à laplupart destransactions créant denombreusesperturbations.Cela rendplusprobable qu'unefourchetteestinitiée de cettemauvaise situation que d'un haussement d'épaules.
3) Ilempêche la dépendance sur le support à longterme de la série detransactionsbinairespouvant être une compatibilité rédactable coûteusepourmaintenir
Si vous souhaitez signer dutemps hors ligneet diffuserplustard,vouspouvez lefaire avec un contratintelligentet le
CHECK_SIGNATURE
opcode.There are three main considerations at play
1) it's a way to augment proof of stake consensus with a form of TAPOS. While transactions are not used as a chain selection rule, they do leave a forensic trail that can be used to differentiate between the real chain and fakes.
How valuable this is depends on how paranoid you are about weak subjectivity.
2) it creates solidarity in the case of long reorganizations. If a 51% attacks were to trigger a double spend, it would also have to revert most transactions creating a lot of disruption. This makes it more likely that a fork is initiated out of this bad situation than just a shrug.
3) it prevents reliance on long term support of the binary serialization of transactions which can be an expensive backward compatibility to maintain
If you want to sign time offline and broadcast later, you can do that with a smart contract and the
CHECK_SIGNATURE
opcode. -
- 2019-02-04
L'idéeestjuste que,lorsque vous créez unetransaction,vouspourriez avoir des attentes sur ce qui s'est déjàproduit sur le réseau.Y compris unetransaction hachageempêche latransaction dans unefourche où ces attentesne sontpas correctes (certaines anciennestransactionsn'ontpaseu lieu).
Notez que vouspouvezinclure unetransaction dans les 64blocs après le hachage,ilne devrait doncpas être unproblèmepour la signature hors ligne,vous avez une heure àprendre le hachage,signer latransaction hors ligneet diffusez-la sur le réseau..
The idea is just that, when you create a transaction, you might have expectations on what already happened on the network. Including a transaction hash prevents including the transaction in a fork where these expectations are not correct (some former transactions didn't happen).
Note that you can include a transaction in the 64 blocks after the hash, so it shouldn't be a problem for offline signing, you have one hour to take the hash, sign the transaction offline, and broadcast it on the network.
-
- 2019-02-04
dupapierblanc, "Si un attaquant réussitjamais àforcer une longue réorganisation avec unefourchette,ilne pourrapasinclure detellestransactions,en faisant lafourchette évidemmentfaux.C'est une dernière ligne de défense,Taposest unexcellent systèmepour empêcher de longues réorganisationsmaispas untrèsbon système d'empêcher à courtterme Double dépenses. "
From the white paper, "If an attacker ever succeeds in forcing a long reorganization with a fork, he will be unable to include such transactions, making the fork obviously fake. This is a last line of defense, TAPOS is a great system to prevent long reorganizations but not a very good system to prevent short term double spending."
J'aimerais comprendre lajustification derrière cela.Ceproblèmeempêche actuellement lagénérationet la signature detransactions sur unemachine hors lignepouvantensuite être diffusée ultérieurement sur le réseau.