卡尔达诺设计原理

Why We Are Building Cardano

Oleh Charles Hoskinson and IOHK · 2017

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.

介绍

对改进加密货币设计以便其能够发挥作用的长远观点 具有合理且安全的用户体验的移动设备 ● 让利益相关者更接近其加密货币的运营和维护 ● 承认需要在同一分类账中考虑多种资产 ● 抽象事务以包含可选元数据,以便更好地符合 遗留系统的需求 ● 通过接受有意义的功能向近 1,000 种山寨币学习 ● 采用受互联网工程任务组启发的标准驱动流程,使用 锁定最终协议设计的专用基础
● 探索商业的社交元素
● 为监管机构与商业互动找到一个健康的中间立场,而无需 损害从 Bitcoin 继承的一些核心原则

从这套非结构化的想法中,Cardano 的负责人开始探索

加密货币文献并构建抽象工具集。这项研究的输出是

IOHK 广泛的论文库、大量的调查结果,例如最近的脚本

语言概述以及智能合约本体和 Scorex 项目。教训

产生了 一个 鉴赏 为了 的 加密货币 行业的 不寻常的 和 在 次

适得其反的增长。

首先,与 TCP/IP 等成功协议不同,在设计中几乎没有分层

加密货币。人们一直希望保持一个单一的共识概念

事实和事件记录在单个分类账中,无论其是否有意义。

例如,Ethereum 在试图成为一个

通用世界计算机,但由于一些琐碎的问题可能会破坏系统

作为价值储存手段的能力。每个人的程序都应该是一等公民吗

无论其经济价值、维护成本或监管后果如何?

其次,主流密码学研究中的先前成果几乎没有受到重视。对于

例如,比特股的委托权益证明可以轻松可靠地生成随机数

使用抛硬币来计算数字并保证输出交付,这是一种已知的技术

20 世纪 80 年代(参见 Rabin 和 Ben-Or 的开创性论文)。

第三,大多数山寨币(除了 Tezos 等一些值得注意的例外)还没有做出任何贡献。

为将来的更新提供住宿。成功推动软分叉或硬分叉的能力至关重要

任何加密货币的长期成功。

因此,企业用户无法投入价值数百万美元的资源

路线图和背后的参与者是短暂的、琐碎的或激进的协议。那里

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 3 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

需要一个有效的过程,通过这个过程,社会可以围绕愿景形成共识

不断发展底层协议。如果这个过程非常繁重,那么碎片化

可能会导致社区分裂。

最后, 钱 是 最终 一个 社会的 现象。 在努力匿名化和

非中间的中心参与者 Bitcoin 及其同时代人也放弃了

商业交易中稳定的身份、元数据和声誉。添加这些数据

通过集中式解决方案消除了可审计性、全局可用性和不变性 —

这就是使用 blockchain 的全部意义。

传统金融系统,例如由 SWIFT、FIX 和 ACH 组成的系统,具有丰富的

事务元数据。仅仅知道账户之间转移了多少价值是不够的,

监管通常需要涉及参与者的归属、合规信息、报告

可疑活动以及其他记录和行为。在某些情况下,元数据更重要

比交易更重要。

因此,似乎可以合理地推断元数据的操纵可能与

伪造货币或重写交易历史。不为演员提供任何便利

那些想要自愿纳入这些领域的人似乎对主流采用适得其反

和消费者保护。

旅居结束

我们对加密货币空间的原则性探索的集合是两个集合

协议。分别,一种可证明安全的基于权益证明 [1][2] 的加密货币称为

Cardano 结算层 (CSL) 和一组称为 Cardano 计算层的协议

(覆铜板)。

我们的设计重点是适应加密货币的社会方面,分层构建

通过将价值核算与复杂计算分开并满足

监管范围内有几个一成不变的原则。此外,在合理的情况下,

1 我们尝试通过同行评审来审查拟议的协议,并根据正式的代码检查代码

规格。

1 列表见法规部分 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 4 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

权益证明

使用加密货币的权益证明是一个备受争议的设计选择,但是因为它

添加了引入安全投票的机制,具有更大的扩展能力,并允许更多

异国情调的激励计划,我们决定接受它。

我们的权益证明协议称为 Ouroboros,它是由一位极其出色的人设计的

由 Aggelos 教授领导的来自五个学术机构的才华横溢的密码学家团队

2 爱丁堡大学的基亚亚斯。它带来的核心创新不仅仅是被证明是安全的

使用严格的密码模型是一种模块化和灵活的设计,允许

许多协议的组合以增强功能。

这种模块化允许诸如委托、侧链、可订阅检查点等功能

更好的轻客户端数据结构、不同形式的随机数生成,甚至

不同的同步假设。随着网络从数千个发展到

数百万甚至数十亿的用户,其共识算法的要求也会随之提高。

改变。因此,拥有足够的灵活性来适应这些变化至关重要

面向未来的加密货币的核心。

金钱的社会要素

加密货币是货币社会组成部分的一个典型例子。限制时

仅对技术进行分析,Bitcoin 和 Litecoin 之间几乎没有区别,甚至

Ethereum 和 Ethereum Classic 之间的情况较少。然而,Litecoin 和 Ethereum 都是经典

维持庞大的市值和强大、充满活力的社区以及他们自己的

社会任务。

可以说,加密货币的很大一部分价值来自其社区,

它使用货币的方式,以及它对货币演变的参与程度。进一步推进

考虑到这一点,达世币等货币甚至将系统直接集成到协议中

让社区参与决定优先开发和资助的内容。

2 康涅狄格大学、雅典大学、爱丁堡大学、奥胡斯大学、东京 理工学院 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 5 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

加密货币的巨大多样性也为其社会元素提供了证据。

关于理念、货币政策、甚至核心开发人员之间的分歧

导致碎片和分叉。然而,与加密货币同行不同的是,法定货币

超级大国往往能够在政治转变和地方分歧中幸存下来,而不会发生货币危机或

大规模外逃。

因此,遗留系统中似乎缺少一些元素。

加密货币行业。我们认为——并且已经将其灌输到 Cardano 路线图中——

协议的用户需要激励来理解其协议背后的社会契约,并且

可以自由地以富有成效的方式提出变革。这种自由延伸到每一个

价值交换体系的一个方面,从决定如何监管市场到

项目应该得到资助。然而它不能通过集中的参与者进行中介,也不需要

一些特殊的证书可以被资金充足的少数群体增选。

Cardano 将实现一个构建在 CSL 之上的覆盖协议系统,以适应

其用户的需求。

首先,无论众筹能否成功引导开发,资金最终都会

消散。因此,Cardano 将包括去中心化信任 单调资助

3 降低通货膨胀和交易费用。

任何用户都应该有资格通过投票系统向信托基金请求资金,并且

CSL 的利益相关者投票决定谁成为受益人。这个过程创造了一个富有成效的

在其他具有财务/信托系统的加密货币(例如达世币)中看到的反馈循环

开始讨论谁应该和不应该获得资助。

资金讨论迫使长期和短期目标、加密货币的社交

合同、优先事项以及通过特定建议创造价值的信念。这段对话

意味着社区不断评估和辩论其信念与可能的

路线图。

其次,我们希望 Cardano 最终将包含一个正式的、基于 blockchain 的系统

对软分叉和硬分叉进行提议和投票。 Bitcoin 及其块大小争论,Ethereum 与

DAO 分叉以及许多其他加密货币都经久不衰,并且在

常见的案例,关于代码库的技术和道德方向的未解决的争论。

可以而且应该争辩的是,许多这些分歧以及关系的破裂

采取行动时产生的社区是缺乏正式流程的直接结果

辩论改变。
3 这也称为国库系统 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 6 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

去哪里说服 Bitcoin 用户采用隔离见证?应该如何

Ethereum 的核心开发人员衡量社区对救助 DAO 的情绪吗?如果

社区断裂,加密货币是否已经受损无法修复?

在最坏的情况下,采取行动的道德权威可能会简单地转移给拥有开发商的人,

基础设施关系和金钱,不是绝大多数人的最好愿望

社区。此外,如果社区的很大一部分由于原因而无法进入或脱离

不良激励,那么如何才能真正知道自己的行为是否合法呢? 4

拟议的加密货币(例如 Tezos)提供了一个有趣的模型来检查

加密货币协议被视为包含三个部分的宪法(交易、

共识和网络)有一套正式的规则和流程来更新宪法。然而

在激励以及如何建模和改变方面仍有许多工作要做

具有正式语言的加密货币。

使用正式方法、机器可理解的规范以及将金库与

正在探索这一财政激励程序,作为激发灵感的可能途径。

最终,只是能够以透明、不受审查的方式提出协议变更

使用基于 blockchain 的投票应该可以改进流程,即使更优雅的解决方案不能

被设计。

分层设计 – Cardano 沉降层

在设计优秀的协议和语言时,我们不应该着眼于未来,而应该着眼于未来。 过去。历史提供了一长串伟大想法的例子,这些想法在纸面上是完美的,但 不知何故没有幸存下来,例如开放系统互连标准。历史也 提供了从 TCP/IP 到 JavaScript 一直存在的幸福意外。

从历史观点中提取的一些原则如下:

1. 你无法预测未来,所以要有回旋余地
2. 纸面上复杂性很好,但简单性通常更胜一筹 3. 厨师太多,汤就坏了 4. 一旦设定了标准,无论它是否符合标准,它都可能会一直存在 次优的 4 参见理性无知
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 7 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

5. 如果有意愿的话,坏主意实际上可以演变成好主意

Cardano 是一个接受其社会本质的金融系统。将会有巨大的需求 灵活性和解决特定用户交易中任意复杂性的能力。如果 成功的话,将需要大量的计算、存储和网络资源 以容纳数百万并发交易。

然而,我们没有一个数字化的、去中心化的罗宾汉可以从丰富的节点中获取并给予 穷人才能实现公平的网络。我们也没有能力去信任人类 为了网络的更大利益而无私地牺牲的仁慈。因此,Cardano 的 设计借鉴了TCP/IP 关注点分离的概念。

区块链最终是对事实和事件进行排序的数据库,并保证 时间戳和不变性。在金钱的背景下,他们要求资产的所有权。添加 通过存储和执行程序进行复杂计算是一个正交概念。我们想要吗 知道从爱丽丝到鲍勃的价值有多少,或者我们是否想参与计算 交易背后的整个故事以及决定发送多少?

像 Ethereum 那样选择后者是非常诱人的,因为它更灵活, 但这违反了上面的设计原则。弄清楚这个故事意味着一个单一的协议 必须能够理解任意事件、编写任意交易脚本、允许仲裁 出现新信息时出现欺诈甚至可能逆转交易的情况 可用。

然后,人们必须做出艰难的设计决策,决定为每个数据存储哪些元数据 交易。 Alice 和 Bob 交易背后的故事元素有哪些相关?是 它们永远相关吗?我们什么时候可以丢弃一些数据?这样做是否违法 一些国家?

此外,某些计算本质上是私有的。例如,计算平均值时 办公室员工的工资,我们不一定想泄露每个人的工资 使。但如果每个计算结果都是公开的呢?如果这种宣传影响了执行力怎么办 为了损害结果?

因此,我们选择的立场是价值核算应与价值核算分开。 价值被移动背后的故事。换句话说,价值与计算的分离。 这种分离并不意味着 Cardano 将不支持 smart contract。相反, 通过明确分离,它可以在设计、使用、 smart contracts 的隐私和执行。

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 8 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

价值账本称为 Cardano 结算层 (CSL)。由于目的是为了考虑 价值,路线图有以下目标:

1. 支持两套脚本语言,一套用于移动值,一套用于增强 覆盖协议支持
2. 提供KMZ侧链链接其他账本的支持 5 3. 支持多种类型的签名,包括抗量子签名,以实现更高的性能 安全
4. 支持多用户发行资产 5. 实现真正的可扩展性,这意味着随着更多用户的加入,系统的功能 增加

脚本编写

从脚本语言开始,账本中地址之间的交易需要一些 要执行并被证明有效的脚本形式。理想情况下,人们不希望 Eve 访问 爱丽丝的钱,人们也不希望设计糟糕的脚本意外地将价值发送给死者 地址使资金无法收回。

诸如 Bitcoin 之类的系统提供了一种极其不灵活且严酷的脚本语言, 很难对定制交易进行编程、阅读和理解。然而一般 Solidity 等语言的可编程性带来了极大的复杂性 进入系统并且仅对一小部分参与者有用。

因此,我们选择设计一种名为 Simon 的新语言来纪念它的创造者 6 西蒙·汤普森(Simon Thompson)和激发其灵感的概念的创造者西蒙·佩顿·琼斯(Simon Peyton Jones)。西蒙是 一种基于撰写合约的特定领域语言:金融领域的冒险 工程。

其主要思想是金融交易通常由一系列 基本要素。如果人们编制了一份金融元素周期表,那么人们就可以 7 为任意大的复合交易集提供支持,这些交易将覆盖大多数(如果不是的话) 所有常见的交易类型,无需通用可编程性。

5 Kiayias、Zindros 和 Miller 即将发表的论文 6 具体细节将在即将发布的规范中发布。将支持完整的语言 Shelley CSL 计划于 2017 年第四季度发布 7 ACTUS项目有深入阐述
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 9 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

主要优点是可以很好地理解安全性和执行性。证明 可以写成显示模板的正确性并耗尽执行空间 有问题的交易事件,例如凭空创造新钱或交易 可塑性。其次,如果满足以下条件,可以保留扩展以通过软分叉的方式添加更多元素 需要新的功能。

也就是说,始终需要将 CSL 连接到覆盖协议、传统金融 系统和专用服务器。因此,我们将 Plutus 开发为一个通用的 目的 smart contract 语言,也是一种用于互操作性的特殊目的 DSL。

Plutus 是一种基于 Haskell 概念的类型化函数语言,可用于 编写自定义交易脚本。对于 CSL,它将用于需要的复杂交易 添加对我们需要连接的其他层的支持,例如我们的侧链方案。

侧链

关于侧链,Cardano 将支持 Kiayias、Miller 和 Zindros(KMZ 侧链)基于工作量证明的先前结果。特别是 设计超出了本文的范围;然而,这个概念允许安全和 资金从 CSL 到任何 Cardano 计算层或其他层的非交互式移动 blockchain 支持协议。

KMZ 侧链是封装复杂性的关键。符合监管要求的账本, 私人运营、强大的脚本语言和其他特殊问题实际上都是黑色的 框到 CSL,但 CSL 用户将获得有关会计的某些保证以及能够 计算完成后撤回资金。

签名

为了安全地将价值从 Alice 转移到 Bob,Alice 需要证明她有权 转移资金。完成此任务最直接、最可靠的方法是使用公共 密钥签名方案,其中资金连接到公钥,Alice 控制 关联的私钥。

有数百种可能的方案,具有不同的安全参数和假设。 有些依赖于与椭圆曲线相关的数学问题,而另一些则依赖于与椭圆曲线相关的数学问题。 使用格子连接到奇异的概念。
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 10 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

抽象目标始终是相同的。存在一个无法解决的难题,除非 有人拥有秘密知识。据说这段知识的持有者是 密钥对的所有者,并且应该是唯一有能力使用它的实体。

加密货币在选择签名方案时面临两类问题。 首先,方案本身具有长期的安全耐久性。一些密码学 20 世纪 70 年代和 80 年代使用的方案(例如 DES)已被破解。期间 必须决定该计划是否应该继续存在。

其次,有很多企业、政府和其他机构已经优先或 在某些情况下,强制要求使用特定的方案。例如,美国国家安全局 (NSA) 维护 Suite B 协议集。 ISO 甚至 W3C 工作组都制定了有关密码学的标准。

如果加密货币选择单一签名方案,则它被迫接受该方案 可能会在未来某个时刻被破坏,并且至少一个实体无法使用 由于法律或行业限制而产生的加密货币。然而加密货币并不能支持所有 签名方案,因为这需要每个客户端理解并验证每个方案。

对于 Cardano,我们决定首先使用椭圆曲线加密技术,即 Ed25519 曲线 特别的。我们还决定通过添加对 HD 钱包的支持来增强现有库 使用 Dmitry Khovratovich 博士和 Jason Law 的规范。
8

也就是说,Cardano将来会支持更多的签名方案。特别是,我们是 有兴趣集成 BLISS-B 以将抗量子计算机的签名添加到我们的系统中。 我们还有兴趣添加 SECP256k1 以增强与旧版的互操作性 加密货币,例如 Bitcoin。

Cardano 设计有特殊的扩展,使我们能够添加更多签名 通过软分叉进行计划。它们将根据需要以及在计划的重大更新期间添加 路线图。
9

用户发行资产(UIA)

在 Bitcoin 历史的早期,协议很快就被开发出来,允许用户发行资产 利用 Bitcoin 的会计系统来同时跟踪多种货币。 8 这是 Cardano 的 HD 钱包实现的文档。我们相信 Cardano 是第一个 支持 Ed25519 HD 钱包的加密货币
9 参见cardanoroadmap.com
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 11 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

这些协议本身不受 Bitcoin 协议支持,而是通过 聪明的黑客。

对于 Bitcoin 覆盖层,例如 Colored Coins 和 Mastercoin(现在称为 Omni),光 客户端被迫依赖可信服务器。此外,交易费用仍需支付 比特币。这些属性与交易审批的单一管道相结合,使得 Bitcoin 对于多资产会计来说不是最佳的。

在使用ERC20标准的Ethereum案例中,功能更加丰富。然而, 交易费用仍然需要以太币。此外,Ethereum 网络遇到困难 扩展以满足所有已发行的 ERC20 token 的需求。

根本问题可以分为三个部分:资源、激励和关注。 就资源而言,在同一个账本中添加一种全新的货币意味着人们拥有了 两个独立的 UTXO (未使用的交易输入)集共享带宽、内存池和 块空间。负责嵌入这些货币交易的共识节点 这样做需要激励。并不是每个加密货币用户都会或应该关心 特定实体的货币。

考虑到这些问题,作为多资产分类账的主要 token 带来的好处是巨大的 可以有效地充当桥梁货币,允许去中心化做市。特别 可以发行目的资产以提供额外的效用,例如价值稳定的资产,例如 Tether 或 MakerDAO 可用于借贷和汇款申请。

鉴于这些挑战,Cardano 采用了务实的多资产会计方法。 分阶段建设,第一个挑战是设计必要的基础设施来支持 数以千计的 UIA 的需求。也就是说,以下进步是必要的:

1. 特殊用途的经过验证的数据结构,允许跟踪非常大的数据 UTXO 状态

2. 拥有分布式内存池来保存大量待处理交易的能力
3. 区块链分区和检查点允许巨大的全局blockchain 4. 奖励共识节点包含不同集合的激励计划 交易 5. 订阅机制允许用户决定他们想要跟踪哪些货币
6. 强大的安全保障,UIA享有与原生资产相似的安全性 7. 支持去中心化做市,以改善 UIA 和 主要 token

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 12 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

我们为寻找正确的经过验证的数据结构所做的初步努力已经产生了一个新的 由 Leo Reyzin、IOHK 和 Waves 联合开发的 AVL+ Tree 类型。需要更多的研究, 但这是一项基础性的进步,将包含在 Cardano 的更高版本中。

分布式内存池可以使用斯坦福大学的 RAMCloud 协议来实现。 实验将于 2017 年第三季度开始,研究将其集成到 Cardano 的共识层中。

其余主题相互关联并由正在进行的研究涵盖。我们期望——主题 研究结果 - 将一项协议纳入 CSL Basho 期间 UIAs 的 Cardano 中 2018 年发布。

可扩展性

分布式系统由一组同意运行协议或协议的计算机(节点)组成。

实现共同目标的协议套件。这个目标可以是共享一个由以下定义的文件

BitTorrent 协议或使用 Folding@Home 折叠蛋白质。

当节点加入网络时,最有效的协议会获得资源。托管的文件

例如,如果有许多对等点,BitTorrent 的下载速度平均会快得多。

同时下载它。速度提高是因为同行提供资源,同时

也消耗它们。这一特征就是人们在描述分布式系统时通常所指的含义。

系统规模。

当前所有加密货币的设计面临的挑战是它们实际上并不是

设计为可扩展的。例如,区块链通常是一个仅附加链表

块。 blockchain 协议的安全性和可用性依赖于许多节点

拥有 blockchain 数据的完整副本。因此,必须复制单个字节的数据

N 个节点之间。额外的节点不提供额外的资源。

这个结果对于整个事务处理和消息八卦来说是相同的

系统。向共识系统添加更多节点并不提供额外的

交易处理能力。这只是意味着必须花费更多的资源来做同样的事情

工作。更多的网络中继意味着更多的节点必须传递相同的消息来保持

整个网络与最新区块同步。

鉴于这种拓扑结构,加密货币无法扩展到与传统网络相同的全球网络

金融系统。相比之下,遗留基础设施是可扩展的,并且具有几个数量级

更多的处理和存储能力。添加一个具体的点,Bitcoin是一个非常小的网络

相对于其支付同行,但仍难以管理其当前的负载。
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 13 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

我们的共识算法极大地帮助了我们 Cardano 的可扩展性目标。衔尾蛇

允许以去中心化的方式选举共识节点的法定人数,从而可以运行更多

过去 20 年开发的传统协议是为了满足大型企业的需求

基础设施提供商,例如谷歌和Facebook。
10

例如,选举一个纪元的法定人数意味着我们有一组可信的节点

在特定时间段内维护分类账。同时选举多个法定人数很简单

并将事务分区到不同的法定人数。

类似的技术可以应用于网络传播以及对 blockchain 进行分片

本身分成独特的分区。在我们当前的路线图中,缩放方法将应用于

衔尾蛇从 2018 年开始,并将继续成为 2019 年和 2020 年的焦点。

Cardano 计算层

如前所述,交易有两个组成部分: 发送机制 并记录token的流向以及移动token的原因和条件。的 后者可以任意复杂,涉及数 TB 的数据、多个签名和特殊 事件发生。后者也可以非常简单,只需一个签名推送值 到另一个地址。

对价值流的原因和条件进行建模背后的挑战在于,它们是 对于以最不可预测的方式涉及的实体来说,这是非常个人化的。教训 合同法描绘了一幅更有问题的画面,而行为者本身可能不会 甚至要意识到交易与商业现实不符。我们一般称之为 现象“语义鸿沟”。 11

为什么人们应该构建一种追求无限复杂性和抽象层的加密货币? 这在本质上似乎是西西弗斯式的,但在实践中却显得幼稚。此外,每个抽象都包含 具有法律和安全后果。

例如,有许多在线活动被普遍认为是非法的或受到蔑视的 例如贩运儿童色情制品或出卖国家机密。通过部署强大的 10 还有其他独立研究协议试图达到相同的目的,例如 Elastico 和 Bitcoin-NG
11 Loi Luu 等人。在他们最近的论文《让智能合约更智能》中讨论了这一差距 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 14 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

去中心化的基础设施,现在正在为这一活动的发生提供一个渠道 与正常商业交易享有相同的审查制度。法律上尚不清楚是否 网络的共识节点——它们有动力变得更加联盟 时间来提高效率 - 将对他们托管的内容负责。

对 Tor 运营商的起诉、丝绸之路运营商的残酷对待以及整体缺乏 协议参与者法律保护背后的法律清晰度留下了一条不确定的道路。有 不缺乏对足够先进的加密货币还可以实现什么的想象力(参见 盖吉斯之环)。强迫加密货币的所有用户认可或至少认可是否合理? 助长网络上最恶劣的行为和行为?

不幸的是,没有明确的答案可以为加密货币设计者提供洞察力。它是 更多的是关于选择立场并捍卫其优点。 Cardano 和 Bitcoin 的特点是我们选择将关注点分离到各层。对于 Bitcoin,有 砧木。有了 Cardano,就有了 Cardano 计算层。

那些能够实现先前阐述的行为的复杂行为无法在 中超。它们需要能够运行用图灵完备语言编写的程序以及一些 天然气经济学到计量计算的形式。他们还需要共识节点愿意 将交易包含在其区块中。

因此,功能限制可以合理地保护用户。迄今为止,最成熟的 各国政府尚未采取以下立场:使用或维护加密货币是一种行为 非法行为。因此,绝大多数用户应该能够轻松地维护一个如下的账本: 其功能可与数字支付系统相媲美。

当一个人想要扩展能力时,有两种可能性。它是由私人启用的 志同道合的个人的集体,本质上是短暂的(例如,扑克游戏)。或者,它 由具有与 Ethereum 类似功能的分类账启用。在这两种情况下,我们都选择了 将事件外包给另一个协议。

在私人、短暂事件的情况下,避免 blockchain 范例是合理的 完全,而是限制对特殊用途 MPC 协议库的努力,这些协议可以 当一群志同道合的参与者需要时可以调用。计算和活动 在专用网络中进行协调,并且仅将 CSL 作为受信任的公告板和参考 必要时消息传递通道。

本案的关键点是同意、责任和隐私的封装。中超联赛是 被用作用户见面和交流的数字共享空间——就像公园举办活动一样 私人活动——但不提供任何特殊住宿或便利。此外, 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 15 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

使用专用 MPC 将实现低延迟交互,而无需 blockchain 膨胀。因此,它提高了系统的规模。

Cardano对该库的研究工作集中在我们的东京工业大学实验室 国外科学家的一些帮助。我们将图书馆称为“塔塔利亚”,以纪念一位同事的名字 数学家以及 Cardano 的当代人,并期望第一个迭代可用 2018 年第一季度。

第二种情况,需要一个带有虚拟机的blockchain,一组共识节点 以及实现两条链之间通信的机制。我们已经开始了 使用 K 框架严格形式化 Ethereum 虚拟机的过程 12 与伊利诺伊大学的团队合作。

该分析的结果将告知设计可重复且最终的最佳方法 分布式虚拟机,操作语义清晰,正确性保证有力 13 规范中的实现。换句话说,虚拟机实际上按照代码执行的操作 这与将安全风险降到最低有关。

关于 Ethereum 提出的天然气经济学及其如何实现仍存在未解决的问题 与 Jan Hoffmann 等人的资源感知机器学习等工作以及更广泛的研究相关 用于计算的资源估计。我们也很好奇语言水平 虚拟机的独立性。例如,Ethereum 项目表达了愿望 从当前的 VM 过渡到 Web Assembly。

接下来的努力是开发一种合理的编程语言来表达有状态的 合约将被去中心化应用程序调用为服务。对于这个任务,我们有 选择了支持旧版 smart contract 语言 Solidity 的方法,以实现低 保证应用程序并开发一种名为 Plutus 的新语言以实现更高的保证 需要形式验证的应用程序。

与基于 Solidity 的 Zeppelin 项目一样,IOHK 也将开发一个 Plutus 代码参考库 供应用程序开发人员在他们的项目中使用。我们还将开发一套专门的工具 受 UCSD Liquid Haskell 项目工作启发的形式验证。

在共识方面,Ouroboros 以足够模块化的方式设计,以支持 smart contract 评估。因此,CSL和CCL将共享相同的共识算法。 12 由 Grigore Rosu 教授等人发明。 al., K 是一个独立于语言的通用框架 机器可执行语义。在我们工作之前,它已被用于对 C、Java 和 JavaScript 进行建模 13 意味着不同的共识节点运行不同的smart contract。也称为状态分片 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 16 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

不同之处在于,衔尾蛇可以被确认为允许许可的和允许的 通过 token 分发的无需许可的分类帐。

通过 CSL,Ada 已通过 token 生成活动分发给整个亚洲的购买者 最终将在二级市场上转售。这意味着CSL的共识算法是 由多样化且日益分散的参与者或其授权的群体控制 分配。使用 CCL,可以创建由该代表持有的特殊用途 token 账本可以是受监管的实体,从而创建一个许可的账本。

这种方法的灵活性允许 CCL 的不同实例以不同的方式实现 有关交易评估的规则。例如,赌博活动可能受到限制 除非仅通过将非归属交易列入黑名单来提供 KYC/AML 数据。

我们最终的设计重点是将可信硬件安全模块(HSM)添加到我们的协议中 堆栈。将这些功能引入到系统中时,这是两个巨大的优势 协议。首先,HSM 在不引入安全性的情况下大幅提升性能 14 除了信任供应商之外的担忧。其次,通过使用密封玻璃校样(SGP), HSM 可以保证数据可以被验证然后销毁而不会被破坏。 复制或泄露给恶意的外部人员。

重点关注第二点,SGP 可能会对合规性产生革命性影响。 通常,当消费者提供个人身份信息 (PII) 进行身份验证时 身份或证明参与权,该信息将被交给受信任的第三方 希望它不会做出恶意行为。这项活动本质上是中心化的,数据提供者 失去对其 PII 的控制权,并且还受到基于司法管辖区的各种法规的约束。

能够选择一组可信证明者,然后将 PII 存储在硬件飞地中 意味着任何具有足够能力的 HSM 的参与者都能够验证有关参与者的事实 以不可伪造的方式,而验证者不知道参与者的身份。例如,鲍勃是 不是美国公民。爱丽丝是一位合格的投资者。詹姆斯是美国纳税人,应该发送 应税利润记入 X 账户。

Cardano 的 HSM 策略将是尝试在接下来的两年内实施专门的协议 使用 Intel SGX 和 ARM Trustzone 已有多年。这两个模块均内置于数十亿消费者中 从笔记本电脑到手机的设备,并且不需要消费者方面进行额外的努力 使用。两者都经过严格审查、精心设计,并且基于一些公司多年的迭代 规模最大、资金最充足的硬件安全团队。

14 参见康奈尔大学的 http://hackingdistributed.com/2016/12/22/scaling-bitcoin-with-secure-hardware/ 大学 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 17 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

监管

所有现代金融体系的严酷现实是,随着规模的扩大,它们会积累需求, 或者至少是对监管的渴望。这种结果通常是反复崩溃的结果 由于市场中某些演员或演员集团的疏忽。

例如,1907 年的尼克博克危机导致了美联储的成立 1913年系统作为最后贷款人。另一个例子是 20 年代的过度行为 美国导致了可怕的金融崩溃,即大萧条。这次崩溃 1934 年成立了证券交易委员会,以防止类似的情况发生 事件或至少追究不良行为者的责任。

人们可以合理地争论监管的必要性、范围和效力,但不能否认 它的存在以及主要政府执行它的热情。然而, 随着世界全球化和现金数字化,所有监管机构都面临着两方面的挑战。

首先,在处理集合时,哪一套规则应该是最高的? 司法管辖区?当单一交易发生时,威斯特伐利亚主权的过时概念就消失了 一分钟之内可以到达三打国家。难道只是任何人掌握了 最具地缘政治影响力?

其次,隐私技术的进步引发了一场数字军备竞赛,它将 甚至越来越难以了解谁参与了交易, 更不用说谁拥有特定的价值储存手段了。在一个拥有数百万美元资产的世界 只需一个暗藏的12字助记词就可以控制,你如何 15 实施有效监管?

与所有金融系统一样,Cardano 协议必须在其设计中就什么是有自己的意见。 公平合理。我们选择区分个人权利和集体权利 市场。

个人应始终有权单独使用其资金,而无需受到胁迫或民事资产 没收。这项权利必须得到执行,因为并非所有政府都可以相信不会这样做 正如委内瑞拉所见,腐败政客滥用主权权力谋取个人利益 和津巴布韦。加密货币的设计必须遵循最低公分母。

15 参见 BIP39 https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 18 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

第二,历史不容篡改。区块链提供了不变性的承诺。 引入回滚历史或更改官方记录的权力引入了太多的内容 为了使某个或多个特定演员受益而改变过去的诱惑。

第三,价值的流动应该不受限制。资本管制和其他人造墙 削弱人权。除了试图强制执行它们是徒劳的之外,在全球范围内 16 最不发达国家的许多公民在其管辖范围之外旅行的经济体 为了维持生活工资,限制资本流动通常最终会伤害世界上最贫穷的人。

这些原则指出,市场与个人明显不同。虽然设计师们 Cardano 相信个人权利,我们也相信市场有权公开声明 他们的条款和条件,如果个人同意在这个市场内开展业务,那么 为了整个系统的完整性,它们必须遵守这些标准。

挑战始终是执行的成本和实用性。小型、跨司法管辖区 遗留系统中的交易成本太高,无法提供高度的追索保证 发生欺诈或商业纠纷时。当一个人将电汇发送至 尼日利亚王子,试图收回资金通常成本太高。
17 号

对于Cardano,我们认为我们可以在三个层面上进行创新。首先,通过使用smart contracts 可以更好地控制商业关系的条款和条件。如果所有资产都是 数字化且只能在 CSL 上表达,可以有力保证无欺诈的商业 获得了。

其次,使用 HSM 提供一个身份空间,其中 PII 不会泄露,但仍可用于 身份验证和凭证参与者应提供全球声誉系统并允许 进行成本低得多的受监管活动,例如具有自动化功能的在线游戏 税务合规或去中心化交易所。

最后,在 Cardano 的路线图中,创建了一个模块化法规 DAO,可以 定制为与用户编写的 smart contract 进行交互,以添加可变性、消费者 保护和仲裁。该项目的范围将在后面的论文中概述。

16 作为资本流动对策的示例,请参见哈瓦拉银行系统 17 请参阅预付费骗局 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 19 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

这一切的意义何在?

Cardano 是一个马拉松项目,涉及数百名最聪明的人的反馈

加密货币行业内外。它涉及不知疲倦的迭代,积极使用

同行评审,以及在被发现时无耻地盗窃伟大的想法。

其余部分分别涵盖我们确定的核心重点的特定方面

我们项目的组成部分。有些人被选中是因为希望提高整体最佳水平

空间的实践,而其他则特定于 Cardano 的演变。

虽然没有一个项目能够涵盖所有目标或满足每个用户,但我们希望提供一个愿景

对于缺乏自我发展的金融体系的司法管辖区来说,自我发展的金融体系应该是什么样子。终极

加密货币的现实并不是它们会破坏现有的传统金融系统。

传统金融体系总是能够吸收变化并维持其形式

和功能。

相反,人们应该寻找部署现有技术成本太高的地方。

许多人每天的生活费不足几美元的银行系统没有稳定的身份,而且

信用是不可能找到的。

在这些地方,捆绑支付系统、产权、身份、信用和风险的权力

对手机上运行的单个应用程序进行保护不仅有用,而且可以改变生活。

我们构建 Cardano 的原因是我们认为我们有合法的机会来交付——或者

至少推进了这一对发展中国家的愿景。

即使失败,如果我们能够改变加密货币的设计、发展和资助方式,

然后就有了伟大的成就。

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.

科学与工程

迭代的艺术

加密货币是作为软件实现的协议。协议非常智能 参与者之间的对话。软件最终是对数据的操纵 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 20 页,共 44 页

IOHK |我们为何构建 CARDANO | 2017/06/28

目标。然而,可靠、可靠的软件与有用、安全的协议之间的区别 他们的对话完全是人类的。

好的软件需要问责制、明确的业务需求、可重复的流程、 彻底的测试和不懈的迭代。好的软件也需要相当的人才 具有足够领域特定知识的开发人员可以正确设计一个系统,该系统可以完全 解决他们试图解决的任何问题。

至于有用且安全的协议,尤其是涉及密码学和分布式的协议 系统,它们从一个更加学术和标准驱动的过程开始。同行评审,永无止境 为了确保协议有用,辩论和坚定的权衡概念是必要的。然而这些 仅靠协议是不够的,协议需要通过现实生活中的使用来实施和测试。

加密货币行业的独特挑战是两种完全不同的 没有适当的黑格尔式综合,各种哲学就被拼凑在一起。我们的论文是“移动 “快速、打破常规”的创业心态由年轻、贪婪和激情驱动。其对立面是 缓慢、有条理、以学术为导向的方法,其动机是巩固知识的愿望 我们的空间创新成为一个良好的利基市场,享有充足的资金和声望。

结果是许多加密货币要么仅在白皮书上完全指定 与简历相关或只是匆忙编写的代码。目前排名前十的加密货币都没有 18 市值基于同行评审协议。目前排名前十的都没有 加密货币是根据正式规范实施的。

19

然而,数十亿美元的价值正处于危险之中。一旦部署,加密货币就非常有用

很难改变。用户如何知道他们正在使用安全系统?用户如何

知道营销主张是合法的吗?如果提议的协议永远无法实现怎么办

索赔?

缺乏综合和对流程的尊重是 IOHK 想要的主要原因之一

构建 Cardano。我们希望开发一个参考项目作为示例

如何以更有效、理智和诚实的方式做事。

我们的目标不是提出一种全新的软件和协议开发方式,而是

承认伟大的软件和协议已经存在,我们可以模仿条件

这导致了他们的创作。其次,将这些条件公开并开源,如果

以便可以为了整个领域的利益而模仿它们。 18 请访问 www.coinmarketcap.com 了解按市值列出的综合列表 19 Ethereum 有一个半正式规范,称为黄皮书;然而, EVM 语义是 没有完全具体说明,也不足以充分实施该议定书。 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 21 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

事实与观点

另一个问题是事实在哪里结束,观点从哪里开始。有数百个

编程语言、数十种开发范例和不止一种哲学

项目管理。学术界充满了来自其自身的挑战

与业务关注点和实用性的距离。

对于 Cardano,我们首先尝试捕捉可以普遍同意的明显缺陷

从工程角度来看是有用的。例如,密码学和分布式

系统都是非常涉及的主题,有太多的例子来说明天真的双手如何

可能会犯下可怕的错误。因此,任何需要从这些领域洞察的协议都需要

由公认的专家设计并提交其他专家审查。

衔尾蛇是我们在该领域的第一个案例研究。它是由密码学家团队设计的

大量、多样化且可公开验证的出版历史。它是按照标准建造的

密码学过程,具有安全假设、对抗模型和证明。这些

通过提交给会议来检查校样 也可以通过计算机独立

20 剑桥大学的一个团队用伊莎贝尔语言编写的证明。
21

然而,这项工作本身并不能保证有用——只是对安全性进行严格检查

模型给出了一些假设。为了实用性,需要实现并测试该协议。

我们的开发人员已经在 Haskell 和 Rust 中这样做了。这项工作表明,需要付出更多努力

需要关注同步模型,这导致了 Ouroboros 的创建

普劳斯。

这种迭代的艺术产生了伟大的协议,每一步都会带来新的经验和教训

要求重新验证先前步骤的正确性。这是昂贵的、耗时的,而且

22 这确实很乏味,但需要确保协议设计正确。

协议——尤其是供数十亿人使用的协议——并不是短暂且迅速的

不断发展。相反,它们的目的是跟踪数年至数十年。看来完全是

合理的是,在新的金融体系给世界带来负担之前,我们所有人都必须忍受

在接下来的 100 年里,我们希望它的设计者能够保持一些乏味和严谨。

20 加州 IACR 年度加密会议接受的第 71 号论文
21 Kawin Worrasangasilpa,劳伦斯·保尔森教授指导下
22 为了轻松起见,我们应该看一下 Halmos 教授关于如何 写一本数学教科书 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 22 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

功能性罪恶

进入更加固执己见的领域,使用的工具、语言和方法

软件开发更多的是宗教的产物而不是客观现实。来源

代码就像写的散文。每个人对于什么是好的以及什么是存在都有自己的看法

有时,沟通的方式并不重要。

我们必须犯下选择一方的罪过,承认它至少在一个方面是错误的

人的眼睛。然而,我们的选择背后至少有大量的理由。

使 Cardano 成为可能的协议正在 Haskell 中实现。用户界面

已被封装在 Electron 的一个分支中,我们称之为 Daedalus。我们选择了

尽可能使用 Web 架构模型,对于我们的数据库,我们选择了键值对

使用 RocksDB 的范例。

从组件级别来看,这种抽象意味着维护更加简单、更好

以后可以毫不费力地替换技术,并且我们的堆栈部分依赖于

Github 和 Facebook 的开发工作。

使用 WebGUI 允许我们利用 React 并使用工具开发前端功能

被数十万 JavaScript 开发人员理解。使用网络架构

意味着组件可以被视为服务并且安全模型是合理的。

选择 Haskell 进行协议开发是最困难的选择。即使在功能上

世界,有充足的选择。在更灵活和不纯粹的方面,有像这样的语言

Clojure、Scala 和 F#,受益于 Java 和 .Net 的庞大库

生态系统,同时保留函数式编程的一些最佳方面。

还有更多面向学术的语言,例如 Agda 和 Idris,它们具有紧密的联系

连接到可以对正确性进行强有力验证的技术。然而他们缺乏

合理的库并具有较差的开发经验。

对于 Cardano,选择权归结为 Ocaml 和 Haskell。 Ocaml 是一门美妙的语言

一个伟大的社区、良好的工具、合理的开发经验和伟大的遗产

通过 Coq 进行形式化验证空间。那么我们为什么选择 Haskell? 23

23 除此之外,IOHK 实际上确实在 Ocaml 中实施了一个名为 Qeditas 的项目,该项目 我们继承了化名比尔·怀特 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 23 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

为什么是哈斯克尔?

组成 Cardano 的协议是分布式的,与加密技术捆绑在一起,并且需要

容错程度高。最好的日子里,依然会有拜占庭演员,畸形的

消息和故障客户端无意中对网络造成某种形式的破坏。

首先,我们想要一种具有强大类型系统的语言,我们可以在其中轻松使用工具

例如快速检查和更复杂的技术,例如细化类型,同时具有

容错的合理预期。 Erlang 风格的 OTP 模型满足后者

而像 Haskell 和 Ocaml 这样的语言则满足前者。

随着 Cloud Haskell 的引入,Haskell 获得了 Erlang 的许多优点,同时又没有

放弃自己的。此外,Haskell 的模块化和可组合性使我们能够

对 Cardano 使用名为 Time Warp 的轻量级定制库。

其次,由于大量的工作,Haskell 的库在过去几年中取得了巨大的发展

像 Galois、FP Complete 和 Well-Typed 这样的商业实体。因此,Haskell 可以

用于编写生产应用程序。
24

第三,PureScript 的快速发展为 JavaScript 世界提供了一座急需的桥梁

类似于 Clojurescript 为 Clojure 提供的功能。我们预计 PureScript 将特别重要

当谈到让 Cardano 在浏览器中工作并开发移动钱包时。

第四,在依赖解析方面,Haskell 在过去几年中享有盛誉。

由迈克尔·斯诺伊曼 (Michael Snoyman) 等技术专家领导的重大社会和技术努力

称为 stackage 的平台既易于使用,又受到 FP Complete 的良好支持。

第五,除了充分的依赖性解决之外,我们的目标是我们的软件构建

可重现。换句话说,使用相同的配置值和依赖版本

应该产生完全相同的构建工件。通过stackage,我们一直在使用NixOps

取得巨大成功的可重复性。

最后,与

其同行 - 并且训练有素,具有适当的学术和行业资格组合。它还

充当能力过滤器,因为很少有经验丰富的 Haskell 开发人员没有

详细的计算机科学知识。
24 Bryan O'Sullivan 在这里精彩地讲述了 Haskell 的工业用途。
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 24 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

正式规范和验证

使用可证明正确的安全模型开发协议的一个重要优势是 提供了对抗力量的有保证的限制。一个人获得一份合同,只要 遵循协议且证明正确,对手无法破坏安全 声称的财产。

更深入的思考使先前的断言变得更加重要。对手可以是任意的 聪明能干。说他们仅仅通过数学模型就被击败了 非凡的。当然,这并不完全正确。

现实引入了阻碍纯粹安全和乌托邦的因素和情况 现有的正确行为。实施可能是错误的。硬件可能会引入攻击 先前未考虑的向量。安全模型可能不足并且不符合 现实生活中的使用。

需要对一个项目需要多少规范、严格性和检查进行判断 协议。例如,像 SeL4 Microkernel 项目这样的努力就是一个典型的例子。 对歧义性的攻击需要近 200,000 行 Isabelle 代码来验证小于 10,000 行 C 代码。然而,操作系统内核是关键的基础设施,可以成为 如果实施不当,会出现严重的安全漏洞。

所有加密软件都需要付出同样的艰巨努力吗?或者可以选择少一个 产生同等结果的积极路径?协议是否也很重要 如果它运行的环境非常脆弱,例如在 视窗XP?

对于 Cardano,我们选择了以下折衷方案。首先,由于其复杂性 在密码学和分布式计算领域,证明往往非常微妙、冗长, 复杂且有时相当技术性。这意味着人工驱动的检查可以 乏味且容易出错。因此,我们相信每一个重要的证据都以白色呈现 为涵盖核心基础设施而编写的论文需要经过机器检查。

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 25 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

其次,要验证 Haskell 代码,使其正确对应我们的白皮书,我们可以选择 两种流行的选项之间:通过 LiquidHaskell 与 SMT 验证器连接并使用 伊莎贝尔/HOL。

SMT(可满足性模理论)求解器处理寻找泛函的问题 满足方程或不等式的参数,或者表明这些参数 不存在。正如 De Moura 和 Bjørner 所讨论的,SMT 的用例多种多样,但关键是 重点是这些技术都很强大并且可以显着减少错误和 语义错误。

另一方面,Isabelle/HOL 是一种更具表现力和多样化的工具,可用于

两者都指定并验证实施。 Isabelle 是一个通用定理求解器

高阶逻辑结构,能够表示集合和其他数学对象

用于证明中。 Isabelle 本身与 Z3 SMT 验证机集成,可解决涉及以下问题的问题:

这样的限制。

这两种方法都提供了价值,因此我们决定分阶段采用它们。

人类书面证明将被编码在 Isabelle 中以检查其正确性,从而满足

我们的机器检查要求。我们打算逐步将 Liquid Haskell 添加到所有

Cardano 在 2017 年和 2018 年实施的生产代码。

最后一点,形式验证的好坏取决于所验证的规范以及 可用的工具集。选择 Haskell 的主要原因之一是它提供了 实践与理论的正确平衡。来自白皮书的规范看起来很像 Haskell 代码,连接两者比使用命令式连接要容易得多 语言。

获取正确的规范并更新规范仍然存在巨大困难 需要进行升级、错误修复和其他问题等更改时的规范; 然而,这一现实并不会以任何方式削弱整体价值。如果有人遇到麻烦 建立在可证明安全性的基础上,那么实施应该是这样的 实际上是在纸上提出的。

透明度

讨论开发加密货币的科学和工程时的最后一个问题是 如何解决透明度问题。设计决策不是布尔型和空灵的,而是 梦想中的开发者,然后突然成为佳能。它们源自经验, 辩论以及从早期错误中吸取的教训。

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 26 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

挑战在于,完全透明的开发过程可能会影响讨论 变得更加戏剧化而不是基于证据。自负、试图赢得社区支持以及恐惧 听起来很愚蠢可能会迫使谈话变得毫无意义并且适得其反。

此外,局外人可能会试图拉拢对话,以迫使他们 特别切线成为唯一相关的话题。每个人都有一头神圣的牛。

那么,如何平衡透明开发流程的需求呢? 将进步委托给一组核心开发人员的社区,需要自由 没有恐惧的表达?

通过 Cardano,我们决定采用带有定向监督的标准驱动流程。 社区需要知道科学和代码是经过深思熟虑、检查和验证的 实际上解决了开发人员声称他们所做的事情。为此,同行评审应 完全满足科学成分,因为它是专门为此目的而设计的 并给了我们现代世界。

对于代码来说,这个话题有点固执己见。对于 Cardano,我们选择委托 Cardano 基金会担任 IOHK 工作的最终审计员。特别是他们被委托 具有以下职责:

1. 定期审查 Cardano Github 中包含的源代码以检查质量, 测试覆盖率、适当的注释和完整性
2. 审查所有 Cardano 文档的正确性和有用性
3. 验证科学家制定的协议已得到充分实施的说法

为了完成这项任务,IOHK 将定期、及时地向基金会及其下属机构提交报告 分配——审查。基金会随后将向政府发布发展监督报告 Cardano 社区至少每季度一次。

这第一项工作旨在引发一场更广泛的讨论,讨论去中心化项目如何 实现问责制。来自可信第三方的开发监督是一个强大的工具 确保开发人员步入正轨,但不足以完全保证 项目总会交付。

为此,国库并入CSL后,基金会将鼓励 额外的开发团队根据正式版本构建替代客户端 与 IOHK 联合开发的规范。发展多样性是一项伟大的技术 Ethereum 项目使用它来避免围绕一组想法形成单一文化或 开发商。 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 27 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

关于规范,可以从标准中获得丰富的知识 WC3 和 IETF 遵循的流程。最终,每个协议 Cardano 集成 需要一个独立于学术工作或源代码的规范。相反,它需要 采用合适的格式,例如 RFC。

Cardano 基金会的核心原则之一是充当专门针对以下领域的标准机构: Cardano 协议并主持对话以更新、添加或更改相关标准 Cardano。如果互联网(标准的产物)通过 IETF 能够就什么达成共识 应该使用核心协议,那么假设有一个专门机构是完全合理的 可以促进相同的结果。

作为结束语,探索将这些讨论转移到去中心化实体是很有趣的 托管在 blockchain 上。这个概念称为去中心化自治组织 (DAO) 该领域的前期工作正在进行中。 IOHK 将开发一个参考 DAO 模型 如果需要,可以与 Cardano 连接的实体进行使用,这是 Cardano 基金会的特权 决定是否根据其标准授权接受它。

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.

互操作性

大近视

金融和更广泛的商业理念最终是人类的努力。存在优雅 语言,捕捉意图的极其精确的工具,以及无穷无尽的技术迷宫 在发生不良后果时实现追索以及数千年的法律寻求 贸易公平。事实上,一些最早的书写形式是商业合同。

然而,无论逻辑如何去中介化,人的因素都无法回避, 被赋予可怕权力的机器或政府哨兵。其中蕴含着伟大的 加密货币的近视。它们大多脱离了人类现实。

人们会犯错误。人们改变主意。人们并不总是完全理解 他们同意建立的业务关系。人们被误导和欺骗。 个人和州层面的情况发生变化,需要独特的解决方案。劳累 就这一点而言,大多数合同都包含不可抗力条款。

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 28 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

然而,加密货币试图抛弃人类的理解、同情心和判断力 换取一个冷漠的数字法官,不加考虑地与宪法完美结合 为了公平或结果。鉴于人类一直在尝试并将继续尝试 为了自私的目的改变规则,真正拥有一个不能被破坏的系统是令人耳目一新的。

但是,当用户需要将这些新系统与传统金融融合时会发生什么? 系统?当一个人需要生活在人间时会发生什么?例如,财产 土地登记等权利完全存在于物质世界中。即使token化土地仍然 需要对现有管辖权有所承认。

另外一点是,金条不能自行移动。数字法官可以指挥其 运动,但不能在没有人类适应的情况下强迫它。因此,数字账本可以 偏离现实。

因此,协议设计者需要决定他的协议中应该允许多少人类现实。 加密货币。灵活性越大,对绝对值的忠诚度就越低。的 消费者保护越多,提供回滚、退款的机制就越多 和编辑历史。

本节和下一节有关监管的内容涵盖了Cardano对该主题的务实态度。在 就互操作性而言,有两大类需要讨论。首先,互操作性 遗留金融系统(非加密货币世界)。二、与其他的互操作性 加密货币。

遗产

金融科技不是由单一标准甚至通用语言组成的。有巨大的

方法的多样性、负责结算和清算的实体、业务

流程以及涉及会计、转换和移动的其他领域

值。

仅仅因为一项技术优越,其他技术就认为其他技术优越,这是不合理的。

生态系统会以某种方式承认失败并升级。例如,很多人仍然使用

Windows XP 首次发布 16 年后。这种悲惨的境遇就相当于某人

2000 年使用 1984 年发布的原始 Macintosh。

除了消费者行为之外,企业的升级周期通常甚至更慢。很多

银行仍然使用用 Cobol 编写的后端。一旦知道基础设施可以工作并满足

业务需求,通常没有动力升级或改进软件,

除了合规性或安全问题之外,为了消费者利益而制定的协议。 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 29 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

对于 Cardano,我们首先必须确定遗留桥会带来什么?什么系统,

我们应该以标准、实体和协议为目标,以确保有合理的确定性

互操作性?这些桥梁可以联合还是分散?或者像交换一样,他们会

成为黑客、恶意所有者或过于热心的监管机构的中心故障点?

有三个问题需要解决。首先,信息的表示和

相信其准确性。其次,价值的表示及其相关的所有权。三、

实体的代表以及特定用户的总体信任水平

实体。

为了发挥作用,信息和价值需要在传统金融世界和传统金融世界之间自由流动。

Cardano。然后需要建立并记录结果以建立声誉和基础

寻求追索权。然而,这些事情本质上大多局限于所涉及的参与者。编码

将它们放在 blockchain 上将使它们成为全球性和永久性的。

此外,价值并不总是能够在遗留世界中自由流动。禁运、制裁、资本

控制和司法行动可能会冻结资产。为了实现互操作,不能创建一个

始终打开逃逸阀以防止价值泄漏。

最后,实体的品牌和声誉是商业的基石之一。 关系。每年花费数十亿美元用于营销活动,以建立、维护 和维修品牌。如果对个人或实体提出诽谤、虚假或误导性的主张,则 他们有权寻求法律追索。然而 blockchain 试图永久保存 历史。

就像我们选择的编程语言一样,Cardano也没有理想的解决方案来解决 以普遍正确的方式表达这些担忧。相反,我们必须屈服于支持的意见 再次。

就信息流而言,该流被称为可信数据馈送。它有一个来源 和内容。消息来源有一定的可信度和欺骗或维持动机的概念 诚实。内容可以任意编码。

鉴于我们打算在协议栈中支持可信硬件,我们选择 探索增加对 Ari Juel 教授等人的 Town Crier Protocol 的支持。假设 存在一组可靠的数据源,Town Crier 允许安全地抓取网络 用于 smart contracts 和其他应用程序的内容。

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 30 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

Emurgo、IOHK 和 Cardano 基金会将提供引导源列表。后来 该列表将被社区策划的列表所取代,该列表使用源自 Cardano 的机制 国库系统。我们希望声誉系统能够围绕良好的数据源实现, 从而创建一个正反馈循环,逐步提高可靠性和保真度。

价值的表示是一个更复杂的话题。与信息不同——一旦 建立了准确性、及时性和完整性,协议能够以可靠和可靠的方式运行 确定性方式——价值更加微妙。

一旦 token 化,值的行为应该像一个唯一的对象。信息可以复制并 传递,但代表某物所有权(例如车辆所有权)的 token 不能被传递 在两个不同的分类账上克隆和交易。这一行为将有效地破坏该组织的完整性 系统。

在处理 tokenized 值时,遗留互操作性的挑战在于信任 假设、可靠性和可审计性随着 token 在账本之间的流动而变化。例如,如果 Bob 拥有一些 Bitcoin ,然后将它们存入交易所,那么 Bob 现在就拥有了 交易所在其账本上表示他的 Bitcoin。就 MtGOX 而言,他们的账本确实 不符合实际,导致用户血本无归。

由于遗留系统需要识别居住在其中的 token,问题变得更加复杂。 一种加密货币。如前所述,企业历来抵制升级 他们的软件和支持新协议。这种情况让人很难看清 解决方案。

对于 Cardano,我们最大的希望是为用户提供附加丰富元数据的选项 他们的交易,然后等待行业标准的出现。一些 Interledger 工作组、R3Cev 和国际组织等的努力已经取得了进展 强制升级旧的金融协议。

然而,更大的挑战仍然是量化和限定遗产所带来的价值 系统到加密货币分类账。例如,如果鲍勃是银行老板并发行一美元 支持 token,那么他总是可以建立一座桥梁,将他的 token 发送到像 Cardano 这样的分类账,作为 用户发行的资产。

虽然 Cardano 会精确跟踪所有权并提供我们所掌握的所有功能 喜欢诸如时间戳和可审计性之类的东西,没有加密货币可以使鲍勃成为诚实的银行家。 他总是可以选择通过不支持所有美元来运营部分储备银行 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 31 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

tokens 用真实的美元。这种欺诈行为无法被加密货币检测到,除非美元 本身是一个由数字分类账记录的 token 。 25

最后,在线实体的表示是一个可以追溯到早期的经典网络问题 互联网的日子。大学、企业、政府部门及任意用户 需要在某个时候确定自己的身份。

为此,实用而集中的解决方案,例如网络的公钥基础设施和 ICANN的DNS系统已经实施。鉴于我们喜欢现代网络,这些 解决方案既可扩展又实用。但他们并没有回答更商业化的问题 可靠性、可信度和确定所需的其他元特征的问题 如果有人想与该实体开展业务。

像 eBay 这样的多边市场主机已经构建了一个商业模式,提供一些 这些元数据与框架一起完成交易。关于的判断 内容、活动和业务的质量往往仅受在线评级的深刻影响 来自可信来源。 26

这一点与 Cardano 相关的部分是声誉集中化问题。其中之一 我们的 Cardano 目标是为发展中国家提供金融堆栈。这项努力的关键 是一种与素未谋面的演员建立信任的能力。

如果单个实体或实体联盟控制谁被贴上好或坏的标签,而不是有机组织 源自整个社区的实际互动的过程,那么这些实体可以 任意将任何人因任何被认为有罪的人列入黑名单。这种权力违背了我们作为一个项目的价值观 并违背了使用加密货币的更广泛的观点。

幸运的是,与财政部选票投票所使用的机制相同,将来源添加到列表中 可信数据源和分叉协议可以被重用来建立信誉空间。它是一个 开放的研究领域,我们希望为去中心化的网络提供覆盖协议 在更多基本要素得到解决后,2018-2019 年将建立信任信誉网。

加密货币互操作性

25 另一方面,对于数字账本来说,储备证明被认为是一种聪明的保存方式。 加密货币只进行诚实的交换。 26 这些费率甚至会影响内容本身的创作。请参阅烂番茄上这个有趣的故事 影响了电影界。 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 32 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

从传统世界转向分布式数字账本,互操作性变得更加简单。 每个账本都有一个网络协议、通信标准和安全假设 关于其各自的共识算法。这些又可以很容易地量化。

信息的流动是通过连接到外部网络并翻译其信息来建立的 消息。价值的移动可以通过中继系统、原子跨链交易来完成 或者通过巧妙的侧链方案。由于没有一个中心化的运营商, 实体的代表更多地局限于对开发商、矿工或开发商的信任的元讨论 其他一些权力掮客。

对于 Cardano,我们正在集成由 Kiayias、Miller 和 辛德罗斯。它提供了一种在两条链之间安全转移价值的非交互方式 支持该协议。该机制将成为价值在 CSL 和金融机构之间流动的主要方式。 覆铜板层。

对于其他加密货币,随着 Cardano 价值和用户的增长,应形成联合桥 基地。为了帮助加速这一增长,Cardano SL 支持 Plutus 的受限版本 互操作性脚本。新交易将添加到 Shelley 和更高版本的 CSL 中 专门为了满足这些需求。

代达罗斯迷宫

关于互操作性的观点来自全球视角。专业协议,新

交易类型、评估可信度的系统和信息流不能局限于

只有一个网守或用户。相反,它们必须可供任何人随时使用,无需

审查制度或通行费。

然而,当 Cardano 不支持协议、交易或应用程序时会发生什么?

用户离不开?我们应该超出范围吗?网络也面临着类似的担忧

20世纪90年代。

讽刺的是,网络提供了两种可以用加密货币复制的不同解决方案。

JavaScript 的引入提供了可编程性,可以向任何网站添加任意内容

特点。浏览器插件和扩展的引入添加了自定义功能

用户愿意安装它们。这两种方法都为我们提供了现代网络及其安全性

恐怖。

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 33 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

Ethereum 采用了前一种方法,允许用户在

Ethereum blockchain 为 smart contracts。 Cardano 通过 CCL 支持此功能

范式。但是自定义扩展呢?

一个说明性的例子是加密货币交易员。想象一个去中心化的市场,

称为 DM,支持一组不同的加密货币。交易者想要自动化他的交易

作用于 DM 的策略。

在分散的生态系统中,交易者必须为每个客户端安装数十个客户端。

加密货币,然后编写自定义软件与每个客户对话以进行协调

自动化交易。如果一个客户端更新,则可能会破坏定制软件。此外,

如果交易者想出售该软件怎么办?

受扩展网络模型的启发,如果各种加密货币的接口可以

拉入网络堆栈中,那么交易者的任务就会变得非常容易。通用型

可以建立接口。一键安装。软件的分布可以建模

Chrome 网上应用店之后。

对于 Cardano,我们决定通过部署我们的参考来试验这种范例

Electron 上的钱包前端。它是一个由 Github 维护的开源项目,结合了

Node 和 Chrome 一起。 Cardano 的 Electron 版本称为 Daedalus。

第一代代达罗斯 将充当 HD 钱包,支持许多预期的功能

27 号 符合行业标准的会计和安全功能,例如支出密码和

BIP39。在后世,Daedalus将发展成为一个带有商店的应用框架,

通用集成 API 和 SDK。

关键的创新是通过允许程序员使用 JavaScript 来简化开发,

HTML5和CSS3构建他们的应用程序和跨应用程序的统一桥梁

沟通。复杂的行为,例如密码学、管理分布式网络和

数据库机制可以被抽象出来,从而让开发人员只关注用户

经验及其应用的核心逻辑。

由于 Daedalus 旨在成为一个通用框架,因此它的路线图和演变在某种程度上是

独立于 Cardano 的。 2017 年期间,它们紧密耦合,但稍后 Cardano 将只是

Daedalus 用户的另一个应用程序。我们还打算探索极其独特的功能

例如仅在 Intel SGX 中运行的通用密钥管理服务。

27 已在 daedaluswallet.io 上提供
我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 34 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

最终,作为协议设计者,我们无法支持所有需求。我们的希望是灵活性

Daedalus 将提供的与在 CCL 上运行的有状态 smart contract 相结合将满足

那些被我们的设计决策遗漏的。我们也希望能够出现更好的标准

鼓励所有加密货币享有更好的互操作性和安全性。

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.

规定

错误的二分法

尽管监管往往是反复无常和神秘的,但人们可以隐喻地推断出一种优雅的 腐败者及其检察官寻求正义的叙事循环。法规是工具包 法律使者。但与所有工具一样,它们可能很粗糙、陈旧,或者只是被滥用。

加密货币并没有改变人类的状况或叙事循环。总会有 尽管本意是好的,但仍可能是骗局、不良行为者和可怕的结果。同时 加密货币可以消除人类的判断,但不能消除人类的行为。

加密货币设计者必须就他将为监管机构提供哪些工具包表明立场 纠正不良事件。加密货币面临的独特挑战是它们是以下产品的产物: 监管和货币失灵。 28

从文化角度来看,许多加密货币人士认为政府行为是腐败、无能或 无效。因此,他们没有多少尊重、耐心或意愿来支持特殊的后门 监管者或执法者纠正错误。这种行为将违背整个目的 加密货币。

另一方面,如果算上交易所失败和历史事件,超过 10% 自 2009 年 1 月 3 日协议启动以来,Bitcoin 已丢失或被盗。截至 6 月 30 日, 2017 年,丢失或被盗的价值略高于 40 亿美元。而这个数字并没有考虑到 Bitcoin 和其他 token 因诈骗和结构不良的 ICO 而损失。

28 事实上,中本聪在 Bitcoin 创世区块中嵌入了以下摘自《泰晤士报》的标题: 《泰晤士报》 2009 年 1 月 3 日财政大臣濒临第二次银行救助 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 35 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

然后是隐私问题。从宏观来看,价值通过专门的渠道流动 受到监管、拥有丰富的元数据并受到执法部门、政府的积极监控 和国际监管机构。这是一个很好理解的游戏,泄漏仅发生在 随着世界转向数字货币,现金方面逐渐减少。

29

如果加密货币不存在的话,这个范式似乎会是一个越来越多地对待加密货币的世界。 财务隐私,如社交媒体内容。没有,也没有人可以选择退出。因此我们 陷入两难境地,产生明显的二分法。

加密货币设计者可以放弃原则并屈服于当地的任何要求 司法管辖区对其代码施加影响,从而损害其隐私和完整性 用户。或者他可以采用一种更有原则性但无政府主义的哲学,这种哲学与 当前的最佳实践和法律。

对于Cardano,我们认为这种叙述是由于缺乏想象力而造成的错误二分法。的 现实情况是,大多数用户并不关心市场现有的规则。他们通常是 担心规则突然改变以使一个或多个参与者受益。他们很担心 关于谁获得特权缺乏透明度。

我们需要区分个人权利和市场权利。鉴于加密货币具有 为了实现全球影响力,权利需要尽可能以用户为导向。

隐私应该是合理的,并且由用户而不是看门人控制。价值的流动 应该是不受限制的。未经同意不得突然没收价值。

从市场角度来看,市场需要对数据的使用、如何使用保持透明。 资金将在内部处理,每个人都需要遵守同一套规则。此外, 一旦用户同意,他们就不能突然改变主意 不便。交易对手也需要确定性。

但究竟如何从抽象系统转向实际系统呢?应该有什么 实用又合法是什么样的?我们将解决方案分为三类:元数据、 身份验证和合规性以及市场 DAOs。

29 读者应该考虑买一本大卫·沃尔曼(David Wolman)的《金钱的终结》(The End of Money)。它涵盖了 现金消失的国际趋势。 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 36 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

元数据

某件事的行为往往不如它周围的元数据那么有趣。对于 例如,从丹佛开车到博尔德就是一种行为。驾驶法拉利从丹佛到博尔德 平均时速 120 英里的 488 是元数据。当然,这意味着与在 丰田普锐斯平均时速 30 英里。

金融交易也不例外。他们周围的环境非同寻常 对经济学家、税务机关、执法部门、企业和其他实体很重要。可悲的是 在我们当前基于法币的系统中,大多数消费者从来没有看到他们的元数据有多么丰富 交易是或与谁共享。 30

对于 Cardano,我们承认用户可能需要或法律要求共享 与税务机关等某些参与者的交易元数据。但我们相信这种分享必须 须经用户同意。

我们还相信 blockchain 系统具有消除欺诈、浪费和 通过提供可审计性、时间戳和不变性来滥用。因此一些元数据应该是 发布到 Cardano blockchain。

困难的部分是找到一个正确的平衡,不会使我们的 blockchain 变得实质性 膨胀。考虑到这种担忧,我们选择了务实的做法。

首先,Daedalus 将在未来 12 个月内支持大量要标记的功能 交易和金融活动。这些元数据可以按需导出和共享 用户认为有必要的人。此外,数据可以由三方操作 用于特定领域目的的应用程序(例如税务会计)。

其次,我们正在探索添加对特殊地址的支持,这些地址可以包括 hashes 和 加密字段。此结构将允许用户在我们的 blockchain 上发布元数据,而无需 公开揭露它。但如果她想分享数据,它将带有所有的可审计性, 交易享有的不变性和时间戳保证。

30 在更宏观的层面上,作者 Juan Zarate 撰写了美国财政部如何使用这些数据的文章 财政部战争中的反恐战争。它提供了关于如何 当前的全球金融市场结构可用于达到地缘政治目的。 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 37 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

我们已经部署了一个包含属性字段的地址结构。目前是 用于存储 HD 钱包树结构的加密副本,以实现快速钱包恢复(请参阅 HD 钱包文档)。以后的版本将推广这种结构。

认证与合规性

与交易密切相关的是交易权和交易权的主题。 资金所有权。例如,虽然可能有足够的资金来购买某些东西(例如 例如酒精),其购买可能有限制(年龄要求)。

资金的所有权和来源通常是了解客户法规的前提。 当银行或交易所等货币服务企业为新客户开设账户时, 通常需要收集有关客户及其资金来源的基本事实 从。

技术挑战在于,在提交法律要求的过程中 信息,发送该信息的用户无法保证该信息将如何使用、存储以及是否会被使用 被毁了。合规信息具有商业价值。它可能因身份盗窃而被盗 或在法规允许的情况下转售。

对于 Cardano,我们希望尽可能地创新。在协议的软件方面,有 几乎无法保证合规信息的接收者将在规定的范围内行事 行为范围。然而,在协议的硬件方面,使用可信硬件,人们可以 利用英特尔 SGX 和其他 HSM 来执行某些策略。

因此,我们正在探索使用密封玻璃校样以及共享政策,以确保安全 将合规信息传输给验证者,而验证者又被迫遵守 其传输依据的政策。我们相信统一标准可能会出现并且 此外,这种方法将通过防止客户数据丢失来降低验证者的风险 黑客。

作为这项工作的必然结果,我们为 Cardano 提出的分层模型将价值与 计算也可以从这种方法中受益。如果计算层由受监管的 实体(例如交易所或赌场),那么他们需要进行合规检查和 可能对用户实施税收政策。

使用 SGP,用户可以发送资金以及个人身份信息,而无需 担心它会泄漏到更广泛的互联网或被共识节点保存 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 38 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

计算层。此外,计算层将获得所有用户的确定性 交易经过验证且合法。

这种范例还允许客户在受监管实体之间进行可移植。交易所可以 通过这些安全渠道立即为客户转移余额和账户,并且 - 在政策允许的情况下——与监管机构共享数据。

我们预计该技术的首次 Beta 测试将于 2018 年中期进行,目标是 2018 年末至 2019 年初的 Cardano 整合尚待研究结果。这个时间线 还假设能够与 ARM 和 Intel 合作,以便获得可以在其上运行的代码 他们的硬件。 31 市场 DAOs

前两节介绍了信息的生成和移动,假设 某些外部系统的存在。为了确保传统的互操作性,这些功能将始终 是必要的,但它们没有涉及基于 blockchain 的监管。

智能合约实现了一种全新的商业系统,其中关系是 确定性的、自我执行的、没有歧义的。它们又可以用来创建规则 市场包括任意复杂的结构,例如仲裁、事件驱动的退款、 并在特殊条件下披露事实。

我们将这些 smart contract 强制结构称为市场 DAO。他们不需要 特殊协议支持或嵌入账本的可变性。事实上,他们完全可以 使用相互依赖的 smart contract 集合构造。

建筑理念是设计一系列商业模板,灵感来自于 合同法和商业最佳实践。这些模板可以连接到开发人员的 smart contract 在市场上执行特定标准。

例如,假设开发者想要在 CCL 上发行 ERC20 token 来进行众筹。一个 可以专门为众筹及其条款和条件建立市场 DAO 由志愿者或法律标准参数化甚至强制执行。诸如退款之类的事情, 资金重新分配或冻结付款可以在开发商的ERC20中继承 合同。

31 请参阅英特尔 SGX 商业许可政策 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 39 页,共 44 页

IOHK |我们为何构建 CARDANO | 2017/06/28

这项工作使我们能够对如何控制市场进行宏观讨论 以确保消费者保护。其次,我们可以讨论如何对交易进行建模 自动确保特定管辖范围内的法律保护和权利的方式,例如 新罕布什尔州。

Cardano 项目将与 Cardano 基金会、IOHK 和其他实体合作,创建一个 Marketplace DAOs 的参考库,供 smart contract 开发人员使用。我们的希望是 保险和监管市场可以围绕这些 DAO 形成,并且它们将 基于结果的自我进化。

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.

可持续发展

安 沉浸式 进入 的 加密货币 面积 产量 许多 概念性的 矛盾。

加密货币被设计为难以改变,但是,像所有技术一样,它们需要

进行更改以解决设计缺陷和改进。区块链旨在防止

集中化,但需要强大的参与者来领导变更或维护代码。

也许最令人沮丧的经历是当大多数人都存在明显的缺陷时。

利益相关者一致认为需要纠正,但无法就前进的道路达成共识。

Bitcoin 的区块大小争论已经成为两年多以来的一个活跃问题。每日,

由于网络处于峰值容量,总计超过 10 亿美元的交易正在等待处理。

如果改变一个简单的参数——即使存在临时解决方案——也不能

协调一致,那么企业和政府如何放心投资数十亿?

在这些系统之上建设基础设施的资金?就此而言,怎么可能

企业将赌注押在整合无责任协议的战略风险上,而这些协议无法

进行合理设计升级?

回顾历史,互联网的发展也遵循着类似的模式,甚至

像从 IPv4 到 IPv6 的过渡这样的简单变化需要几十年才能实现。然而有一个

blockchain 技术与互联网之间形成鲜明对比,因为它们遵循非常

不同的托管方式。

互联网是一个军事项目,从 DARPA 发展成为学术界,具有强大的影响力。

政府的支持和一组明确的初始托管人。互联网的发展是在

非商业条件,没有公司影响力的阴谋试图

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 40 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

垄断网络。事实上,电子商务违反了 NSF AUP,直到该政策被废除

1992年。

当企业有机会将互联网商业化时,已经有一个

一套强有力的标准、原则和福音信徒。这并没有阻止像这样的公司

AOL 和 Microsoft 尝试建造墙壁花园并创造专有技术,例如

ActiveX。该基金会并没有阻止谷歌等下一代参与者推动

鉴于其庞大的用户群和资本,他们有自己的议程。

伴随着蜂拥而至的寻租 从交易者到矿工,加密货币是终极的

32 商业驱动的生态系统。在此基础上,托管权的演变

加密货币导致了围绕自身利益的优化。

例如,无验证挖矿开始更频繁地发生,因为它提高了矿工的效率

利润率,但这完全忽视了挖矿的整个目的和效用。采矿业

集中化已经发生,只有少数参与者控制了大多数

Bitcoin 的 hash 力量。

与互联网一样,加密货币需要共识才能改变。但当这么快的时候

当权力集中到少数经纪人手中时,如果不进行变革,会发生什么?

对他们来说方便吗?

与互联网不同,大多数加密货币的引导并不是通过无私的方式完成的

非商业或学术手段。从一开始,一些团体就寻求获得利益并

指定了权力掮客来帮助确保这些成果。

建立中心化是每个加密货币在其演化过程中必须面对的现实。我们

无法完全摆脱它,但至少应该尝试围绕逐步去中心化进行设计。

对于Cardano,我们仔细思考了哪些因素促进了中心化,哪些因素促进了中心化

技巧 可以 应用于鼓励我们的协议逐渐公开

像网络这样的基础设施。

我们 完全 承认 那个 总计 权力下放 是 两者 不可能的 和 也许 甚至

适得其反。然而,可以鼓励某些因素来产生更加平衡的系统。

首先,虽然众筹资金的集中托管可以实现敏捷、快速的发展

在协议的早期阶段,最终资金必须多样化,并且速度

32 有关该术语的更多信息,请参阅链接 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 41 页,共 44 页IOHK |我们为何构建 CARDANO | 2017/06/28

发展需要转向更加系统和审慎的步伐。继这一点之后,

资金需要避免文化、语言和地理偏见。

其次,随着社区越来越了解该问题的根本性质

就加密货币的技术而言,有关路线图的决策不能集中到一组

核心开发人员或基金会。需要有一个基于 blockchain 的提议方法,

审查并制定协议变更。

第三,维持 Cardano SL blockchain 背后的激励措施必须直接一致

满足所有用户的共同愿望。我们不能允许一群专门的行为者

出现独立于更大社区意志的人。

对于第一个原则,我们选择将财务系统集成到 Cardano 中。对于

其次,我们将部署正式流程,通过以下方式提出 Cardano 改进建议:

系统由中超联赛本身协调。对于第三种,我们相信衔尾蛇提供了一种优雅的

解决方案。

可以提供有关上述主题的更多详细信息,但它们本身就很广泛,并且

超出了调查论文的范围。机构设计是最复杂、最复杂的设计之一

相互依存的学术领域,理论不完整,没有可靠的规范模型

上。

相反,第二节中描述的科学驱动方法对我们很有帮助。 IOHK 的 Veritas

团队正在与兰卡斯特大学的一组研究人员合作,在

张秉生教授指导开发Cardano的参考国库模型。与

为了实现 2018 年整合的目标,我们预计在 2018 年底之前将有一份专门的同行评审出版物

2017年。

对于加密货币协议变更的正式描述和审查,本主题是

最不被理解的,因为它需要本体论概念和激励机制

广泛参与。也许某种形式的代议制民主进程可能会出现,或者

利用液体反馈来提供更理性的投票。

我们预计这个方向的研究将消耗 IOHK 正式参与的大部分时间。

Cardano 的开发。作为起点,我们将与参考金库一起部署

33 对几种机制进行建模以获取同意。需要进一步研究才能确定

解决方案。

33 IOHK 保留建造 Cardano 直至 2020 年底 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 42 页,共 44 页

IOHK |我们为何构建 CARDANO | 2017/06/28

最后,埃利亚斯教授正在监督改善衔尾蛇激励措施的工作

牛津大学的库特苏皮亚斯。在衔尾蛇的密码学基础建立之后

与所有必需的可扩展性工作、对债券、处罚和异国情调的更广泛研究一起巩固

激励措施将添加到参考协议中。

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

结论

加密货币不仅仅是其协议、源代码和实用程序的总和。它最终是一个 激励、赋能和联系人们的社会系统。对许多一半感到沮丧 措施、失败和过去协议的失信,我们着手建立更好的东西。

这个过程并不简单,我们也不相信它能完成。社交协议仍在继续 随着人和社会的变化而无限地变化。为了变得有用,我们想要捕获的力量 evolution 并将其移植到 Cardano 中。

进化不是由单手或宏伟设计引导的。这是一个偶然发现灵感的过程 无数的错误和问题。 Cardano 寻求成为这一过程的数字化体现 — 足够适应,能够在当今的市场中生存,并且具有足够的适应性,能够不断发展以满足 未来的需求。

前面的部分简要介绍了我们如何实现这一目标。我们 努力认识认知偏差,从历史中学习并遵循严格的规则 过程。我们试图在快速开发的需求与正式方法之间取得平衡 传统上无法快速行动。

踏上这段旅程是一种非凡的荣幸。在过去的两年里,我们 已经开发了一个可证明安全的 proof-of-stake 协议,招募了一小支 Haskell 军队 开发者,并使 Cardano 的发展受到许多才华横溢的科学家的关注。

当我们从实验室转向野外部署的系统时,将会遇到成长的烦恼, 但我们希望 Cardano 的未来可以概括为一个拟人化的 句子。 Cardano 是一个务实的梦想家,向长辈学习,是一个好公民 社区,并且总是找到支付账单的方法。

我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 43 页,共 44 页

IOHK |我们为何构建 CARDANO | 2017/06/28

我们无法知道未来,但我们很高兴能够努力让未来对每个人来说都变得更好。 感谢您的阅读。 我们为何构建卡尔达诺 知识共享归属 4.0 国际许可证 第 44 页,共 44 页