Algo continuou me incomodando enquanto eu lia sobre execução automatizada on-chain.
Geralmente imaginamos verificações de permissão acontecendo uma transação por vez.
A realidade é bem mais confusa.
Grandes sistemas de negociação frequentemente enviam várias requisições simultaneamente a partir da mesma conta inteligente. Se o mecanismo de autorização avaliar essas requisições em paralelo, cada transação pode temporariamente “enxergar” o mesmo limite de gastos disponível antes que a blockchain atualize o estado da conta.
Isso cria um problema de engenharia conhecido como interleaving de permissões.
Imagine que a Transação A seja aprovada porque a conta ainda tem limite disponível suficiente.
Alguns milissegundos depois, a Transação B também é aprovada pelo motivo exato.
Nenhuma das requisições sabe que a outra já reservou parte desse limite.
O resultado não é necessariamente uma blockchain quebrada.
É uma condição de corrida dentro do próprio fluxo de autorização.
Por isso, sistemas modernos de permissão podem, eventualmente, precisar de bloqueio de sequência determinístico em vez de depender apenas de validação rápida.
Às vezes, a parte mais difícil da automação não é executar transações.
É garantir que várias transações não acabem confiando no mesmo saldo ao mesmo tempo.
@NewtonProtocol #Newt #BinanceTurns9 #ZcashRises1190%OverPastYear #SKHynixSharesFallInSeoulAfterUSDebut #StrategySells3588BTCForDividends
$VELVET $DODO $NEWT
⚡ Se várias transações automatizadas chegarem ao mesmo tempo, o que deve acontecer primeiro?
Geralmente imaginamos verificações de permissão acontecendo uma transação por vez.
A realidade é bem mais confusa.
Grandes sistemas de negociação frequentemente enviam várias requisições simultaneamente a partir da mesma conta inteligente. Se o mecanismo de autorização avaliar essas requisições em paralelo, cada transação pode temporariamente “enxergar” o mesmo limite de gastos disponível antes que a blockchain atualize o estado da conta.
Isso cria um problema de engenharia conhecido como interleaving de permissões.
Imagine que a Transação A seja aprovada porque a conta ainda tem limite disponível suficiente.
Alguns milissegundos depois, a Transação B também é aprovada pelo motivo exato.
Nenhuma das requisições sabe que a outra já reservou parte desse limite.
O resultado não é necessariamente uma blockchain quebrada.
É uma condição de corrida dentro do próprio fluxo de autorização.
Por isso, sistemas modernos de permissão podem, eventualmente, precisar de bloqueio de sequência determinístico em vez de depender apenas de validação rápida.
Às vezes, a parte mais difícil da automação não é executar transações.
É garantir que várias transações não acabem confiando no mesmo saldo ao mesmo tempo.
@NewtonProtocol #Newt #BinanceTurns9 #ZcashRises1190%OverPastYear #SKHynixSharesFallInSeoulAfterUSDebut #StrategySells3588BTCForDividends
$VELVET $DODO $NEWT
⚡ Se várias transações automatizadas chegarem ao mesmo tempo, o que deve acontecer primeiro?
🔒 Lock the permissions
50%
⚖️ Check available balance
50%
🚀 Process everything together
0%
🤔 Not sure
0%
2 Votos • Votação encerrada