Usuário(a):AndreXimenes161/Testes
AndreXimenes161/Testes | |
---|---|
O Bitcoin Core é uma implementação do bitcoin. Inicialmente, o software foi publicado por Satoshi Nakamoto sob o nome "Bitcoin", e depois renomeado para "Bitcoin Core" para distingui-lo da rede Bitcoin.[1] Por esta razão, também é conhecido como o Cliente Satoshi.[2] A partir de 2018, os repositórios do Bitcoin Core são mantidos por uma equipe de mantenedores, com Wladimir J. van der Laan liderando o processo de lançamento.[3]
A Iniciativa de Moeda Digital do MIT financia parte do desenvolvimento do Bitcoin Core.[4] O projeto também mantém a biblioteca de criptografia libsecp256k1.[5]
Características
[editar | editar código-fonte]O Bitcoin Core inclui um mecanismo de verificação de transação e se conecta à rede bitcoin como um nó completo.[6] Além disso, uma carteira de criptomoeda, que pode ser usada para transferir fundos, é incluída por padrão.[7] A carteira permite o envio e recebimento de bitcoins. Não facilita a compra ou venda de bitcoin. Ele permite que os usuários gerem QR codes para receber pagamento.
O software valida todo o blockchain, que inclui todas as transações bitcoin de todos os tempos. Esta lista distribuído, que atingiu mais de 155 gigabytes de tamanho, deve ser baixada ou sincronizada antes que ocorra a participação total do cliente.[8] Embora o blockchain completo não seja necessário de uma só vez, uma vez que é possível executar no modo de remoção. Um daemon baseado em linha de comando com uma interface JSON-RPC, é empacotado com o Bitcoin Core. Ele também fornece acesso ao "testnet", um ambiente de teste global que imita a rede principal do bitcoin usando uma blockchain alternativa, na qual são usados "bitcoins de teste" sem valor. "Regtest" ou "Regression Test Mode" cria um blockchain privado que é usado como um ambiente de teste local.[9] Finalmente, o cliente bitcoin, um programa simples que permite aos usuários enviar comandos RPC para bitcoind, também está incluído.
Os pontos de verificação que foram codificados no cliente são usados apenas para impedir ataques de negação de serviço contra nós que estão inicialmente sincronizando a cadeia. Por esta razão, os pontos de verificação incluídos são apenas a partir de vários anos atrás.[10][11] Um limite de tamanho de bloco de um megabyte foi adicionado em 2010 por Satoshi Nakamoto. Isso limitou a capacidade máxima da rede a cerca de três transações por segundo.[12] Desde então, a capacidade da rede foi melhorada de forma incremental, tanto através de aumentos de tamanho de bloco quanto de melhor comportamento da carteira. Um sistema de alerta de rede foi incluído por Satoshi Nakamoto como forma de informar os usuários sobre notícias importantes sobre o bitcoin[13] Em novembro de 2016, foi aposentado. Tornou-se obsoleto porque as notícias sobre o bitcoin são agora amplamente divulgadas.
O Bitcoin Core inclui uma linguagem de script inspirada em Forth que pode definir transações e especificar parâmetros.[14] "ScriptPubKey" é usado para "bloquear" transações com base em um conjunto de condições futuras. O "scriptSig" é usado para atender a essas condições ou "desbloquear" uma transação. As operações nos dados são executadas por vários 'OP_Codes". Duas pilhas são usadas: "main" e "alt". Laço de repetição é proibido.
Desenvolvimento
[editar | editar código-fonte]O criador original do cliente bitcoin descreveu sua abordagem à autoria do software como sendo escrita primeiro para provar a si mesma que o conceito de dinheiro eletrônico puramente ponto a ponto era válido e que um papel com soluções poderia ser escrito.[15] Enquanto a maioria dos pares na rede pode usar o Bitcoin Core, a influência dos desenvolvedores sobre o bitcoin é limitada pela escolha de qual implementação as pessoas voluntariamente decidem usar.[16] O principal desenvolvedor é Wladimir J. van der Laan, que assumiu o cargo em 8 de abril de 2014.[17] Gavin Andresen foi o antigo responsável pela manutenção do cliente de software. Andresen deixou o cargo de desenvolvedor líder de bitcoin para trabalhar no desenvolvimento estratégico de sua tecnologia.[18] Ele foi embora porque não queria se envolver com decisões triviais.
O código foi originalmente armazenado no Sourceforge antes de estar disponível no GitHub.[19] Como não há estrutura formal, o desenvolvimento é baseado em Propostas de Melhoria de Bitcoin ou BIPs, que são semelhantes a Solicitação de Comentários. Listas de discussão públicas são usadas para examinar expressões iniciais de idéias.[20] Se houver suporte suficiente, um documento BIP será gravado. Este é o padrão para compartilhar idéias e obter feedback da comunidade sobre a melhoria do bitcoin e foi iniciado por Amir Taaki em 2011.
Histórico da versão
[editar | editar código-fonte]Bitcoin 0.1 foi lançado em 09 de janeiro de 2009 por Satoshi Nakamoto com apenas o Windows suportado.[21] Isto foi seguido por algumas pequenas versões de correção de bugs. Em 16 de dezembro de 2009, o Bitcoin 0.2 foi lançado. Ele incluiu uma versão Linux pela primeira vez e fez uso de processadores multi-core para mineração.[22] Na versão 0.3.2, Nakamoto incluiu pontos de verificação como uma salvaguarda. Após o lançamento da versão 0.3.9, Satoshi Nakamoto deixou o projeto[23] e logo depois parou de se comunicar em fóruns online. Por esta altura, o desenvolvimento do software estava sendo realizado por um amplo grupo de desenvolvedores independentes, que é referido como uma comunidade, muitos dos quais tinham várias ideias de como melhorar o bitcoin.[24]
Entre 2011 e 2013, novas versões do software foram lançadas no Bitcoin.org.[25] Os desenvolvedores queriam se diferenciar como criadores de software em vez de defensores do bitcoin e agora manter o bitcoincore.org apenas para o software.
Bitcoin-Qt versão 0.5.0 foi lançado em 1 de novembro de 2011. Ele introduziu um front-end que usa o kit de ferramentas de interface do usuário Qt.[26] O software usava anteriormente o Berkeley DB para gerenciamento de banco de dados. Os desenvolvedores mudaram para o LevelDB no release 0.8 para reduzir o tempo de sincronização do blockchain.[27] A atualização para este lançamento resultou em um fork blockchain menor no 11 de março de 2013. O fork foi resolvido logo em seguida.[28] Os nós de propagação através do IRC foram descontinuados na versão 0.8.2. Nesta liberação, as taxas de transação, também conhecidas como taxas de revezamento, foram reduzidas de 50.000 satoshis para 10.000 satoshis.[29] A partir da versão 0.9.0 o software foi renomeado para Bitcoin Core. As taxas de transação foram reduzidas novamente por um fator de dez, como forma de incentivar as microtransações.[30] Embora o Bitcoin Core não use o OpenSSL para a operação da rede, o software utilizou o OpenSSL para chamadas de procedimento remoto. A versão 0.9.1 foi lançada para remover a vulnerabilidade da rede ao bug "Heartbleed".[31]
A versão 0.10 foi divulgada em 16 de fevereiro de 2015.[32] Introduziu uma biblioteca de consenso que deu aos programadores acesso fácil às regras que governam o consenso na rede. Na versão 0.11.2, os desenvolvedores adicionaram um novo recurso que permitia que as transações ficassem inoperantes até uma hora específica no futuro.[33] Bitcoin Core 0.12.1 was released on April 15, 2016 and enabled multiple soft forks to occur concurrently.[34] Cerca de 100 colaboradores trabalharam no Bitcoin Core 0.13.0 que foi lançado em 23 de agosto de 2016. Ele introduziu mais de dez mudanças significativas.
Em julho de 2016, o garfo flexível CheckSequenceVerify foi ativado.[35]
Em outubro de 2016, a versão 0.13.1 do Bitcoin Core apresentava o soft fork "Segwit", que incluía uma melhoria de dimensionamento com o objetivo de otimizar o blockize de bitcoin.[36] TO patch que foi originalmente finalizado em abril, e 35 desenvolvedores foram contratados para implantá-lo.[37] Este lançamento incluiu o Segregated Witness (SegWit), que teve como objetivo exercer pressão sobre as taxas de transação, bem como aumentar a capacidade máxima de transação da rede.[38] A versão 0.13.1 foi submetida a extensos testes e pesquisas, levando a alguns atrasos em sua data de lançamento.[39] O SegWit impede várias formas de maleabilidade das transações. O SegWit foi ativado por mineradores em 24 de agosto de 2017, no bloco 481.824.[40]
Lançada em fevereiro de 2018, a versão 0.16.0 suporta testemunhas segregadas como o formato de endereço nativo, também chamado de endereços bech32, que foram originalmente desenvolvidos por Peter Wuille e Greg Maxwell.[41]
Propostas de melhoria de Bitcoin
[editar | editar código-fonte]Uma Proposta de Melhoria de Bitcoin (BIP) é um documento de design, tipicamente descrevendo um novo recurso para Bitcoin com uma especificação técnica concisa do recurso e a justificativa para isso. Isso é muito semelhante ao modo como a Internet "Request for Comments" (RFCs) e "Python Enhancement Proposals" (PEPs) da linguagem de computador Python são usados.
O processo em si é documentado no BIP 2 e o BIP 123 fornece uma categorização.[42]
- 2 Processo BIP, revisado
- BIP 2 especifica o processo BIP. Os números do BIP são concedidos liberalmente. A partir de fevereiro de 2017, foram atribuídos 152 números BIP, mas apenas 27 BIPs atingiram os estágios ativo / final.
- 9 Bits de versão com tempo limite e atraso
- O BIP especifica uma máquina de estados para determinar o consenso de 95% de garfos moles. Houve um garfo flexível do BIP 9 com sucesso, e um deles, a partir de 2017, está aberto para votação.[43]
- 16 Pague ao hash de script
- Permite que as transações sejam enviadas para um hash de script (endereço iniciando com 3) em vez de um hash de chave pública (endereços que começam com 1). Para gastar bitcoins enviados via P2SH, o destinatário deve fornecer um script correspondente ao hash do script e dados que fazem com que o script seja avaliado como verdadeiro. O destinatário pode precisar das assinaturas de várias pessoas para gastar esses bitcoins, ou uma senha pode ser necessária ou os requisitos podem ser completamente exclusivos.
- 32 Define carteiras HD
- Essas carteiras HD ('Hierárquico Determinístico') podem ser compartilhadas parcial ou totalmente com diferentes sistemas.[44]
- 39 Código mnemônico ou sentenças
- Para a geração de carteiras determinísticas.[45]
- 43 Adiciona um "campo de propósito" para uso de carteiras HD
- Determinar a estrutura adicional; por exemplo, o esquema descrito no BIP44 deve usar o valor 44 'como o "propósito".[46]
- 44 Hierarquia lógica para carteiras determinísticas
- com base no algoritmo descrito no BIP32 e no esquema de "finalidade" descrito no BIP43.[47]
- 65 "CHECKLOCKTIMEVERIFY"
- O CLTV permite que uma saída de transação seja inoperante até algum ponto específico no futuro.[48]
- 112 "CHECKSEQUENCEVERIFY"
- O CSV permite fazer um endereço (começando com 3) que não pode gastar o bitcoin recebido, por um período de tempo especificado após o recebimento. Pode-se ter um endereço de 2-de-3 multisig, que atinge a regra de backup, a menos que haja 2-de-3 consenso.
- 141, 143, 144
- Ver SegWit
- 152 Blocos compactos
- Mesclado em 22 de junho de 2016, o Compact Blocks permite uma propagação de bloco mais rápida e foi usado em 97% dos nós em novembro de 2017. Para obter mais detalhes, consulte Greg Maxwell: Advances in Block Propagation.
Veja também
[editar | editar código-fonte]References
[editar | editar código-fonte]- ↑ «Bitcoin Core version 0.9.0 released». bitcoin.org (em inglês). Consultado em 13 de julho de 2018
- ↑ Antonopoulos, Andreas M. (3 de dezembro de 2014). Mastering Bitcoin: Unlocking Digital Cryptocurrencies (em inglês). [S.l.]: "O'Reilly Media, Inc.". ISBN 9781491902646
- ↑ «0.13.0 Binary Safety Warning». bitcoin.org (em inglês). Consultado em 13 de julho de 2018
- ↑ Lab, MIT Media (22 de abril de 2015). «Welcome to the MIT Media Lab, Gavin, Wlad and Cory». MIT Media Lab Digital Currency Initiative. Consultado em 13 de julho de 2018
- ↑ «About». Bitcoin Core (em inglês)
- ↑ «Developer Examples - Bitcoin». bitcoin.org (em inglês). Consultado em 13 de julho de 2018
- ↑ «bitcoin/bitcoin». GitHub (em inglês). Consultado em 13 de julho de 2018
- ↑ «bitcoin/bitcoin». GitHub (em inglês). Consultado em 13 de julho de 2018
- ↑ Orcutt, Mike. «Bitcoin's Community Faces a Tough Decision about the Network's Future». MIT Technology Review (em inglês)
- ↑ «Alert System Retirement». bitcoin.org (em inglês). Consultado em 13 de julho de 2018
- ↑ Antonopoulos, Andreas (29 de maio de 2013). «Bitcoin is a money platform with many APIs». O'Reilly Radar (em inglês)
- ↑ «Satoshi Nakamoto Institute». satoshi.nakamotoinstitute.org. Consultado em 13 de julho de 2018
- ↑ Wirdum, Aaron van. «A Primer on Bitcoin Governance, or Why Developers Aren't in Charge of the Protocol». Bitcoin Magazine (em inglês). Consultado em 13 de julho de 2018
- ↑ Preukschat, Alex (2015). Bitcoin: The Hunt of Satoshi Nakamoto. Europe: [s.n.]
- ↑ «Gregory Maxwell: How I Went From Bitcoin Skeptic to Core Developer». CoinDesk (em inglês). 29 de dezembro de 2014
- ↑ «Bitcoin Core is Seeking to Overhaul How it Upgrades its Code - CoinDesk». CoinDesk (em inglês). 14 de maio de 2016
- ↑ «History of Cryptocurrency, Part I: From Bitcoin's Inception to the Crypto-Boom». Cointelegraph (em inglês). 11 de abril de 2015
- ↑ «About bitcoin.org». bitcoin.org (em inglês). Consultado em 13 de julho de 2018
- ↑ «Bitcoin-Qt version 0.5.0 released». bitcoin.org (em inglês). Consultado em 13 de julho de 2018
- ↑ Buterin, Vitalik. «Bitcoin Network Shaken by Blockchain Fork». Bitcoin Magazine (em inglês). Consultado em 13 de julho de 2018
- ↑ «Bitcoin Transaction Fees To Be Slashed Tenfold». CoinDesk (em inglês). 28 de fevereiro de 2014
- ↑ «OpenSSL Heartbleed Security Bug "Massive"». CCN (em inglês). 8 de abril de 2014
- ↑ «Bitcoin Core 0.10 Gives Developers Simplified Access to Network Consensus». CoinDesk (em inglês). 17 de fevereiro de 2015
- ↑ «Bitcoin Core version 0.11.2 released». bitcoin.org (em inglês). Consultado em 13 de julho de 2018
- ↑ «Bitcoin Core 0.12.1 Released, Major Step Forward for Scalability». NASDAQ.com (em inglês). 15 de abril de 2016
- ↑ Wirdum, Aaron van. «What's New in Bitcoin Core 0.13.0?». Bitcoin Magazine (em inglês). Consultado em 13 de julho de 2018
- ↑ «CheckSequenceVerify: What Is It? And Why Is It Important To Bitcoin?». Coinjournal (em inglês). 25 de julho de 2016
- ↑ «Ready, Steady, Fork: Bitcoin Core to Release SegWit in November». Cointelegraph (em inglês). 18 de outubro de 2016
- ↑ «Bitcoin scaling solution, Segwit, released » Brave New Coin». Bravenewcoin (em inglês). 29 de outubro de 2016
- ↑ «Bitcoin Core 0.13.1». Bitcoin Core (em inglês)
- ↑ «Bitcoin Core is Most Talented Dev Team, Says VC». Cointelegraph (em inglês). 3 de novembro de 2016
- ↑ «Segregated Witness Benefits». Bitcoin Core (em inglês)
- ↑ «Segwit Activated: How it Works & What's Next for Bitcoin - Bitcoinist.com». Bitcoinist.com (em inglês). 25 de agosto de 2017
- ↑ «New Bitcoin Code Will Finally Boast Full SegWit Support - CoinDesk». CoinDesk (em inglês). 20 de fevereiro de 2018
- ↑ «bitcoin/bips». GitHub (em inglês). Consultado em 13 de julho de 2018
- ↑ «bitcoin/bips». GitHub (em inglês). Consultado em 13 de julho de 2018
- ↑ «Bitcoin scaling solution, Segwit, released » Brave New Coin». Bravenewcoin (em inglês). 29 de outubro de 2016
- ↑ «Bitcoin Core 0.13.1». Bitcoin Core (em inglês)
- ↑ «Bitcoin Core is Most Talented Dev Team, Says VC». Cointelegraph (em inglês). 3 de novembro de 2016
- ↑ «Segwit Activated: How it Works & What's Next for Bitcoin - Bitcoinist.com». 10 de outubro de 2017. Consultado em 13 de julho de 2018
- ↑ «bitcoin/bips». GitHub (em inglês). Consultado em 13 de julho de 2018
- ↑ «Compact Blocks FAQ». Bitcoin Core (em inglês)
- ↑ https://github.com/bitcoin/bips/blob/master/bip-0009/assignments.mediawiki
- ↑ [1]
- ↑ [2]
- ↑ [3]
- ↑ [4]
- ↑ https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
External links
[editar | editar código-fonte]- Sítio oficial
- Bitcoin Core de Bitcoin Wiki
- Node count and statistics
Categoria:Bitcoin Categoria:Software livre programado em C++ Categoria:Software usando a licença MIT Categoria:Criptomoedas Categoria:Moedas Categoria:Computação Categoria:Economia