|
|
# Nonce
|
|
|
|
|
|
## Que es el nonce y que significa?
|
|
|
|
|
|
En PoW[^1] el nonce en un contador por cuenta. Empieza en 0 (cero) y aumenta exactamente +1 cada vez que esa cuanta hace una transacción (para SCs[^2] es distinto; se aumenta cada vez que el contrato crea otro contrato).
|
|
|
|
|
|
Si tenés planes de tener, p.ej., una solución web que funciona de distintas maquinas en la red al mismo tiempo, entonce se te puede complicar la vida el nonce.
|
|
|
|
|
|
Si la misma cuanta manda dos transacciones con el mismo nonce, solamente una de ellas va a entrar en el blockchain. La otra se rechaza. Si un sellador puede ver 2 transacciones con el mismo nonce y todavia no forman parte de la cadena solamente podes adivinar cual de los dos que va a agarrar. Si una transaccion ofreze 10% gas mas que el otro, estas (mas o menos) seguro que va a tomar la cara.
|
|
|
|
|
|
Eso significa que podes "sobre escribir" una transaccion anterior si todavia no esta sellado. P.ej., si la red es lenta, y te repentis haber mandado una transaccion a un SC de votar por persona **A**, podes mandar otro con el mismo nonce, pagando 10% extra, y en lugar de votar por persona **A** podes votar por persona **B**.
|
|
|
|
|
|
Para evitar problemas, la solución para este servicio web es tener una cuanta por servidor, para evitar que tratan mandar transacciones con el mismo nonce.
|
|
|
|
|
|
[^1]: Proof of Work
|
|
|
[^2]: Smart Contracts |
|
|
\ No newline at end of file |