Leitura:
Bitcoin-NG: A Scalable Blockchain Protocol
The Segregated Witness Concept: A ‘Turning Point’ for Bitcoin?
Segregated Witness, Part 1: How a Clever Hack Could Significantly Increase Bitcoin's Potential
Segregated Witness is cool
On Scaling Decentralized Blockchains (A Position Paper)
The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments
Audiovisual:
SF Bitcoin Devs Seminar: Scaling Bitcoin to Billions of Transactions Per Day
Pieter Wuille: Segregated witness and its impact on scalability
The Way Forward - Bitcoin's scalability and governance (February 2016)
SF Bitcoin Devs Seminar: Blockchain Scalabilty with Peter Todd
Bitcoin Problems - Computerphile
Com toda a propaganda positiva circulando o Bitcoin, fica difícil imaginar que atualmente a comunidade está passando por um processo crise. Uma rápida olhada no subreddit do bitcoin (/r/btc e /r/Bitcoin) mostra um pouco da opinião sobre a situação da tecnologia, principalmente quanto ao tamanho dos blocos:
ResponderExcluirhttps://www.reddit.com/r/btc/comments/4ksymz/no_progress_in_months/
https://www.reddit.com/r/btc/comments/4ksukw/insanity_reached_a_new_all_time_high_thank_you/
https://www.reddit.com/r/btc/comments/4k5k80/core_has_solved_the_scalability_issue/
https://www.reddit.com/r/btc/comments/48mmlm/bitcoin_will_fail_if_blocks_are_full/
https://www.reddit.com/r/Bitcoin/comments/3rlzqd/and_the_blocks_are_full/
Os problemas de escalabilidade já são uma realidade e é esperado que, caso o tamanho do bloco seja mantido, em algum ponto desse ano o Bitcoin terá todos os seus blocos cheios. Usuários já criaram ferramentas para observar a taxa de blocos cheios em tempo real (http://fullblocks.github.io/index.html) e esse valor não tem diminuído. Aumentar o tamanho dos blocos não parece ser uma solução unânime, pois pode acabar centralizando a rede (o que vai contra os princípios do Bitcoin). Contudo, o tamanho atual de bloco já não está mais sendo suficiente e essa estagnação está influenciando investidores e mineradores a migrar para outras alternativas, como o Ethereum. Da mesma maneira que o Bitcoin teve de que solucionar o problema de consenso distribuído na rede, agora o mesmo acontece entre os desenvolvedores que não chegam a um acordo sobre o rumo a ser seguido.
Fonte:
[1] http://www.coindesk.com/what-is-the-bitcoin-block-size-debate-and-why-does-it-matter/
Como uma proposta a falta de escalabilidade do bitcoin, foi concebido o dash, um fork do bitcoin que mantém os pontos fortes originais que propões soluções para os pontos fracos das do Bitcoin:
ResponderExcluir1- possui um consenso que possui como decisão maior o voto dos proprietários de uma masternode. Um masternode pode ser hospedado
por qualquer usuario e estes são recompensados por hospedarem masternodes (Proof-of-Service) além da tradicional recompensa por Proof-of-Work.
2- uma rede p2p totalmente descentralizada.
3- Masternodes são muito mais robustos e mais estáveis que um nó bitcoin
4- mantém os pagamentos privados, sem rastreios de moedas (anonimato)
5- transações instantâneas através do Instantx
6- Estudos atuais apontam para uma implementação que promete tornar muito mais fácil o envio de criptomoedas;
Referências:
http://cointelegraph.com/news/dash-aims-to-surpass-bitcoin-and-become-the-future-of-money
https://www.dash.org/
https://www.dashtalk.org/
Lendo o artigo de Poon e Dryja eu achei um parágrafo interessante que comenta que a rede de pagamentos VISA teve uma média de 47 mil transações por segundo durante as férias de 2013, enquanto o bitcoin atualmente suporta menos de 7 transações por segundo, com um limite de 1MB de tamanho de bloco. Supondo que o bitcoin tenha o mesmo volume de transação da VISA e fazendo as contas com 300 bytes por bloco por transação, isso dá 400TB de dados por ano.
ResponderExcluirPortanto, a escabilidade do bitcoin é um problema presente. Se a ideia é que o bitcoin substitua todos os intermediários, fica impossível isso acontecer com a estrutura atual. Ou talvez até acontecesse, mas os nós e mineradores ficariam centralizados naqueles que pudessem lidar com esse tamanho de dados, perdendo a "essência descentralizadora" do bitcoin.
É interessante notar que existem algumas propostas para resolver o problema do tamanho dos blocos do bitcoin e uma delas é a ideia do "segregated witness", que deve ser incorporado ao código do bitcoin por meio de um pull request, que inclusive já foi aberto no repositório para que possa entrar no processo de revisão.
Lightning Network aparentemente parece ser uma solução viável atualmente, porém, para que seja totalmente aceita é preciso antes garantir maleabilidade nas transações em Bitcoin. Já o tão polêmico aumento do tamanho do bloco tem suas limitações já que quanto maior o bloco, maior a centralização do sistema. Surge então alternativas como o Segregated Witness [2] que resolveria o problema da maleabilidade, do tamanho do bloco entre outros.
ResponderExcluirOu seja, cada uma dessas soluções têm uma abordagem e sua maneira diferente de atacar o mesmo problema. Mas quem sabe o melhor modo de solucioná-lo não surja justamente de uma combinação dessas e outras soluções [1] pensadas para o problema de escalabilidade.
Links de curiosidade/aprofundamento:
[1] https://www.coingecko.com/buzz/six-possible-solutions-for-bitcoin-scalability
[2] https://www.coinbr.net/blog/saiba-mais-sobre-o-segwit/
Os vídeos da Computerphile são muito bons, e esse linkado pelo professor não deixa de ser. Esse é conciso e explicativo para quem quer começar a pesquisar sobre os downsides do Bitcoin. Recomendo ver o outro vídeo[1] deles explicando o ponto de vista do prof. Ross Anderson sobre as implicações do Bitcoin no mundo criminal.
ResponderExcluirBitcoin precisa de diversas mudanças para ser uma alternativa ideal para o modelo que temos hoje. Conforme citaram aqui e o prof. Ruy em aulas passadas, o número de transações por minuto (tempo por transação é alto) e o tamanho da blockchain são empecilhos que dificultam muito o crescimento da tecnologia.
Eu não creio que se consiga uma ampla adoção da criptomoeda como meio principal de troca de dinheiro se não houver aumento no fator trustness. Atualmente, muitos usuários já não tem cópia (completa) da blockchain, como quem usa light clients ou usuários mobile.
Isso influencia no problema de escalabilidade, que já é acentuado pela falta de acesso ao serviço de Internet em países pobres e pela própria taxa limite de transações por segundo. Ainda existe o fator limitante no incentivo a mineração a longo prazo, que deve ser menor com a redução do número de moedas disponíveis a mineradores.
Outra coisa que eu estava discutindo com uns amigos seria a questão de crédito e design foolproof. Para trabalhar com crédito, haveria uma centralização de dados privados, que extingue a questão do anonimato.
E a questão da responsabilidade da carteira ser inteiramente do usuário (o ato de roubar todo o meu dinheiro se eu errar uma vez) não é uma estrutura de design defensivo adequada para alta adoção. Seguradoras impactariam direta e indiretamente (assim como operadoras de crédito) no anonimato de usuários.
Altcoins nos modelos Ripple e Ethereum reparam alguns desses problemas, mas há muitos pontos a serem resolvidos para que Bitcoin-like currencies caiam nas graças do público geral.
[1]https://www.youtube.com/watch?v=ve0HbZ9NHb8
As transações Bitcoin contêm três partes básicas. O remetente, o destinatário e uma assinatura, que prova que o remetente tem o direito de mandar as moedas para o controle do novo proprietário.
ResponderExcluirA assinatura pode ser muito grande, especialmente se envolver vários endereços. No momento essa informação está contida no campo ‘From’ da operação. O Segregated Witness leva um resumo dessas informações e coloca-o na parte ‘coinbase’ da transação. Isso libera uma quantidade significativa de espaço podendo aumentar muito a capacidade da rede (dependendo do tipo de operação que é feita).
O uso de Segregated Witness é muito promissor e pode permitir algumas novas funcionalidades para o blockchain do bitcoin. No entanto, pode introduzir bugs que não foram previstos e afetar gravemente a segurança das transações.
https://youtu.be/fst1IK_mrng?t=2237
Gedson, o uso de "leva" na sentença "O Segregated Witness leva um resumo dessas informações" ficou estranho. Assumo que foi uma tradução livre de "takes", e, nesse caso, ficaria melhor "toma" ou "pega".
ExcluirO problema da escalabilidade do bitcoin deve ser um dos maiores senão o maior de todos os problemas que a moeda enfrenta para que possa realmente se tornar um sistema globalmente utilizado de forma eficiente. Muitos detalhes impedem que o bitcoin seja usado globalmente como foi citado no vídeo do Computerphile pelo professor Ross Anderson. Dentre estes problemas estão o delay das transações, o tamanho da blockchain que leva a outro problema que é a impraticabilidade da tecnologia em países que não tem largo acesso a banda larga. Dito isso eu concordo com o professor Ross Anderson quando ele diz que o bitcoin provavelmente é uma tecnologia extraoridinaria mas que ainda não esta completa, e competidores como a ripple e a Stellar estão ai pra provar que é possível sim melhorar/reinventar vários aspectos da tecnologia e quem sabe em um futuro não tão distante existirá(ou uma destas se tornará) uma tecnologia robusta o suficiente para ser usada globalmente e competir com o sistema de pagamentos que usamos hoje em dia.
ResponderExcluirO bitcoin sofre com o problema da limitação de sua escalabilidade devivo aos protocolos devirados do blockchain.
ResponderExcluirExistem alguns protocolos que tentam solucionar esse problema de escalabilidade, como o protocolo bitcoin-NG (tolerante a falha bizantina e conserva o modelo de confiança do protocolo original).
Os protocolos do blockchain têm um limite de transações que depende do tamanho dos blocos e do intervalo deles. Quanto maior o bloco, maior a vazão de transações, porém ele torna-se "pesado" e as transações dentro dele começam a levar mais tempo (analogamente, como caminhar de uma cidade a outra num estado pequeno e num estado grande).
Já a redução dos intervalos num bloco reduz o tempo de uma transação leva, mas torna erros mais frequentes e traz a necessidade de reorganizações constantes.
Por esses e outros motivos, as transações do bitcoin demoram cerca de 10 minutos para serem confirmadas, diferente de outras formas de pagamento.
Contudo, como já falei acima, existem possíveis soluções para alguns problemas dos protocolos, inclusive a comunidade do bitcoin tem proposições a respeito do aumento do tamanho máximo dos blocos.
Acredito que a escalabilidade é um dos maiores problemas que o bitcoin vai ter que superar para poder continuar crescendo.
Enquanto a utilização de Segregated Witness para resolver o problema de escalabilidade do Bitcoin parece uma ótima solução, principalmente se os competidores são Lightning Network (cuja solução não é tão absoluta), mais alguns comentários que vi sobre ela põe dúvida. No artigo de Gavin, ele parece gostar dela, mas não acha que sua solução pode ser aplicada agora devido ao gargalo atual. Em outro artigo[1], ele mostra ambos os pros e cons dele, mas ele coloca ela não só como necessária mas a melhor solução.
ResponderExcluir[1] - https://bitcoinmagazine.com/articles/on-the-detriments-of-segregated-witness-for-bitcoin-1454948591
No final do vídeo do computerphile, o entrevistado cita vários problemas do bitcoin e todos esses problemas são bem fundamentais, sem soluções aparentes. Ai que me ocorreu, é bem improvável que uma solução mestra resolva todos esses problemas de uma vez. Em computação a gente fala muito de utilizar a ferramenta certa para o problema certo. O que eu sinto com bitcoin é que estávamos tão necessitados de uma solução nesse domínio que acabamos utilizando o mesmo para tudo. No final das contas não é surpresa que possua esses problemas.
ResponderExcluirO que eu gostaria de saber, é se existe um esforço para resolver problemas mais específicos. Por exemplo, pagamentos entre entidades que estão no mesmo espaço físico. Dei uma procurada mas não achei...