ethereum

  • The innovation speed in Blockchain landscape is just breathtaking and being able to (or to be honest trying to...) follow all these rapid changes is a chance for all software engineers.

    At the core of the Blockchain disruption are consensus algorithm:

    Consensus algorithms enable network participants to agree on the contents of a blockchain in a distributed and trust-less manner.

    And the consensus algorithm plays a crucial role in maintaining the safety and efficiency of blockchain. Using the right algorithm may bring a significant increase to the performance of blockchain application.

    But do you know how much consensus type are out there? or where they are applied? my new Consensus Map may help you there exploring the always evolving landscape:

    Here is the actual Consensus list: DPoR, DPoS, DPoS/LPoS, FBA, HPoW, LFT, Limited Confidence Proof-of-Activity, Ouroboros, POBh, PoA, PoB, PoB/PoS, PoC, PoI, PoP, PoP/PoV/PoQ, PoPP, PoR, PoS, PoS/LPoS, PoS/PoB, PoS/PoD, PoS/PoP, PoS/PoW, PoS/PoW/PoT, PoST, PoSign, PoW, PoW/DPoW, PoW/HiPoS, PoW/PoM/PoSII, PoW/PoS, PoW/PoS/PoC, PoW/PoSC, PoW/PoZ, PoW/nPoS, PoWT Proof of Believability, Proof of Existence, Proof of Ownership, Proof of Time, Scrypt-adaptive-N (ASIC resistant), TPoS, Tangle, dPoW/PoW, mFBA 

    You can filter by any type of Consensus and zoom, learn more about them by hovering over the menu.

    The map also feature a mode selector at the bottom, if you switch to Algorithm Map you'll see where each of the 82 cryptographic algorithm are used!

     

    The Map will be auto-magically regenerated every week on Sunday evening. The tedious task of maintaining the list of all Consensus algorithms (I've documented 60+ but only 47 are represented) and their descriptions are (still) maintained manually.

    More filters will be added soon (showing for example only the top 100 by market cap, consensus by date of creation, and so on...), and your feedback is always welcomed.

  • introduction

    This is my attempt to list all possible blockchain consensus out there, I welcome pull request of the blockchain community! let's make it the main reference for blockchain consensus. Visit also Tokens-Economy.com to keep track of new developments in the distributed ledger technology space.

    Blockchain Consensus?

    At the core of the Blockchain disruption is a consensus algorithm:

    Consensus algorithms enable network participants to agree on the contents of a blockchain in a distributed and trust-less manner.

    “Consensus decision-making is a group decision-making process in which group members develop, and agree to support a decision in the best interest of the whole. Consensus may be defined professionally as an acceptable resolution, one that can be supported, even if not the “favourite” of each individual. Consensus is defined by Merriam-Webster as, first, general agreement, and second, group solidarity of belief or sentiment.” Wikipedia

    And the consensus algorithm plays a crucial role in maintaining the safety and efficiency of the blockchain. Using the right algorithm may bring a significant increase to the performance of blockchain application.

    The trilemma claims that blockchain systems can only at most have two of the following three properties:

    1. Decentralization (defined as the system being able to run in a scenario where each participant only has access to O(c) resources, i.e. a regular laptop or small VPS)
    2. Scalability (defined as being able to process O(n) > O(c) transactions)
    3. Security (defined as being secure against attackers with up to O(n) resources)

    Each consensus algorithm has its own application scenario. There is no absolute good or bad. The choice of which consensus to use for implementing the blockchain depends on the type of network and data.

    For a transaction to be valid on most cryptocurrency networks, the transaction needs to collect a certain number of confirmations (often equals to an inclusion in a block of a blockchain) from the network. E.g 10 confirmations mean to see a specific transaction in one block and 9 consecutive blocks.

    Visit now https://consensus.tokens-economy.com/ 

  •  

    Blocks & Transactions

    Transaction data is permanently recorded in files called blocks. They can be thought of as the individual pages of a city recorder's recordbook (where changes to title to real estate are recorded) or a stock transaction ledger. Blocks are organized into a linear sequence over time ("Miner" or "Worker") also known as the block chain). New transactions are constantly being processed by Miners (into new blocks which are added to the end of the chain and can never be changed or removed once accepted by the network. Each block contains, among other things, a record of some or all recent transactions, and a reference to the block that came immediately before it. It also contains an answer to a difficult-to-solve mathematical puzzle – the answer to which is unique to each block. New blocks cannot be submitted to the network without the correct answer – the process of "mining" is essentially the process of competing to be the next to find the answer that "solves" the current block. The mathematical problem in each block is extremely difficult to solve, but once a valid solution is found, it is very easy for the rest of the network to confirm that the solution is correct. There are multiple valid solutions for any given block – only one of the solutions needs to be found for the block to be solved. Because there is a reward of brand new cryptocurrency units for solving each block, every block also contains a record of which address is entitled to receive the reward. Transactions are broadcast to the network by the sender, and all peers trying to solve blocks collect the transaction records and add them to the block they are working to solve. Miners get incentive to include transactions in their blocks because of attached transaction fees. The difficulty of the mathematical problem is automatically adjusted by the network, such that it targets a goal of solving an average of (X) blocks per time interval (details are specified in the respective consensus rules of a cryptocurrency). The network comes to a consensus and automatically increases (or decreases) the difficulty of generating blocks. Because each block contains a reference to the prior block, the collection of all blocks in existence can be said to form a chain. However, it's possible for the chain to have temporary splits – for example, if two Miners arrive at two different valid solutions for the same block at the same time, unbeknownst to one another. The peer-to-peer network is designed to resolve these splits within a short period of time, so that only one branch of the chain survives. The client accepts the "longest" chain of blocks as valid. The "length" of the entire block chain refers to the chain with the most combined difficulty, not the one with the most blocks. [Source: https://en.bitcoin.it/wiki/Block ]

    Uncles

    Uncles are orphaned blocks that contribute to the security of the main chain, but are not considered the canonical "truth" for that particular chain height. They only exist in Ethereumbased cryptocurrencies. For more information on Ethereums uncle mechanism please review the relevant section of the Ethereum wiki under uncle-incentivization">https://github.com/ethereum/wiki/wiki/Design-Rationaleuncle-incentivization. [Source: http://ethereum.stackexchange.com/questions/34/what-is-an-uncle-ommer-block]

    Block chain

    Block chain is a decentralized and continually updated list of transactions occurring across a certain peer-to-peer network. Blocks of transactions are validated and linked together by specific methods of cryptography. Manipulating individual transaction records is hardly possible in this context. A blockchain provides a wide range of functionality. Besides establishing cryptocurrency and payment infrastructures, it can be used, for instance, to digitally sign documents (proving identity) or create verifiable records of business processes.

    Mining

    Mining is the process of adding transaction records to a cryptocurrencies public ledger of past transactions. This ledger of past transactions is called the block chain as it is a chain of blocks. The block chain serves to confirm transactions to the rest of the network as having taken place. Cryptocurrency nodes use the block chain to distinguish legitimate transactions from attempts to re-spend coins that have already been spent elsewhere. Mining is intentionally designed to be resource-intensive and difficult so that the number of blocks found each day by Miners remains steady. Individual blocks must contain a proof of work to be considered valid. This proof of work is verified by other nodes each time they receive a block. Ethereum uses the "ethash" proof-of-work function while Zcash uses the "equihash" algorithm. The primary purpose of mining is to allow nodes to reach a secure, tamper-resistant consensus. Mining is also the mechanism used to introduce new units of cryptocurrency into the system: Miners are paid any transaction fees as well as a "subsidy" of newly created coins. These both serve the purpose of disseminating new coins in a decentralized manner as well as motivating people to provide security for the system. Mining is so called because it resembles the mining of other commodities: it requires exertion and it slowly makes new currency available at a rate that resembles the rate at which commodities like gold are mined from the ground. [Source: https://en.bitcoin.it/wiki/Mining] To ensure mining can be carried out reasonably, certain hardware demands are to be fulfilled; mining entails a high level of power consumption. The process of mining is conducted using specialized software available for different operating systems. Each cryptocurrency defines a unique mining reward scheme. For more information on the rewarding scheme employed by the Ethereum cryptocurrency please consult the Ethereum Yellow Paper under https://github.com/ethereum/yellowpaper ; for more information on the Zcash rewarding scheme please consult the Zcash protocol specifications under https://github.com/zcash/zips/blob/master/protocol/protocol.pdf . The intensity of the mining tasks is highly demanding; hardware components may – exceptionally – be destroyed completely. As the hardware setup of each Worker is individually compiled, you must assess (and bear) the risk associated with such high electrical load by yourself. As mining is an intensive task for the hardware of your computer (CPU, GPU), the process can cause high costs for electricity. 

    Mining pools 

    Mining pools pursue the objective to solve blocks more quickly and split the rewards equally. Participants of a mining pool presenting a valid proof of work are awarded a "share". A share is a hash, smaller than a specified difficulty, but generally without value as only the hash smaller than the target value solving a block and determined by difficulty is of importance. Mining pools are available in a range of forms and arrangements as well as for different types of cryptocurrency. Depending on the mining pool, various payout schemes may be applied.

    Solo mining payout scheme

    Each submitted share will increase the credits of the Miner who submitted the share by the fixed share difficulty of the pool. The Miner who accumulated the most credits will receive the reward of the next block that has been mined by the pool and his credits will be reset to his current credits minus the credits of the runner up Miner. "Uncles" are distributed in a similar way only that the credits of the Miner receiving the uncle reward will not be reset.

    Pay-Per-Last-NShares ("PPLNS") payout scheme

    This reward system is round based, whereby one round has an arbitrary number (N) of minutes. When a block has been found by the pool, the block reward is distributed according to the number and difficulty of the shares submitted during the last hour. Payout takes place immediately after the minimum payout amount of 1 "Coin" has been reached. However, the payout threshold may be customizable.

    Pool fee

    The pool fee to be collected by the service provider amounts to a uniform x% (0.5% up to 2%) calculated from the total mining rewards as defined by the cryptocurrency consensus protocol .

    Share 

    A Share is awarded by the mining pool to the clients who present a valid proof of work of the same type as the proof of work that is used for creating blocks, but of lesser difficulty, so that it requires less time on average to generate. [Source: https://en.bitcoin.it/wiki/Pooled_mining ]

    Ethereum 

    Ethereum is an open-source project establishing a decentralised platform running applications exactly as programmed. Downtime, censorship, fraud and third party interference are not possible according to the developers. Using a customized blockchain able to move values, Ethereum has an enormously wide application area and provides numerous options for developers. The platform facilitates the realization of so called smart contracts, allowing, for example, the automatic negotiation or enforcement of contracts. Ether, as the actual cryptocurrency, is a necessary element for operating Ethereum (payment for requested operations). It is also traded on cryptocurrency exchanges. Ethereum Classic is a split from the existing cryptocurrency Ethereum and Etherium Classic offer the same features. Both blockchains act individually.

    Zcash 

    Zcash ("ZEC") is a decentralised and open-source cryptocurrency with increased confidentiality. Despite payments are – as usual in connection with cryptocurrencies – published on a blockchain, the sender, recipient and amount of transactions are only visible to those people with the corresponding "view key" as these "shielded" transactions are specifically encrypted. In using advanced cryptographic technology, transactions can be verified without revealing additional information.

  • Introduction

    This talk will be about why complete Decentralization and Immutability matter for public block chains, and why it is impossible to have one without the other. This will be used as the basis to discuss the consequences of the recent Ethereum Hard Fork, and what it could mean for the viability and integrity of the platform and its dapp developers.

    Bio

    Avtar has a PhD in Theoretical Physics and research experience in computational engineering.&160; Since leaving academia Avtar has held leadership positions in investment banking and consulting, specializing in quantitative finance, risk management, technology, and product management. Avtar is now the founder, CEO and chief product architect in Nivaura, a company developing digital platform solutions to manage the full lifecycle of decentralized smart financial assets.

  • Do you want to relocate your Blockchain company to an ICO friendly country? the ICO friendliness rating index is a interactive way to go through the list of countries that are hostile or favorable to ICO and Cryptocurrencies.

    Attention! a disclaimer is required:

    No Legal Advice or Attorney-Client Relationship: This chart is provided for informational purposes only and is not legal advice. This information is not intended to create, and receipt of it does not constitute, an attorney-client relationship. Recipient should not act upon this information without seeking advice from a lawyer licensed in his/her own state or country.

    I've created the ICO-Rating Index, a number (0-5) that represent how friendly a country is toward ICO and Cryptocurrencies in general. It can have the following values:

    • unknown (0),
    • prohibited (1)
    • mostly unfavorable (2),
    • mostly favorable (3),
    • favorable (4),
    • legalized (5).

    All maps are generated every 12 hours automatically. Official sources or link to online rating are always provided.

    Switzerland hosts the fourth highest number of ICOs, after the U.S., the U.K.,  Russia. 

    The US Security Exchange Commission (SEC) is currently trying to categorize Cryptocurrencies, and landscape will changes a lot in the coming months. In between you can still apply the Howey Test (online test) to distinguish in which category your token apply. Your token can be either a Utility token or a security token:

    Utility Tokens

    Utility tokens, also called user tokens or app coins, represent future access to a company’s product or service. The defining characteristic of utility tokens is that they are not designed as investments (if properly structured)

    Security Tokens

    If a Crypto token derives its value from an external, trade-able asset, it is classified as a security token and becomes subject to federal securities regulations. Failure to abide by these regulations could result in costly penalties and could threaten to derail a project. However, if a startup meets all its regulatory obligations, the security token classification creates the potential for a wide variety of applications, the most promising of which is the ability to issue tokens that represent shares of company stock.

    https://ico.tokens-economy.com display in an entertaining way the state of ICO worldwide legal framework and will be a work in progress for the next months to come.

    I need your help! you can submit map corrections by using this form.

  • Ever since Vitalik Buterin and Ethereum settled on Switzerland for its Foundation and Initial Coin Offering (ICO), Switzerland has been popular among blockchain-based businesses and is considered the number one in a list of the top 10 European countries for starting a blockchain company (source cointelegraph.com).

    PwC also found that ICO volume reached new record highs in the first half of 2018 ($13.7 Billion so far), already doubling the volume of the previous year! That inspired me a way to compare at the same time the volume, the categories and amount raised for all these ICO in an interactive and fun way.

    Thanks to D3js library and IcoBench.com the development was done in a new record time! but let me present the results for the most blockchain-friendly countries Switzerland – Russia – Singapore – USA - Estonia - Germany

    You can explore all charts by zoomingpanning and hovering over each bubble. Note that I did only consider ICO which are ended, most countries have a consequent number of ongoing ICO (more than 60 ICO ongoing in Switzerland!).

    Feedback is always welcome, use comments or ping me your remarks.

  •  This new rendering will allow you to better compare countries

    The rendering being dynamic you can also pass some parameters like

    https://ico.tokens-economy.com/statistics/collage.html?width=800&height=800

    The default size is width=450&height=450

    Filter by year ico end. e.g all ico ended in 2017

    https://ico.tokens-economy.com/statistics/collage.html?year=2017 

    Filter by category and year

    https://ico.tokens-economy.com/statistics/collage.html?category=Cryptocurrency 

    And more

    • ICO with no raised amount is also displayed now.
    • ICO webpage has been added
    • Text in bubble scale now properly and are always centered

     

     

  • Blockchain technology and cryptocurrencies have revolutionized the way companies raise capital but at the same time are bringing their own sets of challenges. To ensure that your startup will go through that (ad)venture in a safe manner, you should always adhere to best security practices, for your company AND your investors. 

    This mind map will present you in a visual way lots of valuable information like:

    • A compilation of the most dangerous threats to the ICO industry and how to mitigate,
    • A set of best practices to protect your ICO from hackers,

    Due to the nature of the ever-changing ICO landscape and the never-ending hackers creativity, this document will ALWAYS be a work in progress. I will continue extending it for the years to come, as long as there are interest and a value for the Blockchain community.

    Feel free in comments to give me your feedback :-)

  • Docker is a powerful tool for managing containers and run-time environments and, besides its many advantages, Docker can also be handy to keep your server tidy and secure.

    Docker allows to run operating systems, applications and tools in so called Containers. A #Container is an isolated environments that represents a autonomous host on its own – a bit in the same way a Virtual Machine does. Yet, Docker Containers are much lighter. They do not start an entire full-blown operating system for each Container instance. Instead, Docker uses Linux kernel isolation mechanisms to run applications on the top of the host’s operating systems, yet keeping them isolated.

    The Ethereum Go (language) team builds a Docker image of a “geth” node as part of their continuous build chain. Their Howto is more then enough to run your full node, mine below is just an enhanced example with volume, name, .. nothing fancy.

    # i want to persist the blockchain in a volume

    docker volume create --name=ethereum-data

    # and limit cpu usage to 20% of all 8 cores --cpus=".2", give a name to container, more command line options

    docker run --cpus=".2" -d -p 8545:8545 -p 30303:30303 \
    --name=ethereum-node \
    -v ethereum-data:/root/.ethereum ethereum/client-go \
    --rpc --rpcaddr "127.0.0.1"

    to stop and recreate the container

    docker stop ethereum-node && docker rm ethereum-node

    to go inside the container

    docker exec -it ethereum-node bash

    to test the RPC api

    curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' localhost:8545

    or 

    curl -H "Content-Type: application/json" -X POST \
     --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", true],"id":1}' http://127.0.0.1:8545

    see 
    https://ethereum.gitbooks.io/frontier-guide/content/rpc.html 

    You may want to register your node at The Ethereum (centralised) network status monitor , in that case just follow https://github.com/ethereum/wiki/wiki/Network-Status 

    My Ethereum node is now running at http://ethereum.galaxiis.com

    A better status page is in development using PHP with RPC