Confiando no Blockchain

Osman Gazi Güçlütürk Blocked Desbloquear Seguir Seguindo 26 de dezembro Fonte da imagem: Frank Sonnenberg Online

Nesta história, vou examinar se o Blockchain é realmente sem confiança, como é geralmente afirmado ser. Para uma análise detalhada e passo a passo, você pode conferir aqui .

1. Onde está a confiança localizada no Blockchain?

Antes de prosseguir, precisamos esclarecer o que deve ser entendido pelo termo 'confiança'. No dicionário Cambridge English, confiança é definida como “ acreditar que alguém é bom e honesto e não vai prejudicá-lo, ou que algo é seguro e confiável ”. Essa definição é extremamente ampla e abrange quase tudo, incluindo não apenas a dependência de pessoas. mas também dependência de mecanismos. Neste sentido, todas as transacções, mesmo as transacções executadas em simultâneo, confiam nelas, uma vez que a ideia de que as moedas firmes têm valor baseia-se essencialmente na fiabilidade do governo emissor. Assim, há uma necessidade de restringir essa definição.

Nosso principal problema é que uma parte de uma transação pode não agir de acordo com os termos dessa transação. Portanto, a questão da confiança aqui não é depender de algo ou de alguém em geral, mas de depender de alguém para se comportar como se espera que ele se comporte nos termos de uma transação. Portanto, para os propósitos desta história, definimos confiança como "confiar em alguém ou em algo para se comportar de uma maneira esperada". Juntamente com essa definição, em cenários deterministas em que não há risco de ações inesperadas, não há dúvida de confiança.

Como explicado anteriormente, o mecanismo de fideicomisso no sistema de transações tradicionais funciona da seguinte maneira: em transações em que uma das partes deve cumprir suas obrigações perante a outra parte, a primeira pode preferir usar intermediários em vez de confiar apenas na segunda. Portanto, os intermediários permitem que as partes não confiáveis realizem transações em troca de uma taxa ou juros. No entanto, os intermediários são seres humanos ou instituições impulsionadas pelo julgamento humano. Portanto, eles não estão imunes a falhas e, de fato, o Bitcoin foi introduzido como uma reação ao fracasso das instituições financeiras durante a crise financeira de 2008.

Por que alguém não agiria de acordo com o que ele concordou em uma transação? A tomada de decisão humana pode ser considerada como uma análise constante de custo-benefício. A razão pela qual as pessoas negociam em primeiro lugar é que elas acreditam que o benefício geral dessa transação será maior do que o custo total. No entanto, o julgamento humano não é estático ou determinista. As circunstâncias podem mudar, e a mesma pessoa pode mudar de idéia, escolher não cumprir.

À luz do exposto, o risco de falha pode ser reduzido de duas maneiras. Em primeiro lugar, as transações podem ser feitas através de mecanismos deterministas ou intermediários, onde não há possibilidade de mudança de coração. Em segundo lugar, se o determinismo completo não é uma opção, o custo da não conformidade deve ser o mais alto possível, de forma que as partes e os intermediários continuem sendo incentivados a agir em conformidade.

Onde está a tecnologia Blockchain localizada aqui? Primeiro de tudo, eu argumento que o que temos aqui não é uma substituição total da confiança, mas uma mudança de confiança dos intermediários para os atores não convencionais da tecnologia Blockchain e, portanto, a tecnologia Blockchain não é, de fato, ', nem mesmo no sentido mais restrito. Em segundo lugar, a tecnologia Blockchain, dependendo da estrutura de um determinado blockchain, usa uma combinação de estruturas determinísticas ou mecanismos de consenso baseados em incentivos para reduzir o risco de falha.

2. "Confiável" algoritmos criptográficos

Em primeiro lugar, a tecnologia Blockchain é sobre o armazenamento de algum tipo de dados, que são transações no caso do blockchain Bitcoin. Precisamos ter certeza de que esses dados estão protegidos corretamente e podem ser acessados e / ou modificados somente por meio de métodos determinados no protocolo inicial desse blockchain específico. Algoritmos de criptografia são códigos de programa que sempre produzem a mesma saída para a mesma entrada. Em outras palavras, eles são deterministas. Assim, não há problema de confiança aqui no sentido estrito.

Pode haver uma preocupação de segurança relativamente remota em relação aos algoritmos criptográficos. As funções criptográficas subjacentes, o mecanismo de assinatura baseado em curvas elípticas e o SHA-256 usado para criar pares de chaves público-privadas, podem parecer seguros por enquanto, mas isso não significa que eles não serão reprimidos pelas tecnologias de computação continuamente aprimoradas. ou por outros codificadores que descobririam erros que não são conhecidos até agora. Na verdade, não seria realista argumentar que esses algoritmos seriam quebrados durante a noite. No entanto, com o próximo desenvolvimento da computação quântica, considera-se uma preocupação válida que esses algoritmos não resistam a novos desenvolvimentos. Aggarwal et al. Argumentam que um computador quântico que poderia quebrar a assinatura da curva elíptica usada no Bitcoin poderia ser desenvolvido já em 2027, de acordo com uma estimativa otimista. Por outro lado, eles também argumentam que, devido ao fato de que mineiros ASIC especializados são extremamente rápidos, o mecanismo de prova de trabalho do Bitcoin usando SHA-256 é relativamente mais resiliente aos desenvolvimentos de computadores quânticos nos próximos 10 anos.

A resiliência dos algoritmos criptográficos é baseada na insuficiência computacional da tecnologia atual. Portanto, a ideia de que esses algoritmos podem ser quebrados no futuro com a ajuda de uma tecnologia de computador melhorada não cria um problema de confiança no sentido estrito, já que não é nem inesperado nem imprevisto. No entanto, esses algoritmos são colocados em um código junto com outras regras que governam um blockchain e, esse código é produzido por humanos, o que me leva ao próximo ponto.

3. "Confiando" no código

Um blockchain é operado entre uma rede de nós e esses nós se comunicam de acordo com um conjunto de regras pré-determinadas que são codificadas em um código de computador pelo criador desse blockchain. Como mencionado anteriormente, existem diferentes componentes, algoritmos, mecanismos envolvidos, mas, no final do dia, todos esses componentes são escritos como códigos de computador. Em outras palavras, 'confiar' em qualquer blockchain significa 'confiar' no pacote de código subjacente.

Os computadores não tomam decisões levando em conta fatores diferentes. Em vez disso, eles aplicam instruções pré-determinadas fornecidas em um código de computador e produzem uma saída. Em outras palavras, computadores e códigos de computador são determinísticos por design. No entanto, esses códigos são escritos por humanos e um ser humano pode não ser capaz de prever exaustivamente cada um dos cenários. Assim, pode haver alguns casos imprevistos, ainda que determinísticos, em que um código produz saídas inesperadas, chamadas de "bugs". Pode haver bugs que ainda não foram descobertos no código de um blockchain. Este foi o caso do roubo do DAO. Ao contrário das funções criptográficas, a maioria dos aplicativos Blockchain estão em sua infância, o que significa que eles não são produtos finais de uma colaboração de longo prazo e mais vulneráveis a bugs.

De fato, o código age como um intermediário ou como uma lei. Em vez de governos ou instituições financeiras, confiamos que, no mundo da Blockchain, o código irá reger as relações, ele funcionará de uma maneira que não exigirá intermediários e os substituirá. Consequentemente, erros em um código são como buracos que podem ser encontrados quase em qualquer regra feita pelo homem. Então a questão aqui é a seguinte: O que torna o código diferente das leis e regras tradicionais em termos de confiança?

O código não é divino nem perfeito. É artificial e, portanto, vulnerável a ataques ou manipulação. Leis e regras que regem os intermediários tradicionais também não são perfeitas. No entanto, essas regras são elaboradas e aceitas seguindo um certo processo que envolve principalmente especialistas e autoridades eleitas, discussões públicas e aprovações de diferentes órgãos públicos, enquanto o código é escrito principalmente em um ambiente mais isolado por um grupo menor de pessoas cujas qualidades são desconhecido. Assim, o cenário intermediário tradicional é mais transparente. Consequentemente, em caso de problema, as leis e regras, em sua maioria, fornecem um regime de responsabilidade, enquanto, em uma blockchain, pode não haver ninguém para responsabilizar. Mesmo que existam criadores iniciais ou fundadores do código, eles podem não ser responsabilizados devido à falta de conexão formal. As conexões formais dos intermediários tradicionais os tornam mais caros em comparação com sistemas peer-to-peer usando a tecnologia Blockchain. No entanto, essas conexões formais também as tornam mais responsáveis no sentido legal.

Outra diferença é a natureza técnica do código. Intermediários tradicionais parecem irritantemente institucionalizados. Eles parecem profissionais, competentes, difíceis de mexer, mas também são processualmente cansativos e caros. O código, por outro lado, parece fácil e barato de acessar. Neste ponto, mesmo uma decisão ostensivamente bem informada pode não estar realmente bem informada. Não ser capaz de ver como funciona, mas também ver como é fácil trabalhar com ele pode tornar o código atraente para as pessoas sem mostrar as possíveis desvantagens. No entanto, isso também torna essas pessoas vulneráveis aos problemas que poderiam surgir do código. A natureza técnica do código pode impedir que as pessoas compreendam realmente o risco e tomem uma decisão bem informada.

Em suma, o código pode fornecer ferramentas inovadoras e flexíveis para novas propriedades, como segurança, verificação e rastreabilidade, mas o código também é não transparente, não responsável e difícil de entender. O código é determinístico, mas é criado por humanos. Assim, dependendo da qualidade do código inicial, os problemas de confiança podem entrar em jogo através do abuso de bugs. No entanto, o código tem mais um componente que pode abranger o julgamento humano e subjaz significativamente à sua natureza determinista.

4.Confiando mecanismos de consenso

Mecanismos de consenso usados na tecnologia Blockchain visam criar uma única versão de 'verdade' seguindo algumas regras que envolvem principalmente participantes diferentes. Confiar em uma blockchain significa confiar nessa única "verdade" e os participantes envolvidos na criação dela. De acordo com o mecanismo de consenso do Bitcoin, a prova de trabalho, a 'verdade' é o que é acordado pelos mineiros na rede. Isso traz a questão da vulnerabilidade caso existam mineiros adversários na rede.

Como explicado acima, os adversários podem realizar ataques diferentes à rede. Não há uma maneira completa de impedir esses ataques. Alguns são impedidos por mecanismos criptográficos relativamente resistentes e alguns dependem da idéia otimista de que outros participantes jogarão o jogo segundo as regras. Embora o mecanismo de recompensa como aquele implementado no Bitcoin dê aos mineiros uma razão para agir honestamente, não há garantia de que os mineiros não encontrarão uma maneira de enganar o sistema e se beneficiar ainda mais do que poderiam ao coletar recompensas. Em outras palavras, os participantes devem confiar em outros mineiros, ou pelo menos na maioria dos mineiros, para agir honestamente, que é a mesma questão de confiança que foi reivindicada a ser resolvida pela tecnologia Blockchain.

Além disso, diferentes perspectivas podem afetar até mesmo a decisão de mineiros honestos, como foi o caso do roubo do DAO. Durante o roubo do DAO, o garfo foi causado pelo desentendimento entre honestos mineiros. O roubo foi conduzido através de um bug no código do DAO. Alguns argumentaram que isso é legítimo, pois é permitido pelo código, que deve ser considerado como a lei. Outros argumentaram que isso é um roubo e deve ser revertido. O dilema aqui era que a reversão de uma transação estaria subjacente à posição ideológica da tecnologia Blockchain e a tornaria quase o mesmo que o processo ordinário de intermediação, enquanto não fazer nada criaria um conflito legal intenso e incerto entre a DAO e os investidores desde que eles estavam se preparando para trazer uma ação legal. Nesse caso em particular, a maioria optou por reverter a história e devolver os fundos. Em vez de regras pré-determinadas, uma decisão tomada por seres humanos baseada na posição ideológica, a chamada imunidade é comprovadamente errada e, não havia nenhum recurso disponível para o grupo oposto. Todas as pessoas que investiram no blockchain do Ethereum foram deixadas a uma decisão não objetável tomada pela maioria dos mineiros, não por todos os interessados.

Pode-se argumentar que os mecanismos de consenso são seguros, transparentes e deterministas; e cada pessoa que investe em um sistema baseado em blockchain dá implicitamente seu consentimento às conseqüências do mecanismo de consenso do blockchain. Há dois problemas importantes com esse raciocínio. Em primeiro lugar, a decisão dos investidores de investir pode não ser bem informada e, em segundo lugar, o mecanismo de consenso pode produzir um resultado diferente do que os codificadores inicialmente previam.

À luz do exposto acima, juntamente com o código, os mecanismos de consenso prejudicam significativamente a natureza determinista da tecnologia Blockchain e revivem o risco de comportamentos inesperados, o que cria um problema de confiança.

5. Conclusão

A tecnologia blockchain traz alguns elementos determinísticos que poderiam ser considerados "sem confiança", como os algoritmos criptográficos e, parcialmente, o código. No entanto, o código é criado por seres humanos que podem não ser capazes de prever todos os cenários possíveis e, ao fazê-lo, podem levar a resultados inesperados. Além disso, os mecanismos consensuais dependem das decisões dos participantes que são humanos. Como o caso DAO demonstrou, o julgamento humano, que é o cerne do problema da confiança, pode ser encontrado na tecnologia Blockchain. Portanto, a tecnologia Blockchain não resolve o problema da confiança, mas transfere a confiança dos atores tradicionais para os atores não convencionais, como o código e os mineradores.