Name: | Description: | Size: | Format: | |
---|---|---|---|---|
1.51 MB | Adobe PDF |
Advisor(s)
Abstract(s)
With the growing and flourishing of human societies came the desire to exchange what
was deemed as valuable, be it a good or a service. Initially this exchange was made directly
through barter, either synchronously or asynchronously with debt. The first had
the downside of requiring coincidence of wants and the second the need for trust. Both
were very inefficient and did not scale well. So, what we call money was invented, which
is nothing more than a good that is used as medium of exchange between other goods and
services. Since then, money has changed form and has acquired new functions, namely
unit of account and store of value. The most recent form of money is digital currency. This
money cannot be transferred physically like other forms, so it needs a digital network to
be transferred, which can have different characteristics.
This thesis concerns a specific type of networks for digital currencies: permissionless,
meaning that any participant can have read and write access to the network; decentralized,
meaning that no single entity controls the network; and that use Delegated Proof of Stake
(DPoS) as a Sybil defence mechanism, to prevent the network from being controlled by
malicious actors that create numerous false identities.
Its research tries to fulfil the vision that a network for digital currencies, besides being
permissionless and decentralized, should be scalable, monetary policy agnostic, anonymous
and have high performance. Three different layers of the network are studied: the
communication layer, responsible for sending and receiving messages, the transaction
layer, responsible for validating those messages, and the consensus layer, responsible for
reaching agreement on the state of the network.
The first two goals can be achieved in the communication layer. On one hand, a vertical
way to scale the system is proposed composed of a peer management and traffic prioritization
design based on DPoS, offering an alternative to highly disseminated fee-based
models. On the other hand, a horizontal way to scale is presented through database sharding.
In the transaction layer, a general framework to make DPoS compatible with anonymity is
described. More specifically, two different approaches to achieve amount anonymity are
proposed: one based on multi-party computation and the other on the Diffie-Hellman
key exchange. Finally, a new decoy selection algorithm, called SimpleDSA, is developed
to improve sender anonymity.
The consensus layer features two innovative consensus algorithms, Nero and Echidna,
and two methods for state machine replication: Sphinx (leader-based) and Cerberus (leaderless).
These developments aim to enhance the performance of the network, specifically
by decreasing the latency of its state changes and increasing the throughput, i.e., increasing
the number of state changes per unit of time. A protocol that instantiates the transaction and consensus layer, called Adamastor, is formalized
with security proofs and implemented with a prototype in the Rust language.
Benchmarks demonstrate the practicality of the scheme and potential application to decentralized
payment systems. While further research is needed, particularly in implementing
a fully operational network, it sets a foundation for future advancements.
In conclusion, this thesis contributes to the area of knowledge that results from the fusion
of economics and computer science, by offering technical solutions for implementing a
vision of a more inclusive, fairer, efficient, and secure financial system. The implications
of this work are far-reaching, suggesting a future where digital currencies play a significant
role in shaping global finance and technology.
Com o crescimento e florescimento das sociedades humanas surgiu o desejo de trocar o que era considerado valioso, quer fosse um bem ou um serviço. Inicialmente, essa troca era feita sem intermediários, de forma síncrona (troca direta) ou assíncrona (troca de favores). A primeira tinha a desvantagem de exigir coincidência de desejos e a segunda a necessidade de confiança entre as partes. Ambas eram muito ineficientes e não escalavam de modo adequado. Por isso, o que chamamos de dinheiro foi inventado, que é nada mais do que um bem que é usado como meio de troca entre outros bens e serviços. Desde então, o dinheiro mudou de forma e adquiriu novas funções, nomeadamente unidade de conta e reserva de valor. A forma mais recente de dinheiro é a moeda digital. Este dinheiro não pode ser transferido fisicamente como outras formas, pelo que precisa de uma rede digital para ser transferido, a qual pode ter diferentes características. Esta tese estuda um tipo específico de redes para moedas digitais: sem permissão (aberta), o que significa que qualquer participante pode ter acesso de leitura e escrita na rede; descentralizada, o que significa, por sua vez, que nenhuma entidade única controla a rede; e que usa Prova de participação delegada Delegated Proof of Stake (DPoS) como um mecanismo Sybil de defesa contra ataques Sybil para evitar que a rede seja controlada por atores maliciosos que criam múltiplas falsas identidades. O objetivo da investigação é cumprir a visão de que uma rede para moedas digitais, para além de ser aberta e descentralizada, deve ser escalável, agnóstica em relação à política monetária, anónima e ter desempenho elevado. Três camadas diferentes da rede são estudadas: a camada de comunicação, responsável por enviar e receber mensagens, a camada de transação, responsável por validar essas mensagens, e a camada de consenso, responsável por chegar a um acordo sobre o estado da rede. Os dois primeiros objetivos podem ser alcançados na camada de comunicação. Por um lado, é proposta uma forma vertical de escalar o sistema composta por uma gestão de pares e design de prioritização de tráfego baseado em DPoS, oferecendo uma alternativa aos modelos baseados em taxas de transação altamente disseminados. Por outro lado, é apresentada uma forma horizontal de escalar através da fragmentação sharding da base de dados. Na camada de transação, é descrito um quadro geral para tornar o DPoS compatível com o anonimato. Mais especificamente, são propostas duas abordagens diferentes para anonimizar o montante de uma transferência: uma baseada em computação multipartidária e outra na troca de chaves Diffie-Hellman. Finalmente, é desenvolvido um novo algoritmo de seleção de inputs engodos, chamado SimpleDSA, para melhorar o anonimato do remetente. A camada de consenso apresenta dois algoritmos novos de consenso, Nero e Echidna, e dois métodos para replicação de máquinas de estado: Sphinx (com líder) e Cerberus (sem líder). Estes desenvolvimentos visam realçar o desempenho da rede, especificamente diminuindo a latência das mudanças de estado e aumentando a taxa de transferência, ou seja, aumentando o número de mudanças de estado por unidade de tempo. Um protocolo que combina a camada de transação e a camada de consenso, chamado Adamastor, é formalizado com provas de segurança e implementado com um protótipo na linguagem Rust. Parâmetros de referência demonstram a praticabilidade do esquema e a aplicação potencial a sistemas de pagamento descentralizados. Embora mais investigação seja necessária, particularmente na implementação de uma rede totalmente operacional, esta contribuição estabelece uma base para futuros avanços. Em conclusão, esta tese contribui para a área de conhecimento que resulta da fusão da economia e da engenharia informática, oferecendo soluções técnicas para implementar uma visão de um sistema financeiro mais inclusivo, justo, eficiente e seguro. As implicações deste trabalho são de grande alcance, sugerindo um futuro onde as moedas digitais desempenham um papel significativo na formação da finança e tecnologia globais.
Com o crescimento e florescimento das sociedades humanas surgiu o desejo de trocar o que era considerado valioso, quer fosse um bem ou um serviço. Inicialmente, essa troca era feita sem intermediários, de forma síncrona (troca direta) ou assíncrona (troca de favores). A primeira tinha a desvantagem de exigir coincidência de desejos e a segunda a necessidade de confiança entre as partes. Ambas eram muito ineficientes e não escalavam de modo adequado. Por isso, o que chamamos de dinheiro foi inventado, que é nada mais do que um bem que é usado como meio de troca entre outros bens e serviços. Desde então, o dinheiro mudou de forma e adquiriu novas funções, nomeadamente unidade de conta e reserva de valor. A forma mais recente de dinheiro é a moeda digital. Este dinheiro não pode ser transferido fisicamente como outras formas, pelo que precisa de uma rede digital para ser transferido, a qual pode ter diferentes características. Esta tese estuda um tipo específico de redes para moedas digitais: sem permissão (aberta), o que significa que qualquer participante pode ter acesso de leitura e escrita na rede; descentralizada, o que significa, por sua vez, que nenhuma entidade única controla a rede; e que usa Prova de participação delegada Delegated Proof of Stake (DPoS) como um mecanismo Sybil de defesa contra ataques Sybil para evitar que a rede seja controlada por atores maliciosos que criam múltiplas falsas identidades. O objetivo da investigação é cumprir a visão de que uma rede para moedas digitais, para além de ser aberta e descentralizada, deve ser escalável, agnóstica em relação à política monetária, anónima e ter desempenho elevado. Três camadas diferentes da rede são estudadas: a camada de comunicação, responsável por enviar e receber mensagens, a camada de transação, responsável por validar essas mensagens, e a camada de consenso, responsável por chegar a um acordo sobre o estado da rede. Os dois primeiros objetivos podem ser alcançados na camada de comunicação. Por um lado, é proposta uma forma vertical de escalar o sistema composta por uma gestão de pares e design de prioritização de tráfego baseado em DPoS, oferecendo uma alternativa aos modelos baseados em taxas de transação altamente disseminados. Por outro lado, é apresentada uma forma horizontal de escalar através da fragmentação sharding da base de dados. Na camada de transação, é descrito um quadro geral para tornar o DPoS compatível com o anonimato. Mais especificamente, são propostas duas abordagens diferentes para anonimizar o montante de uma transferência: uma baseada em computação multipartidária e outra na troca de chaves Diffie-Hellman. Finalmente, é desenvolvido um novo algoritmo de seleção de inputs engodos, chamado SimpleDSA, para melhorar o anonimato do remetente. A camada de consenso apresenta dois algoritmos novos de consenso, Nero e Echidna, e dois métodos para replicação de máquinas de estado: Sphinx (com líder) e Cerberus (sem líder). Estes desenvolvimentos visam realçar o desempenho da rede, especificamente diminuindo a latência das mudanças de estado e aumentando a taxa de transferência, ou seja, aumentando o número de mudanças de estado por unidade de tempo. Um protocolo que combina a camada de transação e a camada de consenso, chamado Adamastor, é formalizado com provas de segurança e implementado com um protótipo na linguagem Rust. Parâmetros de referência demonstram a praticabilidade do esquema e a aplicação potencial a sistemas de pagamento descentralizados. Embora mais investigação seja necessária, particularmente na implementação de uma rede totalmente operacional, esta contribuição estabelece uma base para futuros avanços. Em conclusão, esta tese contribui para a área de conhecimento que resulta da fusão da economia e da engenharia informática, oferecendo soluções técnicas para implementar uma visão de um sistema financeiro mais inclusivo, justo, eficiente e seguro. As implicações deste trabalho são de grande alcance, sugerindo um futuro onde as moedas digitais desempenham um papel significativo na formação da finança e tecnologia globais.
Description
Keywords
Prova de participação delegada Moedas digitais Criptomoedas Rede descentralizada sem permissão Prioritização Camada de transação Camada de rede Camada de consenso Algoritmo Desempenho Escalabilidade Segurança Anonimato