Comprar Criptomoedas
Mercados
Transacionar
Futuros
Earn
Mais
Cancel

A adiciona uma implementação Open-source do Edwards-Curve Digital Signature Algorithm (EdDSA) na TSS Library

2020-03-12

Há três meses a Binance anunciou a implementação open-source da Threshold Signature Scheme (TSS) library, como um grande passo para a contribuição no desenvolvimento da blockchain open-source. A library é compativel com as blockchains baseadas em ECDSA, incluindo as redes da Binance Chain, Bitcoin e Ethereum. Inclusive, já foi utilizada para construir pontes de troca de tokens e muito mais.

A equipe de desenvolvimento da Binance Chain mantém seus esforços para desenvolver essa emocionante nova tecnologia. Hoje, temos o prazer de anunciar a implementação open-source da TSS library para EdDSA, o qual expandirá para aceitar mais tipos de blokchains, incluindo Cardano, NANO, Stellar Lumens, WAVES e até a Libra!   

Porque EdDSA

As Curvas Elípticas estão atualmente entre os tipos mais poderosos de criptografia, sendo as curvas Edwards as maiores e melhores. O algoritmo da assinatura digital da curva elíptica pode assinar mensagens de forma mais rápida do que os outros algoritmos de assinatura como RSA, DSA ou ElGamal. Ao ser acoplado às curvas Edwards, o algoritmo digital de assinatura dacurva Edwards (ou sua abreviação EdDSA) torna-se um esquema de assinatura digital que usa uma variante da assinatura Schnorr baseadas em curvas Edwards torcidas.

Vemos que algumas blockchains como Tezos, Libra e Cardano optaram por usar o algoritmo EdDSA com a curva Ed25519, em vez da ECDSA com a cuva secp256k1. Mas por quê?

Principais recursos das assinaturas por EdDSA:

  • Validação mais rápida: O algoritmo EdDSA é mais simples que o ECDSA, sendo assim mais fácil de compreender e implementar. Por ser mais simples, o EdDSA apresenta um desempenho um pouco melhor que ECDSA.

  • Segurança disponível [1]: As assinaturas por Schnorr são comprovadamente seguras. Mais especificamente, em caso de ataque de mensagens, elas são imutáveis e não são maleáveis. Por outro lado, essa maleabilidade é possível no esquema de assinatura por ECDSA, o que já gerou muitos problemas com o Bitcoin.

  • Linearidade [1]: Podemos adicionar diversas assinaturas Schnorr e o resultado ainda será uma assinatura válida. Isso pode economizar energia computacional e formar a base dos blocos para várias construções de alto nível, que melhoram a eficiência e a privacidade, como transações com várias assinaturas e outros. 

Segurança em primeiro lugar

A segurança sempre foi a principal prioridade da Binance e de sua equipe de desenvolvimento. A Kudelski Security foi convidada para realizar uma auditoria de segurança da primeira versão da tss-lib. A nova implementação EdDSA reutilizou grande parte da base de código existente e novas verificações de implementação são ativamente realizadas. Você pode acompanhar as atualizações no GitHub aqui.

O Tss-lib é parte do  programa da Binance Bug Bounty em que pesquisadores são incentivados a reportarem vulnerabilidades e receberem recompensas. Como a pesquisa e a tecnologia TSS ainda são bastante novas, os criptografadores estão analisando ativamente nossa implementação. Até agora, isso resultou em patches para dois aprimoramentos de segurança: 

  1. https://github.com/binance-chain/tss-lib/releases/tag/v1.1.0

  2. https://github.com/binance-chain/tss-lib/releases/tag/v1.2.0

Ambas as descobertas estão tornando a Binance TSS library uma das implementações mais seguras do TSS. Queremos agradecer aqueles que realizaram a análise especializada e os relatórios oportunos sobre estes problemas.

Planos futuros

Estamos adicionando bibliotecas relacionadas ao EdDSA à tss-lib open-source já existente codebase em release v1.3.0. Esperamos que mais membros da comunidade e do ecossistema da Binance possam integrar a TSS library com suas aplicações, como as wallets e custódias, para desenvolver ainda mais essa nova e empolgante tecnologia.

Este é apenas um marco em nosso trabalho com TSS. Continuaremos pesquisando e implementando uma solução ainda melhor para gerenciamento de ativos e outros, por meio da comunidade da Binance Chain.  Construir uma comunidade de código aberto saudável e de amplo suporte, beneficiará tanto a comunidade da Binance Chain, quanto a comunidade global de blockchain e criptomoedas. 

Notas de rodapé: 

[1] https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki#Motivation

Siga-nos na nossa nova conta em português no Twitter, Instagram, Facebook e YouTube. Participe do nosso grupo oficial da Binance em Português Telegram para conversar com a nossa comunidade.