1 of 75

1

2 of 75

BLISS Project�Output O3 Open Education Resource�Task O3-T1 Training and assessment material

24

Selects appropriate technical options for blockchain design and implementation. Specifies, refines, updates and makes available a formal approach to design solutions, necessary to develop and operate a blockchain application

U2

Blockchain platform

Learning unit :

Abstract :

Hours :

2

3 of 75

Learning outcomes

Platform foundations

  • Characteristics of blockchain platforms (permissioned, public, etc.)
  • Blockchains programming paradigm
  • Architectural aspects, accessibility, and visibility
  • Identify the differentiating characteristics of the various blockchain platforms
  • Analyse and characterise different blockchain protocols according to given criteria
  • Select and formalise requirements of a blockchain protocol for specific scenarios

Knowledge

Skills

Learning unit

U2

Blockchain platform

Evaluate the feasibility of implementing the specified decentralized blockchain application within a suitable blockchain platforms

K3

3

4 of 75

Learning outcomes

Ethereum platform

  • Ethereum blockchain setup
  • Smart Contract cycle
  • Use Case implementation

Hyperledger platform

  • Hyperledger blockchain setup
  • Smart Contract cycle
  • Use Case implementation

  • Plan and design the specifications of a decentralized blockchain application for a given scenario

Knowledge

Skills

Learning unit

U2

Blockchain platform

Plan and design the specifications of a decentralized blockchain application

K4

4

5 of 75

U2 : Blockchain platform

Jean-Patrick Gelas, Hayri Acar, Léo Besançon, UCBL, France

Hind Benfenatki, INSA of Lyon, France

Revised by: Catarina Ferreira Da Silva and

Parisa Ghodous, UCBL, France

5

6 of 75

Table of Contents

  • Part 1: Understanding smart contracts and Ethereum platform
  • Blockchain context
  • Smart contract advantages and limitations
  • Smart contract lifecycle and Interacting with smart contracts
  • Tokenization, tokens’ examples and Ethereum ERC-20
  • Initial Coin Offering (ICO)
  • Decentralized Autonomous Organization (DAO)
  • Smart contract cost and fee schedule
  • Introducing Solidity

6

7 of 75

Table of Contents

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

7

8 of 75

Table of Contents: PART 1

  • Blockchain context
  • Smart contract advantages and limitations
  • Smart contract lifecycle and Interacting with smart contracts
  • Tokenization, tokens’ examples and Ethereum ERC-20
  • Initial Coin Offering (ICO)
  • Decentralized Autonomous Organization (DAO)
  • Smart contract cost and fee schedule
  • Introducing Solidity

8

9 of 75

Blockchain Context

Code is law

X

9

10 of 75

Smart Contract

  • Replaces traditional contracts in blockchain context [3]
  • Authority-less autonomous program, that directly controls numeric securities (digital assets), based on mutually agreed terms [3], [4], [5]
  • Looks like “if-then” instructions that automatically evaluate predefined conditions and do transactions [1]
  • Has an owner and a life cycle, and is executed on Ethereum Virtual Machine (EVM)[6]

10

11 of 75

Smart Contract Advantages

  • Immutability characteristic 🡺 Contract terms will not change
  • How about when a bug is introduced on a smart contract?
  • Autonomy and automaticity characteristics
    • Reduce audit and execution cost, and fraud
    • Allows to restrict actions as for acquisition schedule, where an individual owns actions but cannot dispose of them before a given date

11

12 of 75

Smart Contract Limitations

 

12

13 of 75

Examples

Supply chain

13

14 of 75

Table of Contents: PART 1

  • Blockchain context
  • Smart contract advantages and limitations
  • Smart contract lifecycle and Interacting with smart contracts
  • Tokenization, tokens’ examples and Ethereum ERC-20
  • Initial Coin Offering (ICO)
  • Decentralized Autonomous Organization (DAO)
  • Smart contract cost and fee schedule
  • Introducing Solidity

14

15 of 75

Smart Contract Lifecycle

15

16 of 75

Interacting with a Smart Contract

  • Smart contract is not self-executable
  • It requires an external call to be executed. Otherwise, it is pending till one calls one of its implemented functions [9]
  • Once it is executed, transactions resulting from the execution are transcribed on the blockchain and eventually smart contract’s meta data are updated

16

17 of 75

  • Contract address and its ABI are needed in order to communicate with a smart contract
  • Smart contract execution can be launched by human (private key account) or by smart contract (public key account) calls
  • Example of smart contract calls: alarm clock service

Interacting with a Smart Contract

17

18 of 75

Alarm Clock Service

  • Palliate two shortcomings
    • Smart contracts are not self-executable
    • A transaction is executed as soon as it is added to a block [14]
  • Ethereum contracts that do not implement suicide, and allows to schedule any contract function calls in a specified block
  • Equivalent to decentralized crons [16]
  • Scheduling can be done by contracts or Ethereum account holders [15]
  • Scheduled function calls execution allow to earn ethers
  • Anyone can execute function call since he is operating on Ethereum node
  • We can specify a list of authorized schedulers addresses [15]
  • Alarm clock contract specifies the transaction details: destination address, execution time window, transaction gas cost and the reward to be paid to the account that triggered the transaction [14]

18

19 of 75

Trans X

Trans X

S

A

B

T

T+1

Immutability

Fails

Weather

Sport scores

Road states

🡺 Oracles

Usage of Oracles

19

20 of 75

What is an Oracle?

  • Service which collects a given data a smart contract needs at a given predefined time, and stores it on the blockchain at a predefined location
  • It is a third party, which is against blockchain’s principle
  • Has a big power on the functioning of smart contracts which are unstoppable
  • Two cases of dysfunction
    • The oracle fails and does not collect any data
    • The oracle introduces a wrong information to the blockchain in voluntary or involuntary manner
  • Solutions: Oracles provable-honest, Consensus-based oracle and Physical oracle

20

21 of 75

Table of Contents: PART 1

  • Blockchain context
  • Smart contract advantages and limitations
  • Smart contract lifecycle and Interacting with smart contracts
  • Tokenization, tokens’ examples and Ethereum ERC-20
  • Initial Coin Offering (ICO)
  • Decentralized Autonomous Organization (DAO)
  • Smart contract cost and fee schedule
  • Introducing Solidity

21

22 of 75

Tokenization

“The process allowing the inscription of an asset and its rights on a token, thus allowing its management and exchange in a secure peer to peer way, instantly, on a blockchain infrastructure” [18]

22

23 of 75

Tokens

  • Numeric asset issued by a smart contract, exchangeable on a blockchain (Ethereum currently) without a central authority [19] [20]
  • Token’s smart contract describes token’s behavior and utility that are decided freely by the token’s creator [21]
  • Token exchangeability occurs in a peer to peer way
  • “… new value systems; they do not have the pretention to replace existing monetary systems” [20]
  • Usage right on the service to be developed
  • Tokens’ owners share value in a decentralized organization
    • This creates an economic interest to prosper the project
  • Unfalsifiable and unique, record exchange on immutable register, are exchanged securely [20]
  • Cryptocurrencies and tokens do not have intrinsic value
  • In opposition to a cryptocurrency, a token is dissociated from the consensus protocol of a public blockchain while issuing it [21]
  • Tokens can be created, salable, and purchasable at any time. Tokens are then liquid [20]

23

24 of 75

Purchasing Tokens

    • To use the associated service
    • To keep them in a speculation perspective
    • To receive a portion of the profits generated by the company
    • To convert them to its traditional currency ($...) [20] [23]

24

25 of 75

Tokens’ Examples

  • Storjcoin
    • Decentralized storage service
    • One can rent the free space of his computer on the network in exchange of storjcoin, or buy storage space on the network using storjcoin
  • iExec
    • French-Chineese project
    • Computing resources decentralized marketplace
    • One can rent the unused computing resources of his computer on the network in exchange of iExec, or buy computing resources on the network using iExec [20]

25

26 of 75

Ethereum Request for Comment ERC-20

  • 20th Ethereum Request for Comment (ERC)
  • ERC: process by which a person asks the Ethereum community to review and comment on a proposal for Ethereum
  • ERC-20: standard for the development of tokens on Ethereum
  • It describes the behavior of the token: functions and events an ERC20 token has to handle [22]
  • Any code implementing the ERC-20 specifications creates an ERC-20 token
  • This standard is dedicated to fungible tokens
  • Other initiatives exist such as ERC-223 and ERC-721
  • The creation of tokens usually coincides with the setup of an ICO

26

27 of 75

ERC-20: a Technical Standard

  • Used for smart contracts on the Ethereum blockchain for implementing tokens
  • Defines a common list of rules for Ethereum tokens to follow within the larger Ethereum ecosystem, allowing developers to accurately predict interaction between tokens
    • These rules include how the tokens are transferred between addresses and how data within each token is accessed
  • How to create a crypto-currency respecting ERC-20: [31], [32], [33].
  • Functions: balanceOf(), transfer(), doSomething(), approve(), transferForm(),…

27

28 of 75

ERC-721 : Non-Fungible Tokens

  • ERC-721 is a free, open standard that describes how to build non-fungible or unique tokens on the Ethereum blockchain
  • While most tokens are fungible (every token is the same as every other token), ERC-721 tokens are all unique
    • Think of them like rare, one-of-a-kind collectables [34]
  • ERC-721 defines a minimum interface a smart contract must implement to allow unique tokens to be managed, owned, and traded
    • It does not mandate a standard for token metadata or restrict adding supplemental functions
    • Interface and functions available in [34]

  • SafeMath available at [35]: Considering security is a big part of writing good Ethereum smart contracts
    • A common problem when dealing with numeric operations is the risk of overflow/underflow happens when an arithmetic operation reach the maximum or minimum size of the type
    • When using the SafeMath library, the results of operations (+,-,*) will be checked and an error will be thrown stopping the execution of your smart contract [36]

28

29 of 75

Table of Contents: PART 1

  • Blockchain context
  • Smart contract advantages and limitations
  • Smart contract lifecycle and Interacting with smart contracts
  • Tokenization, tokens’ examples and Ethereum ERCs
  • Initial Coin Offering (ICO)
  • Decentralized Autonomous Organization (DAO)
  • Smart contract cost and fee schedule
  • Introducing Solidity

29

30 of 75

Initial Coin Offering (ICO)

  • Crowdsale
  • Cryptocurrency fundraiser that mixes cryptocurrency and crowdfunding in order to finance blockchain projects [23]
  • Token selling organized by project owners [21]
  • To raise via ICOs, one has to use dedicated platforms on which he/she must issue tokens
  • Interested investors exchange cryptocurrency (ethers and bitcoins) by tokens [23]
  • Worldwide amount raised through ICOs: $ 96 million in 2016 🡺 $ 4 billion in 2017
  • Filcoin is a kind of a decentralized dropbox which held the record by raising $ 257 million
  • Brave web browser raised $ 35 million in 30 seconds [23]

30

31 of 75

  • Young enterprises do not have to wait for months before having the "go" of an investment fund
  • ICOs disadvantages
    • No guarantee for investors since it is difficult to verify the relevance and quality of a project that does not exist yet
    • Absence of control authority to regulate the market 🡺 "anyone can issue a digital title, so there are mechanically a lot of scams of all kinds," says Julien Beranger
    • Volatility of cryptocurrency can quickly raise or lower the amount raised depending on the technical developments of the platform and of other exceptional events
      • Hack of TheDAO engendered a significant drop in the course, while the technical developments of the Ethereum platform allowed the increase of the ether value [21]
      • In September 2017, all crypto-currencies lost 20% of their value in one day
      • Bancor Protocol raised $ 153 million in ICO. Three days later, the amount raised was only 119 million, a loss of 34 million dollars (-22.2%), due to the lower of ether
      • Companies can convert their ICO into euros on a marketplace [23]

ICOs Advantages and Disadvantages

31

32 of 75

  • According to the French financial markets authority (Autorité des marchés financiers (AMF)), the majority of transactions issued from ICOs are outside any regulation and that a minority of them may be subject to current law [23]
  • An ICO could be related to the regulation of intermediaries in various goods, to the public offering of financial securities or to managers of alternative investment funds
  • AMF wants to label the seriousness of ICOs in order to provide some guarantees to investors
  • Label-free ICOs will not be banned [23]

More on ICOs

32

33 of 75

Table of Contents: PART 1

  • Blockchain context
  • Smart contract advantages and limitations
  • Smart contract lifecycle and Interacting with smart contracts
  • Tokenization, tokens’ examples and Ethereum ERC-20
  • Initial Coin Offering (ICO)
  • Decentralized Autonomous Organization (DAO)
  • Smart contract cost and fee schedule
  • Introducing Solidity

33

34 of 75

Decentralized Autonomous Organization (DAO)

  • Smart contract-based incorruptible trustlessness organization, on which rules of governance are automated and immutably and transparently registered on a blockchain instead of being managed by a central authority
  • People who helped to create and fund the organization, own it
  • Everything in DAO is transparent and auditable
  • DAO cannot be stopped or closed. It does not rely on any jurisdiction
  • The most famous example of DAO is « TheDAO project »
    • Created in 2016 on the Ethereum blockchain
    • To create an organization able to evaluate projects submitted to it in order to decide to fund the projects or not [25]
    • Its crowdsale surpasses the 160 million dollars in nearly four weeks
    • Victim of a large-scale attack that highlighted the security and code auditing challenges
    • Moved the excitement around DAO projects to ICOs
    • United states consider that tokens of TheDAO project have to be considered as securities as they were intended to provide financial gain to investors
    • To be legal, DAOs will now have to comply with KYC (Know Your Customers) requirements

34

35 of 75

Table of Contents: PART 1

  • Blockchain context
  • Smart contract advantages and limitations
  • Smart contract lifecycle and Interacting with smart contracts
  • Tokenization, tokens’ examples and Ethereum ERC-20
  • Initial Coin Offering (ICO)
  • Decentralized Autonomous Organization (DAO)
  • Smart contract cost and fee schedule
  • Introducing Solidity

35

36 of 75

Understanding Ethereum Smart Contract Cost

  • Gas: The fundamental network cost unit
    • The concept of gas was introduced to keep a distinct value that solely indicates the consumption towards computational expenses on the Ethereum network
    • Having a separate unit allows maintaining a distinction between the actual valuation of the cryptocurrency, and the computational cost
    • Analogy: running a real-world car for X miles may require Y gallons of fuel
    • Paid for exclusively by Ether (as of PoC-4 (Proof of Concept)), which is converted freely to and from Gas as required
    • Gas does not exist outside of the internal Ethereum computation engine
    • Its price is set by the Transaction and miners are free to ignore Transactions whose Gas price is too low [26]
  • GWEI is a denomination of ether (ETH), the cryptocoin used on the Ethereum network [27]
  • 20 GWEI (price) per gas (unit)
  • 1 Ether = 1,000,000,000 Gwei (109)

36

37 of 75

  • Tx fee: (gas limit * gas price)
    • This is not a TX fee that any service provider receives. This fee is paid to miners for mining transactions, putting them into blocks, and securing the blockchain
  • Gas limit: The gas limit is called the limit because it's the maximum amount of units of gas you are willing to spend on a transaction
    • This avoids situations where there is an error somewhere in the contract. However, the units of gas necessary for a transaction are already defined by how much code is executed on the blockchain.
    • If you do not want to spend as much on gas, lowering the gas limit won't help much. You must include enough gas to cover the computational resources you use or your transaction will fail due to an Out of Gas Error

Ethereum Tx Fee and Gas Limit

37

38 of 75

[28]

An Ethereum Wallet Flow

38

39 of 75

Ethereum Gas Price

  • Gas price: If you want to spend less on a transaction, you can do so by lowering the amount you pay per unit of gas
    • The price you pay for each unit increases or decreases how quickly your transaction will be mined
  • During normal times:
    • 40 GWEI Gas Price will almost always get you into the next block
    • 20 GWEI will usually get you within the next few blocks
    • 2 GWEI will usually get you within the next few minutes
  • The transaction fees go to the miner who mines your block
  • When miners mine a block, they have to decide which transactions to include
    • They can choose to include no transactions, or they can choose to randomly select transactions
    • In order to encourage miners to include transactions in blocks you want to set a "Gas Price" that is high enough to make them want to include it (since it is entirely up to them)
  • Most miners follow a very simple strategy for inclusion
    • They include transactions they received sorted from highest Gas Price to lowest, then include them until either the block is full or they reach one that has a Gas Price set lower than they are willing to bother with
  • For recommended Gas Prices see [29]

39

40 of 75

Fee Schedule

40

41 of 75

41

42 of 75

Several more on [26]

42

43 of 75

Summary on Smart Contracts

  • Smart contract represent special algorithms for the automation of contracts including deal making processes
    • Such a contract allows people to sell realties, exchange shares, money, documents or any proprietary [30]
  • Key properties of smart contracts
    • Autonomy, Decentralization, Auto-sufficiency

43

44 of 75

Advantages

Disadvantages

Agent neutrality in signing deals

Difficult to make changes

Automation in signing deals, time saving: excludes human participation in transactions, everything is done by the prescribed program code

The third party agents do not disappear but starts playing a different role. The need for lawyers experienced in IT increases in the future because the programmers of smart contracts will need consultations for making new kinds of contracts

Safety: data in the decentralized registry cannot be lost and cyber attacked

The consumers are quite suspicious because it is a new technology and they do not understand it yet

Precision: no mistakes can be made due to the absence of hand-filled forms

One can keep and save data in smart contracts safely and it is void of any distortions, only if the code is written perfectly and precisely

Summary of Advantages and Disadvantages of Smart Contracts

44

45 of 75

Introducing Solidity

  • Get set example:

pragma solidity ^0.4.0;

contract SimpleStorage {

uint storedData;

function set(uint x) public {

storedData = x;

}

function get() public view returns (uint) {

return storedData;

}

}

45

46 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

46

47 of 75

Hyperledger Fabric

Introduction to permissioned blockchains

47

48 of 75

What is Hyperledger?

  • Incubator of open source Blockchain projects created by The Linux Foundation
  • Aims to bring the technology to companies

48

49 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

49

50 of 75

Why Do We Need Permissioned Blockchains?

  • Permissionless Blockchain: Anyone can set up a node, send transaction, validate blocks

Example : Bitcoin, Ethereum, EOS…

  • Permissioned Blockchain: Shared ledgers between peers are crypted, you can only see transactions you have the rights to

Example : Hyperledger Fabric, Quorum...

50

51 of 75

  • Enterprises need
    • Transparency between partners
    • Scaling (both low latency and high throughput)
    • Confidentiality rules
    • Permissions and accountability for each user

  • Enterprises don’t need as much
    • Decentralization
    • Transparency between everyone

Drivers of Permissioned Blockchains

51

52 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

52

53 of 75

About Hyperledger Fabric

  • Project developed by IBM
  • Most features are plug-and-play, heavily modulable design
  • Smart-contracts, called “chaincodes” can be written in multiple languages

Example: Node, Go, Java

  • Suitable for organizations of every size

53

54 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

54

55 of 75

Network Architecture

Org 2

Org 1

Peer 1

Peer 2

Peer 3

Ledger 1 + Chaincode

Ledger 2 + Chaincode

0

1

2

0

1

2

3

  • Organizations: Companies that want to exchange data and trust

  • Peers: Different services within a company

  • Users: Individuals who connect to their peer to log into the network

55

56 of 75

Network Architecture: Sending a Transaction

Org 2

Org 1

Peer 1

Peer 2

Peer 3

Ledger 1 + Chaincode

Ledger 2 + Chaincode

  • A user uses her app to
    • Connect to her peer
    • Send transactions to a specific ledger

  • Orderer: Special node who validates blocks
    • There can be multiple orderers, from different organizations

  • Consensus is achieved by Proof of Authority or by the Kafka consensus mechanism

Orderer

1

2

2

56

57 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

57

58 of 75

Setting up a Network with a Configuration File

  • The step up is done in a structure

defined in a .yaml config file

58

59 of 75

  • The config file is used to generate
    • Orderer Certificate
    • Peer Certificate
    • User Certificate
    • App Certificate
  • These certificates can be used to access the network

Setting up a Network

59

60 of 75

Setting up a New Ledger

  • A ledger can be shared between peers by generating its genesis block from another .yaml config file

  • You define in it which peers have access to the ledger and which orderer will be used to validate blocks

60

61 of 75

A New Ledger of Transactions

With the genesis block file and your certificates, you are all set to start sending transactions

61

62 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

62

63 of 75

Chaincodes

  • Hyperledger smart contracts, called “chaincodes”, can be written in multiple languages
    • Example: Node, Go, Java
  • Non deterministic code cannot be used!
    • HTTP Requests
    • Random number generators
    • Any code which would behave differently on multiple nodes
    • Solidity is inherently deterministic, which is not the case of these languages

63

64 of 75

  • Using Go, you can write a smart contract by importing Hyperledger libraries and creating a custom type object for your contract

Writing Hyperledger Smart Contracts

64

65 of 75

Writing Hyperledger Smart Contracts

  • Then, you append your functions to this object using prototypes

65

66 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

66

67 of 75

Possible Use Cases

  • Supply chain transparency, archiving and tracking

“Where does the fish ordered in this restaurant was caught?”

  • Hyperledger Sawtooth is a Blockchain platform supporting both permissioned and permissionless ledgers

67

68 of 75

Data Sharing Between Multiple Tiered Partners

“I want to easily share a ledger with Company A and its supplier Company B without their competitor Company C having access. But we’re on the same network!”

  • Here, each company is represented by an Organization in a Hyperledger Fabric network
  • My peer would create the genesis block for the ledger shared with a peer in Company A and a peer in Company B, giving access and permissions
  • To assure confidentiality, I do not include any peer belonging to Company C in the permissions for this ledger

68

69 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

69

70 of 75

Hyperledger Resources

70

71 of 75

Table of Contents: PART 2

  • Part 2: Hyperledger platform
  • What is Hyperledger?
  • Why do we need permissioned Blockchains?
  • About Hyperledger Fabric
  • Network architecture: sending a transaction
  • Setting up a network and a new ledger
  • Writing Hyperledger Smart contracts
  • Possible use cases
  • Hyperledger resources
  • References

71

72 of 75

References

1

«Qu’est-ce qu’Ethereum ?,» [En ligne]. Available: https://blockchainfrance.net/2016/03/04/comprendre-ethereum/. [Accès le 24 05 2018].

2

S. BOURGUIGNON, «L’ICO cette nouvelle forme de levée de fonds qui fait tourner les têtes,» 26 Juin 2017. [En ligne]. Available: https://siecledigital.fr/2017/06/26/lico-cette-nouvelle-forme-de-levee-de-fonds-qui-fait-tourner-les-tetes/.

3

J. Luc, «Qu’est-ce qu’un « smart contract » ?,» [En ligne]. Available: https://bitcoin.fr/quest-ce-quun-smart-contract/. [Accès le 24 05 2018].

4

«Blockchain : qu’est-ce qu’un Smart Contract et à quoi ça sert ?,» [En ligne]. Available: https://www.lemagit.fr/conseil/Blockchain-quest-ce-quun-Smart-Contract-et-a-quoi-ca-sert.

5

B. France, «Les applications prometteuses des smart contracts,» 28 January 2016. [En ligne]. Available: https://blockchainfrance.net/2016/01/28/applications-smart-contracts/.

6

M. Zimmermann, «Blockchain, Ethereum and Business Applications,» 23 May 2017. [En ligne]. Available: https://www.slideshare.net/MatthiasZimmermann1/blockchain-ethereum-and-business-applications. [Accès le 31 May 2018].

7

K. Healy, «Ethereum in Depth: Smart Contracts - Part 1: What is a Smart Contract?,» 2017.

8

B. France, «Les applications prometteuses des smart contracts,» 28 January 2016. [En ligne]. Available: https://blockchainfrance.net/2016/01/28/applications-smart-contracts/.

9

C. |. t. c. g. o. Ethereum. [En ligne]. Available: https://cryptozombies.io/en/course.

10

K. TAM, «The Best Tools for Smart Contract Development,» 2018. [En ligne]. Available: https://blockgeeks.com/guides/smart-contract-development/. [Accès le 31 May 2018].

11

Mobilefish.com, «Ethereum contract Application Binary Interface,» 2017.

12

[En ligne]. Available: https://ethereum.stackexchange.com/questions/234/what-is-an-abi-and-why-is-it-needed-to-interact-with-contracts.

13

S. POLROT, «Les Oracles, lien entre la blockchain et le monde,» 13 September 2016. [En ligne]. Available: https://www.ethereum-france.com/les-oracles-lien-entre-la-blockchain-et-le-monde/.

72

73 of 75

14

P. Merriam, «Ethereum Alarm Clock Documentation, Release 1.0.0,» 12 December 2017. [En ligne]. Available: https://media.readthedocs.org/pdf/ethereum-alarm-clock-service/latest/ethereum-alarm-clock-service.pdf.

15

P. Merriam, «Ethereum Alarm Clock,» [En ligne]. Available: http://www.ethereum-alarm-clock.com/.

16

B. Lafontaine et Y. Rouillard, «La Blockchain en détail,» 2016.

17

«How To Write A Smart-Contract For Your ICO? An Ultimate guide,» [En ligne]. Available: https://howtotoken.com/ico/how-to-write-a-smart-contract-for-your-ico-an-ultimate-guide/#limitations.

18

«Comprendre la tokenisation,» 22 May 2018. [En ligne]. Available: https://blockchainfrance.net/2018/05/22/comprendre-la-tokenisation/.

19

«Le web de demain sera décentralisé | Clement Jeanneau | TEDxAgroParisTech,» [En ligne]. Available: https://youtu.be/ISYmB5HBpP4.

20

«Qu’est-ce qu’un token ?,» 22 May 2018. [En ligne]. Available: https://blockchainfrance.net/2018/05/22/comprendre-les-tokens/.

21

S. POLROT, «Qu’est-ce qu’une cryptomonnaie, un token, un actif numérique ?,» 2 June 2017. [En ligne]. Available: https://www.ethereum-france.com/qu-est-ce-qu-une-cryptomonnaie-token-bitcoin-ether-gnt-gno-dgd-plu-rep-rlc/.

22

S. POLROT, «Qu’est-ce qu’un token ERC20 ?,» 02 January 2018. [En ligne]. Available: https://www.ethereum-france.com/qu-est-ce-qu-un-token-erc20/.

23

C. Perreau, «L'ICO, ou comment lever des millions en quelques secondes,» 01 June 2018. [En ligne]. Available: https://www.journaldunet.com/economie/finance/1195462-ico-initial-coin-offering/.

24

Koinbros, «What are ERC20 and ERC223 tokens?,» 21 November 2017. [En ligne]. Available: https://medium.com/cryptomover/what-are-erc20-and-erc223-tokens-307badcca5a.

25

«Qu’est-ce qu’une DAO ?,» 12 May 2016. [En ligne]. Available: https://blockchainfrance.net/2016/05/12/qu-est-ce-qu-une-dao/.

References

73

74 of 75

26. ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER BYZANTIUM VERSION (Ethereum yellow paper), https://github.com/ethereum/yellowpaper

27. https://www.investopedia.com/terms/g/gas-ethereum.asp

28. What is Gas, https://kb.myetherwallet.com/gas/what-is-gas-ethereum.html

29. Recommended Gas Prices, https://ethgasstation.info/

30. Advantages and Disadvantages of Smart Contracts in Financial Blockchain Systems, https://hackernoon.com/advantages-and-disadvantages-of-smart-contracts-in-financial-blockchain-systems-3a443145ae1c

31. Create your own crypto-currency with Ethereum, https://www.ethereum.org/token

32. ERC20 Token Standard, https://theethereum.wiki/w/index.php/ERC20_Token_Standard

33. OpenZeppelin, https://github.com/OpenZeppelin/openzeppelin-solidity/tree/master/contracts/token

34. What is ERC-721?, http://erc721.org/

35. Build Secure Smart Contracts in Solidity, https://openzeppelin.org/

36. SafeMath to protect from overflows, https://ethereumdev.io/safemath-protect-overflows/

References

74

75 of 75

75