O que são Algoritmos de Consenso? » Forex Digital

O que são Algoritmos de Consenso?

O que é um Algoritmo de Consenso?

Algoritmos de consenso são mecanismos que permitem que usuários ou máquinas coordenem em um ambiente distribuído. Ele deve assegurar que todos os membros de um sistema possam concordar em uma única fonte de verdade, mesmo que alguns dos membros falhem. Aliás, o sistema deve ser tolerante a falhas.

Em uma configuração centralizada, uma entidade única, tem poder sobre o sistema. Na maioria dos casos, ela pode fazer as mudanças que quiser — não há um sistema de governança complexo para obter consenso entre vários administradores.

Em uma configuração descentralizada, é bastante diferente. Digamos que estamos trabalhando com um banco de dados distribuído — como concordamos em quais entradas são adicionadas?

Superar este desafio em um ambiente onde estranhos não confiam uns nos outros foi talvez o desenvolvimento mais importante que preparou o caminho para as cadeias de blocos. Neste artigo, veremos como os algoritmos de consenso são vitais para o funcionamento das Criptomoedas e dos ledgers distribuídos.

Algoritmos de Consenso e Criptomoedas

Nas Criptomoedas, os saldos dos usuários são registrados em um banco de dados — a cadeia de blocos (Blockchain). É essencial que todos os usuários (nodes/nós) mantenham uma cópia idêntica do banco de dados. Caso contrário, haveria informações conflitantes, prejudicando todo o propósito de uma rede de Criptomoedas.

A criptografia de chave pública garante que os usuários não possam gastar as moedas dos outros. Mas ainda requer uma única fonte de verdade em que os participantes da rede confiem, a fim de poder determinar se os fundos já foram gastos ou não.

Satoshi Nakamoto, o criador do Bitcoin, propôs um sistema de Prova de Trabalho (Proof of Work) para coordenar os participantes. Identificaremos algumas das características comuns dos vários algoritmos de consenso que existem.

Primeiro, exigimos que os usuários que desejam adicionar blocos (vamos chamá-los de validadores) forneçam uma participação.

O stake é um tipo de valor que o validador deve fornecer, o que os desencoraja de agir de forma desonesta. Se eles fizerem uma trapassa, perderão seu valor de participação. Exemplos stake incluem poder de computação, Criptomoedas, ou mesmo reputação.

Por que eles arriscariam seus próprios recursos? Além disso, há uma recompensa disponível. Normalmente, a recompensa é a moeda digital nativa do protocolo e é composta de taxas pagas por outros usuários, novas unidades de moeda digital geradas, ou ambas. O último item necessário é a transparência.

Precisamos conseguir detectar quando um usuário está enganando. Idealmente, a produção em bloco deveria ser cara, mas a validação por qualquer usuário deveria ser barata. Isto assegura que os validadores sejam constantemente verificados por usuários regulares.

Tipos de Algoritmos de Consenso

Prova de Trabalho (PoW)

Prova de Trabalho (Proof of Work – PoW) é o padrinho dos algoritmos de consenso na tecnologia de cadeias de blocos. Foi executado pela primeira vez no Bitcoin (BTC), mas o conceito já existe há algum tempo. Em Prova de Trabalho, os validadores (conhecidos como mineiros) têm os dados que desejam adicionar, até produzir uma solução válida específica.

Um hash é uma sequência aparentemente aleatória de letras e números criados quando você submete dados através de uma função de hash. Entretanto, se você submeter os mesmos dados novamente, você sempre terá a mesma saída. Mas se você alterar apenas um detalhe, seu hash resultante será completamente diferente.

Ao olhar para a saída, você não pode dizer quais informações foram inseridas na função. Portanto, é possível provar que você teve conhecimento de um dado ou informação antes de um determinado momento. Você pode fornecer a alguém um hash, e quando você revelar os dados mais tarde, essa pessoa pode submetê-los através da função para confirmar que a saída será a mesma.

Em Prova de Trabalho, o protocolo estabelece condições sobre o que torna um bloco válido. Por exemplo, pode haver uma condição que diga que somente um bloco cujo hash começa com 00 será válido. A única maneira de o mineiro criar um bloco que corresponda a esta condição, é tentar várias entradas. Eles podem ajustar parâmetros em seus dados para produzir um resultado diferente a cada vez, até obterem o hash certo.

Nas principais cadeias de blocos, o nível de dificuldade é incrivelmente alto. Para competir com outros mineiros, seria necessário um galpão cheio de hardware de hashing especializado (ASICs) para ter uma chance de produzir um bloco válido.

Quando você está minerando, seu interesse é o custo das máquinas e a eletricidade necessária para operá-las. Os ASICs (circuitos integrados de aplicação específica) são construídos para um propósito, portanto não têm outro uso que não seja a mineração de Criptomoedas. Sua única maneira de recuperar seu investimento inicial é a mineração, que proporciona uma recompensa significativa se você acrescentar com sucesso um novo bloco à cadeia de blocos.

Averiguar se você realmente criou um bloco válido é um processo simples para a rede. Mesmo que você tenha tentado trilhões de combinações para obter o hash correto, elas só precisam enviar seus dados através da função uma única vez. Se seus dados produzir um hash válido, ele será aceite e você receberá uma recompensa. Do contrário, a rede rejeitará o hash e você terá desperdiçado eletricidade e tempo.

Proof of Stake (PoS)

Proof of Stake (PoS) foi proposto nos primeiros dias do Bitcoin como uma alternativa ao Proof of Work. Em um sistema de PoS, não há conceitos de mineiros, não há hardware especializado e não há necessidade de grande consumo de energia. Um computador comum será suficiente. Bem, na verdade, isso não é tudo. Ainda é necessário um certo esforço.

 

No PoS, você não fornece um recurso externo (como eletricidade ou hardware), mas um recurso interno — moeda cripto. As regras variam dependendo do protocolo, mas geralmente você precisa manter uma quantidade mínima de fundos para se qualificar para o staking.

A partir daí, você tranca seus fundos em uma carteira (eles não podem ser movimentados enquanto você estiver fazendo staking). Normalmente, há um consenso entre os validadores sobre quais transações serão inseridas no próximo bloco. Em certo sentido, você faz uma aposta em qual bloco será selecionado. O protocolo irá escolher um dos blocos candidatos.

Se seu bloco for selecionado, você receberá uma proporção das taxas da transação, dependendo do valor de sua participação. Quanto mais fundos você tiver bloqueados, mais recompensas receberá. Mas se você tentar trapacear propondo transações inválidas, perderá parte (ou a totalidade) de seu valor de participação. Portanto, temos um mecanismo semelhante ao PoW — agir honestamente é mais lucrativo do que agir desonestamente.

Geralmente, nenhuma moeda digital nova é criada como recompensa para os validadores. Portanto, a moeda nativa da cadeia de blocos deve ser emitida de outra forma. Isto pode ser feito através de uma distribuição inicial (isto é, uma ICO ou IEO) ou através do lançamento do protocolo como PoW e depois da transição para o sistema PoS.

Até agora, a prova pura de participação só foi realmente implantada em Criptomoedas menores. Ainda, não está claro se ela pode servir como uma alternativa viável à PoW. Embora pareça em teoria pareça correto, na prática, é muito diferente.

Uma vez que a PoS é implantada em uma rede com grandes quantidades de valor, o sistema se torna um campo de jogo de teoria de jogos e incentivos financeiros. Qualquer pessoa com o know-how para “invadir” um sistema de PoS provavelmente não o faria se não pudesse lucrar com ele — portanto, a única maneira de descobrir se é um sistema viável é avaliar uma rede funcional, na prática.

Logo veremos o PoS sendo testado em grande escala — Casper será implementado como parte de uma série de atualizações da rede Ethereum (coletivamente conhecida como Ethereum 2.0).

Outros Algoritmos de Consenso

Prova de Trabalho (Proof of Work) e Proof of Stake são os algoritmos de consenso mais amplamente discutidos. Mas há uma grande variedade de outros, todos com suas próprias vantagens e desvantagens.

Conclusão

Os mecanismos para se chegar a um consenso são vitais para a operação de sistemas distribuídos. Muitos acreditam que a maior inovação do Bitcoin foi o uso do Proof of Work para permitir que os usuários concordassem em um conjunto de fatos compartilhados.

Hoje, os algoritmos de consenso sustentam não apenas os sistemas de dinheiro digital, mas as cadeias de blocos, permitindo aos desenvolvedores executar código em uma rede distribuída. Eles representam agora, a pedra angular da tecnologia de cadeias de blocos e são críticos para a viabilidade a longo prazo das várias redes já existentes.

De todos os algoritmos de consenso, a Prova de Trabalho permanece dominante. Uma alternativa mais confiável e segura ainda tem que ser proposta. Há muita pesquisa relacionada ao desenvolvimento de substitutos para a PoW e provavelmente veremos mais propostas nos próximos anos.

Posts Relacionados

2 thoughts on “O que são Algoritmos de Consenso?”

Deixe um comentário

bitcoin
Bitcoin (BTC) $ 42,466.00 4.10%
ethereum
Ethereum (ETH) $ 2,943.40 6.44%
tether
Tether (USDT) $ 1.00 0.16%
binance-coin
Binance Coin (BNB) $ 338.85 4.65%
cardano
Cardano (ADA) $ 2.16 4.76%
xrp
XRP (XRP) $ 0.930719 4.70%
bitcoin-cash
Bitcoin Cash (BCH) $ 491.98 4.04%
litecoin
Litecoin (LTC) $ 146.37 5.19%
binance-usd
Binance USD (BUSD) $ 1.00 0.06%
monero
Monero (XMR) $ 241.55 1.21%
tron
TRON (TRX) $ 0.086765 3.75%
solana
Solana (SOL) $ 136.88 2.80%
polkadot
Polkadot (DOT) $ 27.84 6.63%
usd-coin
USD Coin (USDC) $ 1.00 0.17%
dogecoin
Dogecoin (DOGE) $ 0.20189 3.42%
avalanche-2
Avalanche (AVAX) $ 68.06 1.85%
terra-luna
Terra (LUNA) $ 36.80 0.16%
cosmos
Cosmos (ATOM) $ 37.28 6.53%
chainlink
Chainlink (LINK) $ 23.34 7.31%
algorand
Algorand (ALGO) $ 1.70 7.32%
uniswap
Uniswap (UNI) $ 23.14 8.38%
wrapped-bitcoin
Wrapped Bitcoin (WBTC) $ 42,492.00 4.09%
matic-network
Polygon (MATIC) $ 1.10 5.74%
internet-computer
Internet Computer (ICP) $ 43.33 5.46%
stellar
Stellar (XLM) $ 0.269427 4.82%
filecoin
Filecoin (FIL) $ 58.65 1.11%
ftx-token
FTX Token (FTT) $ 52.07 9.23%
ethereum-classic
Ethereum Classic (ETC) $ 46.01 4.58%
vechain
VeChain (VET) $ 0.088174 6.38%
dai
Dai (DAI) $ 1.00 0.05%
tezos
Tezos (XTZ) $ 6.05 7.47%
compound-ether
cETH (CETH) $ 59.04 6.37%
theta-token
Theta Network (THETA) $ 4.96 5.72%
compound-usd-coin
cUSDC (CUSDC) $ 0.022249 0.06%
elrond-erd-2
Elrond (EGLD) $ 215.05 6.87%
bitcoin-cash-abc-2
Bitcoin Cash ABC (BCHA) $ 243.14 3.91%
pancakeswap-token
PancakeSwap (CAKE) $ 18.53 4.68%
ecash
eCash (XEC) $ 0.000234 3.42%
cdai
cDAI (CDAI) $ 0.0217 0.00%
quant-network
Quant (QNT) $ 297.65 1.73%
crypto-com-chain
Crypto.com Coin (CRO) $ 0.154689 4.57%
eos
EOS (EOS) $ 3.86 5.52%
axie-infinity
Axie Infinity (AXS) $ 64.12 3.35%
staked-ether
Lido Staked Ether (STETH) $ 2,923.52 6.13%
aave
Aave (AAVE) $ 275.09 9.57%
shiba-inu
Shiba Inu (SHIB) $ 0.000007 2.49%
near
Near (NEAR) $ 7.03 8.19%
okb
OKB (OKB) $ 14.80 13.80%
hedera-hashgraph
Hedera Hashgraph (HBAR) $ 0.324275 7.39%
iota
IOTA (MIOTA) $ 1.14 6.24%
the-graph
The Graph (GRT) $ 0.669987 3.07%
fantom
Fantom (FTM) $ 1.31 6.96%
kusama
Kusama (KSM) $ 320.05 4.37%
neo
NEO (NEO) $ 37.74 5.19%
leo-token
LEO Token (LEO) $ 2.74 2.94%
klay-token
Klaytn (KLAY) $ 1.09 1.42%
terrausd
TerraUSD (UST) $ 1.00 0.24%
bitcoin-sv
Bitcoin SV (BSV) $ 127.25 3.09%
waves
Waves (WAVES) $ 23.01 5.82%
arweave
Arweave (AR) $ 41.15 10.78%
amp-token
Amp (AMP) $ 0.043989 5.21%
bittorrent-2
BitTorrent (BTT) $ 0.003131 4.45%
celo
Celo (CELO) $ 6.15 8.48%
celsius-degree-token
Celsius Network (CEL) $ 5.03 2.08%
maker
Maker (MKR) $ 2,339.11 1.23%
thorchain
THORChain (RUNE) $ 7.04 5.90%
compound-governance-token
Compound (COMP) $ 338.89 5.93%
sushi
Sushi (SUSHI) $ 10.22 11.51%
havven
Synthetix Network Token (SNX) $ 9.98 9.42%
dash
Dash (DASH) $ 157.67 5.34%
huobi-btc
Huobi BTC (HBTC) $ 42,487.00 3.98%
helium
Helium (HNT) $ 17.74 3.84%
harmony
Harmony (ONE) $ 0.160187 6.80%
decred
Decred (DCR) $ 108.11 6.46%
xdce-crowd-sale
XDC Network (XDC) $ 0.135861 6.94%
huobi-token
Huobi Token (HT) $ 7.64 3.58%
true-usd
TrueUSD (TUSD) $ 1.00 0.23%
theta-fuel
Theta Fuel (TFUEL) $ 0.265878 4.89%
holotoken
Holo (HOT) $ 0.007874 3.88%
chiliz
Chiliz (CHZ) $ 0.256773 5.03%
iostoken
IOST (IOST) $ 0.056217 6.71%
nem
NEM (XEM) $ 0.143474 5.29%
bitclout
Decentralized Social (DESO) $ 145.57 13.47%
blockstack
Stacks (STX) $ 1.21 5.76%
zcash
Zcash (ZEC) $ 106.45 5.57%
enjincoin
Enjin Coin (ENJ) $ 1.27 6.44%
omisego
OMG Network (OMG) $ 9.51 3.05%
olympus
Olympus (OHM) $ 667.04 10.37%
paxos-standard
Pax Dollar (USDP) $ 1.00 0.18%
ecomi
ECOMI (OMI) $ 0.005369 2.53%
osmosis
Osmosis (OSMO) $ 5.62 6.93%
error: