Fundamentação do Design Cardano

Why We Are Building Cardano

Yazan Charles Hoskinson and IOHK · 2017

Tek mod docs.cardano.org

Introduction

Introduction

A long-term view on improving the design of cryptocurrencies so they can work on mobile devices with a reasonable and secure user experience ● Bringing stakeholders closer to the operations and maintenance of their cryptocurrency ● Acknowledging the need to account for multiple assets in the same ledger ● Abstracting transactions to include optional metadata in order to better conform to the needs of legacy systems ● Learning from the nearly 1,000 altcoins by embracing features that make sense ● Adopt a standards-driven process inspired by the Internet Engineering Task Force using a dedicated foundation to lock down the final protocol design
● Explore the social elements of commerce
● Find a healthy middle ground for regulators to interact with commerce without compromising some core principles inherited from Bitcoin

From this unstructured set of ideas, the principals working on Cardano began both to explore

cryptocurrency literature and to build a toolset of abstractions. The output of this research is

IOHK’s extensive library of papers, numerous survey results such as this recent scripting

language overview as well as an Ontology of Smart Contracts, and the Scorex project. Lessons

yielded an appreciation for the cryptocurrency industry’s unusual and at times

counterproductive growth.

First, unlike successful protocols such as TCP/IP, there is little layering in the design of

cryptocurrencies. There has been a desire to preserve a single notion of consensus around

facts and events recorded in a single ledger, regardless of whether it makes sense.

For example, Ethereum has encumbered enormous complexity attempting to become a

universal world computer, but suffers from trivial concerns potentially destroying the system’s

ability to operate as a store of value. Should everyone’s program be a first class citizen

regardless of its economic value, cost to maintain, or regulatory consequences?

Second, there is little appreciation for prior results in mainstream cryptographic research. For

example, Bitshares’ delegated Proof of Stake could have easily and reliably generated random

numbers using coin tossing with guaranteed output delivery, which is a technique known since

the 1980s (see the seminal paper by Rabin and Ben-Or).

Third, most altcoins (with a few notable exceptions such as Tezos) have not made any

accommodation for future updates. The ability to successfully push a soft or hard fork is pivotal

to the long-term success of any cryptocurrency.

As a corollary, enterprise users cannot commit millions of dollars worth of resources to

protocols where the roadmap and actors behind them are ephemeral, petty or radicalized. There

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 3 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

needs to be an efficient process through which social consensus can form around a vision for

evolving the underlying protocol. If this process is enormously burdensome, fragmentation

could break the community apart.

Finally, money is ultimately a social phenomenon. In the effort to anonymize and

disintermediate central actors, Bitcoin and its contemporaries have also discarded the need for

stable identities, metadata and reputation in commercial transactions. Adding these data

through centralized solutions removes the auditability, global availability and immutability —

which is the entire point of using a blockchain.

Legacy financial systems such as those composed of SWIFT, FIX and ACH are rich in

transactional metadata. It is not enough to know how much value moved between accounts,

regulation often requires the attribution of actors involved, compliance information, reporting

suspicious activity, and other records and actions. In some cases, the metadata is more

important than the transaction.

Hence, it seems reasonable to infer that the manipulation of metadata could be as harmful as

counterfeiting currency or rewriting transaction history. Making no accommodation for actors

who want to voluntarily include these fields seems counterproductive to mainstream adoption

and consumer protection.

Sojourn's End

The aggregation of our principled exploration of the cryptocurrency space is two collections of

protocols. Respectively, a provably secure Proof-of-Stake [1][2] based cryptocurrency called the

Cardano Settlement Layer (CSL) and a set of protocols called the Cardano Computation Layer

(CCL).

Our design emphasis is to accommodate the social aspects of cryptocurrencies, build in layers

by separating the accounting of value from complex computation and address the needs of

regulators within the scope of several immutable principles . Furthermore, where it is sensible,

1 we attempt to vet proposed protocols through peer review and check code against formal

specifications.

1 See Regulation section for list WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 4 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Proof of Stake

Using proof of stake for a cryptocurrency is a hotly debated design choice, however because it

adds a mechanism to introduce secure voting, has more capacity to scale, and permits more

exotic incentive schemes, we decided to embrace it.

Our proof of stake protocol is called Ouroboros and it has been designed by an extremely

talented team of cryptographers from five academic institutions led by Professor Aggelos

2 Kiayias of the University of Edinburgh. The core innovation it brings beyond being proven secure

using a rigorous cryptographic model is a modular and flexible design that allows for the

composition of many protocols to enhance functionality.

This modularity allows for features such as delegation, sidechains, subscribable checkpoints,

better data structures for light clients, different forms of random number generation and even

different synchronization assumptions. As a network develops from having thousands to

millions and even billions of users, the requirements of its consensus algorithm will also

change. Thus, it is vital to have enough flexibility to accommodate these changes and thereby

future-proof the heart of a cryptocurrency.

Social Elements of Money

Cryptocurrencies are a prime example of the social component of money. When restricting

analysis solely to technology, there is little difference between Bitcoin and Litecoin and even

less so between Ethereum and Ethereum Classic. Yet, both Litecoin and Ethereum Classic

maintain large market capitalizations and robust, dynamic communities as well as their own

social mandates.

It can be argued that a large part of the value of a cryptocurrency is derived from its community,

the way it uses the currency, and its level of engagement in the currency’s evolution. Furthering

the thought, currencies such as Dash have even integrated systems directly into the protocol to

engage their community in deciding what should be a priority to develop and fund.

2 University of Connecticut, University of Athens, University of Edinburgh, Aarhus University, Tokyo Institute of Technology WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 5 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

The vast diversity of cryptocurrencies also provides evidence for their social elements.

Disagreements about philosophy, monetary policy, or even just between the core developers

lead to fragmentation and forks. Yet unlike their cryptocurrency counterparts, fiat currencies of

superpowers tend to survive political shifts and local disagreements without a currency crisis or

mass exodus.

Therefore, it seems that there are elements of legacy systems that are missing from the

cryptocurrency industry. We argue — and have inculcated into the Cardano roadmap – that

users of a protocol need incentives to understand the social contract behind their protocol and

have the freedom to propose changes in a productive way. This freedom extends to every

aspect of a value exchange system, from deciding how markets should be regulated to which

projects should be funded. Yet it cannot be brokered through centralized actors nor require

some special credential that could be co-opted by a well funded minority.

Cardano will implement a system of overlay protocols built on top of CSL to accommodate the

needs of its users.

First, regardless of the success of a crowdsale to bootstrap development, funds will eventually

dissipate. Hence, Cardano will include a decentralized trust funded from monotonically

3 decreasing inflation and transaction fees.

Any user should be eligible to request funds from the trust by a ballot system and the

stakeholders of CSL vote on who becomes a beneficiary. The process creates a productive

feedback loop seen in other cryptocurrencies with treasury/trust systems, such as Dash, by

starting a conversation about who should and should not be funded.

Funding discussions force a relation of long and short term goals, the cryptocurrency’s social

contract, priorities and the belief in value creation with particular proposals. This conversation

means that the community is constantly evaluating and debating its beliefs against possible

roadmaps.

Second, our hope is that Cardano will eventually include a formal, blockchain based system to

propose and vote on both soft and hard forks. Bitcoin with its block size debate, Ethereum with

the DAO fork, and many other cryptocurrencies besides have endured long standing and, in

frequent cases, unresolved arguments over the technical and moral direction of the codebase.

It can and should be argued that many of these disagreements, and the fracturing of the

community that results when action is taken, are a direct result of a lack of formal processes for

debating change.
3 This is also known as a treasury system WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 6 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Where does one go to convince Bitcoin users to adopt Segregated Witness? How should the

core developers of Ethereum measure community sentiment for bailing out the DAO? If the

community fractures, is the cryptocurrency damaged beyond repair?

In the worst cases, moral authority to act could simply devolve to whoever has the developers,

infrastructural relationships and money, not the best wishes of the vast majority of the

community. Furthermore, if a large portion of the community is inaccessible or disengaged due

to bad incentives , then how can one truly know if their acts are legitimate? 4

Proposed cryptocurrencies such as Tezos provide an interesting model to examine where a

cryptocurrency protocol is treated like a constitution containing three sections (Transaction,

Consensus and Network) with a set of formal rules and process to update the constitution. Yet

there remains much work to be done with incentives and over how exactly to model and change

a cryptocurrency with a formal language.

The use of formal methods, machine understandable specifications and merging a treasury with

this process for financial incentives are being explored as possible avenues for inspiration.

Ultimately, just the ability to propose a protocol change in a transparent, censorship free way

with blockchain based voting should improve the process, even if more elegant solutions cannot

be designed.

Designing in Layers – Cardano Settlement Layer

When designing great protocols and languages, one should not look to the future, but rather to the past. History provides a litany of examples of great ideas that are perfect on paper, yet somehow have not survived, such as the Open Systems Interconnection standards. History also provides happy accidents that have endured from TCP/IP to JavaScript.

Some principles extracted from a historical view are the following:

1. You cannot predict the future so build in wiggle room
2. Complexity is nice on paper, but simplicity usually wins 3. Too many cooks spoil the broth 4. Once a standard is set it will probably stick around, regardless of whether it is suboptimal 4 See rational ignorance
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 7 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

5. Bad ideas can actually evolve into pretty good ones if there is a will

Cardano is a financial system that accepts its social nature. There will be a tremendous need for flexibility and the ability to address arbitrary complexity in a particular user’s transaction. If successful, there will be a need for tremendous computational, storage and network resources to accommodate millions of concurrent transactions.

Yet we do not have a digital, decentralized Robin Hood to take from the rich nodes and give to the poor ones in order to achieve a fair network. Nor do we have the luxury of trusting human beneficence to altruistically sacrifice for the greater good of the network. Therefore, Cardano’s design borrows from TCP/IP the concept of separation of concerns.

Blockchains are ultimately databases ordering facts and events with guarantees about timestamps and immutability. In the context of money, they order ownership of assets. Adding complex computation by storing and executing programs is an orthogonal concept. Do we want to know how much value went from Alice to Bob, or do we want to get involved in figuring out the whole story behind the transaction and deciding how much to send?

It is incredibly tempting to choose the latter as Ethereum has done because it is more flexible, but it violates the design principles above. Figuring out the story means that a single protocol has to be able to understand arbitrary events, script arbitrary transactions, permit arbitration in cases of fraud and even potentially reverse transactions when new information is made available.

Then one has to make difficult design decisions about what metadata to store for each transaction. What elements of the story behind Alice and Bob’s transaction are relevant? Are they relevant forever? When can we throw away some data? Does doing so violate the law in some countries?

Furthermore, some computation is private in nature. For example, when calculating the average salary of workers in an office, we would not necessarily want to leak how much each person makes. But what if every computation is publicly known? What if this publicity biases execution order to harm outcome?

Thus, we have chosen the position that the accounting of value should be separated from the story behind why the value was moved. In other words, separation of value from computation. This separation does not mean that Cardano will not support smart contracts. On the contrary, by making the separation explicit, it permits significantly more flexibility in the design, use, privacy and execution of smart contracts.

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 8 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

The value ledger is called the Cardano Settlement Layer (CSL). As the purpose is to account for value, the roadmap has the following goals:

1. Support two sets of scripting languages, one to move value and another to enhance overlay protocol support
2. Provide support for KMZ sidechains to link to other ledgers 5 3. Support multiple types of signature including quantum resistant signatures for higher security
4. Support multiple user issued assets 5. Achieve true scalability, meaning as more users join, the capabilities of the system increase

Scripting

Starting with the scripting language, transactions between addresses in a ledger require some form of a script to execute and be proven valid. Ideally, one would not want Eve to access Alice’s money, nor would one want a poorly designed script to accidently send value to a dead address making the funds irretrievable.

Systems such as Bitcoin provide an extremely inflexible and draconian scripting language that is difficult to program bespoke transactions in, and to read and understand. Yet the general programmability of languages such as Solidity introduce an extraordinary amount of complexity into the system and are useful to only a much smaller set of actors.

Therefore, we have chosen to design a new language called Simon in honor of its creator 6 Simon Thompson and the creator of the concepts that inspired it, Simon Peyton Jones. Simon is a domain-specific language that is based upon Composing contracts: an adventure in financial engineering.

The principal idea is that financial transactions are generally composed from a collection of foundational elements . If one assembles a financial periodic table of elements, then one can 7 provide support for an arbitrarily large set of compound transactions that will cover most, if not all, common transaction types without requiring general programmability.

5 Coming soon in a paper from Kiayias, Zindros and Miller 6 Specifics will be released in an upcoming specification. The full language will be supported in the Shelley CSL release planned for Q4 of 2017 7 Project ACTUS has an in-depth elaboration
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 9 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

The primary advantage is that security and execution can be extremely well understood. Proofs can be written to show correctness of templates and exhaust the execution space of problematic transaction events, such as the creation of new money out of thin air or transaction malleability. Second, one can leave in extensions to add more elements by way of soft forks if new functionality is required.

That said, there will always be a need to connect CSL to overlay protocols, legacy financial systems, and special purpose servers. Thus we have developed Plutus as both a general purpose smart contract language and also a special purpose DSL for interoperability.

Plutus is a typed functional language based on concepts from Haskell, which can be used to write custom transaction scripts. For CSL, it will be used for complex transactions required to add support for other layers we need to connect, such as our sidechains scheme.

Sidechains

With respect to sidechains, Cardano will support a new protocol developed by Kiayias, Miller and Zindros (KMZ sidechains) based upon prior results from proofs of proofs of work. The particular design is beyond the scope of this paper; however, the concept allows for the secure and non-interactive movement of funds from CSL to any Cardano Computation Layer or other blockchain supporting the protocol.

KMZ sidechains are the key to encapsulating complexity. Ledgers with regulatory requirements, private operations, robust scripting languages and other special concerns are effectively black boxes to CSL, yet the CSL user will gain certain guarantees about accounting and the ability to recall funds once computation is complete.

Signatures

In order to securely move value from Alice to Bob, Alice needs to prove she has the right to move the funds. The most direct and reliable way of accomplishing this task is to use a public key signature scheme where funds are connected to a public key and Alice controls an associated private key.

There are hundreds of possible schemes with different security parameters and assumptions. Some rely upon mathematical problems connected to elliptic curves, whereas others are connected to exotic concepts using lattices.
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 10 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

The abstract goal is always the same. There exists a hard problem that cannot be solved unless someone has a secret piece of knowledge. The holder of this piece of knowledge is said to be the owner of the keypair and should be the only entity that has the ability to use it.

There are two groups of concerns a cryptocurrency faces with choosing a signature scheme. First, there is the long-term security durability of the scheme itself. Some cryptographic schemes used in the 1970s and 1980s such as DES have been broken. The period over which the scheme should be expected to survive must be decided upon.

Second, there are many enterprises, governments and other institutions that have preferred, or in some cases, mandated the use of a particular scheme. For example, the NSA maintains the Suite B protocol set. There are standards from ISO and even W3C workgroups on cryptography.

If a cryptocurrency chooses a single signature scheme, it is forced to accept that the scheme could be broken at some point in the future and at least one entity cannot use the cryptocurrency due to legal or industry restrictions. Yet a cryptocurrency cannot support every signature scheme as this would require every client to understand and validate each scheme.

For Cardano, we decided to start with using elliptic curve cryptography, the Ed25519 curve in particular. We also decided to enhance the existing libraries by adding support for HD wallets using Dr Dmitry Khovratovich and Jason Law’s Specification .
8

This said, Cardano will support more signature schemes in the future. In particular, we are interested in integrating BLISS-B to add quantum computer resistant signatures to our system. We are also interested in adding SECP256k1 to enhance interoperability with legacy cryptocurrencies such as Bitcoin.

Cardano has been designed with special extensions that will allow us to add more signature schemes through a soft fork. They will be added as needed and during major updates planned in the roadmap .
9

User Issued Assets (UIAs)

Early in Bitcoin’s history, protocols were quickly developed to allow users to issue assets that piggybacked on Bitcoin’s accounting system in order to track multiple currencies concurrently. 8 This is the documentation for Cardano’s HD Wallet Implementation. We believe Cardano is the first cryptocurrency to support Ed25519 HD Wallets
9 See cardanoroadmap.com
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 11 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

These protocols were not natively supported by the Bitcoin protocol, but implemented through clever hacks.

In the case of Bitcoin overlays such as Colored Coins and Mastercoin (now called Omni), light clients are forced to rely on trusted servers. Also transaction fees still have to be paid in bitcoins. These properties combined with the single pipeline for transaction approval make Bitcoin suboptimal for multi-asset accounting.

In the Ethereum case using the ERC20 standard, there is more feature richness. However, transaction fees still require ether. Furthermore, the Ethereum network is having difficulty scaling to the needs of all the issued ERC20 tokens.

The fundamental problem can be broken into three parts: resources, incentives and concern. With respect to resources, adding an entirely new currency to the same ledger means one has two independent UTXO (unspent transaction inputs) sets sharing the bandwidth, mempool and block space. Consensus nodes responsible for embedding transactions of these currencies need an incentive for doing so. And not every user of a cryptocurrency will or should care about a particular entity’s currency.

Given these problems, the benefits are tremendous as the primary token of a multiasset ledger can effectively serve as a bridge currency allowing for decentralized market making. Special purpose assets could be issued to provide additional utility such as value stable assets like Tether or MakerDAO that are useful for lending and remittance applications.

Given the challenges, Cardano has adopted a pragmatic approach to multiasset accounting. Building in stages, the first challenge is designing the necessary infrastructure to support the demands of thousands of UIAs. Namely the following advancements are necessary:

1. Special purpose authenticated data structures to permit the tracking of a very large UTXO state

2. The ability to have a distributed mempool to hold a huge set of pending transactions
3. Blockchain partitioning and checkpoints to permit a huge global blockchain 4. An incentive scheme that rewards consensus nodes for including different sets of transactions 5. A subscription mechanic that allows users to decide which currencies they want to track
6. Strong security guarantees that UIAs enjoy similar security as the native asset 7. Support for decentralized market making to improve liquidity between UIA and the primary token

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 12 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Our preliminary efforts for finding the right authenticated data structure have resulted in a new type of AVL+ Tree jointly developed by Leo Reyzin, IOHK and Waves. More research is required, but it is a foundational advancement that will be included in a later version of Cardano.

A distributed mempool could be implemented using Stanford University’s RAMCloud protocol. Experiments will begin in Q3 of 2017 to study its integration into Cardano’s consensus layer.

The remaining topics are interconnected and covered by ongoing research. We expect — subject to research results — to include a protocol into Cardano for UIAs during the Basho of CSL release in 2018.

Scalability

Distributed systems are composed of a set of computers (nodes) agreeing to run a protocol or

suite of protocols to accomplish a common goal. This goal could be sharing a file as defined by

the BitTorrent protocol or folding a protein using Folding@Home.

The most effective protocols gain resources as nodes join the network. A file hosted by

BitTorrent, for example, can be downloaded much faster on average if many peers are

concurrently downloading it. The speed increases because the peers provide resources while

also consuming them. This characteristic is what one typically means when stating a distributed

system scales.

The challenge with the design of all current cryptocurrencies is that they actually are not

designed to be scalable. Blockchains, for example, are usually an append-only linked list of

blocks. The security and availability of a blockchain protocol relies upon many nodes

possessing a full copy of the blockchain data. Thus, a single byte of data must be replicated

among N nodes. Additional nodes do not provide additional resources.

This result is the same for transaction processing and the gossiping of messages throughout

the system. Adding more nodes to the consensus system does not provide additional

transaction processing power. It just means more resources have to be spent to do the same

job. More network relaying meaning more nodes have to pass the same messages to keep the

whole network in synchronization with the most current block.

Given this topology, cryptocurrencies cannot scale to a global network on par with legacy

financial systems. In contrast, legacy infrastructure is scalable and has orders of magnitude for

more processing and storage power. Adding a specific point, Bitcoin is a very small network

relative to its payment peers, yet struggles to manage its current load.
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 13 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Our scalability goals for Cardano are greatly aided by our consensus algorithm. Ouroboros

permits a decentralized way to elect a quorum of consensus nodes, which in turn can run more

traditional protocols developed over the last 20 years to accommodate the needs of large

infrastructure providers such as Google and Facebook .
10

For example, the election of a quorum for an epoch means we have a trusted set of nodes to

maintain the ledger for a specific time period. It is trivial to elect multiple quorums concurrently

and partition transactions to different quorums.

Similar techniques could be applied for network propagation and also sharding the blockchain

itself into unique partitions. In our current roadmap, scaling methods will be applied to

Ouroboros starting in 2018 and continue to be a focus in 2019 and 2020.

Cardano Computation Layer

As mentioned previously, there are two components of a transaction: the mechanism to send and record the flow of tokens and the reasons as well as conditions behind moving tokens. The latter can be arbitrarily complex and involve terabytes of data, multiple signatures and special events occurring. The latter can also be remarkably simple with a single signature pushing value to another address.

The challenge behind modeling the reasons and conditions of value flow is that they are immensely personal to the entities involved in the most unpredictable of ways. Lessons from contract law paint an even more problematic picture where the actors themselves might not even be aware that the transaction does not match commercial reality. We generally call this phenomenon “the semantic gap” . 11

Why should one build a cryptocurrency chasing an endless layer of complexity and abstraction? It seems Sisyphean in nature and naive in practice. Furthermore, each abstraction embraced has both legal and security consequences.

For example, there are numerous activities online that are universally deemed illegal or scorned such as the trafficking of child pornography or the selling of state secrets. By deploying robust 10 There are also other independently research protocols attempting to achieve the same end such as Elastico and Bitcoin-NG
11 Loi Luu et al. discuss this gap in their recent paper on Making Smart Contracts Smarter WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 14 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

decentralized infrastructure, one is now providing a channel for this activity to occur with the same censorship resistance that normal commercial transactions enjoy. It is legally unclear if the consensus nodes of the network — which have the incentive to become more federated over time to promote efficiency — would be held accountable for the content they host.

Prosecution of Tor operators, the brutal treatment of Silk Road’s operator and the lack of overall legal clarity behind legal protections of protocol participants leaves an uncertain road. There is no lack of imagination of what else a sufficiently advanced cryptocurrency could enable (see the Ring of Gyges). Is it reasonable to force all users of a cryptocurrency to endorse or at least enable the worst acts and conduct of the web?

Unfortunately, there are no clear answers that provide insight to a cryptocurrency designer. It is more about picking a position and defending its merit. The advantage that both Cardano and Bitcoin have is that we have chosen to separate concerns to layers. With Bitcoin, there is Rootstock. With Cardano, there is the Cardano Computation Layer.

The kinds of complex behavior that would enable the acts elaborated previously cannot run on CSL. They require the ability to run programs written in a Turing complete language and some form of gas economics to meter computation. They also require consensus nodes willing to include the transactions in their blocks.

Thus, a functionality restriction could reasonably protect users. So far, most established governments have not taken the position that the use or maintenance of a cryptocurrency is an illegal act. Hence, the vast majority of users should be comfortable maintaining a ledger that is comparable in capability with a digital payment system.

When one wants to extend capability, there are two possibilities. It is enabled by a private collective of likeminded individuals and ephemeral in nature (for example, a poker game). Or, it is enabled by a ledger of comparable capabilities as Ethereum. In both cases, we have chosen outsourcing the events to another protocol.

In the case of a private, ephemeral event, it is reasonable to avoid the blockchain paradigm entirely, but rather restrict efforts towards a library of special purpose MPC protocols that can be invoked when desired by a group of likeminded participants. The computations and activities are coordinated in a private network and reference CSL only as a trusted bulletin board and a message passing channel when necessary.

The key insight in this case is that there is consent, encapsulation of liability and privacy. CSL is being used as a digital commons for users to meet and communicate — like a park would host a private event — but does not provide any special accommodations or facilitation. Furthermore, WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 15 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

the use of special purpose MPC will enable low latency interaction without the need for blockchain bloat. Thus, it improves the scale of the system.

Cardano’s research efforts towards this library are centralized at our Tokyo Tech laboratory with some assistance from scientists abroad. We call the library “Tartaglia” after a fellow mathematician as well as contemporary of Cardano and expect the first iteration to be available in Q1 of 2018.

In the second case, one needs a blockchain with a virtual machine, a set of consensus nodes and a mechanism to enable communication between the two chains. We have begun the process of rigorously formalizing the Ethereum Virtual Machine using the K-framework in 12 partnership with a team from the University of Illinois.

The result of this analysis will inform the most optimal way to design a replicated and eventually distributed virtual machine with clear operational semantics and strong guarantees of correct 13 implementation from the specification. In other words, the VM actually does what the code tells it to do with the security risks minimized.

There are still unresolved questions about the gas economics proposed by Ethereum and how it relates to work such as Jan Hoffmann et al’s resource aware ML and the broader study of resource estimation for computation. We are also curious about the level of language independence of the virtual machine. For example, the Ethereum project has expressed desire for transition from their current VM to Web Assembly.

The next effort is in developing a reasonable programming language to express stateful contracts that will be called as services by decentralized applications. For this task, we have chosen both the approach of supporting the legacy smart contract language Solidity for low assurance applications and developing a new language called Plutus for higher assurance applications requiring formal verification.

Like the solidity based Zeppelin project, IOHK will also develop a reference library of Plutus code for application developers to use in their projects. We will also develop a specialized set of tools for formal verification inspired by work from UCSD’s Liquid Haskell project.

In terms of consensus, Ouroboros was designed in a sufficiently modular fashion to support smart contract evaluation. Hence, both CSL and CCL will share the same consensus algorithm. 12 Invented by Professor Grigore Rosu et. al., K is a universal framework for language independent machine executable semantics. Prior to our work, it has been used to model C, Java and JavaScript 13 Meaning that different consensus nodes run different smart contracts. Also known as state sharding WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 16 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

The difference is that Ouroboros can be confirmed to permit both permissioned and permissionless ledgers via token distribution.

With CSL, Ada has been distributed by a token generating event to purchasers throughout Asia who will eventually resell on a secondary market. This means that CSL’s consensus algorithm is controlled by a diverse and increasingly more decentralized set of actors or their delegated assigns. With CCL, it is possible to create a special purpose token held by delegates of that ledger who could be regulated entities, thereby creating a permissioned ledger.

The flexibility of this approach allows for different instances of CCL to materialize with different rules about the evaluation of transactions. For example, gambling activities could be restricted unless KYC/AML data is present simply by blacklisting non-attributed transactions.

Our final design focus is on adding trusted hardware security modules (HSM) to our protocol stack. These are two enormous advantages when introducing these capabilities into the protocol. First, HSMs provide massive boosts in performance without introducing security 14 concerns beyond trusting the vendor. Second, through the use of Sealed Glass Proofs (SGP), HSMs can provide assurances that data can be verified and then destroyed without being copied or leaked to malicious outsiders.

Focusing on the second point, SGPs could have a revolutionary impact upon compliance. Ordinarily, when a consumer provides personally identifiable information (PII) to authenticate identity or prove the right to participate, this information is handed to a trusted third party with the hope it will not act maliciously. This activity is intrinsically centralized, the data provider loses control over their PII and is also subject to various regulations based on jurisdiction.

The ability to select a set of trusted attestors and then warehouse PII in a hardware enclave means that any actor with a sufficiently capable HSM will be able to verify facts about an actor in an unforgeable way without the verifier knowing the identity of the actor. For example, Bob is not an US citizen. Alice is an accredited investor. James is a US taxpayer and one should send taxable profits to account X.

Cardano’s HSM strategy will be to attempt implemented specialized protocols over the next two years using Intel SGX and ARM Trustzone. Both modules are built into billions of consumer devices from laptops to cellphones and require no additional effort on the consumer side to use. Both are also heavily vetted, well designed and based upon years of iteration from some of the largest and best funded hardware security teams.

14 See http://hackingdistributed.com/2016/12/22/scaling-bitcoin-with-secure-hardware/ from Cornell University WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 17 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Regulation

The harsh reality of all modern financial systems is that as they scale, they accumulate a need, or at least a desire, for regulation. This outcome is generally the result of recurrent collapses due to the negligence of some actor or cabal of actors in a marketplace.

For example, the Knickerbocker Crisis of 1907 resulted in the creation of the Federal Reserve System in 1913 as a lender of last resort. Another example is the excesses of the 1920s in the United States that resulted in a terrible financial collapse, the Great Depression. This collapse yielded the creation of the Securities Exchange Commission in 1934 in order to prevent a similar event or at least hold bad actors accountable.

One can reasonably debate the need for, scope and efficacy of regulation, but one cannot deny its existence and the zeal with which major governments have enforced it. However, the challenge all regulators face as the world globalizes and cash becomes digital is two-pronged.

First, which set of regulations should be supreme when dealing with a collection of jurisdictions? The antiquated notion of Westphalian sovereignty melts when a single transaction can touch three dozen countries in under a minute. Should it simply be whomever wields the most geopolitical influence?

Second, improvements in privacy technology have created a digital arms race where it will become increasingly more difficult to even understand who has participated in a transaction, much less who owns a particular store of value. In a world where millions of dollars of assets can be controlled with nothing more than a secretly held 12-word mnemonic , how do you 15 enforce effective regulation?

Like all financial systems, the Cardano protocol must have an opinion in its design over what is fair and reasonable. We have chosen to divide between individual rights and the rights of a marketplace.

Individuals should always have sole access to their funds without coercion or civil asset forfeiture. This right has to be enforced because not all governments can be trusted not to abuse their sovereign power for the personal gain of corrupt politicians, as seen in Venezuela and Zimbabwe. Cryptocurrencies have to be engineered to the lowest common denominator.

15 See BIP39 https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 18 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Second, history should never be tampered with. Blockchains provide a promise of immutability. Introducing the power to roll back history or alter the official record introduces too much temptation to change the past in order to benefit a particular actor or actors.

Third, the flow of value should be unrestricted. Capital controls and other artificial walls diminish human rights. Outside of the futility of attempting to enforce them , in a global 16 economy with many citizens in the least developed nations traveling outside of their jurisdiction to find a living wage, restricting capital flows usually ends up harming the poorest in the world.

These principles stated, markets are distinctly different from individuals. While the designers of Cardano believe in individual rights, we also believe that markets have the right to openly state their terms and conditions, and if an individual agrees to do business within this market, then they must be held to those standards for the sake of integrity of the entire system.

The challenge has always been cost and practicality of enforcement. Small, multijurisdictional transactions are simply too expensive in legacy systems to provide high assurance of recourse in the event of fraud or a commercial dispute. When one sends their wire transfer to the Nigerian Prince , it is usually too expensive to try to get one’s funds back.
17

For Cardano, we feel we can innovate on three levels. First, through the use of smart contracts the terms and conditions of commercial relationships can be better controlled. If all assets are digital and can be solely expressed on CSL, strong guarantees of fraud-free commerce can be gained.

Second, the use of HSMs to provide an identity space where PII is not leaked but yet used to authenticate and credential actors should provide a global reputation system and allow for much lower cost regulated activities to be conducted, such as online gaming with automated tax compliance or decentralized exchanges.

Finally, in Cardano’s roadmap is the creation of a modular regulation DAO that can be customized to interact with user written smart contracts in order to add mutability, consumer protection and arbitration. The scope of this project will be outlined in a later paper.

16 As an example of a countermeasure to capital flow, see the Hawala Banking System 17 See Advance-fee Scam WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 19 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

What is the Point of All of It?

Cardano has been a marathon project involving feedback from hundreds of the brightest minds

inside and outside of the cryptocurrency industry. It involves tireless iteration, the active use of

peer review, and shameless theft of great ideas when uncovered.

The remaining sections each cover a particular aspect of focus we have decided is a core

component of our project. Some were selected due to a desire to improve the overall best

practices of the space whereas others are specific to Cardano’s evolution.

While no project can cover every goal or satisfy every user, our hope is to provide a vision for

what a self-evolving financial stack should look like for jurisdictions that lack them. The ultimate

reality of cryptocurrencies is not that they will disrupt the existing legacy financial systems.

Legacy financial systems are always capable of absorbing change and maintaining their form

and function.

Rather one ought to look to places where it is simply too expensive to deploy the existing

banking system, where many live on less than a few dollars a day, have no stable identity and

credit is impossible to find.

In these places, the power to bundle a payment system, property rights, identity, credit and risk

protection into a single application running on a cell phone is not just useful, it is life changing.

The reason we are building Cardano is that we feel we have a legitimate shot at delivering — or

at least advancing — this vision for the developing world.

Even in failure, if we can change the way cryptocurrencies are designed, evolved and funded,

then there is a great accomplishment.

Introdução

Uma visão de longo prazo sobre como melhorar o design das criptomoedas para que possam funcionar dispositivos móveis com uma experiência de usuário razoável e segura ● Aproximando as partes interessadas das operações e manutenção de sua criptomoeda ● Reconhecendo a necessidade de contabilizar vários ativos no mesmo livro razão ● Abstrair transações para incluir metadados opcionais, a fim de melhor estar em conformidade com o necessidades de sistemas legados ● Aprendendo com as quase 1.000 altcoins, adotando recursos que fazem sentido ● Adote um processo baseado em padrões inspirado na Força-Tarefa de Engenharia da Internet usando uma base dedicada para definir o design final do protocolo
● Explore os elementos sociais do comércio
● Encontrar um meio-termo saudável para os reguladores interagirem com o comércio sem comprometer alguns princípios fundamentais herdados de Bitcoin

A partir deste conjunto não estruturado de ideias, os diretores que trabalharam em Cardano começaram a explorar

literatura sobre criptomoedas e construir um conjunto de ferramentas de abstrações. O resultado desta pesquisa é

A extensa biblioteca de artigos da IOHK, numerosos resultados de pesquisas, como este script recente

visão geral da linguagem, bem como uma Ontologia de Contratos Inteligentes e o projeto Scorex. Lições

cedeu um apreciação para o criptomoeda da indústria incomum e em vezes

crescimento contraproducente.

Primeiro, ao contrário de protocolos bem sucedidos como o TCP/IP, há poucas camadas no design de

criptomoedas. Tem havido um desejo de preservar uma noção única de consenso em torno

fatos e eventos registrados em um único livro-razão, independentemente de fazer sentido.

Por exemplo, Ethereum sobrecarregou uma enorme complexidade ao tentar se tornar um

computador mundial universal, mas sofre de preocupações triviais que podem destruir o sistema

capacidade de operar como reserva de valor. O programa de todos deveria ser um cidadão de primeira classe

independentemente do seu valor económico, custo de manutenção ou consequências regulamentares?

Em segundo lugar, há pouca apreciação pelos resultados anteriores na investigação criptográfica convencional. Para

Por exemplo, a Prova de Participação delegada da Bitshares poderia ter gerado dados aleatórios de maneira fácil e confiável.

números usando lançamento de moeda com entrega garantida, que é uma técnica conhecida desde

década de 1980 (ver o artigo seminal de Rabin e Ben-Or).

Terceiro, a maioria das altcoins (com algumas exceções notáveis, como Tezos) não fizeram qualquer

acomodação para atualizações futuras. A capacidade de empurrar com sucesso um garfo macio ou duro é fundamental

para o sucesso a longo prazo de qualquer criptomoeda.

Como corolário, os usuários corporativos não podem comprometer milhões de dólares em recursos para

protocolos onde o roteiro e os atores por trás deles são efêmeros, mesquinhos ou radicalizados. Lá

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 3 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

precisa ser um processo eficiente através do qual o consenso social possa se formar em torno de uma visão para

evoluindo o protocolo subjacente. Se este processo é extremamente oneroso, a fragmentação

poderia separar a comunidade.

Finalmente, dinheiro é em última análise um sociais fenômeno. No esforço de anonimizar e

atores centrais desintermediários, Bitcoin e seus contemporâneos também descartaram a necessidade de

identidades, metadados e reputação estáveis em transações comerciais. Adicionando esses dados

através de soluções centralizadas elimina a auditabilidade, a disponibilidade global e a imutabilidade -

qual é o objetivo de usar um blockchain.

Os sistemas financeiros legados, como os compostos por SWIFT, FIX e ACH, são ricos em

metadados transacionais. Não basta saber quanto valor foi movimentado entre contas,

a regulamentação muitas vezes exige a atribuição de atores envolvidos, informações de conformidade, relatórios

atividades suspeitas e outros registros e ações. Em alguns casos, os metadados são mais

importante do que a transação.

Portanto, parece razoável inferir que a manipulação de metadados poderia ser tão prejudicial quanto

falsificar moeda ou reescrever o histórico de transações. Não fazendo acomodações para atores

que desejam incluir voluntariamente esses campos parece contraproducente para a adoção generalizada

e protecção do consumidor.

Fim da estadia

A agregação de nossa exploração baseada em princípios do espaço das criptomoedas consiste em duas coleções de

protocolos. Respectivamente, uma criptomoeda baseada em Prova de Participação [1][2] comprovadamente segura chamada

Cardano Camada de Liquidação (CSL) e um conjunto de protocolos denominado Camada de Computação Cardano

(CCL).

Nossa ênfase no design é acomodar os aspectos sociais das criptomoedas, construídos em camadas

separando a contabilização do valor da computação complexa e atendendo às necessidades de

reguladores no âmbito de vários princípios imutáveis. Além disso, onde for sensato,

1 tentamos examinar os protocolos propostos por meio de revisão por pares e verificar o código em relação aos protocolos formais.

especificações.

1 Consulte a seção Regulamento para obter a lista POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 4 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Prova de participação

Usar prova de participação para uma criptomoeda é uma escolha de design muito debatida, no entanto, porque

adiciona um mecanismo para introduzir votação segura, tem mais capacidade de escala e permite mais

esquemas de incentivos exóticos, decidimos adotá-los.

Nosso protocolo de prova de participação é chamado Ouroboros e foi desenvolvido por um especialista extremamente

talentosa equipe de criptógrafos de cinco instituições acadêmicas liderada pelo Professor Aggelos

2 Kiayias da Universidade de Edimburgo. A principal inovação que traz além de ser comprovadamente segura

usar um modelo criptográfico rigoroso é um design modular e flexível que permite o

composição de muitos protocolos para melhorar a funcionalidade.

Essa modularidade permite recursos como delegação, sidechains, pontos de verificação subscritíveis,

melhores estruturas de dados para clientes leves, diferentes formas de geração de números aleatórios e até

diferentes suposições de sincronização. À medida que uma rede se desenvolve de milhares para

milhões e até bilhões de usuários, os requisitos do seu algoritmo de consenso também

mudar. Assim, é vital ter flexibilidade suficiente para acomodar estas mudanças e, assim,

preparar o coração de uma criptomoeda para o futuro.

Elementos Sociais do Dinheiro

As criptomoedas são um excelente exemplo do componente social do dinheiro. Ao restringir

análise apenas à tecnologia, há pouca diferença entre Bitcoin e Litecoin e até

menos entre Ethereum e Ethereum Clássico. No entanto, tanto Litecoin quanto Ethereum Classic

manter grandes capitalizações de mercado e comunidades robustas e dinâmicas, bem como as suas próprias

mandatos sociais.

Pode-se argumentar que grande parte do valor de uma criptomoeda deriva de sua comunidade,

a forma como utiliza a moeda e o seu nível de envolvimento na evolução da moeda. Avançar

Pensando nisso, moedas como o Dash integraram sistemas diretamente no protocolo para

envolver a sua comunidade na decisão do que deve ser uma prioridade para desenvolver e financiar.

2 Universidade de Connecticut, Universidade de Atenas, Universidade de Edimburgo, Universidade de Aarhus, Tóquio Instituto de Tecnologia POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 5 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

A vasta diversidade de criptomoedas também fornece evidências dos seus elementos sociais.

Desentendimentos sobre filosofia, política monetária ou mesmo apenas entre os principais desenvolvedores

levar à fragmentação e bifurcações. No entanto, ao contrário das suas contrapartes criptomoedas, as moedas fiduciárias de

superpotências tendem a sobreviver a mudanças políticas e desentendimentos locais sem uma crise monetária ou

êxodo em massa.

Portanto, parece que existem elementos de sistemas legados que estão faltando no

indústria de criptomoedas. Argumentamos - e inculcamos no roteiro Cardano - que

os usuários de um protocolo precisam de incentivos para compreender o contrato social por trás de seu protocolo e

ter a liberdade de propor mudanças de forma produtiva. Esta liberdade estende-se a todos

aspecto de um sistema de troca de valor, desde decidir como os mercados devem ser regulados até quais

projetos devem ser financiados. No entanto, não pode ser intermediado através de intervenientes centralizados nem exigir

alguma credencial especial que poderia ser cooptada por uma minoria bem financiada.

Cardano implementará um sistema de protocolos de sobreposição construídos sobre CSL para acomodar o

necessidades de seus usuários.

Primeiro, independentemente do sucesso de um crowdsale para iniciar o desenvolvimento, os fundos acabarão por

dissipar. Portanto, Cardano incluirá um trust descentralizado financiado monotonicamente

3 diminuindo a inflação e as taxas de transação.

Qualquer usuário deve ser elegível para solicitar fundos do fundo por meio de um sistema de votação e o

as partes interessadas da CSL votam sobre quem se torna beneficiário. O processo cria um ambiente produtivo

ciclo de feedback visto em outras criptomoedas com sistemas de tesouraria/confiança, como Dash, por

iniciar uma conversa sobre quem deve ou não ser financiado.

As discussões sobre financiamento forçam uma relação de objetivos de longo e curto prazo, o impacto social da criptomoeda

contrato, prioridades e crença na criação de valor com propostas particulares. Esta conversa

significa que a comunidade está constantemente avaliando e debatendo suas crenças contra possíveis

roteiros.

Em segundo lugar, nossa esperança é que Cardano eventualmente inclua um sistema formal baseado em blockchain para

propor e votar em soft e hard forks. Bitcoin com seu debate sobre o tamanho do bloco, Ethereum com

o fork DAO e muitas outras criptomoedas têm perdurado por muito tempo e, em

casos frequentes, discussões não resolvidas sobre a direção técnica e moral da base de código.

Pode e deve argumentar-se que muitas destas divergências e a fractura da

comunidade que resulta quando a ação é tomada, são um resultado direto da falta de processos formais para

debatendo a mudança.
3 Isso também é conhecido como sistema de tesouraria POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 6 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Onde alguém vai para convencer os usuários de Bitcoin a adotar o Segregated Witness? Como deveria o

os principais desenvolvedores de Ethereum medem o sentimento da comunidade para resgatar o DAO? Se o

fraturas na comunidade, a criptomoeda está danificada sem possibilidade de reparo?

Nos piores casos, a autoridade moral para agir poderia simplesmente ser transferida para quem tem os desenvolvedores,

relações infraestruturais e dinheiro, e não os melhores votos da grande maioria do

comunidade. Além disso, se uma grande parte da comunidade estiver inacessível ou desligada devido

a maus incentivos, então como alguém pode realmente saber se seus atos são legítimos? 4

As criptomoedas propostas, como Tezos, fornecem um modelo interessante para examinar onde um

protocolo de criptomoeda é tratado como uma constituição contendo três seções (Transação,

Consenso e Rede) com um conjunto de regras e processos formais para atualizar a constituição. Ainda

ainda há muito trabalho a ser feito com incentivos e sobre como exatamente modelar e mudar

uma criptomoeda com uma linguagem formal.

O uso de métodos formais, especificações compreensíveis por máquina e fusão de uma tesouraria com

este processo de incentivos financeiros está sendo explorado como possíveis caminhos de inspiração.

Em última análise, apenas a capacidade de propor uma mudança de protocolo de forma transparente e livre de censura

com votação baseada em blockchain deve melhorar o processo, mesmo que soluções mais elegantes não possam

ser projetado.

Projetando em Camadas – Cardano Camada de Assentamento

Ao projetar grandes protocolos e linguagens, não se deve olhar para o futuro, mas sim para o passado. A história fornece uma série de exemplos de grandes ideias que são perfeitas no papel, mas de alguma forma não sobreviveram, como os padrões de interconexão de sistemas abertos. História também fornece acidentes felizes que ocorreram do TCP/IP ao JavaScript.

Alguns princípios extraídos de uma visão histórica são os seguintes:

1. Você não pode prever o futuro, então crie espaço de manobra
2. A complexidade é boa no papel, mas a simplicidade geralmente vence 3. Muitos cozinheiros estragam o caldo 4. Uma vez estabelecido um padrão, ele provavelmente permanecerá, independentemente de ser abaixo do ideal 4 Veja a ignorância racional
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 7 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

5. Ideias ruins podem realmente evoluir para ideias muito boas se houver vontade

Cardano é um sistema financeiro que aceita sua natureza social. Haverá uma tremenda necessidade para flexibilidade e capacidade de lidar com a complexidade arbitrária na transação de um usuário específico. Se bem-sucedido, haverá uma necessidade enorme de recursos computacionais, de armazenamento e de rede para acomodar milhões de transações simultâneas.

No entanto, não temos um Robin Hood digital e descentralizado para tirar dos nós ricos e dar aos os pobres, a fim de alcançar uma rede justa. Nem temos o luxo de confiar nos humanos beneficência para sacrificar altruisticamente pelo bem maior da rede. Portanto, Cardano's O design toma emprestado do TCP/IP o conceito de separação de interesses.

Blockchains são, em última análise, bancos de dados que ordenam fatos e eventos com garantias sobre carimbos de data / hora e imutabilidade. No contexto do dinheiro, eles ordenam a propriedade de bens. Adicionando computação complexa armazenando e executando programas é um conceito ortogonal. Nós queremos saber quanto valor passou de Alice para Bob, ou queremos nos envolver em descobrir toda a história por trás da transação e decidir quanto enviar?

É incrivelmente tentador escolher o último como Ethereum fez porque é mais flexível, mas viola os princípios de design acima. Descobrir a história significa que um único protocolo tem que ser capaz de compreender eventos arbitrários, criar scripts de transações arbitrárias, permitir a arbitragem em casos de fraude e até mesmo transações potencialmente reversíveis quando novas informações são fornecidas disponível.

Então é preciso tomar decisões difíceis de design sobre quais metadados armazenar para cada transação. Que elementos da história por trás da transação de Alice e Bob são relevantes? São eles são relevantes para sempre? Quando podemos jogar fora alguns dados? Fazer isso viola a lei em alguns países?

Além disso, alguns cálculos são de natureza privada. Por exemplo, ao calcular a média salário dos trabalhadores de um escritório, não quereríamos necessariamente divulgar quanto cada pessoa faz. Mas e se todos os cálculos forem conhecidos publicamente? E se esta publicidade distorcer a execução para prejudicar o resultado?

Assim, escolhemos a posição de que a contabilização do valor deveria ser separada da história por trás do motivo pelo qual o valor foi movido. Em outras palavras, separação entre valor e computação. Esta separação não significa que Cardano não suportará smart contracts. Pelo contrário, ao tornar a separação explícita, permite significativamente mais flexibilidade no design, uso, privacidade e execução de smart contracts.

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 8 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

O razão de valores é chamado de Cardano Camada de Liquidação (CSL). Como o objetivo é contabilizar valor, o roteiro tem os seguintes objetivos:

1. Suporta dois conjuntos de linguagens de script, um para movimentar valor e outro para aprimorar suporte a protocolo de sobreposição
2. Fornece suporte para cadeias laterais KMZ para vinculação a outros livros-razão 5 3. Suporta vários tipos de assinatura, incluindo assinaturas resistentes a quantum para maior segurança
4. Suporte a ativos emitidos por vários usuários 5. Alcance a verdadeira escalabilidade, ou seja, à medida que mais usuários ingressam, os recursos do sistema aumentar

Scripts

Começando com a linguagem de script, as transações entre endereços em um livro-razão exigem alguns forma de um script para ser executado e ser provado válido. Idealmente, não se gostaria que Eva acessasse O dinheiro de Alice, nem ninguém iria querer que um script mal elaborado enviasse acidentalmente valor a um morto endereço tornando os fundos irrecuperáveis.

Sistemas como Bitcoin fornecem uma linguagem de script extremamente inflexível e draconiana que é difícil programar transações personalizadas, bem como ler e compreender. Ainda o geral a programabilidade de linguagens como Solidity introduz uma quantidade extraordinária de complexidade no sistema e são úteis apenas para um conjunto muito menor de atores.

Por isso, optamos por desenhar uma nova linguagem chamada Simon em homenagem ao seu criador 6 Simon Thompson e o criador dos conceitos que o inspiraram, Simon Peyton Jones. Simão é uma linguagem específica de domínio baseada em Composição de contratos: uma aventura no mundo financeiro engenharia.

A ideia principal é que as transações financeiras são geralmente compostas por um conjunto de elementos fundamentais. Se montarmos uma tabela periódica financeira de elementos, então poderemos 7 fornecer suporte para um conjunto arbitrariamente grande de transações compostas que cobrirá a maior parte, se não todos, tipos de transação comuns sem exigir programação geral.

5 Em breve em artigo de Kiayias, Zindros e Miller 6 Os detalhes serão divulgados em uma especificação futura. O idioma completo será suportado no Lançamento do Shelley CSL planejado para o quarto trimestre de 2017 7 O Projeto ACTUS conta com uma elaboração aprofundada
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 9 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

A principal vantagem é que a segurança e a execução podem ser extremamente bem compreendidas. Provas pode ser escrito para mostrar a correção dos modelos e esgotar o espaço de execução de eventos de transação problemáticos, como a criação de dinheiro novo do nada ou transações maleabilidade. Em segundo lugar, pode-se deixar extensões para adicionar mais elementos por meio de soft forks se nova funcionalidade é necessária.

Dito isto, sempre haverá a necessidade de conectar a CSL a protocolos de sobreposição, sistemas financeiros legados sistemas e servidores para fins especiais. Assim, desenvolvemos Plutus tanto como um linguagem de propósito smart contract e também uma DSL de propósito especial para interoperabilidade.

Plutus é uma linguagem funcional tipada baseada em conceitos de Haskell, que pode ser usada para escrever scripts de transação personalizados. Para CSL, será usado para transações complexas necessárias para adicione suporte para outras camadas que precisamos conectar, como nosso esquema de cadeias laterais.

Cadeias laterais

Com relação às cadeias laterais, Cardano apoiará um novo protocolo desenvolvido por Kiayias, Miller e Zindros (cadeias laterais KMZ) com base em resultados anteriores de provas de provas de trabalho. O particular o design está além do escopo deste artigo; no entanto, o conceito permite a segurança e movimentação não interativa de fundos da CSL para qualquer camada de computação Cardano ou outra blockchain suportando o protocolo.

As cadeias laterais KMZ são a chave para encapsular a complexidade. Livros contábeis com requisitos regulatórios, operações privadas, linguagens de script robustas e outras preocupações especiais são efetivamente negras caixas para CSL, mas o usuário CSL ganhará certas garantias sobre contabilidade e a capacidade de recuperar fundos assim que o cálculo for concluído.

Assinaturas

Para transferir valor de Alice para Bob com segurança, Alice precisa provar que tem o direito de movimentar os fundos. A maneira mais direta e confiável de realizar esta tarefa é usar um serviço público esquema de assinatura de chave onde os fundos estão conectados a uma chave pública e Alice controla um chave privada associada.

Existem centenas de esquemas possíveis com diferentes parâmetros e suposições de segurança. Alguns baseiam-se em problemas matemáticos ligados a curvas elípticas, enquanto outros são conectado a conceitos exóticos usando redes.
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 10 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

O objetivo abstrato é sempre o mesmo. Existe um problema difícil que não pode ser resolvido a menos que alguém tem um conhecimento secreto. Diz-se que o detentor deste conhecimento é o proprietário do par de chaves e deve ser a única entidade que tem a capacidade de usá-lo.

Existem dois grupos de preocupações que uma criptomoeda enfrenta ao escolher um esquema de assinatura. Primeiro, existe a durabilidade da segurança a longo prazo do próprio esquema. Alguma criptografia esquemas usados nas décadas de 1970 e 1980, como o DES, foram quebrados. O período durante o qual espera-se que o esquema sobreviva deve ser decidido.

Em segundo lugar, há muitas empresas, governos e outras instituições que preferiram, ou em alguns casos, exigiu o uso de um esquema específico. Por exemplo, a NSA mantém o Conjunto de protocolos Suite B. Existem padrões da ISO e até mesmo de grupos de trabalho do W3C sobre criptografia.

Se uma criptomoeda escolher um esquema de assinatura única, ela será forçada a aceitar que o esquema pode ser quebrado em algum momento no futuro e pelo menos uma entidade não pode usar o criptomoeda devido a restrições legais ou do setor. No entanto, uma criptomoeda não pode suportar todos esquema de assinatura, pois isso exigiria que cada cliente entendesse e validasse cada esquema.

Para Cardano, decidimos começar usando criptografia de curva elíptica, a curva Ed25519 em particular. Também decidimos aprimorar as bibliotecas existentes adicionando suporte para carteiras HD usando as especificações do Dr. Dmitry Khovratovich e Jason Law.
8

Dito isto, Cardano suportará mais esquemas de assinatura no futuro. Em particular, estamos interessado em integrar o BLISS-B para adicionar assinaturas resistentes a computadores quânticos ao nosso sistema. Também estamos interessados em adicionar SECP256k1 para melhorar a interoperabilidade com legado criptomoedas como Bitcoin.

Cardano foi projetado com extensões especiais que nos permitirão adicionar mais assinaturas esquemas através de um soft fork. Eles serão adicionados conforme necessário e durante grandes atualizações planejadas em o roteiro.
9

Ativos emitidos pelo usuário (UIAs)

No início da história de Bitcoin, protocolos foram rapidamente desenvolvidos para permitir que os usuários emitisse ativos que aproveitou o sistema de contabilidade de Bitcoin para rastrear várias moedas simultaneamente. 8 Esta é a documentação para a implementação da carteira HD de Cardano. Acreditamos que Cardano é o primeiro criptomoeda para suportar carteiras Ed25519 HD
9 Veja cardanoroadmap.com
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 11 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Esses protocolos não eram suportados nativamente pelo protocolo Bitcoin, mas implementados através truques inteligentes.

No caso de sobreposições Bitcoin, como Moedas Coloridas e Mastercoin (agora chamado Omni), luz os clientes são forçados a confiar em servidores confiáveis. Além disso, as taxas de transação ainda precisam ser pagas em bitcoins. Essas propriedades combinadas com o pipeline único para aprovação de transações tornam Bitcoin abaixo do ideal para contabilidade de múltiplos ativos.

No caso Ethereum usando o padrão ERC20, há mais riqueza de recursos. No entanto, as taxas de transação ainda exigem Ether. Além disso, a rede Ethereum está tendo dificuldades dimensionando de acordo com as necessidades de todos os ERC20 tokens emitidos.

O problema fundamental pode ser dividido em três partes: recursos, incentivos e preocupação. No que diz respeito aos recursos, adicionar uma moeda inteiramente nova ao mesmo livro significa que se tem dois conjuntos independentes UTXO (entradas de transação não gastas) compartilhando a largura de banda, mempool e bloquear espaço. Nós de consenso responsáveis por incorporar transações dessas moedas precisa de um incentivo para fazê-lo. E nem todo usuário de uma criptomoeda irá ou deverá se preocupar com a moeda de uma determinada entidade.

Dados esses problemas, os benefícios são enormes, pois o token principal de um livro-razão multiativos pode efetivamente servir como uma moeda-ponte que permite a criação de mercado descentralizada. Especial ativos com finalidade específica poderiam ser emitidos para fornecer utilidade adicional, como ativos de valor estável, como Tether ou MakerDAO que são úteis para aplicações de empréstimos e remessas.

Dados os desafios, Cardano adotou uma abordagem pragmática para a contabilidade multiativos. Construído por etapas, o primeiro desafio é projetar a infraestrutura necessária para apoiar o demandas de milhares de UIAs. Nomeadamente, os seguintes avanços são necessários:

1. Estruturas de dados autenticadas para fins especiais para permitir o rastreamento de um grande número UTXO estado

2. A capacidade de ter um mempool distribuído para armazenar um grande conjunto de transações pendentes
3. Particionamento Blockchain e pontos de verificação para permitir um enorme blockchain global 4. Um esquema de incentivos que recompensa os nós de consenso pela inclusão de diferentes conjuntos de transações 5. Uma mecânica de assinatura que permite aos usuários decidir quais moedas desejam rastrear
6. A segurança forte garante que os UIAs desfrutem de segurança semelhante à do ativo nativo 7. Apoio à criação de mercado descentralizada para melhorar a liquidez entre a UIA e o primário token

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 12 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Nossos esforços preliminares para encontrar a estrutura de dados autenticada correta resultaram em uma nova tipo de árvore AVL+ desenvolvida em conjunto por Leo Reyzin, IOHK e Waves. Mais pesquisas são necessárias, mas é um avanço fundamental que será incluído em uma versão posterior de Cardano.

Um mempool distribuído poderia ser implementado usando o protocolo RAMCloud da Universidade de Stanford. Os experimentos começarão no terceiro trimestre de 2017 para estudar sua integração na camada de consenso de Cardano.

Os demais tópicos estão interligados e cobertos por pesquisas em andamento. Esperamos - assunto aos resultados da pesquisa - incluir um protocolo em Cardano para UIAs durante o Basho da CSL lançamento em 2018.

Escalabilidade

Os sistemas distribuídos são compostos por um conjunto de computadores (nós) que concordam em executar um protocolo ou

conjunto de protocolos para atingir um objetivo comum. Este objetivo poderia ser compartilhar um arquivo conforme definido por

o protocolo BitTorrent ou dobrar uma proteína usando Folding@Home.

Os protocolos mais eficazes ganham recursos à medida que os nós ingressam na rede. Um arquivo hospedado por

O BitTorrent, por exemplo, pode ser baixado muito mais rápido, em média, se muitos pares estiverem conectados.

baixá-lo simultaneamente. A velocidade aumenta porque os pares fornecem recursos enquanto

também consumi-los. Esta característica é o que normalmente se quer dizer quando se declara um

escalas do sistema.

O desafio do design de todas as criptomoedas atuais é que elas, na verdade, não são

projetado para ser escalável. Blockchains, por exemplo, são geralmente uma lista vinculada apenas com anexos de

blocos. A segurança e a disponibilidade de um protocolo blockchain dependem de muitos nós

possuir uma cópia completa dos dados blockchain. Assim, um único byte de dados deve ser replicado

entre N nós. Nós adicionais não fornecem recursos adicionais.

Este resultado é o mesmo para o processamento de transações e a fofoca de mensagens em todo

o sistema. Adicionar mais nós ao sistema de consenso não fornece

poder de processamento de transações. Significa apenas que mais recursos precisam ser gastos para fazer o mesmo

trabalho. Mais retransmissão de rede significa que mais nós terão que passar as mesmas mensagens para manter o

toda a rede em sincronização com o bloco mais atual.

Dada esta topologia, as criptomoedas não podem escalar para uma rede global equivalente ao legado

sistemas financeiros. Em contraste, a infraestrutura legada é escalável e tem ordens de grandeza para

mais poder de processamento e armazenamento. Adicionando um ponto específico, Bitcoin é uma rede muito pequena

em relação aos seus pares de pagamento, mas tem dificuldades em gerir a sua carga actual.
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 13 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Nossas metas de escalabilidade para Cardano são grandemente auxiliadas por nosso algoritmo de consenso. Ouroboros

permite uma forma descentralizada de eleger um quórum de nós de consenso, que por sua vez pode executar mais

protocolos tradicionais desenvolvidos nos últimos 20 anos para acomodar as necessidades de grandes

provedores de infraestrutura como Google e Facebook.
10

Por exemplo, a eleição de um quorum para uma época significa que temos um conjunto confiável de nós para

manter o razão por um período de tempo específico. É trivial eleger vários quóruns simultaneamente

e particionar transações em quóruns diferentes.

Técnicas semelhantes podem ser aplicadas para propagação de rede e também para fragmentação do blockchain

em partições exclusivas. Em nosso roteiro atual, os métodos de escalonamento serão aplicados a

Ouroboros a partir de 2018 e continuará sendo foco em 2019 e 2020.

Cardano Camada de computação

Conforme mencionado anteriormente, existem dois componentes de uma transação: o mecanismo para enviar e registre o fluxo de tokens e os motivos, bem como as condições por trás da movimentação de tokens. O este último pode ser arbitrariamente complexo e envolver terabytes de dados, múltiplas assinaturas e recursos especiais. eventos ocorrendo. O último também pode ser extremamente simples, com um único valor de envio de assinatura para outro endereço.

O desafio por trás da modelagem das razões e condições do fluxo de valor é que elas são imensamente pessoal para as entidades envolvidas das formas mais imprevisíveis. Lições de o direito contratual pinta um quadro ainda mais problemático, onde os próprios atores podem não até mesmo estar ciente de que a transação não corresponde à realidade comercial. Geralmente chamamos isso fenômeno “a lacuna semântica”. 11

Por que alguém deveria construir uma criptomoeda perseguindo uma camada infinita de complexidade e abstração? Parece Sísifo por natureza e ingênuo na prática. Além disso, cada abstração abraçou tem consequências jurídicas e de segurança.

Por exemplo, existem inúmeras atividades online que são universalmente consideradas ilegais ou desprezadas como o tráfico de pornografia infantil ou a venda de segredos de Estado. Ao implantar robusto 10 Existem também outros protocolos de investigação independentes que tentam alcançar o mesmo fim, tais como Elástico e Bitcoin-NG
11 Loi Luu et al. discutem essa lacuna em seu artigo recente sobre Tornando os Contratos Inteligentes mais Inteligentes POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 14 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

infra-estrutura descentralizada, está-se agora proporcionando um canal para que esta atividade ocorra com o mesma resistência à censura que as transações comerciais normais desfrutam. Não é legalmente claro se os nós de consenso da rede - que têm o incentivo para se tornarem mais federados tempo para promover a eficiência – seriam responsabilizados pelo conteúdo que hospedam.

A acusação dos operadores do Tor, o tratamento brutal do operador do Silk Road e a falta de a clareza jurídica por trás das proteções legais dos participantes do protocolo deixa um caminho incerto. Há não falta imaginação sobre o que mais uma criptomoeda suficientemente avançada poderia permitir (veja o Anel de Giges). É razoável forçar todos os usuários de uma criptomoeda a endossar ou pelo menos permitir os piores atos e condutas da web?

Infelizmente, não há respostas claras que forneçam informações para um designer de criptomoeda. É mais sobre como escolher uma posição e defender seu mérito. A vantagem que tanto Cardano quanto Bitcoin é que optamos por separar as preocupações em camadas. Com Bitcoin, há Porta-enxerto. Com Cardano, existe a camada de computação Cardano.

Os tipos de comportamento complexo que possibilitariam os atos elaborados anteriormente não podem ocorrer CSL. Eles exigem a capacidade de executar programas escritos em uma linguagem Turing completa e alguns forma de economia do gás para medir a computação. Eles também exigem nós de consenso dispostos a incluir as transações em seus blocos.

Assim, uma restrição de funcionalidade poderia proteger razoavelmente os utilizadores. Até agora, o mais estabelecido os governos não assumiram a posição de que o uso ou manutenção de uma criptomoeda é uma ato ilegal. Portanto, a grande maioria dos usuários deve se sentir confortável em manter um livro-razão que seja comparável em capacidade a um sistema de pagamento digital.

Quando se deseja ampliar a capacidade, existem duas possibilidades. É habilitado por um privado coletivo de indivíduos com ideias semelhantes e de natureza efêmera (por exemplo, um jogo de pôquer). Ou, é é habilitado por um livro-razão de capacidades comparáveis a Ethereum. Em ambos os casos, escolhemos terceirizar os eventos para outro protocolo.

No caso de um evento privado e efêmero, é razoável evitar o paradigma blockchain inteiramente, mas sim restringir os esforços em direção a uma biblioteca de protocolos MPC para fins especiais que possam ser invocado quando desejado por um grupo de participantes com ideias semelhantes. Os cálculos e atividades são coordenados em uma rede privada e fazem referência ao CSL apenas como um quadro de avisos confiável e um canal de passagem de mensagens quando necessário.

A principal percepção neste caso é que há consentimento, encapsulamento de responsabilidade e privacidade. CSL é sendo usado como um bem comum digital para os usuários se encontrarem e se comunicarem - como um parque hospedaria um evento privado - mas não oferece nenhuma acomodação ou facilitação especial. Além disso, POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 15 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

o uso de MPC para fins especiais permitirá interação de baixa latência sem a necessidade de blockchain inchaço. Assim, melhora a escala do sistema.

Os esforços de pesquisa de Cardano para esta biblioteca estão centralizados em nosso laboratório Tokyo Tech com alguma assistência de cientistas no exterior. Chamamos a biblioteca de “Tartaglia” em homenagem a um colega matemático e também contemporâneo de Cardano e espera que a primeira iteração esteja disponível no primeiro trimestre de 2018.

No segundo caso, é necessário um blockchain com uma máquina virtual, um conjunto de nós de consenso e um mecanismo para permitir a comunicação entre as duas cadeias. Nós começamos o processo de formalização rigorosa da máquina virtual Ethereum usando a estrutura K em 12 parceria com uma equipe da Universidade de Illinois.

O resultado desta análise informará a maneira mais ideal de projetar um modelo replicado e, eventualmente, máquina virtual distribuída com semântica operacional clara e fortes garantias de correta 13 implementação a partir da especificação. Em outras palavras, a VM realmente faz o que o código diz tem a ver com os riscos de segurança minimizados.

Ainda existem questões não resolvidas sobre a economia do gás proposta por Ethereum e como ela refere-se a trabalhos como o ML com reconhecimento de recursos de Jan Hoffmann et al e o estudo mais amplo de estimativa de recursos para computação. Também estamos curiosos sobre o nível de linguagem independência da máquina virtual. Por exemplo, o projeto Ethereum expressou o desejo para a transição da VM atual para o Web Assembly.

O próximo esforço é desenvolver uma linguagem de programação razoável para expressar estados contratos que serão chamados de serviços por aplicações descentralizadas. Para esta tarefa, temos escolheu tanto a abordagem de suporte à linguagem legada smart contract Solidity para baixo aplicações de garantia e desenvolvendo uma nova linguagem chamada Plutus para maior garantia aplicações que exigem verificação formal.

Assim como o projeto Zeppelin baseado em solidez, a IOHK também desenvolverá uma biblioteca de referência de código Plutus para desenvolvedores de aplicativos usarem em seus projetos. Também desenvolveremos um conjunto especializado de ferramentas para verificação formal inspirada no trabalho do projeto Liquid Haskell da UCSD.

Em termos de consenso, o Ouroboros foi concebido de forma suficientemente modular para suportar smart contract avaliação. Conseqüentemente, tanto o CSL quanto o CCL compartilharão o mesmo algoritmo de consenso. 12 Inventado pelo Professor Grigore Rosu et. al., K é uma estrutura universal para linguagem independente semântica executável por máquina. Antes do nosso trabalho, ele foi usado para modelar C, Java e JavaScript 13 Significa que diferentes nós de consenso executam diferentes smart contracts. Também conhecido como fragmentação de estado POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 16 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

A diferença é que o Ouroboros pode ser confirmado para permitir tanto permissões quanto livros contábeis sem permissão por meio de distribuição token.

Com a CSL, Ada foi distribuída por meio de um evento gerador token para compradores em toda a Ásia que acabará por revender num mercado secundário. Isso significa que o algoritmo de consenso do CSL é controlado por um conjunto diversificado e cada vez mais descentralizado de atores ou seus delegados atribui. Com o CCL, é possível criar um propósito especial token mantido por delegados daquele razão que poderiam ser entidades regulamentadas, criando assim um livro razão autorizado.

A flexibilidade desta abordagem permite que diferentes instâncias de CCL se materializem com diferentes regras sobre a avaliação de transações. Por exemplo, as actividades de jogo podem ser restringidas a menos que os dados KYC/AML estejam presentes simplesmente colocando transações não atribuídas na lista negra.

Nosso foco final de design é adicionar módulos de segurança de hardware (HSM) confiáveis ao nosso protocolo pilha. Estas são duas enormes vantagens ao introduzir estas capacidades no protocolo. Primeiro, os HSMs proporcionam grandes aumentos no desempenho sem introduzir segurança 14 preocupações além de confiar no fornecedor. Em segundo lugar, através do uso de Provas de Vidro Selado (SGP), Os HSMs podem fornecer garantias de que os dados podem ser verificados e depois destruídos sem serem copiado ou vazado para estranhos mal-intencionados.

Centrando-nos no segundo ponto, os PEC poderão ter um impacto revolucionário no cumprimento. Normalmente, quando um consumidor fornece informações de identificação pessoal (PII) para autenticar identidade ou comprovar o direito de participar, essas informações são entregues a um terceiro confiável com a esperança de que não aja maliciosamente. Esta atividade é intrinsecamente centralizada, o provedor de dados perde o controle sobre suas PII e também está sujeito a vários regulamentos com base na jurisdição.

A capacidade de selecionar um conjunto de atestadores confiáveis e, em seguida, armazenar PII em um enclave de hardware significa que qualquer ator com um HSM suficientemente capaz será capaz de verificar fatos sobre um ator de forma impossível de falsificar, sem que o verificador conheça a identidade do ator. Por exemplo, Bob é não é um cidadão dos EUA. Alice é uma investidora credenciada. James é um contribuinte dos EUA e deve-se enviar lucros tributáveis para a conta X.

A estratégia de HSM de Cardano será tentar implementar protocolos especializados nos próximos dois anos usando Intel SGX e ARM Trustzone. Ambos os módulos são integrados a bilhões de consumidores dispositivos, de laptops a celulares, e não exigem nenhum esforço adicional por parte do consumidor para usar. Ambos também são fortemente avaliados, bem projetados e baseados em anos de iteração de alguns dos as maiores e mais bem financiadas equipes de segurança de hardware.

14 Veja http://hackingdistributed.com/2016/12/22/scaling-bitcoin-with-secure-hardware/ de Cornell Universidade POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 17 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Regulamento

A dura realidade de todos os sistemas financeiros modernos é que, à medida que crescem, acumulam uma necessidade, ou pelo menos um desejo de regulamentação. Este resultado é geralmente o resultado de colapsos recorrentes devido à negligência de algum ator ou grupo de atores em um mercado.

Por exemplo, a crise Knickerbocker de 1907 resultou na criação do Federal Reserve System em 1913 como credor de última instância. Outro exemplo são os excessos da década de 1920 no Estados Unidos que resultou num terrível colapso financeiro, a Grande Depressão. Este colapso rendeu a criação da Comissão de Valores Mobiliários em 1934, a fim de evitar uma situação semelhante. evento ou pelo menos responsabilizar os maus atores.

Pode-se razoavelmente debater a necessidade, o âmbito e a eficácia da regulação, mas não se pode negar a sua existência e o zelo com que os principais governos a aplicaram. No entanto, o O desafio que todos os reguladores enfrentam à medida que o mundo se globaliza e o dinheiro se torna digital é duplo.

Primeiro, qual conjunto de regulamentos deveria ser supremo quando se trata de um conjunto de jurisdições? A noção antiquada de soberania da Vestefália derrete quando uma única transação pode atingir três dúzias de países em menos de um minuto. Deveria ser simplesmente quem exerce o maior influência geopolítica?

Em segundo lugar, as melhorias na tecnologia de privacidade criaram uma corrida armamentista digital onde torna-se cada vez mais difícil entender quem participou de uma transação, muito menos quem possui uma determinada reserva de valor. Num mundo onde milhões de dólares em activos pode ser controlado com nada mais do que um mnemônico secreto de 12 palavras, como você 15 impor uma regulamentação eficaz?

Como todos os sistemas financeiros, o protocolo Cardano deve ter uma opinião na sua concepção sobre o que é justo e razoável. Optamos por dividir entre os direitos individuais e os direitos de um mercado.

Os indivíduos devem sempre ter acesso exclusivo aos seus fundos, sem coerção ou bens civis confisco. Este direito tem de ser respeitado porque nem todos os governos são dignos de confiança abusar do seu poder soberano para ganho pessoal de políticos corruptos, como visto na Venezuela e Zimbabué. As criptomoedas devem ser projetadas para o menor denominador comum.

15 Consulte BIP39 https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 18 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Em segundo lugar, a história nunca deve ser alterada. Blockchains fornecem uma promessa de imutabilidade. Introduzir o poder de reverter a história ou alterar o registro oficial introduz muita tentação de mudar o passado para beneficiar um determinado ator ou atores.

Terceiro, o fluxo de valor deve ser irrestrito. Controles de capitais e outras paredes artificiais diminuir os direitos humanos. Fora a futilidade de tentar aplicá-las, num contexto global 16 economia com muitos cidadãos nas nações menos desenvolvidas viajando fora de sua jurisdição para encontrar um salário digno, a restrição dos fluxos de capital geralmente acaba prejudicando os mais pobres do mundo.

Afirmados estes princípios, os mercados são distintamente diferentes dos indivíduos. Enquanto os designers de Cardano acreditamos nos direitos individuais, também acreditamos que os mercados têm o direito de declarar abertamente seus termos e condições, e se um indivíduo concordar em fazer negócios neste mercado, então eles devem obedecer a esses padrões em prol da integridade de todo o sistema.

O desafio sempre foi o custo e a praticidade da aplicação. Pequeno, multijurisdicional as transações são simplesmente muito caras em sistemas legados para fornecer alta garantia de recurso em caso de fraude ou disputa comercial. Quando alguém envia sua transferência eletrônica para o Príncipe Nigeriano, geralmente é muito caro tentar recuperar os fundos.
17

Para Cardano, sentimos que podemos inovar em três níveis. Primeiro, através do uso de smart contracts os termos e condições das relações comerciais podem ser melhor controlados. Se todos os ativos forem digital e pode ser expresso exclusivamente na CSL, fortes garantias de comércio livre de fraudes podem ser ganhou.

Em segundo lugar, o uso de HSMs para fornecer um espaço de identidade onde PII não seja vazado, mas ainda assim usado para os atores autenticados e credenciados devem fornecer um sistema de reputação global e permitir atividades regulamentadas com custos muito mais baixos a serem realizadas, como jogos online com automação conformidade fiscal ou trocas descentralizadas.

Finalmente, no roteiro de Cardano está a criação de um regulamento modular DAO que pode ser personalizado para interagir com smart contracts escritos pelo usuário, a fim de adicionar mutabilidade, consumidor proteção e arbitragem. O escopo deste projeto será descrito em um artigo posterior.

16 Como exemplo de contramedida ao fluxo de capital, consulte o Hawala Banking System 17 Veja golpe de taxa antecipada POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 19 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Qual é o objetivo de tudo isso?

Cardano foi um projeto maratona envolvendo feedback de centenas das mentes mais brilhantes

dentro e fora da indústria de criptomoedas. Envolve iteração incansável, o uso ativo de

revisão por pares e roubo descarado de grandes ideias quando descobertas.

Cada uma das seções restantes cobre um aspecto específico do foco que decidimos ser um núcleo

componente do nosso projeto. Alguns foram selecionados devido ao desejo de melhorar o melhor desempenho geral

práticas do espaço enquanto outras são específicas da evolução de Cardano.

Embora nenhum projeto possa cobrir todos os objetivos ou satisfazer todos os usuários, nossa esperança é fornecer uma visão para

como deveria ser uma pilha financeira autoevolutiva para jurisdições que não a possuem. O definitivo

A realidade das criptomoedas não é que elas irão perturbar os sistemas financeiros legados existentes.

Os sistemas financeiros legados são sempre capazes de absorver mudanças e manter a sua forma

e função.

Em vez disso, deveríamos olhar para locais onde é simplesmente demasiado dispendioso implementar os sistemas existentes.

sistema bancário, onde muitos vivem com menos de alguns dólares por dia, não têm identidade estável e

é impossível encontrar crédito.

Nestes locais, o poder de agrupar um sistema de pagamento, direitos de propriedade, identidade, crédito e risco

proteção em um único aplicativo executado em um telefone celular não é apenas útil, é uma mudança de vida.

A razão pela qual estamos construindo Cardano é que sentimos que temos uma chance legítima de entregar - ou

pelo menos avançando - esta visão para o mundo em desenvolvimento.

Mesmo no fracasso, se pudermos mudar a forma como as criptomoedas são projetadas, evoluídas e financiadas,

então há uma grande realização.

Science and Engineering

Science and Engineering

The Art of Iteration

Cryptocurrencies are protocols implemented as software. Protocols are simply intelligent conversations between participants. Software is ultimately the manipulation of data given some WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 20 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

goal. Yet the difference between solid, reliable software as well as useful, secure protocols and their converse is completely human.

Good software needs accountability, clear business requirements, repeatable processes, thorough testing and tireless iteration. Good software also needs reasonably talented developers with enough domain specific knowledge to properly design a system that can fully resolve whatever problem they are trying to solve.

As for useful and secure protocols, especially ones involving cryptography and distributed systems, they start in a more academic and standards driven process. Peer review, endless debates and a firm concept of trade offs are necessary to ensure a protocol is useful. Yet these alone are not sufficient, protocols need to be implemented and tested by real life use.

The unique challenge in the cryptocurrency industry is that two completely different philosophies are mangled together without a proper Hegelian synthesis. Our thesis is a “move fast and break things” startup mentality driven by youth, greed and passion. The antithesis is a slow, methodical and academically oriented approach motivated by a desire to solidify the innovations of our space into a nice niche enjoying ample funding and prestige.

The result is that many cryptocurrencies are either entirely specified on a white paper only relevant to a CV or just by hastily written code. None of the current top ten cryptocurrencies by 18 market capitalization are based upon a peer reviewed protocol. None of the current ten top cryptocurrencies were implemented from a formal specification .

19

Yet billions of dollars of value are at stake. Once deployed, a cryptocurrency is exceedingly

difficult to change. How does a user know they are using a secure system? How does a user

know that the marketing claims are legitimate? What if the proposed protocol can never achieve

the claims?

This lack of synthesis and respect for process is one of the primary reasons IOHK wanted to

build Cardano. Our hope was to develop a reference project that would serve as an example of

how to do things in a more effective, sane and honest way.

The goal is not to propose a totally new way of developing software and protocols, but rather to

acknowledge that great software and protocols already exist and we can mimic the conditions

that led to their creation. Second, to make these conditions publicly known and open source if

possible so that they can be imitated for the benefit of the entire field. 18 See www.coinmarketcap.com for a comprehensive listing by market capitalization 19 Ethereum has a semi-formal specification known as the Yellow Paper; however, the EVM semantics are not fully specified nor are sufficient for a full implementation of the protocol. WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 21 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Facts and Opinions

The other concern is over where facts end and opinion begins. There are hundreds of

programming languages, dozens of development paradigms and more than one philosophy on

project management. The academic world is riddled with its own challenges stemming from its

distance from business concerns and practicality.

For Cardano, we first attempted to capture obvious deficiencies that can be universally agreed

to be useful from an engineering perspective. For example, cryptography and distributed

systems are both extraordinarily involved topics with far too many examples of how naive hands

can make horrific mistakes. Therefore, any protocol requiring insight from these domains needs

to be designed by an acknowledged expert and be submitted for review by other experts.

Ouroboros is our first case study of this area. It was designed by a team of cryptographers with

a large, diverse and publicly verifiable publication history. It was built according to the standard

cryptography process, with security assumptions, an adversarial model and proofs. These

proofs were checked by submission to conferences and also independently by computer

20 proofs written in Isabelle by a team at the University of Cambridge .
21

Yet this work alone provides no guarantees of usefulness — just a rigorous check of a security

model given some assumptions. For usefulness, one needs to implement and test the protocol.

Our developers have done so in both Haskell and also Rust. This work revealed that more effort

needed to be focused on the synchronization model, which led to the creation of Ouroboros

Praos.

This art of iteration is what produces great protocols, with each step leading to new lessons and

a requirement to re-verify the correctness of prior step . It is costly, time consuming, and at

22 times truly tedious, yet it is required to ensure a protocol is correctly designed.

Protocols — especially ones to be used by billions of people — are not short lived and rapidly

evolving. Rather they are intended to be followed for years to decades. It seems entirely

reasonable that, prior to burdening the world with a new financial system we all have to live with

for the next 100 years, we want to demand some tedium and rigor from its designers.

20 Accepted Paper Number 71 of the IACR’s Annual Crypto Conference in California
21 By Kawin Worrasangasilpa under the supervision of Professor Lawrence Paulson
22 Following a tangent for a sake of levity, one should watch Professor Halmos’s discussion about how to write a math textbook WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 22 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Functional Sins

Moving into more opinionated territory, the tools, languages and methodologies used in

software development are more artifacts of religious providence than objective reality. Source

code is like written prose. Everyone has an opinion of what is good — and what is being

communicated is, at times, less important than how it is communicated.

We must commit the sin of choosing a side accepting that it will be wrong in at least one

person’s eyes. However, there is at least a large corpus of justification behind our choice.

The protocols making Cardano possible are being implemented in Haskell. The user interface

has been encapsulated in a fork of Electron that we are calling Daedalus. We have chosen to

use the web architectural model where possible, and for our database, we opted for a key-value

paradigm using RocksDB.

From a component level, this abstraction means that maintenance is far simpler, better

technology can be substituted later with little effort, and that our stack is partly tied to the

development efforts of Github and Facebook.

Using a WebGUI allows us to leverage React and develop front end features using tools

understood by hundreds of thousands of JavaScript developers. Using a web architecture

means that components can be treated as services and the security model is sensible.

Choosing Haskell for protocol development was the most difficult choice. Even in the functional

world, there are ample choices. On the more flexible and impure side, there are languages like

Clojure, Scala and F#, which benefit from the enormous libraries of Java and the .Net

ecosystems while preserving some of the best aspects of functional programming.

There are more academically oriented languages such as Agda and Idris that have a close

connection to techniques that would allow for strong verification of correctness. Yet they lack

reasonable libraries and have a subpar development experience.

For Cardano, the choice came down to Ocaml and Haskell. Ocaml is a wonderful language with

a great community, good tooling, reasonable development experience and a great legacy in the

formal verification space through Coq . So why did we choose Haskell? 23

23 Adding to this point, IOHK actually does have a project being implemented in Ocaml called Qeditas that we inherited from the pseudonymous Bill White WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 23 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Why Haskell?

The protocols that compose Cardano are distributed, bundled with cryptography and require a

high degree of fault tolerance. On the best days, there will still be Byzantine actors, malformed

messages and faulty clients unintentionally causing some form of havok on the network.

First, we wanted a language that enjoys a strong type system where we could easily use tools

such as Quickcheck and more elaborate techniques such as Refinement Types while having a

reasonable expectation of fault tolerance. An Erlang style OTP model satisfies the latter

whereas languages like Haskell and Ocaml satisfy the former.

With the introduction of Cloud Haskell, Haskell gained many of Erlang’s advantages while not

surrendering its own. Furthermore, Haskell’s modularity and composability has allowed us to

use a lighter weight bespoke library called Time Warp for Cardano.

Second, Haskell’s libraries have evolved greatly over the last few years thanks to extensive work

of commercial entities like Galois, FP Complete and Well-Typed. As a consequence, Haskell can

be used to write production applications.
24

Third, PureScript’s rapid evolution has provided a much needed bridge to the JavaScript world

akin to what Clojurescript has given Clojure. We expect PureScript will be especially important

when it comes to getting Cardano to work in a browser and developing mobile wallets.

Fourth, with respect to dependency resolution, Haskell in the last several years has enjoyed a

significant social and technological effort led by technologists like Michael Snoyman through a

platform called stackage that is both easy to use and well supported by FP Complete.

Fifth, beyond adequate dependency resolution, we aim for our software builds to be

reproducible. In other words, with the same configuration values and dependency versions it

should produce exactly the same build artifacts. Through stackage, we have been using NixOps

to achieve reproducibility with great success.

Finally, the talent pool of developers specializing in Haskell is reasonably large — compared to

its peers — and quite well-trained with the right mix of academic and industry credentials. It also

acts as a competency filter as it is uncommon to find experienced Haskell developers without

detailed knowledge of computer science.
24 Bryan O'Sullivan provides a nice talk about Haskell’s industrial use here.
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 24 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Formal Specification and Verification

A significant strength of developing a protocol using a provably correct security model is that it provides a guaranteed limit of adversarial power. One is given a contract that as long as the protocol is followed and the proofs are correct, the adversary cannot violate the security properties claimed.

Deeper reflection makes the prior assertion even more significant. Adversaries can be arbitrarily intelligent and capable. To say they are defeated solely through a mathematical model is extraordinary. And, of course, it is not entirely true.

Reality introduces factors and circumstances that prevent the utopia of pure security and correct behavior from existing. Implementations can be wrong. Hardware can introduce attack vectors previously unconsidered. The security model might be insufficient and not conform to real life use.

A judgement call is needed about how much specification, rigor and checking is demanded for a protocol. For example, endeavors like the SeL4 Microkernel project are a prime example of an all out assault on ambiguity requiring almost 200,000 lines of Isabelle code to verify less than 10,000 lines of C code. Yet an operating system kernel is critical infrastructure that could be a serious security vulnerability if not properly implemented.

Should all cryptographic software require the same Herculean effort? Or can one choose a less vigorous path that produces equivalent outcomes? Also does it matter if the protocol is perfectly implemented if the environment it runs in is notoriously vulnerable such as on Windows XP?

For Cardano, we have chosen the following compromise. First, due to the complex nature of the domains of cryptography and distributed computing, proofs tend to be very subtle, long, complicated and sometimes quite technical. This implies that human driven checking can be tedious and error-prone. Therefore, we believe that every significant proof presented in a white paper written to cover core infrastructure needs to be machine checked.

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 25 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Second, to verify Haskell code so it correctly corresponds to our white papers, we can choose between two popular options: interfacing with SMT provers via LiquidHaskell and using Isabelle/HOL.

SMT (satisfiability modulo theories) solvers deal with the problem of finding functional parameters that satisfy an equation or inequation, or alternatively showing that such parameters do not exist. As discussed by De Moura and Bjørner, use cases of SMT are various, but the key point is that these techniques are both powerful and can dramatically reduce bugs and semantic errors.

Isabelle/HOL, on the other hand, is a more expressive and diverse tool which can be used to

both specify and verify implementation. Isabelle is a generic theorem solver working with

higher-order logic constructs, capable of representing sets and other mathematical objects to

be used in proofs. Isabelle itself integrates with Z3 SMT prover to work with problems involving

such constraints.

Both approaches provide value and therefore we have decided to embrace them both in stages.

Human written proofs will be encoded in Isabelle to check their correctness thereby satisfying

our machine checking requirement. And we intend on gradually adding Liquid Haskell to all

production code in Cardano’s implementation throughout 2017 and 2018.

As a final point, formal verification is only as good as the specification one is verifying from and the toolsets available. One of the primary reasons for choosing Haskell is that it provides the right balance of practicality and theory. Specification derived from white papers looks a lot like Haskell code, and connecting the two is considerably easier than doing so with an imperative language.

There is still enormous difficulty in capturing a proper specification and also updating the specification when changes such as upgrades, bug fixes and other concerns need to be made; however, this reality does not in any way diminish the overall value. If one is going to trouble of building a foundation upon provable security, then the implementation should be what was actually proposed on paper.

Transparency

A final question when discussing the science and engineering of developing a cryptocurrency is how to address transparency. Design decisions are not Boolean and ethereal, coming to developers in dreams and then suddenly becoming canon. They are derived from experience, debate and lessons learned from earlier mistakes.

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 26 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

The challenge is that a totally transparent development process could influence discussion to become more theatrical than evidence based. Egos, attempts to win over a community, and fear of sounding stupid could force conversations to become sterile and counterproductive.

Furthermore, outsiders could attempt to co-opt the conversation in an effort to force their particular tangent to become the only relevant topic. Everyone has a sacred cow.

So how does one balance the need for a transparent development process, which is owed to the community that has entrusted progress to a set of core developers, with the need for freedom of expression without fear?

With Cardano, we have decided to embrace a standards driven process with directed oversight. The community needs to know that the science and the code are well thought out, checked and actually solve the things that developers claim they do. To this end, peer review should completely satisfy the science component as it has been designed specifically for this purpose and has given us the modern world.

For code, this topic is a bit more opinionated. For Cardano, we have elected to entrust the Cardano Foundation to serve as a final auditor of IOHK’s work. In particular, they are entrusted with the following duties:

1. Regular review of the source code contained in the Cardano Github to check for quality, test coverage, proper comments and completeness
2. Review of all Cardano documentation for correctness and usefulness
3. Verifying the claims that the protocols produced by the scientists are fully implemented

To accomplish this task, IOHK will submit regular and timely reports to the Foundation – and its assigns – to review. The Foundation in turn will release a development oversight report to the Cardano community on at least a quarterly basis.

This first effort is intended to start a broader conversation about how a decentralized project achieves accountability. Development oversight from a trusted third party is a powerful tool to ensure that developers are on track, but it is not sufficient to completely guarantee that the project will always deliver.

For this reason, after the treasury is integrated into CSL, the Foundation will encourage additional development teams to construct alternative clients based upon the formal specifications developed jointly with IOHK. Development diversity has been a great technique used by the Ethereum project to avoid a monoculture forming around a single set of ideas or developers. WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 27 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

With respect to specifications, there is a wealth of knowledge to be gained from the standards process followed by the WC3 and the IETF. Ultimately, each protocol Cardano integrates requires a specification that is independent of academic work or source code. Rather it needs to be in a suitable format such as an RFC.

One of the Cardano Foundation’s core tenets is to act as standards body specifically for the Cardano protocols and to host conversations to update, add or change standards relevant to Cardano. If the internet (a product of standards) through IETF can reach consensus about what core protocols shall be used, then it is entirely reasonable to assume that a dedicated body could facilitate the same outcome.

As a closing note, it is interesting to explore moving these discussions to a decentralized entity hosted on a blockchain. This concept is called a decentralized autonomous organization (DAO) and preliminary work is underway in this area. IOHK will develop a reference DAO model for entities interfacing with Cardano to use if desired and it is the Cardano Foundation’s prerogative to decide whether to embrace it under their standards mandate.

Ciência e Engenharia

A arte da iteração

Criptomoedas são protocolos implementados como software. Os protocolos são simplesmente inteligentes conversas entre os participantes. O software é, em última análise, a manipulação de dados, dada alguma POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 20 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

objetivo. No entanto, a diferença entre software sólido e confiável e protocolos e protocolos úteis e seguros sua conversa é completamente humana.

Um bom software precisa de responsabilidade, requisitos de negócios claros, processos repetíveis, testes completos e iteração incansável. Um bom software também precisa de talentos razoavelmente talentosos desenvolvedores com conhecimento específico de domínio suficiente para projetar adequadamente um sistema que possa totalmente resolver qualquer problema que estejam tentando resolver.

Quanto aos protocolos úteis e seguros, especialmente aqueles que envolvem criptografia e distribuição sistemas, eles começam em um processo mais acadêmico e orientado por padrões. Revisão por pares, interminável debates e um conceito firme de compromissos são necessários para garantir que um protocolo seja útil. No entanto, estes por si só não são suficientes, os protocolos precisam ser implementados e testados para uso na vida real.

O desafio único na indústria de criptomoedas é que duas empresas completamente diferentes filosofias são mutiladas sem uma síntese hegeliana adequada. Nossa tese é um “movimento mentalidade de startup rápida e quebre as coisas, impulsionada pela juventude, ganância e paixão. A antítese é uma abordagem lenta, metódica e academicamente orientada, motivada pelo desejo de solidificar o inovações do nosso espaço em um nicho agradável, desfrutando de amplo financiamento e prestígio.

O resultado é que muitas criptomoedas são totalmente especificadas apenas em um white paper relevante para um currículo ou apenas por código escrito às pressas. Nenhuma das dez principais criptomoedas atuais por 18 capitalização de mercado são baseadas em um protocolo revisado por pares. Nenhum dos dez principais atuais as criptomoedas foram implementadas a partir de uma especificação formal.

19

No entanto, estão em jogo milhares de milhões de dólares de valor. Uma vez implantada, uma criptomoeda é extremamente

difícil de mudar. Como um usuário sabe que está usando um sistema seguro? Como um usuário

sabe que as alegações de marketing são legítimas? E se o protocolo proposto nunca conseguir alcançar

as reivindicações?

Esta falta de síntese e respeito pelo processo é uma das principais razões pelas quais a IOHK quis

construir Cardano. Nossa esperança era desenvolver um projeto de referência que servisse de exemplo de

como fazer as coisas de uma forma mais eficaz, sensata e honesta.

O objetivo não é propor uma forma totalmente nova de desenvolver software e protocolos, mas sim

reconhecer que já existem excelentes softwares e protocolos e podemos imitar as condições

que levou à sua criação. Em segundo lugar, tornar essas condições publicamente conhecidas e de código aberto, se

possível para que possam ser imitados em benefício de todo o campo. 18 Consulte www.coinmarketcap.com para obter uma listagem abrangente por capitalização de mercado 19 Ethereum possui uma especificação semiformal conhecida como Livro Amarelo; no entanto, a semântica EVM é não são totalmente especificados nem são suficientes para uma implementação completa do protocolo. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 21 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Fatos e opiniões

A outra preocupação é onde terminam os fatos e começa a opinião. Existem centenas de

linguagens de programação, dezenas de paradigmas de desenvolvimento e mais de uma filosofia em

gerenciamento de projetos. O mundo académico está repleto de desafios próprios decorrentes da sua

distância das preocupações comerciais e da praticidade.

Para Cardano, primeiro tentamos capturar deficiências óbvias que podem ser universalmente aceitas

ser útil do ponto de vista da engenharia. Por exemplo, criptografia e distribuição

sistemas são tópicos extraordinariamente complexos, com muitos exemplos de como mãos ingênuas

pode cometer erros horríveis. Portanto, qualquer protocolo que exija insights desses domínios precisa

ser elaborado por um especialista reconhecido e submetido à revisão por outros especialistas.

Ouroboros é nosso primeiro estudo de caso nesta área. Ele foi projetado por uma equipe de criptógrafos com

um histórico de publicação grande, diversificado e publicamente verificável. Foi construído de acordo com o padrão

processo de criptografia, com suposições de segurança, modelo adversário e provas. Estes

as provas foram verificadas por submissão a conferências e também de forma independente por computador

20 provas escritas em Isabelle por uma equipe da Universidade de Cambridge.
21

No entanto, este trabalho por si só não oferece garantias de utilidade – apenas uma verificação rigorosa de um sistema de segurança

modelo dado algumas suposições. Para ter utilidade, é necessário implementar e testar o protocolo.

Nossos desenvolvedores fizeram isso em Haskell e também em Rust. Este trabalho revelou que mais esforço

precisava estar focado no modelo de sincronização, o que levou à criação da Ouroboros

Praos.

Esta arte da iteração é o que produz grandes protocolos, com cada passo levando a novas lições e

um requisito para verificar novamente a exatidão da etapa anterior. É caro, demorado e custa

22 vezes realmente tedioso, mas é necessário garantir que um protocolo seja projetado corretamente.

Os protocolos — especialmente aqueles que serão usados por bilhões de pessoas — não têm vida curta e são rapidamente

evoluindo. Em vez disso, destinam-se a ser seguidos durante anos ou décadas. Parece inteiramente

É razoável que, antes de sobrecarregarmos o mundo com um novo sistema financeiro, todos tenhamos de conviver com

para os próximos 100 anos, queremos exigir algum tédio e rigor aos seus designers.

20 Artigo aceito número 71 da Conferência Anual de Criptografia da IACR na Califórnia
21 Por Kawin Worrasangasilpa sob a supervisão do Professor Lawrence Paulson
22 Seguindo uma tangente, por uma questão de leviandade, deveríamos assistir à discussão do Professor Halmos sobre como escrever um livro de matemática POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 22 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Pecados Funcionais

Movendo-se para um território mais opinativo, as ferramentas, linguagens e metodologias utilizadas em

desenvolvimento de software são mais artefatos da providência religiosa do que da realidade objetiva. Fonte

o código é como prosa escrita. Todo mundo tem uma opinião sobre o que é bom — e o que está sendo

comunicado é, às vezes, menos importante do que a forma como é comunicado.

Devemos cometer o pecado de escolher um lado aceitando que estará errado em pelo menos um aspecto.

os olhos da pessoa. No entanto, há pelo menos um grande corpus de justificação por detrás da nossa escolha.

Os protocolos que tornam Cardano possível estão sendo implementados em Haskell. A interface do usuário

foi encapsulado em um fork do Electron que chamamos de Daedalus. Nós escolhemos

usamos o modelo de arquitetura web sempre que possível e, para nosso banco de dados, optamos por um valor-chave

paradigma usando RocksDB.

Do nível do componente, essa abstração significa que a manutenção é muito mais simples, melhor

a tecnologia pode ser substituída posteriormente com pouco esforço, e que nossa pilha está parcialmente ligada ao

esforços de desenvolvimento do Github e do Facebook.

Usar uma WebGUI nos permite aproveitar o React e desenvolver recursos de front-end usando ferramentas

compreendido por centenas de milhares de desenvolvedores de JavaScript. Usando uma arquitetura web

significa que os componentes podem ser tratados como serviços e o modelo de segurança é sensato.

Escolher Haskell para desenvolvimento de protocolo foi a escolha mais difícil. Mesmo no funcional

mundo, existem amplas opções. Do lado mais flexível e impuro, existem linguagens como

Clojure, Scala e F#, que se beneficiam das enormes bibliotecas de Java e .Net

ecossistemas, preservando alguns dos melhores aspectos da programação funcional.

Existem linguagens de orientação mais acadêmica, como Agda e Idris, que têm uma relação próxima

conexão com técnicas que permitiriam uma forte verificação de correção. No entanto, eles não têm

bibliotecas razoáveis ​​e têm uma experiência de desenvolvimento abaixo da média.

Para Cardano, a escolha recaiu sobre Ocaml e Haskell. Ocaml é uma linguagem maravilhosa com

uma grande comunidade, boas ferramentas, experiência razoável em desenvolvimento e um grande legado no

espaço de verificação formal através de Coq. Então, por que escolhemos Haskell? 23

23 Somando-se a este ponto, a IOHK realmente tem um projeto sendo implementado em Ocaml chamado Qeditas que herdamos do pseudônimo Bill White POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 23 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Por que Haskell?

Os protocolos que compõem Cardano são distribuídos, empacotados com criptografia e requerem um

alto grau de tolerância a falhas. Nos melhores dias, ainda haverá atores bizantinos, malformados

mensagens e clientes defeituosos causando involuntariamente algum tipo de confusão na rede.

Primeiro, queríamos uma linguagem que tivesse um sistema de tipos forte, onde pudéssemos usar facilmente ferramentas

como Quickcheck e técnicas mais elaboradas, como Tipos de Refinamento, ao mesmo tempo em que tem um

expectativa razoável de tolerância a falhas. Um modelo OTP estilo Erlang satisfaz o último

enquanto linguagens como Haskell e Ocaml satisfazem o primeiro.

Com a introdução do Cloud Haskell, Haskell ganhou muitas das vantagens de Erlang, embora não

entregando o que é seu. Além disso, a modularidade e a capacidade de composição de Haskell nos permitiram

use uma biblioteca personalizada mais leve chamada Time Warp para Cardano.

Em segundo lugar, as bibliotecas de Haskell evoluíram muito nos últimos anos graças a um extenso trabalho

de entidades comerciais como Galois, FP Complete e Well-Typed. Como consequência, Haskell pode

ser usado para escrever aplicativos de produção.
24

Terceiro, a rápida evolução do PureScript forneceu uma ponte muito necessária para o mundo JavaScript

semelhante ao que Clojurescript deu ao Clojure. Esperamos que o PureScript seja especialmente importante

quando se trata de fazer Cardano funcionar em um navegador e desenvolver carteiras móveis.

Quarto, no que diz respeito à resolução de dependências, Haskell nos últimos anos tem desfrutado de uma

esforço social e tecnológico significativo liderado por tecnólogos como Michael Snoyman através de um

plataforma chamada stackage que é fácil de usar e bem suportada pelo FP Complete.

Quinto, além da resolução adequada de dependências, pretendemos que nossas compilações de software sejam

reproduzível. Em outras palavras, com os mesmos valores de configuração e versões de dependência

deve produzir exatamente os mesmos artefatos de construção. Através do stackage, temos usado NixOps

para alcançar a reprodutibilidade com grande sucesso.

Finalmente, o conjunto de talentos de desenvolvedores especializados em Haskell é razoavelmente grande — comparado

seus pares – e bastante bem treinados com a combinação certa de credenciais acadêmicas e industriais. Também

atua como um filtro de competências, pois é incomum encontrar desenvolvedores Haskell experientes sem

conhecimento detalhado de ciência da computação.
24 Bryan O'Sullivan oferece aqui uma bela palestra sobre o uso industrial de Haskell.
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 24 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Especificação e Verificação Formal

Um ponto forte significativo do desenvolvimento de um protocolo usando um modelo de segurança comprovadamente correto é que ele fornece um limite garantido de poder adversário. É-nos dado um contrato que, desde que o protocolo for seguido e as provas estiverem corretas, o adversário não pode violar a segurança propriedades reivindicadas.

Uma reflexão mais profunda torna a afirmação anterior ainda mais significativa. Os adversários podem ser arbitrariamente inteligente e capaz. Dizer que eles são derrotados apenas através de um modelo matemático é extraordinário. E, claro, isso não é inteiramente verdade.

A realidade introduz factores e circunstâncias que impedem a utopia da segurança pura e comportamento correto do existente. As implementações podem estar erradas. Hardware pode introduzir ataque vetores anteriormente não considerados. O modelo de segurança pode ser insuficiente e não estar em conformidade com uso na vida real.

É necessário um julgamento sobre quanta especificação, rigor e verificação são exigidos para um protocolo. Por exemplo, empreendimentos como o projeto SeL4 Microkernel são um excelente exemplo de uma solução totalmente ataque à ambiguidade, exigindo quase 200.000 linhas de código Isabelle para verificar menos de 10.000 linhas de código C. No entanto, um kernel de sistema operacional é uma infra-estrutura crítica que poderia ser um grave vulnerabilidade de segurança se não for implementada adequadamente.

Todo software criptográfico deveria exigir o mesmo esforço hercúleo? Ou pode-se escolher um menos caminho vigoroso que produz resultados equivalentes? Também importa se o protocolo é perfeitamente implementado se o ambiente em que é executado for notoriamente vulnerável, como em WindowsXP?

Para Cardano, escolhemos o seguinte compromisso. Primeiro, devido à natureza complexa do domínios da criptografia e da computação distribuída, as provas tendem a ser muito sutis, longas e complicado e às vezes bastante técnico. Isto implica que a verificação conduzida por humanos pode ser tedioso e sujeito a erros. Portanto, acreditamos que toda prova significativa apresentada em branco o papel escrito para cobrir a infraestrutura principal precisa ser verificado por máquina.

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 25 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Segundo, para verificar o código Haskell para que corresponda corretamente aos nossos white papers, podemos escolher entre duas opções populares: interface com provadores SMT via LiquidHaskell e uso Isabelle/HOL.

Os solucionadores SMT (teorias do módulo de satisfatibilidade) lidam com o problema de encontrar soluções funcionais parâmetros que satisfazem uma equação ou inequação ou, alternativamente, mostrando que tais parâmetros não existem. Conforme discutido por De Moura e Bjørner, os casos de uso de SMT são vários, mas a chave O ponto é que essas técnicas são poderosas e podem reduzir drasticamente bugs e erros semânticos.

Isabelle/HOL, por outro lado, é uma ferramenta mais expressiva e diversificada que pode ser usada para

especificam e verificam a implementação. Isabelle é uma solucionadora de teoremas genérica que trabalha com

construções lógicas de ordem superior, capazes de representar conjuntos e outros objetos matemáticos para

ser usado em provas. A própria Isabelle se integra ao provador Z3 SMT para trabalhar com problemas envolvendo

tais restrições.

Ambas as abordagens agregam valor e, portanto, decidimos adotá-las em etapas.

Provas escritas por humanos serão codificadas em Isabelle para verificar sua exatidão, satisfazendo assim

nossa exigência de verificação de máquina. E pretendemos adicionar gradualmente Liquid Haskell a todos

código de produção na implementação de Cardano ao longo de 2017 e 2018.

Como ponto final, a verificação formal é tão boa quanto a especificação a partir da qual se está verificando e os conjuntos de ferramentas disponíveis. Uma das principais razões para escolher Haskell é que ele fornece o equilíbrio certo entre praticidade e teoria. A especificação derivada de white papers se parece muito com código Haskell, e conectar os dois é consideravelmente mais fácil do que fazê-lo com um imperativo linguagem.

Ainda há enorme dificuldade em capturar uma especificação adequada e também atualizar o especificação quando alterações como atualizações, correções de bugs e outras preocupações precisam ser feitas; no entanto, esta realidade não diminui de forma alguma o valor global. Se alguém tiver problemas de construir uma base sobre segurança comprovável, então a implementação deve ser o que foi realmente proposto no papel.

Transparência

Uma questão final ao discutir a ciência e a engenharia do desenvolvimento de uma criptomoeda é como abordar a transparência. As decisões de design não são booleanas e etéreas, chegando a desenvolvedores em sonhos e de repente se tornando canônicos. Eles são derivados da experiência, debate e lições aprendidas com erros anteriores.

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 26 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

O desafio é que um processo de desenvolvimento totalmente transparente poderia influenciar a discussão para tornar-se mais teatral do que baseado em evidências. Egos, tentativas de conquistar uma comunidade e medo parecer estúpido poderia forçar as conversas a se tornarem estéreis e contraproducentes.

Além disso, pessoas de fora poderiam tentar cooptar a conversa num esforço para forçar a sua tangente particular para se tornar o único tópico relevante. Todo mundo tem uma vaca sagrada.

Então, como equilibrar a necessidade de um processo de desenvolvimento transparente, que se deve à comunidade que confiou o progresso a um conjunto de desenvolvedores principais, com necessidade de liberdade de expressão sem medo?

Com Cardano, decidimos adotar um processo orientado por padrões com supervisão direcionada. A comunidade precisa saber que a ciência e o código são bem pensados, verificados e realmente resolvem as coisas que os desenvolvedores afirmam que fazem. Para este fim, a revisão por pares deve satisfazer completamente a componente científica, uma vez que foi concebido especificamente para este fim e nos deu o mundo moderno.

Para código, este tópico é um pouco mais opinativo. Para Cardano, optamos por confiar o Cardano Fundação servirá como auditor final do trabalho da IOHK. Em particular, são-lhes confiados com as seguintes atribuições:

1. Revisão regular do código-fonte contido no Cardano Github para verificar a qualidade, cobertura do teste, comentários adequados e integridade
2. Revisão de toda a documentação Cardano quanto à correção e utilidade
3. Verificando as alegações de que os protocolos produzidos pelos cientistas estão totalmente implementados

Para cumprir esta tarefa, a IOHK apresentará relatórios regulares e oportunos à Fundação – e aos seus atribui – para revisar. A Fundação, por sua vez, divulgará um relatório de supervisão do desenvolvimento ao Cardano comunidade pelo menos trimestralmente.

Este primeiro esforço pretende iniciar uma conversa mais ampla sobre como um projeto descentralizado alcança a responsabilidade. A supervisão do desenvolvimento por parte de terceiros de confiança é uma ferramenta poderosa para garantir que os desenvolvedores estejam no caminho certo, mas não é suficiente para garantir completamente que o projeto sempre entregará.

Por isso, após a integração da tesouraria na CSL, a Fundação incentivará equipes de desenvolvimento adicionais para construir clientes alternativos com base no formal especificações desenvolvidas em conjunto com a IOHK. A diversidade de desenvolvimento tem sido uma ótima técnica usado pelo projeto Ethereum para evitar a formação de uma monocultura em torno de um único conjunto de ideias ou desenvolvedores. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 27 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

No que diz respeito às especificações, há uma riqueza de conhecimentos a serem obtidos a partir dos padrões processo seguido pelo WC3 e pelo IETF. Em última análise, cada protocolo Cardano integra requer uma especificação independente de trabalho acadêmico ou código-fonte. Em vez disso, precisa estar em um formato adequado, como um RFC.

Um dos princípios fundamentais da Fundação Cardano é atuar como órgão de padronização especificamente para o Cardano protocolos e para hospedar conversas para atualizar, adicionar ou alterar padrões relevantes para Cardano. Se a Internet (um produto de padrões) através da IETF puder chegar a um consenso sobre o que protocolos principais devem ser usados, então é inteiramente razoável supor que um órgão dedicado poderia facilitar o mesmo resultado.

Como nota final, é interessante explorar a transferência destas discussões para uma entidade descentralizada hospedado em um blockchain. Este conceito é chamado de organização autônoma descentralizada (DAO) e trabalhos preliminares estão em andamento nesta área. A IOHK desenvolverá um modelo de referência DAO para entidades que fazem interface com Cardano para usar se desejar e é prerrogativa da Fundação Cardano decidir se irão adotá-lo sob seu mandato de padrões.

Interoperability

Interoperability

The Grand Myopia

Finance and the broader idea of commerce is ultimately a human endeavor. There exist elegant languages, extremely precise tools to capture intent, and endless mazes of techniques to achieve recourse in the event of bad outcomes as well as thousands of years of laws seeking equity in trade. In fact some of the earliest forms of writing were commercial contracts.

Yet the human element cannot be eschewed regardless of the disintermediation to logic, machines or governmental sentinels entrusted with terrible powers. Therein lies the grand myopia of cryptocurrencies. They are mostly divorced from human reality.

People make mistakes. People change their minds. People do not always fully understand the business relationships they are agreeing to enter. People get misled and defrauded. Circumstances change on an individual and state level that require unique solutions. Belaboring this point, most contracts contain force majeure clauses.

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 28 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

However, cryptocurrencies seek to toss out human understanding, compassion and judgement in exchange for an uncaring digital judge perfectly bound to a constitution without consideration to fairness or outcome. Given that humans have always tried and will continue to attempt to change rules to selfish ends, it is refreshing to actually have a system that cannot be corrupted.

But what happens when a user needs to blend these new systems with traditional financial systems? What happens when one needs to live in the human world? For example, property rights such as land registration live entirely in the physical world. Even tokenizing the land still requires some acknowledgement of the incumbent jurisdiction.

To provide another point, a bar of gold cannot move itself. The digital judge can command its movement, but cannot force it without humans to accommodate. Hence a digital ledger can drift from reality.

Thus a protocol designer needs to decide how much human reality should be permitted in his cryptocurrency. The more flexibility, the less fidelity to the absolute one should expect. The more consumer protection, the more mechanisms have to exist to provide rollbacks, refunds and editing of history.

This section and the next on regulation covers Cardano’s pragmatic approach to the topic. In terms of interoperability, there are two broad groups to discuss. First, interoperability with legacy financial systems (the non-cryptocurrency world). Second, interoperability with other cryptocurrencies.

Legacy

Fintech is not composed of a single standard or even a common language. There is tremendous

diversity in approaches, the entities responsible for settlement and clearing, business

processes, and other domains involved in the accounting, transformation and movement of

value.

It is unreasonable to suggest that, simply because one technology is superior, the rest of the

ecosystem will somehow admit defeat and upgrade. For example, many people still use

Windows XP 16 years after the initial release. This sad state of affairs is equivalent to someone

using the original Macintosh released in 1984 in the year 2000.

Consumer behavior aside, businesses are generally even slower in their upgrade cycle. Many

banks still use back ends written in Cobol. Once infrastructure is known to work and meets

business requirements, there is usually little incentive to upgrade or refine software and

protocols for a consumer’s benefit outside of compliance or security concerns. WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 29 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

For Cardano, we first have to establish what would a legacy bridge even entail? What systems,

standards, entities and protocols should we target to ensure there is a reasonable certainty of

interoperability? Can these bridges be federated or decentralized? Or like exchanges will they

become central points of failure for hackers, malicious owners or overzealous regulators?

There are three concerns that have to be addressed. First, the representation of information and

belief in its accuracy. Second, representation of value and its associated ownership. Third,

representation of entities and, a particular user’s alongside the aggregate level of trust in such

entities.

To be useful, information and value need to freely flow between the legacy financial world and

Cardano. Then outcomes need to be established and recorded to build reputation and grounds

for recourse. Yet such things are mostly scoped in nature to the actors involved. To encode

them on a blockchain would make them global and permanent.

Furthermore, value cannot always freely flow in the legacy world. Embargos, sanctions, capital

controls and judicial action could freeze assets. To be interoperable, one cannot create an

always open escape valve for value to leak.

Finally, the brand and reputation of entities is one of the cornerstones of commercial relationships. Billions of dollars are spent yearly on marketing campaigns to establish, maintain and repair brands. If libelous, false or misleading claims are made about a person or entity, then they have the right to seek legal recourse. Yet blockchains attempt to permanently preserve history.

Like our choice of programming language, there is no ideal solution for Cardano to resolve these concerns in a ubiquitously correct way. Rather, we have to yield to supported opinion again.

With respect to the flow of information, this flow is known as a trusted data feed. It has a source and content. Sources have some notion of credibility and incentive to deceive or maintain honesty. Content can be arbitrarily encoded.

Given that we intend on supporting trusted hardware in our protocol stack, we have chosen to explore adding support for Professor Ari Juel et al.’s Town Crier Protocol. Assuming the existence of a credible set of data sources, Town Crier permits the secure scraping of web content for use in smart contracts and other applications.

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 30 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

A bootstrap list of sources will be provided by Emurgo, IOHK and the Cardano Foundation. Later this list will be replaced by a community curated list using mechanics derived from Cardano’s treasury system. Our hope is that a reputation system can materialize around good data feeds, thereby creating a positive feedback loop to gradually improve reliability and fidelity.

The representation of value is a more complex topic. Unlike information — where once the veracity, timeliness and completeness are established, protocols can behave in a reliable and deterministic way — value is more delicate.

Once tokenized, value should behave like a unique object. Information can be copied and passed around, but a token representing ownership of something (say a vehicle title) cannot be cloned and traded on two different ledgers. This act would effectively destroy the integrity of the system.

The challenge in legacy interoperability when dealing with tokenized value is that trust assumptions, reliability and auditability change as tokens flow between ledgers. For example, if Bob owns some Bitcoin and then deposits them on an exchange, then Bob now has the exchange’s representation of his Bitcoin on their ledger. In the case of MtGOX, their ledger did not conform to reality, causing the users to lose everything.

The problem is further complicated by the need for legacy systems to recognize tokens living in a cryptocurrency. As mentioned previously, businesses are historically resistant to upgrading their software and supporting new protocols. This situation makes it difficult to see a clear solution.

For Cardano, our best hope is to provide an option for users to attach a rich supply of metadata to their transactions and then wait for industry standards to emerge to hook into. Some progress has been made with the Interledger workgroup, efforts like R3Cev and international mandates to upgrade old financial protocols.

However, the larger challenge remains of quantifying and qualifying value sent from a legacy system to a cryptocurrency ledger. For example if Bob is a bank owner and issues a dollar backed token, then he can always build a bridge to send his tokens to a ledger like Cardano as a user issued asset.

While Cardano would track ownership precisely and provide all the features we have come to love such as timestamping and auditability, no cryptocurrency can make Bob an honest banker. He always has the option of running a fractional reserve bank by not backing all of his dollar WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 31 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

tokens with real dollars. This fraud cannot be detected by a cryptocurrency unless the dollar itself was a token accounted by a digital ledger . 25

Finally, the representation of entities online is a classical network problem dating back to early days of the internet. Universities, businesses, government departments and any arbitrary users need to establish their identity at some point.

To this end, pragmatic yet centralized solutions like the web’s Public Key Infrastructure and ICANN’s DNS system have been implemented. Given that we enjoy the modern web, these solutions are both scalable and practical. But they do not answer a more commercially oriented question of reliability, trustworthiness and other meta characteristics necessary for determining if one wants to do business with the entity.

Multi-sided marketplace hosts like eBay have constructed a business model on providing some of this metadata alongside a framework to complete transactions. Judgements about the quality of content, events and businesses are often deeply influenced solely by online ratings from trusted sources . 26

The part of this point relevant to Cardano is a question of centralization of reputation. One of our goals for Cardano is to provide a financial stack for the developing world. A key to this effort is the ability to establish trust with actors one has never met.

If a single entity or a consortium of entities control who is labeled good or bad, not an organic process derived from actual interactions in the community as a whole, then these entities could arbitrarily blacklist anyone for any perceived sin. This power is against our values as a project and defeats the broader point of using a cryptocurrency.

Fortunately, the same mechanisms used in voting for treasury ballots, adding sources to a list of trusted data feeds and forking a protocol can be reused to establish a reputation space. It is an open area of research and our hope is to provide an overlay protocol for a decentralized reputation web of trust in 2018-2019 after more foundational elements have been settled.

Cryptocurrency Interoperability

25 For digital ledgers on the other hand, proof of reserve has been proposed as a clever way of keeping cryptocurrency only exchanges honest. 26 These rates even impact the creation of content itself. See this interest story on how Rotten Tomatoes has impacted the movie industry. WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 32 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Moving from the legacy world to distributed digital ledgers, interoperability becomes far simpler. Each ledger has a network protocol, standards of communication and security assumptions about its respective consensus algorithm. These in turn can be easily quantified.

Movement of information is established by connecting to the foreign network and translating its messages. Movement of value can be done through a relay system, atomic cross chain trading or through a clever sidechains scheme. As there is not a centralized operator, one representation of entities restricts more to a metadiscussion of trust in developers, miners or some other powerbroker.

For Cardano, we are integrating a new sidechain protocol developed by Kiayias, Miller and Zindros. It provides a non-interactive way of safely moving value between two chains that support the protocol. This mechanism will be the primary way value will flow between CSL and a CCL layer.

For other cryptocurrencies, federated bridges should form as Cardano grows in value and user base. To help accelerate this growth, Cardano SL supports a restricted version of Plutus for interoperability scripts. New transactions will be added in the Shelley and later releases of CSL specifically to address these needs.

The Maze of Daedalus

The points on interoperability come from a global perspective. Specialized protocols, new

transaction types, systems to assess credibility and the flow of information cannot be scoped to

just a single gatekeeper or user. Rather they must be readily available to anyone without

censorship or tolls.

Yet what happens when Cardano does not support a protocol, transaction or application that a

user cannot live without? Should we just be out of scope? The web faced a similar concern

during the 1990s.

Ironically, the web provides two different solutions that can be replicated with cryptocurrencies.

The introduction of JavaScript provided programmability to any website to add arbitrary

features. The introduction of browser plugins and extensions added custom capabilities for

users willing to install them. Both approaches gave us the modern web alongside all its security

horrors.

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 33 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Ethereum adopted the former approach by allowing users to embed subprotocols on the

Ethereum blockchain as smart contracts. Cardano supports this feature through the CCL

paradigm. But what about custom extensions?

An elucidating example would be a cryptocurrency trader. Imagine a decentralized marketplace,

called DM, that supports a set of different cryptocurrencies. A trader wants to automate his

strategies acting on DM.

In a fragmented ecosystem, the trader would have to install dozens of clients for each

cryptocurrency and then write custom software to talk to each client in order to coordinate

automated trades. If one client updates, then it could break the bespoke software. Furthermore,

what if the trader wants to sell the software?

Inspired from the web model of extensions, if the interface to various cryptocurrencies can be

pulled into a web stack, then the trader’s task becomes dramatically easier. A universal

interface can be established. Installation is one click. Distribution of software can be modeled

after the Chrome web store.

For Cardano, we have decided to experiment with this paradigm by deploying our reference

wallet’s front end on Electron. It is an open source project maintained by Github that combines

both Node and Chrome together. Cardano’s build of Electron is called Daedalus.

The first generation of Daedalus will act as an HD wallet with support for many of the expected

27 accounting and security features that are industry standards, such as spending passwords and

BIP39. In later generations Daedalus will develop into an application framework with a store,

universal integration APIs and an SDK.

The key innovations are ease of development by allowing programmers to use JavaScript,

HTML5 and CSS3 to build their applications and a unified bridge for cross application

communication. Complex behavior such as cryptography, managing a distributed network and

database mechanics can be abstracted away thereby letting the developer focus solely on user

experience and their application’s core logic.

As Daedalus is intended to be a universal framework, its roadmap and evolution is somewhat

independent of Cardano’s. During 2017 they are tightly coupled, but later Cardano will be just

another application for a Daedalus user. We also intend on exploring extremely unique features

such as a universal key management service running solely in Intel SGX.

27 Which is already available at daedaluswallet.io
WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 34 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Ultimately, as protocol designers, we cannot support all needs. Our hope is that the flexibility

that Daedalus will provide combined with stateful smart contracts running on CCL will satisfy

those left out by our design decisions. We also hope that better standards can emerge to

encourage all cryptocurrencies to enjoy better interoperability and security.

Interoperabilidade

A Grande Miopia

As finanças e a ideia mais ampla de comércio são, em última análise, um empreendimento humano. Existem elegantes linguagens, ferramentas extremamente precisas para capturar intenções e labirintos intermináveis de técnicas para conseguir recurso em caso de resultados ruins, bem como milhares de anos de leis buscando equidade no comércio. Na verdade, algumas das primeiras formas de escrita eram contratos comerciais.

No entanto, o elemento humano não pode ser evitado, independentemente da desintermediação da lógica, máquinas ou sentinelas governamentais dotadas de poderes terríveis. É aí que reside o grande miopia das criptomoedas. Eles estão em sua maioria divorciados da realidade humana.

As pessoas cometem erros. As pessoas mudam de ideia. As pessoas nem sempre compreendem completamente o relações comerciais que eles estão concordando em entrar. As pessoas são enganadas e fraudadas. As circunstâncias mudam a nível individual e estadual e exigem soluções únicas. Trabalhando neste ponto, a maioria dos contratos contém cláusulas de força maior.

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 28 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

No entanto, as criptomoedas procuram eliminar a compreensão, a compaixão e o julgamento humanos em troca de um juiz digital indiferente, perfeitamente vinculado a uma constituição sem consideração justiça ou resultado. Dado que os humanos sempre tentaram e continuarão a tentar mudar as regras para fins egoístas, é revigorante ter realmente um sistema que não pode ser corrompido.

Mas o que acontece quando um usuário precisa combinar esses novos sistemas com sistemas financeiros tradicionais? sistemas? O que acontece quando alguém precisa viver no mundo humano? Por exemplo, propriedade direitos como o registo de terras vivem inteiramente no mundo físico. Mesmo tokenizing a terra ainda requer algum reconhecimento da jurisdição competente.

Para fornecer outro ponto, uma barra de ouro não pode se mover sozinha. O juiz digital pode comandar seu movimento, mas não pode forçá-lo sem que os humanos o acomodem. Portanto, um livro-razão digital pode afastar-se da realidade.

Assim, um projetista de protocolo precisa decidir quanta realidade humana deve ser permitida em seu criptomoeda. Quanto mais flexibilidade, menos fidelidade ao absoluto se deve esperar. O mais proteção do consumidor, mais mecanismos deverão existir para fornecer reversões, reembolsos e edição da história.

Esta seção e a próxima sobre regulamentação cobrem a abordagem pragmática de Cardano ao tema. Em termos de interoperabilidade, há dois grandes grupos a discutir. Primeiro, a interoperabilidade com sistemas financeiros legados (o mundo sem criptomoeda). Em segundo lugar, a interoperabilidade com outros criptomoedas.

Legado

A Fintech não é composta por um único padrão ou mesmo por uma linguagem comum. Há um tremendo

diversidade de abordagens, as entidades responsáveis pela liquidação e compensação, os negócios

processos e outros domínios envolvidos na contabilidade, transformação e movimentação de

valor.

Não é razoável sugerir que, simplesmente porque uma tecnologia é superior, o resto das

ecossistema irá de alguma forma admitir a derrota e a atualização. Por exemplo, muitas pessoas ainda usam

Windows XP 16 anos após o lançamento inicial. Este triste estado de coisas equivale a alguém

usando o Macintosh original lançado em 1984 no ano 2000.

Deixando de lado o comportamento do consumidor, as empresas geralmente são ainda mais lentas em seu ciclo de atualização. Muitos

os bancos ainda usam back-ends escritos em Cobol. Uma vez que a infraestrutura é conhecida por funcionar e atende

requisitos de negócios, geralmente há pouco incentivo para atualizar ou refinar o software e

protocolos para benefício do consumidor fora de questões de conformidade ou segurança. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 29 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Para Cardano, primeiro precisamos estabelecer o que uma ponte legada implicaria? Quais sistemas,

padrões, entidades e protocolos que devemos ter como objetivo garantir que haja uma certeza razoável de

interoperabilidade? Essas pontes podem ser federadas ou descentralizadas? Ou como trocas eles vão

tornam-se pontos centrais de falha para hackers, proprietários mal-intencionados ou reguladores excessivamente zelosos?

Há três preocupações que precisam ser abordadas. Primeiro, a representação da informação e

crença em sua precisão. Em segundo lugar, a representação do valor e a propriedade associada. Terceiro,

representação de entidades e de um determinado usuário juntamente com o nível agregado de confiança em tal

entidades.

Para serem úteis, a informação e o valor precisam fluir livremente entre o mundo financeiro legado e

Cardano. Em seguida, os resultados precisam ser estabelecidos e registrados para construir reputação e fundamentos

para recurso. No entanto, essas coisas são principalmente atribuídas, por natureza, aos atores envolvidos. Para codificar

colocá-los em um blockchain os tornaria globais e permanentes.

Além disso, o valor nem sempre pode fluir livremente no mundo legado. Embargos, sanções, capital

controlos e acções judiciais poderiam congelar activos. Para ser interoperável, não se pode criar um

sempre abra a válvula de escape para que o valor vaze.

Por fim, a marca e a reputação das entidades são um dos pilares da gestão comercial. relacionamentos. Bilhões de dólares são gastos anualmente em campanhas de marketing para estabelecer, manter e marcas de reparo. Se forem feitas alegações difamatórias, falsas ou enganosas sobre uma pessoa ou entidade, então eles têm o direito de buscar recursos legais. No entanto, a tentativa de blockchains de preservar permanentemente história.

Assim como nossa escolha de linguagem de programação, não existe uma solução ideal para Cardano resolver essas preocupações de uma forma onipresentemente correta. Em vez disso, temos de ceder à opinião apoiada novamente.

Com relação ao fluxo de informações, esse fluxo é conhecido como feed de dados confiável. Tem uma fonte e conteúdo. As fontes têm alguma noção de credibilidade e incentivo para enganar ou manter honestidade. O conteúdo pode ser codificado arbitrariamente.

Dado que pretendemos oferecer suporte a hardware confiável em nossa pilha de protocolos, optamos por explore a adição de suporte para o Town Crier Protocol do Professor Ari Juel et al. Supondo que existência de um conjunto confiável de fontes de dados, o Town Crier permite a coleta segura de dados da web conteúdo para uso em smart contracts e outros aplicativos.

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 30 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Uma lista inicial de fontes será fornecida pela Emurgo, IOHK e pela Fundação Cardano. Mais tarde esta lista será substituída por uma lista com curadoria da comunidade usando mecânica derivada de Cardano sistema de tesouraria. Nossa esperança é que um sistema de reputação possa se materializar em torno de bons feeds de dados, criando assim um ciclo de feedback positivo para melhorar gradualmente a confiabilidade e a fidelidade.

A representação de valor é um tema mais complexo. Ao contrário da informação – onde uma vez o veracidade, oportunidade e integridade são estabelecidas, os protocolos podem se comportar de maneira confiável e forma determinística – o valor é mais delicado.

Uma vez tokenizado, o valor deve se comportar como um objeto único. As informações podem ser copiadas e repassado, mas um token representando a propriedade de algo (digamos, um título de veículo) não pode ser clonado e negociado em dois livros diferentes. Este ato destruiria efetivamente a integridade do sistema.

O desafio da interoperabilidade legada ao lidar com valor tokenizado é que a confiança suposições, confiabilidade e auditabilidade mudam à medida que tokens fluem entre os livros contábeis. Por exemplo, se Bob possui alguns Bitcoin e depois os deposita em uma exchange, então Bob agora tem o representação da bolsa de seu Bitcoin em seu livro-razão. No caso do MtGOX, o seu livro-razão não se conformam com a realidade, fazendo com que os usuários percam tudo.

O problema é ainda mais complicado pela necessidade de sistemas legados reconhecerem tokens que vivem em uma criptomoeda. Como mencionado anteriormente, as empresas são historicamente resistentes à modernização seu software e suporte a novos protocolos. Esta situação torna difícil ver uma clara solução.

Para Cardano, nossa melhor esperança é fornecer uma opção para os usuários anexarem um rico suprimento de metadados às suas transações e depois esperar que surjam os padrões da indústria para se conectar. Alguns progresso foi feito com o grupo de trabalho Interledger, esforços como R3Cev e iniciativas internacionais mandatos para atualizar antigos protocolos financeiros.

No entanto, o maior desafio continua a ser quantificar e qualificar o valor enviado de um legado sistema para um livro-razão de criptomoeda. Por exemplo, se Bob é dono de um banco e emite um dólar apoiou token, então ele sempre pode construir uma ponte para enviar seus tokens para um livro-razão como Cardano como um ativo emitido pelo usuário.

Embora Cardano rastreie a propriedade com precisão e forneça todos os recursos aos quais chegamos amor, como registro de data e hora e auditabilidade, nenhuma criptomoeda pode fazer de Bob um banqueiro honesto. Ele sempre tem a opção de administrar um banco de reservas fracionárias, não garantindo todo o seu dólar. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 31 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

tokens com dólares reais. Esta fraude não pode ser detectada por uma criptomoeda, a menos que o dólar em si era um token contabilizado por um livro-razão digital. 25

Finalmente, a representação de entidades online é um problema de rede clássico que remonta ao início dias de internet. Universidades, empresas, departamentos governamentais e quaisquer usuários arbitrários precisam estabelecer sua identidade em algum momento.

Para este fim, soluções pragmáticas mas centralizadas, como a Infraestrutura de Chave Pública da web e O sistema DNS da ICANN foi implementado. Dado que gostamos da web moderna, estes as soluções são escaláveis e práticas. Mas eles não respondem a uma questão mais comercialmente orientada questão de confiabilidade, confiabilidade e outras metacaracterísticas necessárias para determinar se alguém quiser fazer negócios com a entidade.

Os hosts de mercado multifacetados, como o eBay, construíram um modelo de negócios fornecendo alguns desses metadados juntamente com uma estrutura para concluir transações. Julgamentos sobre o a qualidade do conteúdo, eventos e negócios são muitas vezes profundamente influenciadas apenas pelas classificações online de fontes confiáveis. 26

A parte deste ponto relevante para Cardano é uma questão de centralização da reputação. Um dos nossos objetivos para Cardano é fornecer uma pilha financeira para o mundo em desenvolvimento. Uma chave para esse esforço é a capacidade de estabelecer confiança com atores que nunca conhecemos.

Se uma única entidade ou um consórcio de entidades controlar quem é rotulado como bom ou mau, e não uma entidade orgânica processo derivado de interações reais na comunidade como um todo, então essas entidades poderiam arbitrariamente colocar qualquer pessoa na lista negra por qualquer pecado percebido. Este poder é contra nossos valores como projeto e anula o ponto mais amplo de usar uma criptomoeda.

Felizmente, os mesmos mecanismos usados na votação nas cédulas do Tesouro, acrescentando fontes a uma lista de feeds de dados confiáveis e bifurcação de um protocolo podem ser reutilizados para estabelecer um espaço de reputação. É um área aberta de pesquisa e nossa esperança é fornecer um protocolo de sobreposição para um sistema descentralizado reputação da rede de confiança em 2018-2019, depois que mais elementos fundamentais foram resolvidos.

Interoperabilidade de criptomoeda

25 Por outro lado, para os livros digitais, a prova de reserva foi proposta como uma forma inteligente de manter criptomoeda apenas troca honesta. 26 Essas taxas impactam até mesmo a própria criação de conteúdo. Veja esta história interessante sobre como o Rotten Tomatoes impactou a indústria cinematográfica. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 32 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Passando do mundo legado para livros digitais distribuídos, a interoperabilidade se torna muito mais simples. Cada razão tem um protocolo de rede, padrões de comunicação e premissas de segurança sobre seu respectivo algoritmo de consenso. Estes, por sua vez, podem ser facilmente quantificados.

A circulação de informações é estabelecida conectando-se à rede estrangeira e traduzindo sua mensagens. A movimentação de valor pode ser feita através de um sistema de retransmissão, negociação atômica em cadeia cruzada ou através de um esquema inteligente de cadeias laterais. Como não existe um operador centralizado, é representação de entidades se restringe mais a uma metadiscussão de confiança em desenvolvedores, mineradores ou algum outro corretor de poder.

Para Cardano, estamos integrando um novo protocolo sidechain desenvolvido por Kiayias, Miller e Zindros. Ele fornece uma maneira não interativa de movimentar valor com segurança entre duas cadeias que apoiar o protocolo. Este mecanismo será a principal forma pela qual o valor fluirá entre CSL e um Camada CCL.

Para outras criptomoedas, pontes federadas devem se formar à medida que Cardano cresce em valor e usuário básico. Para ajudar a acelerar esse crescimento, Cardano SL oferece suporte a uma versão restrita do Plutus para scripts de interoperabilidade. Novas transações serão adicionadas no Shelley e em versões posteriores do CSL especificamente para atender a essas necessidades.

O Labirinto de Dédalo

Os pontos sobre a interoperabilidade vêm de uma perspectiva global. Protocolos especializados, novos

tipos de transações, os sistemas para avaliar a credibilidade e o fluxo de informações não podem ter como escopo

apenas um único gatekeeper ou usuário. Em vez disso, devem estar prontamente disponíveis para qualquer pessoa sem

censura ou pedágios.

No entanto, o que acontece quando Cardano não suporta um protocolo, transação ou aplicação que um

o usuário não pode viver sem? Deveríamos simplesmente estar fora do escopo? A web enfrentou uma preocupação semelhante

durante a década de 1990.

Ironicamente, a web oferece duas soluções diferentes que podem ser replicadas com criptomoedas.

A introdução do JavaScript proporcionou programabilidade a qualquer site para adicionar

recursos. A introdução de plug-ins e extensões de navegador adicionou recursos personalizados para

usuários dispostos a instalá-los. Ambas as abordagens nos deram a web moderna juntamente com toda a sua segurança

horrores.

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 33 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Ethereum adotou a abordagem anterior, permitindo que os usuários incorporassem subprotocolos no

Ethereum blockchain como smart contracts. Cardano oferece suporte a esse recurso por meio do CCL

paradigma. Mas e as extensões personalizadas?

Um exemplo elucidativo seria um comerciante de criptomoedas. Imagine um mercado descentralizado,

chamado DM, que suporta um conjunto de diferentes criptomoedas. Um trader deseja automatizar seu

estratégias que atuam no DM.

Num ecossistema fragmentado, o trader teria que instalar dezenas de clientes para cada

criptomoeda e, em seguida, escrever um software personalizado para conversar com cada cliente a fim de coordenar

negociações automatizadas. Se um cliente atualizar, isso poderá danificar o software personalizado. Além disso,

e se o comerciante quiser vender o software?

Inspirado no modelo web de extensões, se a interface para diversas criptomoedas puder ser

puxado para uma pilha da web, a tarefa do trader se torna dramaticamente mais fácil. Um universal

interface pode ser estabelecida. A instalação é um clique. A distribuição de software pode ser modelada

depois da loja virtual do Chrome.

Para Cardano, decidimos experimentar este paradigma implantando nossa referência

front-end da carteira no Electron. É um projeto de código aberto mantido pelo Github que combina

tanto Node quanto Chrome juntos. A construção do Electron de Cardano é chamada Daedalus.

A primeira geração de Dédalo funcionará como uma carteira HD com suporte para muitos dos esperados

27 recursos de contabilidade e segurança que são padrões do setor, como gastar senhas e

BIP39. Nas gerações posteriores, o Daedalus se desenvolverá em uma estrutura de aplicação com uma loja,

APIs de integração universal e um SDK.

As principais inovações são a facilidade de desenvolvimento, permitindo que os programadores usem JavaScript,

HTML5 e CSS3 para construir seus aplicativos e uma ponte unificada para aplicativos cruzados

comunicação. Comportamento complexo, como criptografia, gerenciamento de uma rede distribuída e

a mecânica do banco de dados pode ser abstraída, permitindo assim que o desenvolvedor se concentre apenas no usuário

experiência e a lógica central de sua aplicação.

Como o Daedalus pretende ser uma estrutura universal, seu roteiro e evolução são um tanto

independente de Cardano. Durante 2017 eles estão fortemente acoplados, mas mais tarde Cardano será apenas

outro aplicativo para um usuário Daedalus. Também pretendemos explorar recursos extremamente exclusivos

como um serviço universal de gerenciamento de chaves executado exclusivamente em Intel SGX.

27 Que já está disponível em daedaluswallet.io
POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 34 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Em última análise, como criadores de protocolos, não podemos suportar todas as necessidades. A nossa esperança é que a flexibilidade

que a Daedalus fornecerá combinada com smart contracts com estado em execução no CCL irá satisfazer

aqueles deixados de fora por nossas decisões de design. Esperamos também que possam surgir melhores normas para

incentivar todas as criptomoedas a desfrutar de melhor interoperabilidade e segurança.

Regulation

Regulation

The False Dichotomy

As mercurial and arcane as regulation can often be, one can metaphorically infer an elegant narrative loop of the corrupt and their prosecutors seeking justice. Regulations are the toolkit of the lawbringer. But like all tools, they might be crude, old or simply misused.

Cryptocurrencies have not changed the human condition or the narrative loop. There will always be scams, bad actors and terrible outcomes despite the best of intentions. While cryptocurrencies can remove human judgement, they cannot remove human behavior.

A cryptocurrency designer has to take a position on what toolkit he will offer the regulator to correct bad events. The unique challenge cryptocurrencies face is that they are a product of regulatory and monetary failure . 28

Culturally, many in cryptocurrencies consider government action to be corrupt, inept or ineffective. Therefore, they have little respect, patience or desire to endorse a special backdoor for a regulator or lawman to right wrongs. This act would be anathema to the entire purpose of cryptocurrencies.

On the other hand, counting exchange failures and historic events, more than 10 percent of Bitcoin has been lost or stolen since the protocol started on January 3rd, 2009. As of June 30th, 2017, the value lost or stolen comes to a little over $4 billion. And this figure does not account for Bitcoin and other tokens lost to scams and poorly formed ICOs.

28 In fact Satoshi embedded in the Bitcoin Genesis Block the following headline taken from The Times: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 35 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Then there is the issue of privacy. On a macro scale, value flows through specialized channels that are regulated, rich in metadata and actively monitored by law enforcement, governments and international regulators. It is a well understood game with leakage occurring only on the cash side of affairs, which has been gradually diminishing as the world moves to digital money.

29

The paradigm if cryptocurrencies did not exist would seem to be a world that increasingly treats financial privacy like social media content. There is none and one cannot opt out. Hence we have a dilemma yielding an apparent dichotomy.

A cryptocurrency designer can surrender principles and yield to whatever demands their local jurisdiction places upon their code, thereby compromising the privacy and integrity of their users. Or he can adopt a more principled, but anarchistic, philosophy that divorces itself from current best practices and laws.

For Cardano, we feel this narrative is a false dichotomy brought on by a lack of imagination. The reality is that most users are not concerned about rules existing for markets. They are usually concerned about sudden changes in the rules to benefit one or more actors. They are worried about a lack of transparency over who gets special privileges.

We need to distinguish between individual and market rights. Given that cryptocurrencies have a global reach, rights needs to be as user oriented as possible.

Privacy should be reasonable and at the user’s control, not a gatekeeper. The flow of value should be unrestricted. Value should not be subject to sudden forfeiture without consent.

From a market perspective, the marketplace needs to be transparent about the use of data, how funds will be handled within and everyone needs to play by the same set of rules. Furthermore, once the user has consented, then they cannot suddenly change their mind due to inconvenience. Counterparties need certainty as well.

But how exactly does one move from the abstract to an actual system? What should something practical and legal look like? We have broken our solution into three categories: metadata, authentication and compliance as well as marketplace DAOs.

29 The reader should consider picking up a copy of David Wolman’s The End of Money. It covers the international movement towards cash disappearing. WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 36 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Metadata

The act of something can often be less interesting than the metadata surrounding it. For example, driving from Denver to Boulder is an act. Driving from Denver to Boulder in a Ferrari 488 at an average of 120 MPH is metadata. Certainly this infers a different experience than in a Toyota Prius at an average of 30 MPH.

Financial transactions are no different. The context surrounding them is extraordinarily important to economists, tax authorities, law enforcement, businesses and other entities. Sadly in our current fiat based system, most consumers never see how rich in metadata their transactions are or who they are shared with . 30

For Cardano, we acknowledge that users could need or are legally required to share transactional metadata with certain actors like tax authorities. But we believe this sharing has to be at the user’s consent.

We also believe that blockchain systems have tremendous power to eliminate fraud, waste and abuse by providing auditability, timestamping and immutability. Thus some metadata should be posted to the Cardano blockchain.

The hard part is finding a correct balance that does not condemn our blockchain to substantial bloat. Given this concern, we have chosen a pragmatic approach.

First, Daedalus will support over the next 12 months a large array of features to label transactions and financial activity. These metadata can be exported and shared on demand with whoever the user deems necessary. Furthermore, the data can be operated on by three party applications for domain specific purposes (for example, tax accounting).

Second, we are exploring adding support for special addresses that can include hashes and encrypted fields. This structure would permit a user to post metadata on our blockchain without publicly revealing it. But if she wants to share the data, it would carry all the auditability, immutability and timestamp surety that a transaction enjoys.

30 On a more macro scale, author Juan Zarate writes about how this data is used by the US Treasury Department in the war on terrorism in Treasury’s War. It provides a comprehensive view into how the current structure of global financial markets can be used for geopolitical ends. WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 37 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

We have already deployed an address structure that contains an attribute field. It is currently being used to store an encrypted copy of HD wallet trees structure for fast wallet recovery (see HD Wallet documentation). Later versions will generalize this construction.

Authentication and Compliance

Closely connected to transactions are the topics of the right to make transactions and the ownership of funds. For example, while there might be sufficient funds to buy something (for example alcohol), there could be restrictions on its purchase (age requirements).

Ownership and origin of funds are typically providence of know your customer regulations. When a money service business like a bank or exchange opens an account for a new customer, it is usually required to collect basic facts about the customer and where he acquired his funds from.

The technological challenge is that in the process of submitting this legally required information, the user sending it has no guarantee how it will be used, stored and if it will ever be destroyed. Compliance information is commercially valuable. It could be stolen for identity theft or resold where regulations permit.

For Cardano, we want to innovate as much as possible. On the software side of protocols, there is little to provide a guarantee that the receiver of compliance information will behave within a scope of conduct. However, on the hardware side of protocols, using trusted hardware, one can leverage Intel SGX and other HSMs to enforce certain policies.

Thus we are exploring using Sealed Glass Proofs alongside a sharing policy to permit the safe transmission of compliance information to a verifier who in turn is forced to comply with the policies it was transmitted under. We believe that both uniform standards could emerge and also that this method will reduce risk to verifiers by preventing the loss of customer data from hackers.

As a corollary to this effort, the layered model we propose for Cardano separating value from computation also can benefit from this approach. If the computation layer is run by regulated entities (say exchanges or casinos), then they would need to conduct compliance checks and potentially enforce tax policy on users.

Using SGPs, the user can send funds alongside personally identifiable information without concern that it will leak into the broader internet or be preserved by the consensus nodes of the WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 38 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

computation layer. Furthermore, the computation layer would gain certainty that all users transacting are authenticated and legitimate.

This paradigm also allows for customer portability between regulated entities. Exchanges could transfer balances and accounts for customers instantly through these safe channels and also — where policies permit — share data with regulators.

We expect our first beta test of this technology to be conducted in mid-2018 with an aim towards Cardano integration in late-2018 to early 2019 pending research results. This timeline also assumes the ability to collaborate with ARM and Intel in order to get code signed to run on their hardware . 31 Marketplace DAOs

The two previous sections covered the generation and movement of information assuming the existence of some external system. To ensure legacy interoperability, these features will always be necessary, but they do not address blockchain based regulation.

Smart contracts enable a completely new kind of commercial system where relationships are deterministic, self-enforcing and free of ambiguity. They can in turn be used to create rules for marketplaces including arbitrarily complex structures such as arbitration, event driven refunds, and revelation of facts given special conditions.

We call these smart contract enforced structures Marketplace DAOs. They do not require special protocol support nor mutability to be embedded in the ledger. In fact, they can be totally constructed using a collection of interdependent smart contracts.

The architectural concept is to design a collection of commercial templates inspired from contract law and business best practices. These templates can be wired into a developer’s smart contract to enforce specific standards upon the marketplace.

For example, say a developer wants to issue an ERC20 token on CCL to conduct a crowdsale. A Marketplace DAO could be established specifically for crowdsales and its terms and conditions parameterized or even enforced by volunteer or legal standards. Things such as refunds, reallocation of funds or freezing of payment could be inherited in the developer’s ERC20 contract.

31 See Intel SGX Commercial License Policy WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 39 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

This effort allows us to have a macro discussion about how a marketplace should be controlled in order to ensure consumer protection. Second, we can discuss how to model transactions in a way to automatically ensure legal protection and rights within specific jurisdictions, such as New Hampshire.

Working with the Cardano Foundation, IOHK and other entities, the Cardano project will create a reference library of Marketplace DAOs for smart contract developers to use. Our hope is that insurance and regulatory markets can form around these DAOs and that they will be self-evolving based upon outcomes.

Regulamento

A falsa dicotomia

Por mais inconstante e misteriosa que a regulamentação possa muitas vezes ser, pode-se inferir metaforicamente uma elegante ciclo narrativo dos corruptos e seus promotores em busca de justiça. Os regulamentos são o kit de ferramentas de o legislador. Mas, como todas as ferramentas, elas podem ser rudimentares, antigas ou simplesmente mal utilizadas.

As criptomoedas não mudaram a condição humana nem o ciclo narrativo. Sempre haverá ser fraudes, maus atores e resultados terríveis, apesar das melhores intenções. Enquanto as criptomoedas podem remover o julgamento humano, mas não podem remover o comportamento humano.

Um designer de criptomoeda deve se posicionar sobre qual kit de ferramentas ele oferecerá ao regulador corrigir eventos ruins. O desafio único que as criptomoedas enfrentam é que elas são um produto de fracasso regulatório e monetário. 28

Culturalmente, muitos envolvidos em criptomoedas consideram a ação do governo corrupta, inepta ou ineficaz. Portanto, eles têm pouco respeito, paciência ou desejo de endossar um backdoor especial para um regulador ou homem da lei corrigir erros. Este ato seria um anátema para todo o propósito da criptomoedas.

Por outro lado, contando as falhas cambiais e os acontecimentos históricos, mais de 10 por cento dos Bitcoin foi perdido ou roubado desde que o protocolo começou em 3 de janeiro de 2009. Em 30 de junho, Em 2017, o valor perdido ou roubado chega a pouco mais de US$ 4 bilhões. E esse número não leva em conta para Bitcoin e outros tokens perdidos em golpes e ICOs mal formados.

28 Na verdade, Satoshi incorporou no Bitcoin Genesis Block a seguinte manchete retirada do The Times: The Times 03/Jan/2009 Chanceler à beira do segundo resgate aos bancos POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 35 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Depois, há a questão da privacidade. Numa escala macro, o valor flui através de canais especializados que são regulamentados, ricos em metadados e monitorados ativamente pelas autoridades policiais, governos e reguladores internacionais. É um jogo bem compreendido, com vazamentos ocorrendo apenas no lado do dinheiro, que tem diminuído gradualmente à medida que o mundo migra para o dinheiro digital.

29

O paradigma, se as criptomoedas não existissem, pareceria ser um mundo que trata cada vez mais privacidade financeira, como conteúdo de mídia social. Não há nenhum e não se pode optar por sair. Daí nós temos um dilema que produz uma aparente dicotomia.

Um designer de criptomoeda pode renunciar a princípios e ceder a qualquer demanda que seu local jurisdição atribui ao seu código, comprometendo assim a privacidade e a integridade de seus usuários. Ou ele pode adotar uma filosofia mais baseada em princípios, mas anarquista, que se divorcie da melhores práticas e leis atuais.

Para Cardano, sentimos que esta narrativa é uma falsa dicotomia provocada pela falta de imaginação. O a realidade é que a maioria dos utilizadores não está preocupada com as regras existentes para os mercados. Eles geralmente são preocupado com mudanças repentinas nas regras para beneficiar um ou mais atores. Eles estão preocupados sobre a falta de transparência sobre quem recebe privilégios especiais.

Precisamos distinguir entre direitos individuais e de mercado. Dado que as criptomoedas têm um alcance global, os direitos precisam ser tão orientados quanto possível para o usuário.

A privacidade deve ser razoável e estar sob o controle do usuário, e não de um guardião. O fluxo de valor deveria ser irrestrito. O valor não deve estar sujeito a perda repentina sem consentimento.

Do ponto de vista do mercado, o mercado precisa ser transparente sobre o uso de dados, como os fundos serão administrados internamente e todos precisam seguir o mesmo conjunto de regras. Além disso, uma vez que o usuário tenha consentido, ele não poderá mudar de ideia repentinamente devido a inconveniente. As contrapartes também precisam de certeza.

Mas como exatamente alguém passa do sistema abstrato para um sistema real? O que deveria algo prático e legal? Dividimos nossa solução em três categorias: metadados, autenticação e conformidade, bem como DAOs de mercado.

29 O leitor deve considerar adquirir um exemplar de The End of Money, de David Wolman. Ele cobre o movimento internacional rumo ao desaparecimento do dinheiro. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 36 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Metadados

O ato de algo muitas vezes pode ser menos interessante do que os metadados que o rodeiam. Para por exemplo, dirigir de Denver a Boulder é uma atuação. Dirigindo de Denver a Boulder em uma Ferrari 488 a uma média de 120 MPH são metadados. Certamente isso infere uma experiência diferente daquela em um Toyota Prius a uma média de 30 MPH.

As transações financeiras não são diferentes. O contexto que os rodeia é extraordinariamente importante para economistas, autoridades fiscais, autoridades policiais, empresas e outras entidades. Infelizmente em nosso atual sistema baseado em moeda fiduciária, a maioria dos consumidores nunca vê quão ricos em metadados seus são as transações ou com quem elas são compartilhadas. 30

Para Cardano, reconhecemos que os usuários podem precisar ou são legalmente obrigados a compartilhar metadados transacionais com determinados atores, como autoridades fiscais. Mas acreditamos que esta partilha tem que estar com o consentimento do usuário.

Também acreditamos que os sistemas blockchain têm um tremendo poder para eliminar fraudes, desperdícios e abuso, fornecendo auditabilidade, registro de data e hora e imutabilidade. Assim, alguns metadados devem ser postado em Cardano blockchain.

A parte difícil é encontrar um equilíbrio correto que não condene o nosso blockchain a substanciais inchaço. Dada esta preocupação, optámos por uma abordagem pragmática.

Primeiro, a Daedalus suportará durante os próximos 12 meses uma grande variedade de recursos para rotular transações e atividades financeiras. Esses metadados podem ser exportados e compartilhados sob demanda com quem o usuário julgar necessário. Além disso, os dados podem ser operados por terceiros aplicações para fins específicos de domínio (por exemplo, contabilidade fiscal).

Em segundo lugar, estamos explorando a adição de suporte para endereços especiais que podem incluir hashes e campos criptografados. Esta estrutura permitiria que um usuário postasse metadados em nosso blockchain sem revelando-o publicamente. Mas se ela quiser compartilhar os dados, isso traria toda a auditabilidade, imutabilidade e garantia de carimbo de data/hora de que uma transação desfruta.

30 Numa escala mais macro, o autor Juan Zarate escreve sobre como estes dados são utilizados pelo Tesouro dos EUA Departamento na guerra ao terrorismo na Guerra do Tesouro. Ele fornece uma visão abrangente de como o a actual estrutura dos mercados financeiros globais pode ser usada para fins geopolíticos. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 37 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Já implantamos uma estrutura de endereço que contém um campo de atributo. Atualmente é sendo usado para armazenar uma cópia criptografada da estrutura das árvores da carteira HD para recuperação rápida da carteira (consulte Documentação da Carteira HD). Versões posteriores generalizarão esta construção.

Autenticação e Conformidade

Intimamente ligados às transações estão os temas do direito de realizar transações e da propriedade dos fundos. Por exemplo, embora possa haver fundos suficientes para comprar algo (por por exemplo, álcool), poderá haver restrições à sua compra (requisitos de idade).

A propriedade e a origem dos fundos normalmente dependem do conhecimento dos regulamentos do cliente. Quando uma empresa de serviços financeiros, como um banco ou uma bolsa, abre uma conta para um novo cliente, geralmente é necessário coletar fatos básicos sobre o cliente e onde ele adquiriu seus fundos de.

O desafio tecnológico é que no processo de apresentação deste documento legalmente exigido informações, o usuário que as envia não tem garantia de como elas serão utilizadas, armazenadas e se algum dia serão destruído. As informações de conformidade são comercialmente valiosas. Pode ser roubado para roubo de identidade ou revendido onde os regulamentos permitirem.

Para Cardano, queremos inovar o máximo possível. No lado do software dos protocolos, há é pouco para fornecer uma garantia de que o receptor da informação de conformidade se comportará dentro de um âmbito da conduta. Entretanto, no lado do hardware dos protocolos, usando hardware confiável, pode-se aproveitar o Intel SGX e outros HSMs para aplicar determinadas políticas.

Assim, estamos explorando o uso de Provas de Vidro Selado juntamente com uma política de compartilhamento para permitir a segurança transmissão de informações de conformidade a um verificador que, por sua vez, é forçado a cumprir as políticas sob as quais foi transmitido. Acreditamos que tanto as normas uniformes poderão surgir como também que este método reduzirá o risco para os verificadores, evitando a perda de dados do cliente de hackers.

Como corolário deste esforço, o modelo em camadas que propomos para Cardano separando valor de a computação também pode se beneficiar dessa abordagem. Se a camada de computação for executada por entidades (por exemplo, bolsas ou cassinos), então elas precisariam realizar verificações de conformidade e potencialmente impor a política tributária aos usuários.

Usando SGPs, o usuário pode enviar fundos junto com informações de identificação pessoal sem preocupação de que vaze para a Internet em geral ou seja preservado pelos nós de consenso do POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 38 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

camada de computação. Além disso, a camada de computação ganharia a certeza de que todos os usuários transações são autenticadas e legítimas.

Este paradigma permite também a portabilidade de clientes entre entidades reguladas. As trocas poderiam transferir saldos e contas para clientes instantaneamente através desses canais seguros e também - onde as políticas permitirem – compartilhe dados com os reguladores.

Esperamos que o nosso primeiro teste beta desta tecnologia seja realizado em meados de 2018 com o objetivo rumo à integração de Cardano no final de 2018 ao início de 2019, aguardando resultados de pesquisa. Esta linha do tempo também assume a capacidade de colaborar com ARM e Intel para obter código assinado para execução em seu hardware. 31 Mercado DAOs

As duas seções anteriores cobriram a geração e movimentação de informações assumindo o existência de algum sistema externo. Para garantir a interoperabilidade legada, esses recursos sempre serão ser necessário, mas não abordam a regulamentação baseada em blockchain.

Os contratos inteligentes permitem um tipo completamente novo de sistema comercial onde os relacionamentos são determinista, auto-aplicável e livre de ambiguidade. Eles, por sua vez, podem ser usados para criar regras para mercados, incluindo estruturas arbitrariamente complexas, como arbitragem, reembolsos orientados por eventos, e revelação de fatos em condições especiais.

Chamamos essas smart contract estruturas impostas de Marketplace DAOs. Eles não exigem suporte de protocolo especial nem mutabilidade para ser incorporado no livro-razão. Na verdade, eles podem ser totalmente construído usando uma coleção de smart contracts interdependentes.

O conceito arquitetônico é projetar uma coleção de templates comerciais inspirados em direito contratual e melhores práticas empresariais. Esses modelos podem ser conectados ao desenvolvedor smart contract para impor padrões específicos ao mercado.

Por exemplo, digamos que um desenvolvedor queira emitir um ERC20 token no CCL para realizar um crowdsale. Um O mercado DAO pode ser estabelecido especificamente para vendas coletivas e seus termos e condições parametrizado ou mesmo aplicado por padrões voluntários ou legais. Coisas como reembolsos, a realocação de fundos ou o congelamento de pagamentos podem ser herdados no ERC20 do desenvolvedor contrato.

31 Consulte a Política de Licença Comercial Intel SGX POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 39 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Este esforço nos permite ter uma discussão macro sobre como um mercado deve ser controlado a fim de garantir a protecção do consumidor. Em segundo lugar, podemos discutir como modelar transações em um maneira de garantir automaticamente proteção legal e direitos dentro de jurisdições específicas, como Nova Hampshire.

Trabalhando com a Fundação Cardano, IOHK e outras entidades, o projeto Cardano criará um biblioteca de referência do Marketplace DAOs para uso dos desenvolvedores smart contract. Nossa esperança é que mercados regulatórios e de seguros podem se formar em torno desses DAOs e que eles serão auto-evolutiva com base em resultados.

Sustainability

Sustainability

An immersion into the cryptocurrency area yields many conceptual contradictions.

Cryptocurrencies are designed to be difficult to change, but, like all technology, they need to

change to address design flaws and advancements. Blockchains are intended to prevent

centralization, yet require strong actors to lead changes or maintain the code.

Perhaps the most frustrating experience comes when there are clear deficiencies that most

stakeholders agree need to be corrected, yet consensus cannot emerge on the path forwards.

Bitcoin’s block size debate has now been an active issue for more than two years. Daily,

transactions totalling over a billion dollars are pending because the network is at peak capacity.

If changing a simple parameter — even in the presence of temporary solutions — cannot be

coordinated, then how can enterprises and governments feel comfortable investing billions of

dollars into building infrastructure on top of these systems? For that matter, how can any

business gamble on the strategic risk of integrating accountability-free protocols that cannot

make rational design upgrades?

Looking back into history, the evolution of the internet has followed a similar pattern with even

simple changes like the transition from IPv4 to IPv6 taking decades to realize. Yet there is a

strong contrast between blockchain technology and the internet in that they follow a very

different style of custodianship.

The internet was a military project that grew out of DARPA into academic circles with strong

government backing and a well-defined set of initial custodians. The internet grew under

non-commercial conditions without the machinations of corporate influence attempting to

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 40 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

monopolize the network. In fact, e-commerce violated the NSF AUP until it was repealed in

By the time businesses had the luxury of commercializing the internet, there was already a

strong set of standards, principles and evangelistic adherents. This did not stop companies like

AOL and Microsoft from trying to build wall gardens and creating proprietary technology like

ActiveX. This foundation has not stopped next generation actors such as Google from pushing

their own agendas given their enormous user bases and capitalizations.

With swarms of rent seeking actors from traders to miners, cryptocurrencies are the ultimate

32 commercially motivated ecosystems. Given this foundation, evolution of the custodianship of

cryptocurrencies has resulted in optimization around self-interest.

For example, validationless mining is starting to occur more frequently as it improves a miner’s

profit margin, yet this completely disregards the entire purpose and utility of mining. Mining

centralization has already occurred with just a handful of actors in control of the majority of

Bitcoin’s hash power.

Like the internet, cryptocurrencies require consensus to change. But when such rapid

centralization of power to a handful of brokers occurs, what happens when change is not

convenient to them?

Unlike the internet, the bootstrapping of most cryptocurrencies is not done through altruistically

non-commercial or academic means. From inception, some group seeks to make gains and

there are power brokers assigned to help ensure those gains.

Founding centralization is a reality that each cryptocurrency must face in its evolution. We

cannot fully escape it, but should at least try to design around gradual decentralization.

For Cardano, we thought carefully about what factors promote centralization and what

techniques could be applied to encourage our protocol to gradually become public

infrastructure like the web.

We fully admit that total decentralization is both impossible and perhaps even

counterproductive. Yet certain factors can be encouraged to produce a more balanced system.

First, while centralized custodianship of crowdsale funds allows for agile and rapid development

of the protocol during the early days, eventually funding has to diversify and the speed of

32 See link for more information on this term WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 41 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

development needs to retire to a more systematic and deliberate pace. Following this point,

funding needs to avoid cultural, linguistic and geographic bias.

Second, as the community becomes more informed about the underlying nature of the

cryptocurrency’s technology, decisions about the roadmap cannot be centralized to a set of

core developers or foundation. There needs to be a blockchain based method for proposing,

vetting, and enacting changes to the protocol.

Third, the incentives behind maintaining the Cardano SL blockchain have to be directly aligned

with the aggregate desires of all users. We cannot permit a cabal of specialized actors to

emerge who are independent of the will of the greater community.

For the first principle, we have chosen to integrate a treasury system into Cardano. For the

second, we will deploy a formal process to propose Cardano Improvement Proposals through a

system coordinated by CSL itself. For the third, we believe Ouroboros provides an elegant

solution.

More detail could be provided on the above topics, but they are extensive in their own right and

beyond the scope of a survey paper. Mechanism design is one of the most intricate and

interdependent academic fields with incomplete theory and no solid canonical model to stand

on.

Rather our science driven approach described in section two serves us well here. IOHK’s Veritas

team is working in partnership with a group of researchers from Lancaster University under the

direction of Professor Bingsheng Zhang to develop Cardano’s reference treasury model. With

the aim of integration in 2018, we expect a dedicated peer reviewed publication by the end of

For formal description and vetting of changes to a cryptocurrency protocol, this topic is the

least understood as it requires both ontological notions as well as a mechanism to incentivize

broad participation. Perhaps some form of representative democratic process could emerge or

use of liquid feedback to provide more rational voting.

We expect research in this direction to consume most of IOHK’s formal involvement in the

development of Cardano . As a starting point, we will deploy alongside the reference treasury

33 model several mechanisms to capture consent. Further study is required for a definitive

solution.

33 IOHK is retained to build Cardano until the end of 2020 WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 42 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

Finally, work to improve incentives for Ouroboros is being supervised by Professor Elias

Koutsoupias of the University of Oxford. After the cryptographic foundations of Ouroboros are

solidified alongside all required scalability work, a broader study of bonds, penalties and exotic

incentives will be added to the reference protocol.

Sustentabilidade

Um imersão em o criptomoeda área rendimentos muitos conceitual contradições.

As criptomoedas são projetadas para serem difíceis de mudar, mas, como toda tecnologia, elas precisam

mudança para resolver falhas e avanços de design. Blockchains têm como objetivo prevenir

centralização, mas exigem atores fortes para liderar mudanças ou manter o código.

Talvez a experiência mais frustrante ocorra quando há deficiências claras que a maioria

as partes interessadas concordam que precisam de ser corrigidas, mas não é possível surgir consenso sobre o caminho a seguir.

O debate sobre o tamanho do bloco de Bitcoin tem sido uma questão ativa há mais de dois anos. Diariamente,

transações totalizando mais de um bilhão de dólares estão pendentes porque a rede está em sua capacidade máxima.

Se a alteração de um parâmetro simples — mesmo na presença de soluções temporárias — não puder ser

coordenados, então como podem as empresas e os governos sentirem-se confortáveis em investir milhares de milhões de

dólares para construir infraestrutura sobre esses sistemas? Aliás, como pode alguém

as empresas apostam no risco estratégico de integrar protocolos isentos de responsabilidade que não podem

fazer atualizações de design racionais?

Olhando para trás na história, a evolução da Internet seguiu um padrão semelhante, mesmo com

mudanças simples, como a transição do IPv4 para o IPv6, levam décadas para serem concretizadas. No entanto, há um

forte contraste entre a tecnologia blockchain e a Internet, pois seguem uma linha muito

estilo diferente de custódia.

A internet foi um projeto militar que cresceu da DARPA para círculos acadêmicos com forte

apoio governamental e um conjunto bem definido de guardiões iniciais. A internet cresceu sob

condições não comerciais, sem as maquinações da influência corporativa tentando

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 40 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

monopolizar a rede. Na verdade, o comércio eletrónico violou a NSF AUP até ser revogada em

Na época em que as empresas tiveram o luxo de comercializar a Internet, já existia um

forte conjunto de padrões, princípios e adeptos evangelísticos. Isso não impediu empresas como

AOL e Microsoft de tentarem construir jardins murados e criarem tecnologia proprietária como

ActiveX. Esta base não impediu que os intervenientes da próxima geração, como a Google, promovessem

suas próprias agendas, dadas as suas enormes bases de usuários e capitalizações.

Com enxames de aluguéis atores, de comerciantes a mineradores, as criptomoedas são a última palavra

32 ecossistemas com motivação comercial. Dado esse fundamento, a evolução da custódia de

criptomoedas resultou na otimização em torno do interesse próprio.

Por exemplo, a mineração sem validação está começando a ocorrer com mais frequência, pois melhora o desempenho do minerador.

margem de lucro, mas isso ignora completamente todo o propósito e utilidade da mineração. Mineração

a centralização já ocorreu com apenas um punhado de atores no controle da maioria dos

Poder hash de Bitcoin.

Assim como a Internet, as criptomoedas exigem consenso para mudar. Mas quando tão rápido

ocorre a centralização do poder para um punhado de corretores, o que acontece quando a mudança não é

conveniente para eles?

Ao contrário da Internet, a inicialização da maioria das criptomoedas não é feita de forma altruísta.

meios não comerciais ou acadêmicos. Desde o início, algum grupo procura obter ganhos e

existem corretores de poder designados para ajudar a garantir esses ganhos.

A centralização fundadora é uma realidade que cada criptomoeda deve enfrentar em sua evolução. Nós

não pode escapar totalmente, mas deve pelo menos tentar conceber em torno da descentralização gradual.

Para Cardano, pensamos cuidadosamente sobre quais fatores promovem a centralização e quais

técnicas poderia ser aplicado para incentivar nosso protocolo a se tornar gradualmente público

infraestrutura como a web.

Nós totalmente admitir isso total descentralização é ambos impossível e talvez mesmo

contraproducente. No entanto, certos factores podem ser encorajados para produzir um sistema mais equilibrado.

Primeiro, embora a custódia centralizada dos fundos de crowdsale permita um desenvolvimento ágil e rápido

do protocolo durante os primeiros dias, eventualmente o financiamento terá que diversificar e a velocidade de

32 Veja link para mais informações sobre este termo POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 41 de 44IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

o desenvolvimento precisa de regressar a um ritmo mais sistemático e deliberado. Seguindo este ponto,

o financiamento precisa evitar preconceitos culturais, linguísticos e geográficos.

Em segundo lugar, à medida que a comunidade se torna mais informada sobre a natureza subjacente do

tecnologia da criptomoeda, as decisões sobre o roteiro não podem ser centralizadas em um conjunto de

desenvolvedores principais ou fundação. É necessário haver um método baseado em blockchain para propor,

verificação e promulgação de alterações no protocolo.

Terceiro, os incentivos por trás da manutenção do Cardano SL blockchain devem estar diretamente alinhados

com os desejos agregados de todos os usuários. Não podemos permitir que uma conspiração de actores especializados

emergem aqueles que são independentes da vontade da comunidade maior.

Para o primeiro princípio, optamos por integrar um sistema de tesouraria em Cardano. Para o

segundo, implantaremos um processo formal para propor Cardano Propostas de Melhoria por meio de um

sistema coordenado pela própria CSL. Para o terceiro, acreditamos que a Ouroboros oferece um ambiente elegante

solução.

Mais detalhes poderiam ser fornecidos sobre os tópicos acima, mas eles são extensos por si só e

além do escopo de um documento de pesquisa. O projeto do mecanismo é um dos mais complexos e

campos acadêmicos interdependentes com teoria incompleta e nenhum modelo canônico sólido para se sustentar

ligado.

Em vez disso, a nossa abordagem orientada pela ciência descrita na secção dois serve-nos bem aqui. Veritas da IOHK

equipe está trabalhando em parceria com um grupo de pesquisadores da Lancaster University sob o

direção do Professor Bingsheng Zhang para desenvolver o modelo de tesouraria de referência de Cardano. Com

objetivo de integração em 2018, esperamos uma publicação dedicada revisada por pares até o final de

Para descrição formal e verificação de alterações em um protocolo de criptomoeda, este tópico é o

menos compreendido, pois requer noções ontológicas, bem como um mecanismo para incentivar

ampla participação. Talvez alguma forma de processo democrático representativo possa surgir ou

uso de feedback líquido para fornecer votação mais racional.

Esperamos que a pesquisa nesta direção consuma a maior parte do envolvimento formal da IOHK no

desenvolvimento de Cardano . Como ponto de partida, iremos implantar juntamente com a tesouraria de referência

33 modelar vários mecanismos para capturar o consentimento. Mais estudos são necessários para uma definição definitiva

solução.

33 IOHK é contratado para construir Cardano até o final de 2020 POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 42 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Por fim, o trabalho para melhorar os incentivos ao Ouroboros está sendo supervisionado pelo professor Elias

Koutsoupias da Universidade de Oxford. Depois que os fundamentos criptográficos do Ouroboros forem

solidificado junto com todo o trabalho de escalabilidade necessário, um estudo mais amplo de títulos, penalidades e exóticos

incentivos serão adicionados ao protocolo de referência.

Conclusion

Conclusion

A cryptocurrency is more than the sum of its protocols, source code and utility. It is ultimately a social system that inspires, enables and connects people. Frustrated by the many half measures, failures and broken promises of past protocols, we set out to build something better.

This process is not simple nor have we ever believed it can finish. Social protocols continue indefinitely changing as people and society change. To be useful, we want to trap the power of evolution and port it into Cardano.

Evolution is not guided by a single hand or a grand design. It is a process of serendipity inspired by endless mistakes and problems. Cardano seeks to be the digital embodiment of this process — fit enough to be able to survive the markets of today and adaptive enough to evolve to meet the needs of the future.

The previous sections capture a brief view into how we have been approaching this goal. We have diligently tried to recognize cognitive biases, learn from history and follow a rigorous process. We have tried to balance the need for rapid development with formal methods that traditionally cannot move quickly.

It has been an extraordinary privilege to embark on this journey. In the past two years, we have already developed a provably secure proof-of-stake protocol, recruited a small army of Haskell developers and made Cardano’s development the concern of many talented scientists.

As we move from the laboratory to a deployed system in the wild, there will be growing pains, but our hope is that Cardano’s future could be summarized in a single anthropomorphized sentence. Cardano is a pragmatic dreamer that learns from its elders, is a good citizen in its community, and always finds a way to pay its bills.

WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 43 of 44

IOHK | WHY WE ARE BUILDING CARDANO | 06/28/2017

We cannot know the future, but we are glad to be trying to make it a better one for everyone. Thanks for reading. WHY WE ARE BUILDING CARDANO Creative Commons Attribution 4.0 International License Page 44 of 44

Conclusão

Uma criptomoeda é mais do que a soma de seus protocolos, código-fonte e utilidade. Em última análise, é um sistema social que inspira, capacita e conecta pessoas. Frustrado pelas muitas metades medidas, falhas e promessas quebradas de protocolos anteriores, partimos para construir algo melhor.

Este processo não é simples e nunca acreditamos que possa terminar. Os protocolos sociais continuam mudando indefinidamente à medida que as pessoas e a sociedade mudam. Para sermos úteis, queremos capturar o poder do evolução e portá-lo para Cardano.

A evolução não é guiada por uma única mão ou por um grande projeto. É um processo de serendipidade inspirado por erros e problemas intermináveis. Cardano busca ser a personificação digital deste processo — suficientemente apto para sobreviver aos mercados de hoje e suficientemente adaptável para evoluir e satisfazer as necessidades do futuro.

As seções anteriores capturam uma breve visão de como temos abordado esse objetivo. Nós tentaram diligentemente reconhecer preconceitos cognitivos, aprender com a história e seguir um rigoroso processo. Tentámos equilibrar a necessidade de um desenvolvimento rápido com métodos formais que tradicionalmente não pode se mover rapidamente.

Foi um privilégio extraordinário embarcar nesta jornada. Nos últimos dois anos, tivemos já desenvolveu um protocolo proof-of-stake comprovadamente seguro, recrutou um pequeno exército de Haskell desenvolvedores e fizeram do desenvolvimento de Cardano a preocupação de muitos cientistas talentosos.

À medida que passamos do laboratório para um sistema implantado em estado selvagem, haverá dificuldades crescentes, mas nossa esperança é que o futuro de Cardano possa ser resumido em um único texto antropomorfizado sentença. Cardano é um sonhador pragmático que aprende com os mais velhos, é um bom cidadão em seus comunidade, e sempre encontra uma maneira de pagar suas contas.

POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 43 de 44

IOHK | POR QUE ESTAMOS CONSTRUINDO CARDANO | 28/06/2017

Não podemos conhecer o futuro, mas estamos felizes por tentar torná-lo melhor para todos. Obrigado por ler. POR QUE ESTAMOS CONSTRUINDO CARDANO Licença Creative Commons Atribuição 4.0 Internacional Página 44 de 44