Muitas pessoas que usam criptografia há algum tempo sofreram algum tipo de perda em uma exchange, incluindo suas perdas nos hacks Gox e Bitfinex. Nunca na história ladrões roubaram uma recompensa tão grande com tanta facilidade!

Os tokens criptográficos são únicos porque existem apenas no ciberespaço e não podem ser facilmente recuperados depois de roubados (embora o próximo sistema nervoso blockchain na cadeia DFINITY possa fazer algo a respeito), tornando-os extremamente vulneráveis ​​a outros hackers e roubos internos. .

Isto é, a menos que possamos criar bolsas verdadeiramente descentralizadas, onde não tenhamos que transferir tokens e dinheiro para intermediários.

Uma tal troca totalmente descentralizada e à prova de falsificação deverá também reduzir significativamente as taxas de transação, o que é um passo crucial no amadurecimento contínuo da nossa indústria, mas até agora este objetivo tem sido ilusório.

No entanto, neste artigo, explicarei como algumas das inovações mais recentes em criptografia tornaram possíveis as ideias de hoje.

Este artigo explicará como criar uma troca de token descentralizada (para um pacote pronto para uso como uma imagem Docker) a partir de um contrato inteligente escrito em Solidity e uma interface de usuário Dapp escrita em HTML/Js (o tipo que você pode criar usando Truffle ) Ambiente de desenvolvimento, incluindo Cloud9 IDE, bem como Truffle e outras ferramentas, verifique instant-dapp-ide).

Embora alguns clientes de software especiais de acompanhamento também tenham que ser criados para aplicar criptografia, não precisaremos de sidechains, canais estaduais, centros de consenso especiais ou qualquer outra coisa que ainda não exista ou que tenha falhas graves próprias.

Nada é necessário, exceto o que já está disponível hoje!

Portanto, abordaremos como criar uma troca de criptografia para criptografia no Ethereum (ou eventualmente DFINITY) que tornará possível negociar BTC/ETH e outros pares de moedas de forma segura e barata.

Etapa 1: lógica de contrato inteligente

Os contratos inteligentes Ethereum já nos fornecem os meios para executar a lógica de duas transações de leilão consecutivas (como GDAX, Bitfinex, Kraken ou Poloniex) no computador blockchain.

A velocidade das redes atuais apresenta desafios práticos em termos de experiência do utilizador, uma vez que o mercado pode ser reorganizado poucos minutos após uma nova ordem ser submetida e uma negociação ser aparentemente executada, mas as soluções já estão a começar.

A retransmissão de limite reduzirá a finalidade para segundos (mais de 50x mais rápido hoje em comparação com Ethereum), e a equipe Casper também está trabalhando em uma solução, então provavelmente teremos algum tempo.

O verdadeiro desafio é que os tokens que criamos em contratos inteligentes não podem ser conectados sem confiança a tokens nativos valiosos em outras cadeias. Por exemplo, não podemos criar tokens XBT em um contrato inteligente Ethereum conectado ao Bitcoin de forma confiável, que podemos então trocar por Ethereum nativo.

Nota técnica de alto nível: Aqui está um exemplo de dois códigos de troca consecutivos no estilo de leilão no Solidity para os interessados ​​(este foi na verdade meu primeiro contrato do Solidity, escrito quando a linguagem foi disponibilizada pela primeira vez).

Há várias considerações de design que você deve considerar, como a necessidade de resolver o problema de "agressão" de HFT por arbitradores que observam mudanças de preços em negociações rapidamente concentradas. Existem também boas razões para considerar a utilização de outros modelos de troca, tais como leilões em lote por preço unitário. Estas considerações merecem ser republicadas se o tempo permitir.

Etapa 2: quebra de assinatura de limite

Por uma questão de simplicidade, a seguir discutiremos apenas a questão de hospedar Bitcoin em bolsas hospedadas em Ethereum, embora na realidade a tecnologia seja igualmente aplicável para hospedar qualquer token criptográfico nativo de uma cadeia de transações autorizadas usando assinaturas ECDSA.

Nossa exigência é que um grande número de partes independentes controlem coletivamente um endereço Bitcoin padrão para que os usuários possam enviar Bitcoin para lá, mas o Bitcoin só pode ser transferido após um acordo entre uma certa proporção limite dessas partes.

Por exemplo, digamos que nossa bolsa terá 50 “guardiões” provenientes de indivíduos e empresas bem conhecidas e independentes da indústria de criptografia.

Eles devem controlar um endereço Bitcoin onde os usuários podem enviar Bitcoin em troca de tokens XBT hospedados em uma exchange Ethereum, e devem ser capazes de distribuir Bitcoin desse endereço para aqueles que resgatarem os tokens XBT.

Tradicionalmente, em criptografia, tal funcionalidade é criada usando “assinaturas de limite”.

Nota técnica de alto nível: A rede Bitcoin retransmite apenas transações "multisig" locais para até 3 participantes, o pagamento por hash de script alivia parte da carga, mas ainda limita os participantes a 15.

Agora, podemos traçar um limite para os impacientes: embora as transações Bitcoin e Ethereum sejam assinadas usando assinaturas ECDSA padrão, e nenhuma delas suporte nativamente assinaturas de limite, alguns pesquisadores inovadores demonstraram recentemente uma maneira de explorar as assinaturas ECDSA padrão usadas por Bitcoin e Ethereum e pode produzir assinaturas de limite compatíveis com versões anteriores.

Ou seja, nossos guardiões podem criar assinaturas de limite para endereços que serão aceitos pela rede Bitcoin como assinaturas ECDSA padrão para desbloquear UTXOs!

Você pode encontrar o artigo que descreve como fazer isso aqui:

• https: //eprint.iacr.org/2016/013.pdf

• https://www.cs.princeton.edu/~stevenag/threshold_sigs.pdf

Para ser claro, esses esquemas de assinatura de limite não são iguais ao sistema BLS otimizado que usamos no DFINITY Threshold Relay, que pode combinar a saída de centenas de assinantes para criar uma assinatura de limite determinística exclusiva em milissegundos.

Na verdade, este sistema é tão ineficiente que combinar a saída da assinatura do nosso guardião leva muito tempo e sua CPU esquenta, mas isso não é um problema.

É perfeitamente aceitável cobrar uma taxa de retirada modesta para cobrir custos computacionais e exigir que os saques de nossa bolsa financeira baseada em Ethereum demorem um pouco para serem processados. Afinal, muitas pessoas ficariam felizes em ter seus fundos trocados com segurança por uma questão de conveniência!

A aplicação desta tecnologia nos permitirá descentralizar a confiança entre um certo número de guardiões, permitindo-lhes receber Bitcoins em troca de distribuições XBT e distribuir Bitcoins ao resgatar tokens XBT, agindo assim de maneira confiável e segura para atrelar Bitcoin a Token XBT.

Claro, temos que ter em conta que alguns tutores podem perder as suas chaves de assinatura ou serem atropelados pelo autocarro metafórico, mas a sinalização de limiar permite-nos resolver este problema. Podemos simplesmente exigir a saída de apenas 35 dos 50 guardiões para criar uma nova assinatura.

Etapa 3: Recompensas do Guardião

Precisamos de um programa de incentivos para tutores porque queremos envolver e promover indivíduos e empresas de confiança que não desapareçam ou conspirem.

A maneira mais simples é cobrar uma pequena taxa de negociação por todos os saques realizados pela bolsa.

Etapa 4: Governança

As transações financeiras descentralizadas requerem o seu próprio sistema de gestão, uma vez que os guardiões devem ser eleitos, atualizações de software para contratos inteligentes adotados, etc. Portanto, projetaremos o switch como uma DAO (Organização Autônoma Descentralizada).

Se esses sistemas estiverem disponíveis a tempo, poderemos até obter sistemas nervosos de governança mais avançados a partir da tecnologia de sistema nervoso blockchain do DFINITY (a equipe do DFINITY está muito esperançosa de que o BNS será reaproveitado dessa forma).

Dentro do sistema de governação, haverá detentores de tokens com “direitos de voto” que partilham proporcionalmente as escassas taxas cobradas pelas transações. O contrato inteligente realiza “concursos de beleza” regulares onde potenciais tutores podem candidatar-se a cargos, que são finalmente atribuídos pelos eleitores.

Nota técnica de alto nível: Um invasor pode tentar comprar todos os tokens de votação e, em seguida, substituir os guardiões por seus próprios fantoches (geralmente um ataque DAO 51%) e roubar os fundos depositados.

Por esse motivo, após a votação, o contrato só deverá sair do guardião após um certo atraso, o que pode dar aos detentores de criptomoedas tempo suficiente para sacar seus fundos com segurança caso tal ataque ocorra. Isto também se aplica à adoção de atualizações de software.

Etapa 5: configurações de criptografia de limite

Uma vez configurado o conjunto de guardiões, eles devem configurar seu esquema de assinatura de limite. Isto significa que algum tipo de processo ou protocolo deve ser executado para garantir que, após a conclusão, cada um dos nossos 50 guardiões tenha um "compartilhamento de chave" privado que é usado para produzir coletivamente uma assinatura limite que pode ser usada como uma autorização única para ECDSA Simple ECDSA assinatura. A rede distribui Bitcoins a partir de endereços de depósito.

Como mencionado anteriormente, os esquemas de assinatura de limite citados são, na verdade, hacks que criam assinaturas compatíveis com versões anteriores das assinaturas ECDSA regulares atualmente usadas pelas redes Bitcoin e Ethereum. Isso significa que a configuração é mais desafiadora do que o esquema de assinatura de limite BLS usado pelo DFINITY Threshold Relay.

A abordagem mais simples seria realizar uma configuração confiável em uma cerimônia segura, como a rede Z-Cash fez recentemente, e fazer com que cada guardião sinalize para o contrato inteligente da bolsa que está satisfeito com o resultado.

Embora o processo de configuração confiável seja muito mais simples de implementar do que o usado pelo Z-Cash, muitas pessoas desejam implementar uma configuração distribuída sem confiança, especialmente porque é mais fácil de repetir quando o guardião precisa ser alternado. Isto consistirá em duas partes.

A primeira envolve a distribuição de chaves comuns entre os guardiões e pode ser feita de forma muito simples, aplicando, por exemplo, o IPFS como um log que agrega e compartilha as mensagens envolvidas em um protocolo de geração de chaves distribuídas.

A segunda parte (que se torna necessária pelas técnicas de criptografia homomórfica usadas em hackers) envolve a distribuição de compartilhamentos de chaves Paillier. Se você deseja colocar seu switch em funcionamento rapidamente, esta última parte requer uma análise cuidadosa do custo de implementação!

Etapa 6: Software Cliente Guardian

Tivemos que criar algum “software cliente guardião” especial que monitorasse os contratos inteligentes da bolsa e cooperasse regularmente para assinar transações Bitcoin quando um usuário deseja resgatar XBT.

Etapa 7: financiamento coletivo

O crowdfunding deve ser feito para recolher fundos para I&D, e pode haver incentivos para ser o primeiro a transferir os fundos para lá (talvez exclusivamente bloqueados lá por um período de tempo) para ajudar a orientar a liquidez.

Observe que podemos simplesmente começar com um sistema de governança e depois permitir que ele aloque fundos aos desenvolvedores para concluir as transações.

Assim que a negociação começar, devemos esperar que o volume aumente rapidamente! Os custos básicos envolvidos na negociação descentralizada são ordens de magnitude inferiores aos da negociação centralizada gerida pelas empresas, e isso se refletirá nas taxas de transação.

Além disso, o sistema descentralizado descrito também é mais resistente a hackers e ataques, e você pode esperar depositar e negociar com segurança grandes quantidades de criptomoedas nessa bolsa.

Dedos cruzados, alguém constrói isso!

Nota final: À primeira vista, as bolsas financeiras descentralizadas parecem tornar possível a negociação de criptografia para criptografia. No curto prazo isso pode ser verdade. Mas os interessados ​​​​devem conferir o sistema PHI que está sendo desenvolvido atualmente por pesquisadores associados ao String Labs em Palo Alto.

Isto imita o funcionamento do sistema bancário comercial e cria uma “criptomoeda” descentralizada que é garantida por garantias de empréstimos.

Assim que tivermos o token no Ethereum e na cadeia DFINITY (e esperançosamente dentro de dois anos), será possível armazenar o token em uma bolsa descentralizada onde o valor do token é igual ao valor de alguma moeda fiduciária semelhante.

Conteúdo IC que lhe interessa

Progresso Tecnológico | Informações do Projeto |

Colete e siga o canal IC Binance

Mantenha-se atualizado com as informações mais recentes