background preloader

The Blockchain Explained to Web Developers, Part 1: The Theory

The Blockchain Explained to Web Developers, Part 1: The Theory
The blockchain is the new hot technology. If you haven’t heard about it, you probably know Bitcoin. Well, the blockchain is the underlying technology that powers Bitcoin. To begin, let’s try to understand what blockchains really are. What Is A Blockchain, Take One Although the blockchain was created to support Bitcoin, the blockchain concept can be defined regardless of the Bitcoin ecosystem. A blockchain is a ledger of facts, replicated across several computers assembled in a peer-to-peer network. I don’t know about you, but after reading these definitions, I still had troubles figuring out what this is all about. Ordering Facts Decentralized peer-to-peer networks aren’t new. P2P networks, like other distributed systems, have to solve a very difficult computer science problem: the resolution of conflicts, or reconciliation. Take for instance the double spend problem: Alice has 10$, and she sends twice 10$ to Bob and Charlie. Blocks Mining But nodes don’t just roll a couple dice. Contracts

Home | Hyper Ledger Foundation Monax | Tutorials | Getting Started Eris is the ecosystem application platform built by Monax. There are four steps need to get moving with Eris: Install the platform.Roll the blockchain base for your ecosystem application.Deploy your ecosystem application using smart contract templates and a simple, web-based user interface.Integrate your ecosystem application with a web server or other microservices. Dependencies: eris has 2 dependencies: Docker and Docker Machine. Docker is a run anywhere container solution which makes development, deployment, testing, and running of ecosystem applications a breeze and Docker Machine allows you to run Docker on remote machines. Currently we consider the most workable setup to be (what our tests consider authoritative) with these operating system and dependencies’ versions: Host OS = UBUNTU:16.04Docker = 1.11.2Docker Machine = 0.8.1 We are working steadily toward making eris available for a wide variety of host environments. Linux Essential! sudo usermod -a -G docker $USER docker version macOS

The Blockchain Explained to Web Developers, Part 3: The Truth After exploring the blockchain theory and using it for real, we now have a better understanding of its strengths and weaknesses. Surprisingly, most of our conclusions are very different from what you will read in the blogosphere. Maybe it’s because we don’t blindly relay the fascination caused by the huge valuations of BitCoin and others. Maybe it’s because the hard truth about the blockchain is that it’s not ready yet. Read on to understand our take on the blockchain, based on strong evidence. The Technology Is Not Mature Enough As explained in detail in the previous post in this series, developing Decentralized Apps over a blockchain is a pain. It’s not that the Ethereum developers and community are bad ; they’re amazing, and they’re pouring a lot of time and expertise into their tools. Tip: We haven’t developed DApps for Bitcoin, but I’ve heard it’s worse. The consequence is that developers don’t want to work on blockchain projects - they find it very frustrating. Developer Power

La blockchain expliquée aux développeurs web, 3ème partie : la vérité sur la blockchain Après avoir exploré de manière théorique la blockchain, et après avoir utilisé la blockchain pour de vrai, nous avons maintenant une meilleure compréhension de ses forces et de ses faiblesses. Surprise : nos conclusions sont très différentes de ce que vous pourrez lire ailleurs sur le web. Peut-être est-ce parce que nous ne relayons pas aveuglément la fascination ambiante, engendrée par l’impressionnante valorisation du BitCoin et des autres crypto-monnaies. C’est sûrement dû au fait que la dure réalité à propos de la blockchain, c’est qu’en fait elle n’est pas encore prête. La technologie n’est pas assez mature Comme nous l’avons expliqué en détail dans le second article de cette série, développer des DApps (Decentralized Apps en anglais) sur la blockchain, c’est douloureux. Ce n’est pas parce que les développeurs et la communauté Ethereum sont mauvais. Note: Nous n’avons pas développé d’application décentralisée (DApp) pour Bitcoin, mais j’ai entendu dire que c’était encore pire.

The Blockchain Explained to Web Developers, Part 2: In Practice Is the blockchain a revolution? The technology that powers Bitcoin sure has the potential to disrupt the entire Internet, as we explained in a previous post. But how can you, a developer, use the blockchain to build applications? We wanted to find out, and there is no better tutorial than developing an app from scratch. Application Concept The blockchain shines when it replaces intermediaries. Since the famous Million Dollar Homepage experiment, innovating in the field of paid ads can’t make you rich anymore. Instead, we chose to build a tool that allows to display ads for free - a Zero Dollar Homepage. User Workflow In concrete terms, whenever we merge a Pull Request (PR) on one of marmelab’s open-source repositories, a GitHub bot comments on the PR, and invites the PR author to publish their ad on the ad platform admin panel. Following the link contained in the comment, the PR author is asked to sign in with their GitHub credentials. Architecture Research, documentation and first attempts

Consensus (computer science) A fundamental problem in distributed computing is to achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database, agreeing on the identity of a leader, state machine replication, and atomic broadcasts. The consensus problem requires agreement among a number of processes for a single data value. Some of the processes may fail or be unreliable in other ways, so consensus protocols must be fault tolerant. One approach to generating consensus is for all processes to agree on a majority value. Termination Every correct process decides some value. Validity If all processes propose the same value , then all correct processes decide Integrity Every correct process decides at most one value, and if it decides some value , then must have been proposed by some process. Agreement

Preuve de travail Un système[1] de validation par preuve de travail[2],[3] (en anglais : proof of work, PoW) est, en informatique, un protocole[4] permettant de repousser, sur un environnement client-serveur, des attaques par déni de service ou d'autres abus de service tels que les spams. Ce système de preuve de travail est utilisé dans des cadres beaucoup plus complexes, pour la validation des transactions de la blockchain de certaines crypto-monnaies comme le Bitcoin. Cette vérification par les mineurs de bitcoins est récompensée par l'émission de nouveaux bitcoins au bénéfice des vérificateurs. Concept[modifier | modifier le code] Comme preuve de travail, le serveur requiert du client d'effectuer une petite tâche sous forme d'un calcul par exemple. Une caractéristique essentielle du concept de preuve de travail est l'asymétrie du coût de mise en œuvre. Contexte[modifier | modifier le code] Une des premières mises en œuvre de la preuve de travail est Hashcash qui cherche à prévenir le pourriel.

La blockchain expliquée aux développeurs web, partie 1: la théorie La blockchain est à la mode - on n’entend parler que de ça. Et si le nom de blockchain ne vous dit rien, vous avez sûrement déjà entendu parler de Bitcoin. Dans ce cas, c’est simple : la blockchain est la technologie sous-jacente à Bitcoin. Les experts prétendent que la blockchain va probablement révolutionner notre société autant que l’Internet en son temps. Mais qu’est-ce que c’est vraiment, et comment peut-on l’utiliser concrètement pour développer, aujourd’hui, des applications ? Ce billet est le premier d’une série de trois, tentant d’expliquer le phénomène blockchain aux développeurs web. Et pour commencer, essayons de comprendre de quoi il s’agit vraiment. Qu’est-ce que la blockchain, premier essai. Même si l’histoire de la blockchain est indissociablement liée à celle de Bitcoin, on peut la définir sans faire référence à Bitcoin. Une blockchain est un registre de faits, répliqué sur plusieurs ordinateurs reliés entre eux par un réseau pair à pair. L’ordre des faits Les blocs

Related: