Modèle de compte UXO VS
1 réponses
- votes
-
- 2019-02-01
Tout d'abord,utxoset comptesne sontpas si différents. Vouspouvez regarder lapaire
(account, counter)
commepresque équivalent à un utxo.La raisonprincipale concerne l'accès simultané aux contratsintelligents. Dans laplupart des cas,deuxtransactions aumême contratintelligent se déplacent (oupresque des commutes)et donc lesexpéditeursn'ontpasbesoin de savoir quelles autrestransactions affectent ce contratparticulier dans lemêmebloc.
Parexemple,imaginez un contrat de vente debillets d'avion. Jusqu'à ce que l'avion soitplein,lestransactions sur ce contrat se déplacent. Mon achat d'unbillet d'avionet votre achat d'unbillet d'avionpeut seproduireen mêmetemps.
Sinousessayons deprolonger lemodèle UTXO aux contratsintelligents,dès quej'acheteraismonbillet d'avion,le contrat serait détruitet un contrat similaire vendant unticket demoins serait recréé avec unemanipulation différente. Nousne pourrionspastous deux êtreen mesure d'accéder à ce contrat dans lemêmebloc.
Si ce comportementest souhaité,il peut être émulépar un système Smart-contratbasé sur un compte. Parexemple,un contratpourraitexiger que chaquetransaction doittransmettre un hachage de son stockage actuel. Cependant,l'inversen'estpas vrai.
Par conséquent,le systèmebasé sur compteestplusexpressif.
First off, utxos and accounts aren't that different. You can look at the pair
(account, counter)
as almost equivalent to a utxo.The main reason has to do with concurrent access to smart contracts. In most cases, two transactions to the same smart-contract will commute (or almost commute) and therefore the senders do not need to know what other transactions are affecting this particular contract in the same block.
For instance, imagine a contract selling plane tickets. Until the plane is full, transactions to that contract will commute. My buying a plane ticket and your buying a plane ticket can happen at the same time.
If we try and extend the UTXO model to smart-contracts, as soon as I buy my plane ticket, the contract would in a sense be destroyed, and a similar contract selling one fewer ticket would be recreated with a different handle. We would not both be able to access that contract in the same block.
If this behavior is desired, it can be emulated by an account based smart-contract system. For instance, a contract could require that every transaction to it must pass a hash of its current storage. However, the reverse is not true.
Therefore, the account based system is more expressive.
-
Mercibeaucoup c'esttrès clair!Jeme souviens que vousparliez également duflipside de celaen ce qui concerne lagestion de Mempool,je crois que l'UTXOfacilite latâche d'unmineur de choisir un sous-ensemble de TX d'inclure,car l'état de la chaînefinaleestindifférent à l'ordre de ces utxoATTENDU QUE dans unmodèle de compte,l'ordre de TXfrappant un contratpeut avoir uneincidence sur son étatfinal.Maisj'ai oublié quelle contrainte cela crée sur la direction Mempoolelle-même.Thanks a lot it is very clear! I remember you were also talking about the flipside of this when it comes to mempool management i believe where UTXO make it easier for a miner to choose any subset of tx to include because the final chain state is indifferent to the order of those UTXO being applied whereas in an account model the order of tx hitting a contract may impact its final state. But i forgot what constraint it creates on the mempool management itself.
- 1
- 2019-02-01
- Ezy
-
Depuis,j'ai réalisé que cela compte vraiment,c'est que vousgardez UXO comme despropriétéspour lepaiement desfrais detransaction *.Si vousfaites cela,vousbénéficiez detous les avantages de lagestion MEMPOOLet de la quasi-commutativité des opérations.I have since realized that really matters is that you keep utxo like properties for the payment of transaction *fees*. If you do that, you get all the benefits of mempool management and quasi-commutativity of operations.
- 2
- 2019-02-01
- Arthur B
-
tx.Je voudrais comprendre votre dernière remarquemieux.Vaut une question distincte?tx. I would like to understand your last remark better. Worth a separate question ?
- 1
- 2019-02-01
- Ezy
-
Heureux de répondre à une question séparéetant qu'elleest clairementindiquée :)Happy to answer a separate question, so long as it's clearly stated :)
- 2
- 2019-02-01
- Arthur B
-
https://tezos.stackexchange.com/questions/156/how-does-tezos-manage-its-mempool :)https://tezos.stackexchange.com/questions/156/how-does-tezos-manage-its-mempool :)
- 1
- 2019-02-01
- Ezy
Quels sont les conducteurs de la décision d'adopter unmodèle de compte (par opposition à un utxo One)pour décrire lestransactions à Tezos?