Upload
alan-quayle
View
196
Download
4
Embed Size (px)
Citation preview
New York USA
London UK
Munich Germany
Zug Switzerland
New York USA
London UK
Munich Germany
Zug Switzerland
TAD Summit 2017Blockchain Micropayments Demo
BlockchainWhen do we need it?
• Blockchain (distributed ledger) is a network that records ownership through a shared registry
• It eliminates the need for central authorities to authenticate and clear transaction
• Can be open, verifying anonymous transactions,
or closed and requiring actors to be authenticated
CENTRAL
DATABASE
CENTRALIZED LEDGERDISTRIBUTED LEDGER
• Mobile banking and micropayments, including MI and IoT use cases
• Device identity & authentication, data time-stamping and
asset management
• Contract-as-a-Service for enterprise-facing telcos
• Manage SLAs for CSPs' own network services
• An efficient billing system that accurately tracks usage of services and instantaneously
charge their subscribers
• NFV monetization, fraud prevention, wholesale reconciliation and data-integrity protection
BlockchainSuggested Use Cases
• Create simple and efficient billing system that can accurately track subscribers' use of the
services and instantaneously charge their subscribers
• Streamline operational and business processes by adopting hybrid blockchain networks
• Overwhelm blockchain scalability limitations
• Building blocks: Telestax Restcomm,
Speech Recognition AI,
µRaiden
Blockchain DemoIdea
• An open source payment channel framework for fast & free off-chain ERC20 token
transfers between two parties
• Complementary to the Ethereum blockchain
• Business models involving frequent payments between the client
and the service provider are not efficiently possible on current
blockchains due to slow confirmation times and high transaction fees.
• Using µRaiden, service providers can comfortably cover Pay-per-Use
scenarios (APIs, digital content and utilities) via micropayments in
Ethereum based tokens
µRaidenread: Micro Raiden
• Restcomm App requests for speech
recognition services
• Restcomm Media Server pays tokens for
each word recognized by external
Speech Recognition Service
• µRaiden implements the ERC20-based
authentication and micropayments
• Everything works in the Kovan or
Ropsten Revival testnets
Blockchain DemoArchitecture
SIP
MGCP
RTP/UDP
Speech API
(wrapper)
Restcomm
RCML
Media Server
Ethereum Blockchain
• Part of the network of unidirectional payment channels
• Managed by dedicated smart contract that works as an escrow*
• No need to transact every micro-payment on the blockchain, so do not cost any gas
• Transfers are secured and trustless, backed by an on-chain deposits
• Few parameters: GAS Price, Channel Lifetime in Blocks, Deposit in Tokens
• Can be closed by sender and receiver at any point in time
*third party that holds and regulates payment required for two parties involved in a given transaction
Blockchain DemoµRaiden Micropayment Channel
1. Client ("sender") opens a micropayment Channel with the provider ("receiver") using Ethereum Wallets
2. Sender funds the channel and creates Deposit with a certain number of Tokens
3. Consuming the service, Sender sends signed Cheque (balance proof) to Receiver
4. Receiver verifies signature on the Cheque and
decides on the further provisioning of service
(Steps 3 and 4 can be repeated)
5. Receiver may decide to claim the collected Tokens
from the channel and cashes the Cheque
6. Receiver closes the Channel
Blockchain DemoProcess
BlockchainSender Receiver
Channel
Deposit Cheque
53
42
1
Three main parts: Driver, Billing Service, VR Service.
• Driver – VR Service: binary format for communication through Java NIO
Netty server
• Driver – Billing Service: REST
Spring Boot with embedded Tomcat
• Billing Service – VR Service: REST, JSON format
Spring Boot with embedded Tomcat
• WebSocket is used for push notifications from Backend to UI in Billing Service (when
a new Cheque generated) and in VR Service (when the new Cheque received)
• UI for both applications implemented on Angular 2
Blockchain DemoImplementation
1. Started with 1810,
2. Opened Channe#1 and deposit 50
balance is 1760
3. Spent 2 and 4 (one and two words
are recognized)
4. Opened Channel#2 and deposit 50
balance is 1710
5. Creating new channel
Sender informs Receiver that he may cashe the cheque
6. Closed the Channel#1, signed cheque and got back deposit minus 6, balance is 1754
Blockchain DemoRecording…
1. Started with 1810,
2. Opened Channe#1 and put 50 as deposit,
balance is 1760
3. Spent 2 and 4 from Channel#1 deposit,
4. Opened Channel#2 and put 50 as deposit,
balance is 1710
5. Creating new channel Sender informs Receiver that he may cashe the cheque
6. Closed the Channel#1, signed cheque and got back deposit minus 6, balance is 1754
Blockchain DemoAn Explanation…
Channel 150 TKN, -2 TKN, -4 TKN
Channel 250 TKN
1810 171050 2 4 50 441760 1754
• https://raiden.network/micro.html
• https://hackernoon.com/%C2%B5raiden-micropayments-for-ethereum-
f0756cd400b3
• https://raiden.network/101.html
• https://medium.com/databrokerdao/enabling-micro-transactions-in-
the-ethereum-erc20-based-databrokerdao-iot-marketplace-with-the-
3020d729b10e
Blockchain DemoUseful links