Leitura:
Seção "II Overview of Bitcoin" do artigo "SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies"
Bitcoin Developer Guide, seções: Block Chain, Transactions, P2P Network
"Chapter 3: Mechanics of Bitcoin" do livro Draft textbook: Bitcoin and Cryptocurrency Technologies
Audiovisual:
Bitcoin Protocol and Consensus: A High Level Overview
Consensus Algorithms, Blockchain Technology and Bitcoin UCL - by Andreas M. Antonopoulos
Lecture 3 — Mechanics of Bitcoin
O protocolo de funcionamento da rede bitcoin é bastante inteligente, pois os outputs da transação anterior (UTXO) são referenciados como inputs da transação atual. Dessa forma, não há um conceito de "saldo" como acontece nos sistemas bancários, e sim há uma quantidade x de UTXO para serem usados para a próxima transação. Acredito que esse tipo de mecanismo reduz a latência das transações pois se o UTXO não existisse na tabela, cada transação teria que varrer todas as outras para saber o quantos bitcoins o usuário poderia transferir na rede.
ResponderExcluirFiquei um tanto confusa em relação ao "troco", já que nem sempre o valor que o usuário deseja transferir é o valor exato do UTXO. De acordo com que pesquisei o troco acaba gerando várias transações com endereços de troco na rede.
Quando a rede valida transações, considera-se que a chain mais longa é a correta, dado que essa chain é produto da maior parte do poder computacional da rede. No entanto, tal suposição depende da maior parte da rede ser composta de nós honestos, o que pode não acontecer.
ResponderExcluirSuponha que uma corporação consiga ter o monopólio dos nós mineradores, e assim ter o monopólio de validação das transações. Tal corporação teria um poder grande sobre a moeda: lançar um "51% attack" (https://learncryptography.com/cryptocurrency/51-attack), possibilitar "double spending", entre outros: http://bitcoin.stackexchange.com/questions/2329/what-happens-if-a-monopoly-grows-in-bitcoin-mining-and-payment-processing.
O principal impedimento para tal cenário seria a queda do preço do Bitcoin, caso o monopólio fosse descoberto. Com essa queda, a organização responsável seria prejudicada enormemente.
Um exemplo de monopólio na mineração (embora muito breve) ocorreu em 2014: https://motherboard.vice.com/en_us/article/we-can-no-longer-ignore-bitcoins-fatal-flaw.
Do ponto de vista técnico, o registro de uma criptomoeda como o Bitcoin pode ser pensado como um sistema de transição de estado, onde existe um estado consistindo no status de propriedade de todos os bitcoins existentes e uma função de transição de estado, que toma um estado e uma transação, e produz um novo estado que é o resultado.
ResponderExcluirO estado em Bitcoin é a coleção de todas as moedas (saídas de transações não utilizadas, ou UTXO) que foram produzidas e ainda não gastas, cada UTXO possuindo uma denominação e um proprietário (definido por um endereço de 20 bytes que é essencialmente uma chave pública criptográfica). Uma transação contém uma ou mais entradas, cada entrada contendo uma referência a um UTXO existente e uma assinatura criptográfica produzida pela chave privada associada ao endereço do proprietário e uma ou mais saídas, cada saída contendo um novo UTXO para adição ao estado.
Acredito que a blockchain funciona muito bem dentro do bitcoin, porém o método de proof of work não me é muito interessante. É um método que funciona mas tem um custo muito grande atrelado ao seu sucesso, sendo este a energia utilizada para minerar cada transação, além dos supercomputadores que são necessários para realizar a mineração o mais rápido possível. Outro ponto negativo do proof of work é o fato de, diferente da blockchain que é descentralizada, ser centralizado em torno dos que têm o poder de adquirir uma máquina potente o suficiente para concorrer à gorjeta, além do fato de que esses mineradores não precisam estar envolvidos com o bitcoin em si para minerá-lo.
ResponderExcluirA blockchain do bitcoin existe por causa da segurança do "proof of work". Não são duas coisas separadas. O Bitcoin é descentralizado, ainda que alguma tendência para a centralização tem ocorrido devido à concentração de "hash power" por parte de grandes mineradores.
ResponderExcluirComo não é guardado o saldo de cada conta, seria preciso percorrer a blockchain procurando por transações de um certo endereço para saber se ele tem mais que a quantidade de bitcoins que deseja enviar em uma nova transação. Isso seria extremamente ineficiente e no pior caso seria preciso ir até o bloco genesis.
ResponderExcluirPara resolver esse problema, as transações no Bitcoin tem uma lista de inputs (de onde as bitcoins estão vindo) e outputs (de onde as bitcoins estão indo) os inputs são hash pointers para transações passadas na qual as bitcoins foram reivindicadas e os outputs informam quem está recebendo quantas moedas.
Cada transação consome todas as bitcoins das transações que tem como input, e se o nó que está fazendo a transação deseja manter algumas das bitcoins ele deve colocar um output na transação que leva moedas de volta a ele, isso é chamado de “change address”.
Nas transações nais quais a soma dos inputs é menor que a soma dos outputs, as bitcoins restantes podem ser reivindicadas pelo minerador que achar aquele bloco através de uma transação especial chamada de ‘coinbase’ onde a lista de inputs recebe um nullpointer e o valor do output é a block reward somada com todas as gorjetas daquele bloco.
Na minha opinião uma das desvantagens do protocolo é o tempo de espera para confirmação de uma transação. Em compras on-line, onde não é necessária confirmação instantânea, 10 minutos é um tempo aceitável, mas imagine se usássemos bitcoins para pagar a conta de um restaurante, ou as compras em um supermercado...
ResponderExcluirNo entanto, acho que a Bitcoin seria uma ótima alternativa para o rede SWIFT, que demora bem mais do que isso e tem sido alvo de ataques.
ResponderExcluirPelo fato de ser uma rede de nós, onde o poder está descentralizado, o processo de validação de validação de transações e mineração tem a necessidade de ser o mais seguro e acessível para todos os nós. Vários nós devem validar alguma transação, utilizando o conceito de 'proof of work', onde é preciso que o nó resolva um problema matemático complexo, mas simples de verificaçar sua resposta. Isso dificulta que nós "falsos" tenham poder relevante de voto, seja para validar ou invalidar alguma transação.
A validação através de blocos e a utilização da blockchain - acessível para cada nó na rede - são outros fatores que auxiliam na segurança na rede. Por existirem tantas cópias de todas as transações é relativamente simples identificar algum tipo de discrepância relativa a um nó na rede. E como toda transação não pode ser apagada da blockchain, depois de validada, cria-se um histórico de todas as transações já feitas.
A blockchain é uma estrutura de dados pública que armazena todas as transações que já ocorreram. Uma transação só é considerada válida se estiver na blockchain. Por isso, o ponto central do Bitcoin é o estabelecimento de um consenso sobre
ResponderExcluirquais informações devem estar na blockchain. A rede ponto-a-ponto serve para que os usuários recebam e enviem diversos dados, como transações, blocos de transações e informações sobre a blockchain.
O esquema de assinatura digital utilizado pelo Bitcoin é o Algoritmo de Assinatura Digital de Curvas Elípticas. Que se baseia na criptografia de curvas elípticas e alcança bons níveis de segurança com chaves relativamente pequenas.
Yasmine dos Santos(ycps)
A desvantagem do proof-of-work se apresenta em períodos de instabilidade da rede, mais especificamente quando uma alteração no núcleo tem uma lenta adoção pelos nós da rede. Um exemplo foi o incidente em abril de 2013, em que um bloco com um grande número de transações foi minerado e transmitido.
ResponderExcluirComo consequência, nós com versões do Bitcoin 0.8 foram capazes de lidar com esse bloco, mas nós com versões anteriores o rejeitaram, causando um fork inesperado do blockchain. Isso se deu por conta dos nós com a versão 0.8 terem trocado para o LevelDB em vez do BerkeleyDB (até então o mais utilizado). O incidente em abril 2013 causou um fork de 26 blocos, o que causou prejuízo tanto à mineradores quanto à certas transações feitas pela rede.
Concordo com Felipe, acho que o tempo de espera da confirmação do protocolo de proof of work pode comprometer o sistema no futuro e aumentar a prática discutida em sala de aula de pagamento a mais para que a transação seja confirmada o mais rápido possível.Se esse pagamento virar um costume dos usuários de bitcoin os usuários podem não ver mais vantagens em seu uso. A demora da validação das transações também pode ser a principal causa da bitcoin não ser adotada em transações do dia a dia (como comprar um lanche no MacDonalds, por exemplo) onde a validação das transações precisam ser feitas de maneira rápida.
ResponderExcluirO Bitcoin pode ser considerado como um protocolo de transferência de propriedade. É uma garantia de que o "valor" saiu de uma carteira para outra. O protocolo do bitcoin tem trazido inovações ao mercado financeiro de capitais que vão muito além do seu uso como moeda descentralizada. Um exemplo é a remessa internacional que as pessoas precisam pagar um valor x, por exemplo de um país pra outro, e com o bitcoin isso cai para zero. O bit coin é muito importante o se tem a crescer e se tornar cada vez mais ativo no mercado.
ResponderExcluir