EveryBlock Studio
A Brazilian startup exploring interactive media through smart contracts on Cardano blockchain.
Se você acompanhou nosso infoblock sobre a história das recompensas, já sabe como o pote é formado e quais são as fontes
Se você acompanhou nosso infoblock sobre a história das recompensas, já sabe como o pote é formado e quais são as fontes
O mecanismo de incentivo é o principal motor das blockchains públicas
O mecanismo de incentivo é o principal motor das blockchains públicas
10%
2%
5%
Através dele que os operadores são recompensados pelo serviço e incentivados a agir em favor do protocolo
10%
2%
5%
Através dele que os operadores são recompensados pelo serviço e incentivados a agir em favor do protocolo
6.25 BTC
2 ETH
32 TRX
16 XTZ
+ 2 XTZ por endorsement
Bitcoin
Ethereum
Tron
Tezos
6.25 BTC
2 ETH
32 TRX
16 XTZ
+ 2 XTZ por endorsement
Bitcoin
Ethereum
Tron
Tezos
distribuem as recompensas fixas por bloco produzido
?
?
?
?
?
?
Na blockchain Cardano, o mecanismo de recompensas é um dos componentes mais importantes da segurança do protocolo Ouroboros
tendo sido desenvolvido através de extensa pesquisa científica para garantir que o mecanismo leva à descentralização da rede no longo prazo
Diferente de outras blockchains, a distribuição de recompensas não é fixa por bloco
Diferente de outras blockchains, a distribuição de recompensas não é fixa por bloco
Em vez disso, as recompensas distribuídas para as stake pools e seus delegadores envolvem
$$f$$
$$(s, \sigma)$$
$$= \frac{R}{1 + a_0} \cdot \left( \sigma' + s' \cdot a_0 \cdot \frac{\sigma' - s' \frac{z_0 - \sigma'}{z_0}}{z_0} \right)$$
Para entender o mecanismo, podemos olhar em detalhe os componentes que são utilizados no cálculo e como cada um influencia nas recompensas
$$f$$
$$(s, \sigma)$$
$$= \frac{R}{1 + a_0} \cdot \left( \sigma' + s' \cdot a_0 \cdot \frac{\sigma' - s' \frac{z_0 - \sigma'}{z_0}}{z_0} \right)$$
Vamos considerar primeiro como a recompensa da stake pool é calculada em função da participação
$$f$$
$$(s, \sigma)$$
$$= \frac{R}{1 + a_0} \cdot \left( \sigma' + s' \cdot a_0 \cdot \frac{\sigma' - s' \frac{z_0 - \sigma'}{z_0}}{z_0} \right)$$
é a função que calcula as recompensas de uma stake pool de acordo com dois parâmetros...
$$f$$
$$(s, \sigma)$$
$$f$$
o pledge da stake pool
o total de participação delegada da stake pool
$$(s, \sigma)$$
$$f$$
Ambos os valores são relativos ao total de ADAs em circulação, representando uma fração do quanto a stake pool controla das moedas existentes
$${s}$$
$$f$$
A fração referente ao pledge representa a participação delegada pelos próprios operadores da pool
$$(s, \sigma)$$
$$f$$
representa o total de participação delegada, incluindo o pledge e a participação dos delegadores
$$ \sigma$$
$$(s, \sigma)$$
$${s}$$
$$f$$
$$(s, \sigma)$$
Se existisse apenas uma stake pool, poderíamos distribuir todo o pote de recompensas para ela independente de outros fatores
$$= {R} $$
Vamos supor que esse pote contém um total de 200 mil ADAs
200 mil ADAs
$$f$$
$$(s, \sigma)$$
$$= {R} $$
Vamos supor que esse pote contém um total de
200 mil ADAs
Para dividirmos o pote de forma proporcional à participação relativa de cada entidade, precisamos considerar o parâmetro σ multiplicando o total de recompensas no pote
$$= {R} \cdot$$
$$ \sigma$$
$$f$$
$$(s, \sigma)$$
$$= {R} $$
Vamos supor que esse pote contém um total de
200 mil ADAs
$$= {R} \cdot$$
$$ \sigma$$
Ignorando o pledge por enquanto, se uma stake pool detém 1% de todo montante de ADAs em circulação
$$ \sigma = 0.01 $$
$$f$$
$$(s, \sigma)$$
$$= {R} $$
Vamos supor que esse pote contém um total de
200 mil ADAs
$$= {R} \cdot$$
$$ \sigma$$
$$ \sigma = 0.01 $$
ela receberia 1 centésimo do pote
$$(s, \sigma)$$
$$f$$
$$= {200000} \cdot {0.01}={2000}$$
O problema que surge de associar as recompensas de modo diretamente proporcional é que stake pools com maior participação recebem sempre a maior parte das recompensas
tornando-se cada vez maiores e possivelmente centralizando a rede por meio de grandes entidades
Para controlar o crescimento das recompensas da uma única stake pool existe o conceito de ponto de saturação que limita o ganho de recompensa
$${z_0}$$
$${z_0}$$
= Ponto de saturação
Atualmente, corresponde a aproximadamente
equivalente à cerca de 212 milhões de ADAs
Através desse parâmetro, limitamos a quantia de participação de uma stake pool considerada no cálculo de recompensas até no máximo 0.667% do total de ADAs
σ
σ'
para denotar que a participação estará limitada pelo ponto de saturação
Vamos colocar uma linha
σ
σ'
$${z_0}$$
= Ponto de saturação
200 mil ADAs
$$ \sigma = 0.01 $$
$$(s, \sigma)$$
$$f$$
$$= {200000} \cdot {0.0667}={1334}$$
$$f$$
$$(s, \sigma)$$
$$= {R} \cdot$$
$$ \sigma'$$
No nosso exemplo anterior, uma stake pool estaria limitada a receber no máximo
$${z_0}$$
= Ponto de saturação
200 mil ADAs
$$ \sigma = 0.01 $$
$$f$$
$$(s, \sigma)$$
$$= {R} \cdot$$
$$ \sigma'$$
$$(s, \sigma)$$
$$f$$
$$= {200000} \cdot {0.00667}={1334}$$
O objetivo do pledge é proteger a rede de um ataque Sybil
No entando, ainda não estamos considerando como o pledge influencia no cálculo de recompensas
fornecendo recompensas maiores para os operadores que se comprometem e delegam suas próprias moedas para a stake pool e desincentivando a criação várias pools com participação baixa
$${a_0}$$
como o fator de influência do pledge, atualmente definido como
$${a_0}$$
O protocolo Ouroboros implementa o parâmetro
$${a_0} = {0.3}$$
Escrevendo a função do cálculo de recompensas incluindo o fator de influência do pledge e o pledge relativo da stake pool
Vamos ignorar o ponto de saturação por enquanto para tentar manter a simplicidade
$$f$$
$$(s, \sigma)$$
$$= \frac{R}{1 + a_0} \cdot \left( \sigma + s \cdot a_0 \right)$$
$${a_0}$$
As últimas modificações que precisamos fazer na fórmula são referentes ao ponto de saturação, que também precisa ser incluído no cálculo
$${z_0}$$
$${s}$$
$${s'}$$
multiplicando mais um termo para chegar finalmente à forma final da função de recompensa
Limitamos o pledge ao ponto de saturação da mesma forma que fizemos com a participação total
$${s}$$
$${s'}$$
$$f$$
$$(s, \sigma)$$
$$= \frac{R}{1 + a_0} \cdot \left( \sigma' + s' \cdot a_0 \cdot \frac{\sigma' - s' \frac{z_0 - \sigma'}{z_0}}{z_0} \right)$$
Note que se o fator de influência de pledge é nulo
$$f$$
$$(s, \sigma)$$
$$= \frac{R}{1 + a_0} \cdot \left( \sigma' + s' \cdot a_0 \cdot \frac{\sigma' - s' \frac{z_0 - \sigma'}{z_0}}{z_0} \right)$$
$${a_0}=0$$
temos novamente a forma reduzida
$$f$$
$$(s, \sigma)$$
$$= {R} \cdot$$
$$ \sigma'$$
Uma vez que as recompensas de uma stake pool são calculadas com função descrita, o valor obtido é ajustado por um fator de desempenho que pondera as recompensas em relação à quantidade de blocos produzidos
β
σ
Blocos Produzidos
21600
representando uma fração na forma de
Esse fator é calculado por
fração de blocos produzidos pela pool numa época
β
σ
Blocos Produzidos
21600
a fração de participação relativa controlada pela pool
β
σ
Esse fator é calculado por
São frações que devem obter o mesmo o mesmo valor ao longo do tempo
β
σ
de forma que a fração de blocos gerados seja proporcional à participação controlada
β
σ
Como o sorteio de slots para definir as entidades que produzirão blocos funciona como uma loteria, às vezes uma pool pode produzir mais ou menos blocos que o esperado
mas na média o fator de desempenho deve ser igual a 1 para pools com desempenho ideal
mas na média o fator de desempenho deve ser igual a 1 para pools com desempenho ideal
Como o sorteio de slots para definir as entidades que produzirão blocos funciona como uma loteria, às vezes uma pool pode produzir mais ou menos blocos que o esperado
Existe sim uma diferença na recompensa por gerar mais ou menos blocos, mas não existe um valor fixo de recompensas como nas outras redes
No longo prazo, a recompensa é proporcional à participação controlada pela stake pool
Existe sim uma diferença na recompensa por gerar mais ou menos blocos, mas não existe um valor fixo de recompensas como nas outras redes
No longo prazo, a recompensa é proporcional à participação controlada pela stake pool
feito por
By EveryBlock Studio
O mecanismo de recompensas é um dos componentes mais importantes da segurança do protocolo Ouroboros, tendo sido desenvolvido através de extensa pesquisa científica. Redes como Bitcoin e Ethereum pagam recompensas fixas por bloco produzido, porém, diferente de outras blockchains, na Cardano a distribuição de recompensas não é fixa por bloco, o que leva os mais curiosos a se perguntarem: quanto a Cardano paga de recompensa?
A Brazilian startup exploring interactive media through smart contracts on Cardano blockchain.