Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Blockchain, Cryptoeconomics, Ethereum

Blockchain

  1. A blockchain is...
    • a peer-to-peer, distributed database, with no central authority (thus no single point of failure)
    • a protocol and ledger for building an immutable historical record of transactions
    • a data structure which serves as the distributed back-end database
    • a fully-distributed, peer-to-peer software network which makes use of cryptography to securely host applications, store data, and easily transfer digital instruments of value that represent real-world money.
    • a network database that can reconcile the order of transactions (even when a few nodes on the network receive transactions in various order due to network latency)
    • a system with asymmetric cryptography to create a set of credentials for your account, to ensure that only you can transfer your tokens
    • a system with cryptographic hashing = a small, unique "fingerprint" for any data, allowing quick comparison of large datasets and a secure way to verify that data has not been altered
      • in both Bitcoin and Ethereum, the Merkle tree data structure is used to record the canonical order of transactions
    • creating applications enabling users to make transactions
    • gives you the chance to create decentralized networks
  2. Implementations of Blockchain: Bitcoin, Ethereum, Hyperledger Fabric, Corda, Ripple, Openchain...
  3. digital currencies such as bitcoin, ethereum or litecoin
  4. Participants: users, miners, and investors
    • miners = verify transactions on the network
  5. Hard Fork (of a protocol)
    • "a new version of the network with different rules than the original"
    • "a permanent divergence from the previous version of the blockchain, and nodes running previous versions will no longer be accepted by the newest version."
    • "a radical change to the protocol that makes previously invalid blocks/transactions valid (or vice-versa), and as such requires all nodes or users to upgrade to the latest version of the protocol software"
    • "A hard fork can be implemented to correct important security risks found in older versions of the software, to add new functionality, or to reverse transactions (as in the case with the hard fork to reverse the hack on the DAO (decentralized autonomous organization) in the Ethereum blockchain)."
    • hard fork is a change of the Bitcoin protocol that is not backwards-compatible
    • a hard fork requires all the digital currency's miners to move to a new blockchain, or version of its transaction history.
  6. Whilst the blockchain is an immutable series of blocks, it's still possible for each peer to build up a different set of transaction histories. This divergence is known as forking, and is the cause of the consistency problem.
  7. the way the blockchain resolves this is with a consensus algorithm, where eventually there is a majority agreement on which forks should be dropped:
  8. Altcoin (meaning "Bitcoin Alternatives") -- another alternative for financial transactions
    • Bitcoin copycats that use the Bitcoin codebase
  9. Blockchain enables the creation of a secure, trusted, peer-to-peer network between partners or public users to build any kind of distributed business application.
  10. A blockchain implementation means:
    • Ledgers record transactions – the passing of value from owner to owner
    • Transactions are time based
    • Once a Transaction is recorded you cannot alter it
    • You need to be able to detect if your ledger has been altered
  11. A cryptographic token, e.g. the Bitcoin (BTC) in the Bitcoin protocol or ether (ETH) for Ethereum
  12. Applications deployed to a blockchain consist of a self-executing contract and a client-side application that interfaces with the network through an SDK or API.
  13. Components:
    • A data structure called the blockchain which serves as the distributed back-end database
    • A cryptographic token, e.g. the Bitcoin (BTC) in the Bitcoin protocol or ether (ETH) for Ethereum
    • A peer-to-peer network for discovery and communications
    • A consensus formation algorithm. Note that many enterprise blockchains will not use mining (like Bitcoin) for consensus
    • A virtual machine that enables programmable money in Bitcoin and decentralized applications in Ethereum
  14. Two popular open blockchain frameworks
    • Both frameworks have different ideas, analogous to the differences between IaaS and PaaS technologies
    • Hyperledger - a collaborative effort created to advance blockchain technology by identifying and addressing important features for a cross-industry open standard for distributed ledgers that can transform the way business transactions are conducted globally. more an Infrastructure as a Service, like Amazon Web Services (AWS) in the public cloud or OpenStack on premise.
    • Ethereum - a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference. ConsenSys is the main company behind Ethereum. more a Platform as a Service, like CloudFoundry or OpenShift.
  15. Blockchain-as-a-Service (BaaS) with IBM and Microsoft taking a leading role
  16. Monax (formerly Eris)
    • "As of 2017, our platform has been renamed to Monax."
    • "an open platform for developers and devops to build, ship, and run blockchain-based applications for business ecosystems."
    • a Docker-based, blockchain-backed application platform supporting different blockchain frameworks
  17. A blockchain infrastructure is its own independent peer-to-peer network without a central backbone
  18. decentralized autonomous companies (DAOs or DACs)
    • decentralized organization or DO
  19. Because a distributed system has no single owner, machines are free to join the Ethereum network at will and begin validating transactions - mining
    • Mining nodes confer to arrive at a consensus about the order of transactions across the system, which is necessary to tabulate everyone’s account balances on the fly, even as many transactions pass through the network. This process consumes electricity, which costs money, and so miners are paid a reward for each block they mine: about 5 ether.
    • Miners are paid this ether for mining, and also for running scripts on the network in the form of gas
  20. censorship resistance
  21. cryptoeconomics
  22. "Just as the command line eventually led to a GUI and now virtual reality (VR) applications, it’s up to you to decide what to create with Ethereum."
  23. In order to trade dollars for ether, you need to join a cryptocurrency exchange, or buy from a commercial money transmitter such as Coinbase. Most people simply buy bitcoins (which are more widely available in ATM form, and also through the LocalBitcoins.com cash dealer network) and convert them to ether via an exchange or via a cryptomoney-changing service such as ShapeShift.io.

Ethereum

  • Ethereum's White Paper
  • Ethereum is a blockchain where Dapps, tokens or coins can be built upon.
  • ether - the token that powers the ethereum blockchain
  • alternative asset protocol (to Bitcoin)
  • On Ethereum, you develop a so-called Dapp (decentralized app), which consists of two parts: a frontend (written in HTML as web app or any other client using a supported programming language), and a backend (think of it as the ‘database’ for your frontend). A frontend can be a full blockchain peer communicating directly with the backend. The huge benefit here is that every client is a full member of the trusted blockchain network. This is the ideal blockchain world.
  1. Solidity - a specific blockchain language to define smart contracts. Solidity Browser is a nice, simple web IDE, which makes it much easier to get started and realize new smart contracts.
    • much of Solidity is intuitive for anyone familiar with JavaScript, Java, or C languages.
  2. Ether is needed to "pay" for blockchain transactions
  3. Ethereum is...
    • http://eth.guide/
    • a single public blockchain, and a protocol for the creation of many blockchains
    • similar to Bitcoin
    • supports its own digital currency, ether (like bitcoin)
    • supports smart contracts
      • agreements / financial contracts written in computer code that execute automatically when certain conditions are met.
      • some business logic that runs on the network, semi-autonomously moving value and enforcing payment agreements between parties
      • code in the Solidity language to be executed on the Ethereum network
    • a Turing-complete blockchain = a data structure + Solidity built-in programming language
    • The term "Ethereum" can refer to: the Ethereum protocol, the Ethereum network created by computers using the protocol, and the Ethereum project funding development of the aforementioned two.
    • open source blockchain network
    • building economic systems in pure software
    • The Ethereum network functions as one large computer which executes programs in lockstep; it is a machine which is "virtualized" by a network of other machines. Being composed of many private computers, the Ethereum Virtual Machine (EVM) itself can be said to be a shared computer which is ownerless.
    • Changes to the EVM are achieved through hard forking: persuading the entire community of node operators to upgrade to a new version of the Ethereum software.
    • building economic systems in pure software
  4. All transactions in Ethereum are stored on the blockchain, a canonical history of state changes stored on every single Ethereum node.
    • When you pay for computing time on the Ethereum network, this includes the cost of running the transaction and for storage of the data included in your smart contract.
    • Because the Ethereum network requires all nodes to keep a full state database of all contracts, any node can query the database locally.
  5. Mist
    • native Ethereum browser
    • a wallet = holds your ether
    • https://github.com/ethereum/mist
    • With Mist and the Ethereum command-line tools, sample contracts can be tested with fake ether to ensure that you don’t lose any real money while debugging.
  6. Web3.js - software library
  7. Ethereum protocol was derived from Bitcoin, and extended
  8. Create your own crypto-currency
  9. How to create a Dapp from scratch on Ethereum?

Bitcoin

  1. Bitcoin is the first descentralized digital cryptocurrency. Bitcoin implements the Blockchain technology.

Cryptocurrency Exchanges

Further reading

  1. Blockchains
  2. Blockchain – The Next Big Thing for Middleware
  3. A Complete Beginners Guide to Blockchain Technology Part 1 of 6
  4. What exactly is an Ethereum client and what clients are there?
  5. Everything you need to know about the Ethereum “hard fork”
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment