Categories: All - blockchain - contracts

by rjm coin 1 year ago

1752

Cardano Map

Plutus is an advanced platform designed for creating and executing distributed contract applications on the Cardano blockchain. It emphasizes high security, auditability, and correctness in building smart contracts.

Cardano Map

ORCL STAKE POOL ITN delegators, please consider supporting the Cardano Map project by delegating to the ORCL stake pool. Thank you!

HOW STAKING WORKS Topic pending updates

HOW STAKING WORKS

Subtopic
What protection mechanisms are in place for pool operators to defense against DDoS or equivalent attacks? Unlike proof of work, these nodes are tiny and can be overwhelmed quickly
None, it’s up to the pool operator to secure their systems and ward off attacks.
What are the anti-virus exclusion recommendations? Which folers and processes to exclude from scanning? What would be the firewall port requirements?
Initially only Linux will be supported for running stake pools, so no anti-virus software is required, but we recommend operators use best practice when securing their platform.
I don't see why a non-myopic pool operator wouldn't lie about his costs and run his pool at a loss (charity) with the long-term vision of gaining a lot of delegations. It seems an effective way to get ranked high in attractiveness through lying about costs (set it to zero).
Costs are likely to be a race to zero. And that's not too much of a problem.
Would it be possible for a pool to donate, say 1%, to a Cardano-related charitable cause, for example, Guardians of Cardano, or perhaps a less controversial group? Who might you suggest?
In the current design, it will be possible to automatically send the rewards that the pool operator would get (cost, margin, and rewards for their own stake) to a charity. Giving only a fraction to charity in an automated way is not something that is in the design, but if people want that, it should be possible to add that feature (possibly after the initial release). Good idea, by the way.
Is the staking done in the test network or for real?
We will first introduce staking on a testnet, to gain some experience, and deploy the feature to the mainnet later.
Is the ability of pool creators to determine cost and profits intended to allow for more incentive to join one pool over another?
Yes, that’s one of the aims.
What happens if nobody joins our staking pool?
Then its stake share stays equal to the founder’s stake. Nothing special happens.
Can you block people from staking in your pool?
No. Anyone can join any pool; all pools are open, visible, and transparent.
Will we ever be able to stake our ada without 24-hour internet access? When will I have the ability to stake my ada na dwhat will the rewards be like?
You can delegate to a stake pool with even only a few minutes of internet access, but you cannot run a stake pool without being up 24/7. This is by design as the node that is staking needs to make blocks and the rewards for the node are based on its performance.
If a stake pool is offline, can participants retrieve their stake and put them in another pool?
Yes. Your coins never leave your wallet, and you can change your delegation choice at any time.
Will we be able to write smart contracts to accept other currencies like bitcoin and stake them in Cardano besides ada?
On Cardano you can only stake ada.
Is staking possible if a wallet is on an exchange, such as Binance or Kraken?
No. At this time it’s not possible to delegate from an exchange, but we may enable this and some exchanges may support delegating in the future.
I'm not a programmer/coder. Is there any computer experience required to stake?
You will be able to delegate to a pool with no computer experience just by using a Daedalus or Yoroi wallet.
As an ada investor, my question is: will staking allow any burn-off of ada? And will it be significant enough to educe the supply ie, lead to gains in the price?
No coin burns.
Is pledged stake at risk if a pool is seen to be behaving maliciaously?
No, for now there's no slashing.
When is the start date for staking?
The Incentivized Test Net (ITN) went live Nov 2019. End of support will be March 31, 2020 but it will likely continue to run after that.
Will we need to freeze or lock our ada for aset period of time to allow staking?
Your coins never leave your wallet and are never locked.
Can I stake from Daedalus?
You will be able to delegate to a pool from Daedalus or Yoroi.

DISCLAIMER: The links contained in this map are informative only and the creators of this map inherit no responsibility for the content of the linked resources. Before taking any action related to any content through the links on this map DO YOUR OWN RESEARCH and protect yourself from any potential harmful activity. [https://www.adaoracle.link Please report suspicious links here]

[https://testnet.iohkdev.io/images/iele_factsheet.pdf IELE] had 3 forces that drove the design. 1. To serve as a uniform lower-level platform for translating and executing smart contracts from higher-level languages. 2. To provide a uniform gas model, across all languages. 3. To make it easier to write secure smart contracts. Unlike the EVM, which is a stack-based machine, IELE is a register-based machine, like LLVM. IELE also directly supports functions, like LLVM. It has an unbounded number of registers and also supports unbounded integers.

The [https://testnet.iohkdev.io/kevm/get-started/using-the-kevm-testnet/ KEVM] is a high quality, formally-verified smart contract virtual machine. The KEVM testnet is implemented on Mantis, the standards-compliant Ethereum Classic client designed within the specification of the K framework. The K specification defines the formal semantics for elements such as the configuration and transition rules of EVM. The K framework provides the platform within which to work and also provides an executable. The KEVM is a stack-based machine, as opposed to a register-based machine. The primary difference between these two architectures is in the way in which operands and their results are stored and retrieved.

Formal Methods

Turning research papers into machine-executable code is a lengthy and precise process, and one that must be conducted carefully. IOHK is adopting formal methods in its development process to create software that is robust and reliable. Curiously vacant in the cryptocurrency industry, formal methods facilitates solid foundations for immutable protocols. There is a cost of resources and time required at protocol design that significantly reduces poor implementation of good ideas.

[https://www.youtube.com/watch?v=12nQ4oMhIpQ Formal Methods by Philipp Kant]

Peer Review

Cardano is the most authoritative, researched and vetted cryptocurrency project on the planet. See the [https://iohk.io/research/papers/ linked] resource for the list of papers produced by the research initiatives of IOHK. The research initiatives of IOHK have produced over 40 research papers with over 20 of those accepted for peer review. There are signs that by emulation, other projects are considering adopting this very necessary and critical approach to blockchain design.

[https://www.youtube.com/watch?v=MV8ANlktGoI Peer Review Explained]

[https://iohk.io/blog/smart-contracts-language-for-cardano-launches-at-plutusfest/ Plutus] is the innovative development and execution platform for distributed contract applications on the Cardano Chain and Cardano Network. It is the backbone for the industry of building smart contracts with the highest possible degree of security, auditability and correctness. It allows developers to write a single source, in Haskell, from which is generated both on-chain and off-chain code.

[https://iohk.io/blog/marlowe-financial-contracts-on-blockchain/ Marlowe] is a domain-specific language (DSL) which is designed to be usable by someone who is expert in a particular field: in the case of Marlowe, financial contracts, rather than requiring programming skills to use it. Using a DSL has many advantages beyond its use by non-programmers: We can ensure that certain sorts of bad programs cannot even be written by designing those possibilities out of the language, and by doing this we can aim to avoid some of the unanticipated exploits which have been a problem for existing blockchains. We can also more easily check that programs have the properties that we want: for example, in the case of a financial contract we might want to make sure that the contract can never fail to make a payment that it should. Because it is a DSL, we can build special-purpose tools to help people write programs in the language. In the case of Marlowe we can emulate how a contract will behave before it is run for real on the system; this helps us to make sure that the contract we have written is doing what it is intended to.

"“[https://iohk.io/blog/on-the-ouroboros-design-how-rigour-and-engineering-are-essential-for-critical-infrastructure/ Ouroboros]”, the first blockchain protocol based on proof of stake with rigorous security guarantees. We establish security properties for the protocol comparable to those achieved by the bitcoin blockchain protocol." "Ouroboros is unique in that it was designed in tandem with a formal security model and a mathematical proof that it implements a robust transaction ledger. This marks a fundamental shift in the methodology of blockchain system design."

[https://iohk.io/en/research/library/papers/comparison-of-block-expectation-time-for-various-consensus-algorithms/ Comparison] of Block Expectation Time for Various Consensus Algorithms. (Bitcoin vs GHOST vs Ouroboros)

[https://cardanodocs.com/cardano/proof-of-stake/ How it works (Epochs)]

ADA Blockchain

Layers of the Cardano Blockchain Architecture

Computation (Side-Chains) Cardano NETWORK (CN)

The network layer(s) will do all the heavy lifting and complicated work including all smart contract functions. There are more potential vectors of attack but they will not effect the main chain. Separating the project into layers link this significantly improves security.

Virtual Machines

KEVM

IELE

Plutus

Marlowe

Browser Emulator

Meadow

IOHK working on Extended UTxO Mar/19?

Playground

Haskell

Settlement (Accounting) Cardano CHAIN (CC)

The settlement layer is as simple as possible, written as direct reflections of the math from the rigorously researched and vetted research papers and is essentially a better version of Bitcoin. With very little computational components this layer significantly reduces vectors of attack.

[https://iohk.io/research/papers/#ouroboros-a-provably-secure-proof-of-stake-blockchain-protocol Ouroboros]

Block Explorers

Official

3rd Party

Adascan

clio.one

Smart Contracts

[https://youtu.be/TFezjgwuw8Y?t=650 (Suggestions of Metadata in the Extended UTXO could function as rudimentary smart contracts that would significantly empower the power of simple transactions)]

Plutus (Restricted)

Domain Specific Languages (DSL)

Financial

Marlowe (Restricted)

Ouroboros Iterations

Dates listed after the iteration of Ouroboros are origional dates of submission to eprint.

Ouroboros Crypsinous (Nov 20/18)

Privacy

Ouroboros Philos

Ouroboros Hydra (Mar 7/20)

Basho Phase

Ouroboros Genesis (May 3/18)

Dynamic Availability

Ouroboros BFT (OCT 30/18)

Byzantine Fault Tollerant

When complete, end of Byron Phase

Ouroboros Praos (Jun 12/17)

Origional Protocol

Byron Phase

Nets

Main

Live OCT 2017

Technology

Test

[https://www.rust-lang.org/ Rust]

[https://www.haskell.org/ Haskell]

STAKING Work in Progres Pending Updates

Given your earlier benchmarks, is it still understood that the wall is 20 core nodes? If not, what is the new tipping point number?
Writing the code for Shelley, we are removing the inefficiencies that we found during the benchmarks that limited us to fewer than 20 core nodes.
What is the comparison of staking efficiency IOS vs PC?
If you are talking about delegating from a wallet on an iOS device or a PC, there is no difference
Is it possible to load balance across multiple nodes on a LAN or WAN, such as two sites with different WAN addresses, each with load-balanced nodes on the LAN?
No. Load balancing core nodes with the same key is seen as adversarial by the system. Only one core node should be creating blocks in a given stake pool.
What are the storage requirements for the blockchain? How much storage is expected to be used per month?
Currently, it takes 3-6GB. A guesstimate is less than 50MB per epoch using similar parameters to the mainnet, but it depends on overall usage of the network.
Do stake pools need to be [100% uptime]?
Yes, stake pools need to provide near 100% uptime.
Will the network messages/protocols (TCP/UDP ports) between pools be any different than the messages between wallets/clients? If so, can IOHK track a list of IPs/hosts of pools so that we can create firewall rules to limit that traffic to other pools?
No. When you run a Daedalus wallet you run a full node. And the protocol is the same as between pools because pools are just full nodes.
Do we need reserved IP for staking or can it be dynamic? Should every node have its own IP, or can it be shared? Between virtual instances within the same server, for example?
The stake pool node itself can be completely firewalled from the internet, so long as one or more public relays are provided and the stake pool node can communicate through the firewall with the relays.
Will faster broadband internet connection and higher speed CPU/GPU/RAM be any advantage?
A reliable internet connection of sufficient bandwidth is needed, but there is no particular advantage for faster CPUs or any GPU, provided it is over the baseline requirements.
How well balanced will Cardano be across CPU cores? Is it better to have fewer cores, higher frequency, or more cores with less frequency? In testing, our findings were high-frequency CPU bursts were more important. Do you agree?
We expect the requirements on CPU(s) to be fairly moderate. We have designed the code for Shelley in a way that deliberately avoids the bursts in CPU activity that you observed in the currently deployed Cardano SL code.
Will Cardano staking pool software be compatible with distributed computing (as a way to create redundancy) or are there limitations in place that prevent this?
The Cardano network is a distributed system, but each stake pool will require running only a single node (plus relay nodes that help with distributing information across the network). Load balancing core nodes with the same key is seen as adversarial by the system. The node itself does not have huge requirements on storage or processing power, and is thus designed to run on a single machine.
What is the minimum required bandwidth to run a stake pool?
The exact minimum bandwidth needed for a competitive stake pool is not yet known.
Is domain address required? Or is a static IP enough?
You need an IP and port open to the internet with a decent bandwidth.
On a scale of 1 to 10 (1 very low, 10 very high), what kinds ofcomputer skills/proficiencies should a stake pool operator bring to the table with regards to: network security, network administration, and ability to monitor network traffic?
Network security: 7 Network/system administration: 6 Ability to use monitoring tools: 7
What is the minimumhardware needed to run a stake pool?
There is no minimum. We have tested running a stake pool on a small single-board, running at 4-7 watts. But that is unlikely to be optimal, and operators will need to experiment to get the right combination of cost, performance, and energy efficiency to maximize their pool’s profitability and attractiveness to delegators.

[https://staking.cardano.org/faq/ OFFICIAL FAQ]

What is it?

How does delegation and staking work with Cardano?

Rewards and Costs

Marketing

Stake Demands

Can a single base address have several staking keys?
No.
If we delgate to different pools will we have several reward accoutn addresses?
Will you be able to stake with a paper wallet?
Yes, you will be able to delegate to a pool from a hardware wallet or paper wallet.
Can a wallet, say with 100,000 ada, have lots of staking keys, say 25,000 for each key, or does staking require breaking down the stake into wallets with smaller balances?
You can have many staking keys in one wallet. The initial release of Daedalus and Yoroi will only support one stake pool delegation choice for a wallet. This may change later, with support for many accounts in a single wallet, each with its own delegation choice. Third-party wallets are free to implement other policies.
If I'm already staking on another coin on my computer will that affect the staking?
It will not affect your Cardano staking as long as you provide 100% uptime for your node
What are the risks of staking? What arethe risks of joining a pool? Any cons one should be aware of?
No risk, except that this pool will go down, and you will start getting no rewards, so you need to monitor if they are doing well, and re-delegate to someone else if they are bad.
What amount of ada is considered a large stake?
This is a market decision made by the combination of individual delegators making their individual decisions based on their perceptions of competing stake pools.
Is there a minimum amount of ada required to starta pool?
To operate a public competitive stake pool, the owners of the pool have to pledge ada to their pool. The details of this are covered in the documentation on staking incentives. No minimum amount of ada is required to run a pool or to delegate to a pool, though you do need some ada to pay the transaction fees.

Skills and Checks

How much will the generation of the pool certificate cost?
We have not yet arrived at the cost for the pool certificate.
Is it possible to run more than one stake pool?
Yes.
How do I set up my computer to run the stake pool? Is there software that I need to download?
You will need to download a Cardano node and run it.
I want to run a pool. How do I get started? Is there a list to sign up to? Instructions?
You can participate in the testnet stakepool by following the instructions on the testnet site when it is published. Similar instructions will be provided online when it is deployed to mainnet.
Will setting up a stake pool be similar to creating a master node? Will there be scrpts written to assist those of us who may be less technical?
There will be tools to assist the installation, but potential pool operators are expected to have basic sysop skills for this.
What technical knowledge must one have to run a pool effectively?
Server maintenance and devops/sysops experience will be a very big plus. Linux system administration skills.

The Ada Oracle is the interactive overview of the entire Cardano ecosystem. est. Jan 15, 2019 For delegators, please consider supporting the Ada Oracle project by delegating with the [ORCL] stake pool. Thank you!

[https://www.adaoracle.link Submit Suggestions / Edits / Errors / Broken Links]

Objectives

4. Exclusions
4.5 Everything subject to change
4.4 This map is a work in progress
4.2 This map is community led and therefore not to be considered official, comprehesive or without errors
4.1 This map does not provide any active functions related to the Cardano project or the community
3. Provide external links to at least one relevant resource which provides more detail
2. Drill down to reasonable depth of sub categories with basic descriptions
1. Visually map out the main components of the Cardano ecosystem

Why Haskell?

[https://whycardano.com/science-and-engineering/#why-haskell More in-depth about "Why Haskell?"]

"Choosing Haskell for protocol development was the most difficult choice." "The protocols that compose Cardano are distributed, bundled with cryptography and require a high degree of fault tolerance." "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."

"[https://cardanorust.iohkdev.io/The Cardano Rust project] has created a toolbox of Cardano’s cryptographic primitives for third-party developers written in the Rust programming language." "Rust is a lightweight, portable and ‘blazingly fast’ language. It compiles to the web, iOS and Android, platforms that are popular with many third-party developers. The Cardano Rust project sits alongside the Haskell-based Cardano settlement layer as an open-source sandbox for developers who want to build and integrate their own apps, including products for mobile devices."

Why Cardano?

[https://whycardano.com/ Comprehesive Layman's Scope]

Bitcoin is the first generation crypto currency, establishing bedrock for trust-less, immutable, POW ledgers. Ethereum was 2nd generation and lead the way to putting a programming language on the blockchain giving us the concept of smart-contracts and empowered the ICO movement. Cardano is 3rd generation and builds on the legacy of Bitcoin and re-evaluates the concepts behind Ethereum to deliver the worlds most authoritative, researched and vetted smart-contract platform.

THE CARDANO MAP

Cardano Projects

Cardano Developers
Fractalide
Cardano Compatible
Cardano Empowered

Community

Ambassador Program
Community Leaders
The Cardano Effect Podcast

TCE Clips (Youtube)

Official Networks
Twitter

(Cardano Foundation)

Facebook
Meetup
Forum
Telegram
Reddit

Organization

Cardano Foundation
There are three organisations that are contributing to the development of Cardano. As one of these three entities, Cardano Foundation is an independent body based in Switzerland with core responsibilities to help oversee and supervise the development of Cardano and its ecosystem. We are committed to protecting and promoting Cardano and to advocating on behalf of the users and community of the protocol. We will work alongside Input Output HK (IOHK) who are contracted to design and build Cardano and Emurgo, the for-profit arm working to boost the Cardano ecosystem through commercial ventures. The three entities are wholly separate in ownership and leadership.

Promote

Protect

Standardize

Emurgo
EMURGO was founded in 2017 and is a registered company in Japan. We develop, support, and incubate commercial ventures and help integrate these businesses into Cardano’s decentralized blockchain ecosystem. Cardano seeks to power the financial stack for the developing world, and EMURGO's mission is to help these economies emerge through blockchain technology.

Integrate

Governments

Businesses

Commercial Ventures

Incubate

Support

Develop

Input Output Hong Kong
Founded in 2015 by [https://iohk.io/team/charles-hoskinson/ Charles Hoskinson] and [https://iohk.io/team/jeremy-wood/ Jeremy Wood], IOHK is a technology company committed to using peer-to-peer innovations to provide financial services to the three billion people who don't have them. We are an engineering company that builds cryptocurrencies and blockchains for academic institutions, government entities and corporations. We are a decentralized company that loves small, innovative teams forming and executing ideas that cause cascading disruption.

Educate

Youtube

Maintain

Will submit contract proposals to the Cardano ecosystem for future development, feature proposals, maintenance etc

Build

Design

Research

Cardano is the most authoritative, researched and vetted cryptocurrency project on the planet. See the [https://iohk.io/research/papers/ linked] resource for the list of papers produced by the research initiatives of IOHK.

20+ of which have gone through peer review

50+ Research Papers

Design Principles

Sustainability
Decentralized projects need systems in place to ensure trust-less longevity. Without a centralized point of development (or failure) a solid foundation for sustainability is paramount. Cardano offers a unique approach to blockchain sustainability.

Future Development

Contract bidding with community voting

Incentives / Staking

~1000+ Nodes, Stake pools, offline staking

Onboarding stake pool members Nov/19

DAO / Treasury / On Chain Governance

Perpetual Funding

Fee Structure of Ada transactions

Interoperability
There will not be just one coin to rule them all. Transactions crypto to crypto are empowered on the ADA blockchain

Enterprise Addresses

Enterprise addresses remove ADA from system and are unable to stake or impact the network

Compliance

Mechanisms necessary to comply with regulatory bodies regarding transaction details KYC, AML, ATF

Meta-data

Scalability
Need to scale to Bilions of users and able to process many tx/sec. including off-chain. See Ouroboros Hydra released on Mar 7, 2020.

NIPOPOW/S

Contain any POW or POS coin in a Side Chain. BTC, ETH, TRX, even ADA

Threshold Multi-Sig (TMS)

Bootstrapping entire chain from block zero in ANY transaction with high trust threshold

Full node security, light client price

Resources

Development Updates
Learning Resources
edu.clio.one

Plutus Training

Wallets
Hardware

Sirin Labs

Trezor

Ledger

Light Clients

3rd Party Wallets and Exchanges

Always take steps to verify links to wallets and exchanges are official. Protect yourself at all times.

Icarus (Code Base)

[https://yoroi-wallet.com/#/ Yoroi - Light Wallet]

Technologies

Cardano

Web|Assembly

Node.js

Rust

IOS

Pending

Android

Chrome Extension

STAKING - TESTNET STAKING LIVE

Full (Official)

[https://daedaluswallet.io/ Daedalus]

STAKING

Github

Update 1.6 will decouple wallet from Ouroboros backend

Roadmap

5.N Voltaire
The Voltaire phase will add a treasury system and governance, enabling sustainability and self-sufficiency for Cardano.
4.N Basho
The Basho phase will be focused on performance, security, and scalability improvements. It will enable Cardano to scale to millions and billions of users.
3.N Goguen
The Goguen phase will bring the second collection of protocols with the computation layer (Cardno CL) deployed as side-chains, with support for smart contracts. (Cardano NETWORK)

Projected Live Q3 2020

2.N Shelley
The Shelley phase will transition Cardano SL (Cardano Chain) to a completely decentralized system which will allow all users to participate in the protocol, and get rewards for producing blocks by staking individually or within stake pools.

Projected Testnet Q2 2020

1.N Byron
The Byron phase of the settlement layer (Cardano SL) was launched by IOHK, Cardano Foundation, and Emurgo. It enabled the launch of ada cryptocurrency and allowed users to transfer and trade ada.

Shelley Rollout Timeline

1.8 Staking goes LIVE in slow rollout weaned off of Ouroboros BFT slot production (BFT get's no rewards, all rewards go to slot producers in stake pools)

This will allow time for first movers to get going and less experienced to come in as they can get up to speed

Nobody has ever done this in crypto-currency space

This is not a fork, this is all origional science

Cons: nothing to reference, untested waters, lessons still to be learned, surprises almost likely to come up

1.7 Rust AND new Haskell work with new system

Mass update to Daedalus

Registration for Staking

Delegation Center

Onboard Staking pool members Nov/19

Getting docker image set up, self host setup etc

Then need time to propagate network / marketing etc

Command Line client to begin build up of staking pools

Eventually move to GUI, then move to Main Net

Cardano CHAIN, Cardano NETWORK replaces Cardano SL and Carano CL and introduced into Daedalus wallet backend

Address changes: Introduction of a SPENDING KEY, STAKING KEY, ENTERPRISE Addresses

Enterprise addresses remove ADA from system (Exchange addressses unable to stake or impact network)

Allows COLD staking!

Metadata associated with address. Stake pool data, fee schedule, url, embedded intent of transaction, etc..

100% migration off of legacy code

Hard Fork Complete Feb 2020

1.6 Decouples Deadalus Wallet from Oroboros backend, Deadalus able to connect to RUST Cardano and new Haskell code. Icarus style addresses

1.5 Last Byron / First Shelley Update (backend only) Introduction of Ouroboros BFT

Feb 2020

Live Oct 2017