SlideShare a Scribd company logo
1 of 148
Agenda
8:30-9:30am

– Registration

9:30-9:50am

– Welcome and Introduction, Chris Larsen, CEO, Ripple Labs

9:50-10:20am

– Ripple Technical Overview, Evan Schwartz, Software Engineer, Ripple Labs

10:20-11:10am

– Integrating with Ripple for Merchants and Gateways, Bob Way, Integration
Engineer, Ripple Labs; Denis Kiselev, CEO, SnapSwap; and Brian KellerHeikkila, CTO, ZipZap

11:10-11:20am

– Break

11:20am-12:10pm

– Ripple Architecture and Advanced Uses, David Schwartz, Chief
Cryptographer, Ripple Labs

12:10-12:30pm

– Future Focus for Our Engineering Team, Stefan Thomas, CTO, Ripple Labs

12:30 onward

– Networking
Summary
Ripple and Ripple Labs

• a distributed payments protocol

• venture backed company that

• a new currency - ripples (XRP)

contributes code and promotes the

• the world‟s first distributed currency

Ripple protocol

exchange

Chris Larsen, CEO, Ripple Labs
Math Based Currency Movement
• Focus: Erosion of trust political currencies
• Solution: Trust in math relationship of servers in a distributed network
- No central authority to debase money supply.
- Fixed amount that can‟t increase

AU

BTC/XRP/LTC

Chris Larsen, CEO, Ripple Labs
Virtual Currency is Just the Beginning

Chris Larsen, CEO, Ripple Labs
The World Needs a
Transaction Web Protocol
Information Exchange

Value Exchange

“world is flat”

“world is curved”

Chris Larsen, CEO, Ripple Labs
Confirmation in a Decentralized System
Mining Method (Bitcoin)
• Reward first „miner‟ to solve a math
problem that is a confirmation.

• Need extremely powerful computers,
energy intensive.

Consensus Method (Ripple)
• Current state of global ledger.
• Transactions that are valid to majority of servers
are updated to ledger.

• 5-10 second confirmations.

• Average 10 minute confirmations

Chris Larsen, CEO, Ripple Labs
Benefits as a Payment Protocol

Any Currency

Global

No Chargebacks

Fast

Free

Chris Larsen, CEO, Ripple Labs
Peer-to-Peer Architecture

Chris Larsen, CEO, Ripple Labs
A Common Ledger

Chris Larsen, CEO, Ripple Labs
Ripple is a Protocol
Like SMTP, a Protocol for Moving Money
• Ripple is a set of standards
• “Server Calls” to Send, Receive, etc.
• Transact without Intermediaries
• Decentralized System
• Open to Developers
• No Network Operator

Chris Larsen, CEO, Ripple Labs
Gateways
Cash in, Cash Out
• Gateways take deposits and issue local currency balances on Ripple
• Balances can be transferred across the ledger without intermediaries
• Gateways earn fees as they wish

Chris Larsen, CEO, Ripple Labs
Distributed Exchange
• Can create bid/ask offers for any currency pair from
any issuer

• Participants can profit from forex spreads

• Ripple routes transactions through a path finding
algorithm to find the lowest cost execution

• Supports algorithm-driven trading

Chris Larsen, CEO, Ripple Labs
The Role of XRP in Ripple
1. protects network from:
- DDOS attacks
- ledger spam

2. universal medium of exchange
- no counterparty
- every node trusts

Chris Larsen, CEO, Ripple Labs
Pre-Mining
Ripple doesn‟t need to incent transaction validators with XRP, so mining
is optional. Instead we chose to use XRP to support:
The Network

– Build and incent an amazing team (Ripple Labs)
Utility

– Give away XRP to as many consumers as possible
Liquidity

– Incent market makers with long-term forgivable XRP loans

Chris Larsen, CEO, Ripple Labs
What, How, Who Cares?
(in 20 minutes)

Evan Schwartz
What is Ripple?

Evan Schwartz
Open Source Payment Network

Evan Schwartz
Four Types of Users
Basic Users

Merchants

Market Makers

Gateways

Evan Schwartz
Basic User Experience

Evan Schwartz
Basic User Experience

What could you
do with that?

Evan Schwartz
Merchant Experience

Evan Schwartz
Basic User Experience

What could you
do with that?

Evan Schwartz
Market Maker Experience

Evan Schwartz
Market Maker Experience

Evan Schwartz
Basic User Experience
Interesting…

Evan Schwartz
Gateway Experience

Evan Schwartz
Gateway Experience

Evan Schwartz
Transactions in any currency?

Evan Schwartz
Too many pairs
of currencies

Evan Schwartz
XRP connects people

Evan Schwartz
XRP connects
currencies

Evan Schwartz
Basic User Experience

Evan Schwartz
Basic User Experience

Did you really need a caption?

Evan Schwartz
Evan Schwartz
Business Integration

Bob Way, Integration Engineer
Ripple Integration
Three Steps
1. Set-up your Ripple account and trust lines.
2. Install a local rippled server

3. Automate your business processes

Bob Way, Integration Engineer
Step 1
The Ripple Ledger

Bob Way, Integration Engineer
NewGate
A gateway in 10 minutes

NewGate

Bob Way, Integration Engineer
NewGate
user trust

NewGate

Alice

Bob Way, Integration Engineer
NewGate
user trust

NewGate

Alice

Bob Way, Integration Engineer
NewGate
deposit

NewGate

$5

Alice

Bob Way, Integration Engineer
NewGate
second user trust

NewGate

$5

Alice

Bob

Bob Way, Integration Engineer
NewGate
payment

NewGate

$5

Alice

Bob

Bob Way, Integration Engineer
NewGate
payment

NewGate

$5

Alice

Bob

Bob Way, Integration Engineer
NewGate
withdrawal

NewGate

$1
$4

Alice

Bob

Bob Way, Integration Engineer
NewGate
make it real!

LAME!
NewGate

$4

Alice

Bob

Bob Way, Integration Engineer
NewGate
making it real!

SnapSwap

Offers

Bitstamp

Outbound
Bridge

Bitcoin

NewGate

$4

Alice

Bob

Bob Way, Integration Engineer
NewGate
liquidity

SnapSwap

Bitstamp

Offers

$10

Outbound
Bridge

Bitcoin

$10

Mark

NewGate

$4

Alice

Bob

Bob Way, Integration Engineer
NewGate
inter-gateway payment

SnapSwap

Bitstamp

Offers

$10

Outbound
Bridge

Bitcoin

$8

Mark

$2
NewGate

$2

Alice

Bob

Bob Way, Integration Engineer
NewGate
pay anyone

SnapSwap

Bitstamp

Offers

$10

Outbound
Bridge

Bitcoin

$8

Mark

$2
NewGate

$2

Alice

Bob

Bob Way, Integration Engineer
Denis

Denis Kiselev
SnapSwap

$2
SnapSwap

Bitstamp

Offers

$8

Outbound
Bridge

Bitcoin

$8

Mark

$4
NewGate

Alice

Bob

Bob Way, Integration Engineer
Denis Kiselev
CEO SnapSwap
NewGate
automation

NewGate

Bob Way, Integration Engineer
NewGate
web application

Code

NewGate

Bob Way, Integration Engineer
NewGate
user interface

Code

NewGate

Bob Way, Integration Engineer
NewGate
funds interface

Code

NewGate

Bob Way, Integration Engineer
NewGate
rippled interface

Code

NewGate

Bob Way, Integration Engineer
Step 2
Install rippled

Bob Way, Integration Engineer
NewGate
JSON messages over websockets or RPC

Code

NewGate

Bob Way, Integration Engineer
Step 3
Using the rippled API

Bob Way, Integration Engineer
Two Core Tasks
1) receive incoming payments

Monitor for incoming
payments
Code

Bob Way, Integration Engineer
Monitoring your Ripple address
websocket

account_info - websocket command
{
"command":"account_info",
"account":"rUPotLj5CNKaP4bQANcecEuT8hai3VpxfB",
}

Bob Way, Integration Engineer
Monitoring your Ripple address
rpc

account_info - RPC Call
curl -X POST -d
'{
"method": "account_ingo",
"params": [
{
"account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
}
]
}' http://s1.ripple.com:51234

Bob Way, Integration Engineer
{

"result":{
"account_data":{
"Account":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"Balance":"114459798",
"EmailHash":"DF1352F23CD32812F4850B878AE4944C",
"Flags":0,
"LedgerEntryType":"AccountRoot",
"OwnerCount":0,
"PreviousTxnID":"0FA9B61C5EED265BAAA3...",
"PreviousTxnLgrSeq":2169731,
"Sequence":26510,
"TransferRate":4294967295,
"index":"2B6AC232AA4C4BE41BF49D245...",
"urlgravatar":"http://www.gravatar.com/avatar/df1352f23cd32812f4850b878ae4944c"}
"ledger_current_index":2671768,
status":"success"}

account_info
response

}

Bob Way, Integration Engineer
Monitoring your Ripple address
api calls

account_info
account_lines
account_tx
account_offers

Bob Way, Integration Engineer
Two Core Tasks
2) send outgoing payments

Code

Send outgoing payments

Bob Way, Integration Engineer
Sending Payments
api calls

ripple_path_find
path_find
format “payment” transaction
sign
submit

Bob Way, Integration Engineer
Tools
Woot!

Understanding the Ledger
• ripple.com/graph
• ripple.com/tools/info

Learning the JSON API
• ripple.com/wiki/RPC_API
• ripple.com/tools/api/

For Your ripple.txt File
• ripple.com/tools/txt/

Bob Way, Integration Engineer
Brian Keller-Keikkila
CTO ZipZap

Bob Way, Integration Engineer
integration

Pay with CASH.

Bob Way, Integration Engineer
ZipZap
integration

Alice

$
Payment
Center

$ Bob
ZipZap Merchants
Bob Way, Integration Engineer
ZipZap
integration

SnapSwap

Bitstamp

$

ZipZap
Bob Way, Integration Engineer
ZipZap
integration

SnapSwap

Bitstamp

$

Bob Way, Integration Engineer
ZipZap
integration

SnapSwap

Bitstamp

$

ZipZap
Bob Way, Integration Engineer
ZipZap
integration

SnapSwap

Bitstamp

$

$

ZipZap
Bob Way, Integration Engineer
ZipZap
integration

Alice
SnapSwap

Bitstamp

$

$
Payment
Center

$

$
ZipZap
Bob Way, Integration Engineer
ZipZap
integration

Alice

$

SnapSwap

Bitstamp

$

$
Payment
Center

$
ZipZap
Bob Way, Integration Engineer
integration

Bob Way, Integration Engineer
integration

What‟s Next?

THE WORLD.

Bob Way, Integration Engineer
10 Minute Break
About Me
David Schwartz
I‟m the Chief Cryptographer at Ripple Labs.
I‟m also known as JoelKatz on the Bitcoin forums and am told that I am a
leading voice in the crypto-currency community.
Before that, I developed secure messaging and storage systems used by
companies such as CNN and government agencies including the NSA.

David Schwartz, Chief Cryptographer
A platform for issuing, holding, transferring, and trading arbitrary assets.

Key Features
• Open source, ISC license.
• Public ledger, public transactions, public history.
• Equal access, peer-to-peer, no central authority.
• Ledger modified by cryptographically signed transactions.
• Fast transactions with reliable confirmation.
• Sophisticated cross-currency and cross-issuer payments.

David Schwartz, Chief Cryptographer
Ledger
The ledger is public.

Key Features
• Every server can keep a full copy of the current ledger.
• Ledger contains all balances and offers.
• Previous ledgers and previous transactions are not needed.
• The ledger is organized as a chain of hash trees.
- A single 256-bit number identifies a ledger by hash
- Once you know a ledger‟s hash, you can walk the hash tree to see the ledger‟s contents.
- You can walk the hash tree to prior ledgers efficiently.

David Schwartz, Chief Cryptographer
Ledger Contents
A new ledger built every 5 to 30 seconds.

Ledger Contents
• Header
• State Tree

• Transaction Tree

David Schwartz, Chief Cryptographer
Ledger Contents
Ledger Header
• Ledger sequence number
• Total XRP in existence

• Hash of the previous ledger
• Hash of the account tree and the transaction tree
• Close time of this ledger and the previous ledger

David Schwartz, Chief Cryptographer
Ledger Contents
Hash Tree
• Organized as a Merkle tree of radix nodes.
- Inner nodes hold indexed links to hashes of other nodes.
- Leaf nodes hold data.
• Each node has a 256-bit index and a 256-bit hash.
• Leaf nodes can easily be looked up by index.
• Provides fast search and traverse by index.
• Efficient synchronization and comparison.

David Schwartz, Chief Cryptographer
Ledger Contents
State Tree
• Holds the state of the Ripple network.
• Structured as an indexed hash tree.
• Contains accounts, balances, pathways, offers, and other persistent data.
• Contains some structural information and indexes.
• Represents the state after transactions are applied.
• Holds entries in a binary format that can be converted to and from JSON.

David Schwartz, Chief Cryptographer
Ledger Contents
State Tree

Key Entry Types
• Account root
• Ripple state
• Offer
• Directory
• Fee settings
• Features
• Ledger Hashes

David Schwartz, Chief Cryptographer
Ledger Contents
State Tree

Sample Entry
{
"Account" : "rKu4m1UDLGxR6fjhdNEVWrF4gCDhpocWAQ",
"Balance" : "199999990",
"Flags" : 0,
"LedgerEntryType" : "AccountRoot",
"OwnerCount" : 0,
"PreviousTxnID" : "922345F7771870688116ABD484960D5A566F38C...",
"PreviousTxnLgrSeq" : 339000,
"Sequence" : 2,
"index" : "00118F9DC4F5767D6927A98FF749C..."
}

David Schwartz, Chief Cryptographer
Ledger Contents
Transaction Tree
• Also structured as an indexed hash tree.
• Contains all transactions applied in this ledger.

• Includes metadata for each transaction.
• Metadata justifies changes to state tree entries.

David Schwartz, Chief Cryptographer
Transactions
Cryptographically signed authorizations to modify ledger state

Basic Structure
• Account
• Public Key
• Signature
• Fee
• Type
• Sequence
• Type-specific information

David Schwartz, Chief Cryptographer
Transactions
This real transaction was randomly selected.

Sample Transaction
{
"Account" : "rMWUykAmNQDaM9poSes8VLDZDDKEbmo7MX",
"Fee" : "10",
"Flags" : 0,
"OfferSequence" : 62462,
"Sequence" : 582232,
"SigningPubKey" : "0256C64F0378DCCCB4E0224B36F7ED1…",
"TransactionType" : "OfferCancel",
"TxnSignature" : "3044022000ED14…",
"hash" : "FC6F9BC14A7DA643…“
}

David Schwartz, Chief Cryptographer
Transactions
Metadata justifies ledger changes

Metadata
{
"ModifiedNode" : {
"LedgerEntryType" : "AccountRoot",
"LedgerIndex" : "56091AD066271ED03B106812AD376D48F12680…",
"PreviousFields" : {
"Balance" : "1994177177",
"Sequence" : 582232
},
"FinalFields" : {
"Account" : "rMWUykAmNQDaM9poSes8VLDZDDKEbmo7MX",
"Balance" : "1994177167",
"Flags" : 0,
"OwnerCount" : 71,
"Sequence" : 582233
},
"PreviousTxnID" : "A4BEFDE98429C0C3C310C6FF548ECD73C6E22…",
"PreviousTxnLgrSeq" : 2438196
}

David Schwartz, Chief Cryptographer
Consensus
Consensus establishes transaction ordering

Key Points
• Ripple‟s method of solving the double spend problem
• Validators agree on a group of transactions to be applied in a given ledger

• Validators sign each ledger they build
• Analogous to a room full of people trying to agree
• All honest servers place a high value on agreement, second only to correctness

David Schwartz, Chief Cryptographer
Consensus
Consensus establishes transaction ordering

Why is transaction ordering important?
• Other aspects of the double spend problem are easily solved with deterministic rules
• We have a public ledger
• Ripple has deterministic rules for
- Transaction validity
- Transaction execution
- Transaction ordering within a ledger
• If one transaction must come before the other, then we can easily see that the second one must fail

David Schwartz, Chief Cryptographer
Consensus
Consensus establishes transaction ordering

What do validators do?
• Agree on the last closed ledger
• Propose sets of transactions to include in the next ledger

• Avalanche to consensus
• Apply agreed transactions according to deterministic rules
• Publish a signed validation of the new last closed ledger

David Schwartz, Chief Cryptographer
Consensus
Consensus establishes transaction ordering

Why is consensus robust?
• If a transaction has no reason not to be included, all honest validators will vote to include it.
• If a transaction has some reason not to be included, it is okay if it is not included

• Valid transactions that do not get into the consensus set will be voted into the next set by all honest
validators

• Algorithm is biased to exclude transactions to reduce overlap required

David Schwartz, Chief Cryptographer
Consensus
Consensus establishes transaction ordering

Why is consensus robust?
• Every honest participant values agreement over everything but correctness

• Validations act as a safety.
• Network splits can be detected as they happen
• Validation performance can be monitored, treachery can be proven

David Schwartz, Chief Cryptographer
Payments
Pathfinding makes sophisticated payments possible

Characteristics of Ripple payments
• Payments succeed or fail atomically.
• Payments are fully confirmed at a well-defined point.

• You cannot give someone an asset they have not agreed to hold.
• A “maximum amount to send” field handles slippage.

David Schwartz, Chief Cryptographer
Payments
All payments except simple XRP payments require a path

- Alice pays Bob through Gateway.

- Alice‟s balance with Gateway goes down.
- Bob‟s balance with Gateway goes up.
- Gateway sees no net balance change, or an increase if they charge a transaction fee.

- Bob must already have agreed to accept USD from the Gateway or this path is unusable.

David Schwartz, Chief Cryptographer
Payments
Cross-currency path

- Alice sees her USD balance drop. Bob sees his BTC balance increase.
- Those who placed offers see their USD balances increase and their BTC balances decrease.
- Gateways do not have to deal with any cross-currency aspects.
- Order books link gateways.

David Schwartz, Chief Cryptographer
Payments
Two types of path links

Account to Account Link

Order Book Link

An account to account link uses a pathway to move
funds from one account to another.

Order book links can change currencies.
Path specifies the order book, not specific orders.

It is helpful to think of funds as being transferred by
their issuers.

Order book links appear with account links for their
issuers.

An intermediary account in a payment path with two
account-to-account links will see one balance increase
and the other decrease.
Account links cannot change currencies, only issuers.

David Schwartz, Chief Cryptographer
Payments
Division of labor

Pathfinding

Execution

Only one server needs to do the pathfinding work for a
given payment.

Every validator executes the transaction.
Path set is already known.

Pathfinding generates a set of paths for the transaction
and gives an estimate of the cost.

Degrees of separation tend to be short.

Order books are indexed to make execution efficient.

Paths are taken incrementally and more than one path can
be used to get the best rate.

Current Ripple servers use a table driven pathfinding
engine.

Payments succeed or fail atomically.

There is room for innovation in path finding.

Must be completely deterministic.

David Schwartz, Chief Cryptographer
Trading
Ripple supports order books between all asset pairs.

Market Making

Arbitrage

Marking making is offering to buy and sell the same asset
over a period of time.

Arbitrage is buying and selling the same asset at
approximately the same time to profit from a difference in
price.

Market making in Ripple makes large payments possible
and improves rates.

Market makers link cash-in networks with cash-out
networks, making remittance efficient.

Internal arbitrage involves only transactions inside the
Ripple network. While there will be internal arbitrage
opportunity in the Ripple network, everyone will be
competing for the same opportunities.
External arbitrage involves matching transactions inside
the Ripple network with transactions outside the Ripple
network.

David Schwartz, Chief Cryptographer
Invisible Ripple
Ripple can be the back end that makes a payment work

Inbound payments using Ripple
• Customer selects product they want to buy.
• Merchant presents customer with payment options.
• Customer selects a payment network they are familiar with.
• Merchant directs the customer to a Ripple gateway, specifies their Ripple account and payment
amount.

• Customer makes payment to gateway using conventional payment network.

• Gateway makes Ripple payment to merchant.
• Merchant credits customer for payment.
David Schwartz, Chief Cryptographer
Invisible Ripple
Ripple can be the back end that makes a payment work

Advantages
• Customer uses conventional payment network they already know.
• Merchant is paid in local currency at a local financial institution.

• Payment has access to all the liquidity in the Ripple network.
• Similar model works for outbound payments.
• Each participant does one thing.

David Schwartz, Chief Cryptographer
XRP
What is it for?

Characteristics:
• XRP can be transferred between any two accounts, no transfer fee.
• XRP is a unique asset in the Ripple system:
- No issuer, no counterparty.
- Needed for transaction fees, account creation, and reserves.
• The easiest way to make an asset liquid is probably to make it liquid to and from XRP:
- Other assets have multiple issuers.
- Other assets are likely to be regional.
- XRP is a bridge.
• If assets are liquid to XRP, you can hold XRP if you do not know what asset you will need:
- Assuming price is reasonably stable.

David Schwartz, Chief Cryptographer
Conclusion
The Internet works. Shipping works. Payments are broken.

Ripple completes commerce
• Do what you do best.
• Everything works together.

- Currencies don‟t matter.
- Locations don‟t matter.
- Institutions don‟t matter.

David Schwartz, Chief Cryptographer
Conclusion
What does Ripple offer?
• Backed by Ripple Labs.
• Fully open source, ISC license.
• For everyone.
• Nearly instantaneous, nearly free transactions.
• Receive, pay, and hold the currency of your choice.
• Direct access to market makers
• Irreversible payments.

David Schwartz, Chief Cryptographer
Any questions?

David Schwartz, Chief Cryptographer
Contracts
About Me
Stefan Thomas
CTO, Ripple Labs

Previous:
Bitcoin Scripts
A simple stack machine.

Outputs and inputs connect
Bitcoin Scripts
A simple stack machine.

Outputs and inputs connect
•

Transaction outputs verify the state of the stack

•

Transaction inputs need to set it up

•

If it returns true, the input is valid.

•

Surprisingly powerful!
Bitcoin Scripts
A simple stack machine.

Limitations
•

Limited set of opcodes

•

No ability to reference external data

•

No concept of accounts
Contracts
A distributed Turing machine.

Consensus for your own apps
•

Contracts use arbitrary x86 code

•

Ledger is a generic key/value store
Escrow
Basic example.

Two parties transacting with mediator

Mediator should only be able to send funds to one of the parties, but not to herself.
Escrow
A basic example.

2 of 3 multisig in Bitcoin
2 <K1> <K2> <K3> 3 CHECKMULTISIGVERIFY
Escrow
A basic example.

2 of 3 multisig in Ripple
if (check_multisig(2, 3, payload[“sigs”], local[“keys”]))
send_funds(payload[“dest”]);
Escrow
A basic example.

Someone has to actually implement check_multisig…
function check_multisig(int n, int m, Object sigs, Object keys)
{
int valid_sigs = 0;
for (int i = 0; i < m; i++)
if (verify_ecdsa_sig(sigs[i], keys[i])) valid_sigs++;
return valid_sigs >= n;
}

It‟s a contract!
Escrow
A basic example.

Code duplication?
function check_multisig(int n, int m, Object sigs, Object keys)
function check_multisig(int n, int m, Object sigs, Object keys)
function check_multisig(int n, int m, Object sigs, Object keys)
function check_multisig(int n, int m, Object sigs, Object keys)

•

Contracts can link to other contracts as libraries
Escrow
Basic example.

What about verify_ecdsa_sig?
•

Compiled as a contract – and so is OpenSSL.

•

“It‟s contracts all the way down.”

•

All pure processing functions are fully sandboxed
 Minimal trusted code base (TCB)
Escrow
Basic example.

And what about send_funds?
•

A contract generates a static piece of data called the “agenda”.
SEND_CONTRACT_FUNDS_ALL [destination_account]

•

Think of it like an SQL query.
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance +
(SELECT balance FROM contract_accounts WHERE contract_id = ?)
WHERE account = ?;
UPDATE contract_accounts SET balance = 0 WHERE contract_id = ?;
COMMIT;
Details
We skipped a lot of stuff.

Some more notes on how it all works
•

Contracts can hold funds

•

For KYC and other purposes contracts will have an “owner” account

•

Contracts can delete themselves

•

Contracts can write to hashtables based on their namespace

•

Contracts can read any entry in the ledger
Subscriptions
This is a bit more interesting.

Let‟s ramp things up a bit!
•

I want to have a contract that says:
“You can take up to 10 USD/Bitstamp out of my account per month.”
Microgateways
Ok, now we‟re starting to talk craziness.

Goal: Can we get PayPal support without… PayPal support?
*rolls up sleeves*
Microgateways
Ok, now we‟re starting to talk craziness.

Contracts managing peer-to-peer transactions
•

Hypothetical IOU worth 1 USD: USD/M

•

I can now trade this IOU with full Ripple functionality:

–

Buy them on PayPal after going through KYC

–

Redeem them on PayPal with a 120 day escrow

–

All managed by Ripple contracts and SSL session proofs
Microgateways
Ok, now we‟re starting to talk craziness.

SSL proofs
1.

Do an SSL session through a proxy

–

Proxy witnesses data stream (does not have access to contents)

–

PayPal‟s certificate shows up in initial handshake

2.

Submit SSL log and witness signature to contract

3.

Profit?
Microgateways
Ok, now we‟re starting to talk crazy.

Problem: How are these IOUs issued?
•

Only requirement: It must cost at least 1 USD to create 1 USD/M

•

“To issue 1 USD/M, you must send 1.05 USD to one of these charities.”

Disclaimer:

•

SSL proofs are a bit weak for this: They‟re worst of (counterparty, witness)

•

There might be a better way to provably destroy dollars!

Ideally: Only need to trust Fed.

•

But: Good enough.
Microgateways
Ok, now we‟re starting to talk crazy.

Bigger problem: How are these IOUs redeemed?!
•

We want the value of the asset to track USD as much as possible.

•

If there are too few USD/M, no problem, people can issue.

•

But what if there are too many?
Microgateways
Ok, now we‟re starting to talk crazy.

IOU inflation
•

Two main options:

–

If underlying asset is inflationary: Do nothing

–

If underlying asset is deflationary: Add demurrage to IOUs
Microgateways
Ok, now we‟re starting to talk crazy.

Let‟s recap
•

The price of 10 USD/M will be between:
0 USD (if there is no one wanting to deposit funds)

10 USD + whatever the real transaction costs of depositing are

•

Good enough to get money in+out

•

But you‟d probably rather hold XRP or BTC
Autonomous Agents
He‟s lost it.

If code can own money…
•

Agents need somewhere to run.

–

–

Hosted autonomous agents (hosting risk)

–

•

Physical autonomous agents (e.g. self-driving cars)

Distributed autonomous agents (first time possible with Ripple)

And they need to hold funds.
Autonomous Agents
He‟s lost it.

… fun things happen.
•

Evolutionary model:

–

Agents can outsource improvements.

–

Hire somebody with a reputation for making better agents

–

Child agents start with a birth loan

–

Agents are “mindless capital”
Capital contracts
Putting it all together.

An alternative to the evolutionary model
•

Developers write agents and publish them

•

Investors fund them

•

Can be as flexible or rigid as needed
Any questions?
Thanks For Joining Us!
We’re Hiring!
ripple.com/jobs - Inquire with jobs@ripple.com
Business Development

Product

• VP of Financial Services

• Integration Engineer

• VP of Emerging Markets

• Product Manager of Platform

Software Development

• Technical Writer

• Sr. Javascript Engineer

• UX Product Designer

• Lead Android Developer
• Data Analyst

More Related Content

What's hot

Ripple mms
Ripple mmsRipple mms
Ripple mmsGcc Ny
 
What is decentralized finance ( de fi )
What is decentralized finance ( de fi )What is decentralized finance ( de fi )
What is decentralized finance ( de fi )Celine George
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventAraf Karsh Hamid
 
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019Fluidity
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshellDaniel Chan
 
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingGDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingAjit Patil
 
What is Erc20 token? How it Works/
What is Erc20 token? How it Works/What is Erc20 token? How it Works/
What is Erc20 token? How it Works/Developcoins
 
The Power Of Open Banking Coupled With Artificial Intelligence
The Power Of Open Banking Coupled With Artificial IntelligenceThe Power Of Open Banking Coupled With Artificial Intelligence
The Power Of Open Banking Coupled With Artificial IntelligenceIndusNetMarketing
 
What is Cryptocurrency
What is Cryptocurrency What is Cryptocurrency
What is Cryptocurrency James Travis
 
Payment gateway
Payment gatewayPayment gateway
Payment gatewayHananBahy
 
Robinhood Company Presentation
Robinhood Company PresentationRobinhood Company Presentation
Robinhood Company PresentationAnurag Koduri
 
What is the future of cryptocurrency
What is the future of cryptocurrencyWhat is the future of cryptocurrency
What is the future of cryptocurrencyCryptoknowmics
 
Peter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online PaymentsPeter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online PaymentsCiklum Ukraine
 
FinTech in Africa.pdf
FinTech in Africa.pdfFinTech in Africa.pdf
FinTech in Africa.pdfAlemayehu
 
What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance zaarahary
 

What's hot (20)

Ripple mms
Ripple mmsRipple mms
Ripple mms
 
What is decentralized finance ( de fi )
What is decentralized finance ( de fi )What is decentralized finance ( de fi )
What is decentralized finance ( de fi )
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - Clavent
 
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshell
 
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingGDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
 
Ethereum
EthereumEthereum
Ethereum
 
What is Erc20 token? How it Works/
What is Erc20 token? How it Works/What is Erc20 token? How it Works/
What is Erc20 token? How it Works/
 
The Power Of Open Banking Coupled With Artificial Intelligence
The Power Of Open Banking Coupled With Artificial IntelligenceThe Power Of Open Banking Coupled With Artificial Intelligence
The Power Of Open Banking Coupled With Artificial Intelligence
 
Stablecoin
StablecoinStablecoin
Stablecoin
 
What is Cryptocurrency
What is Cryptocurrency What is Cryptocurrency
What is Cryptocurrency
 
Payment gateway
Payment gatewayPayment gateway
Payment gateway
 
Robinhood Company Presentation
Robinhood Company PresentationRobinhood Company Presentation
Robinhood Company Presentation
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
 
What is the future of cryptocurrency
What is the future of cryptocurrencyWhat is the future of cryptocurrency
What is the future of cryptocurrency
 
Peter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online PaymentsPeter Afanasiev - Architecture of online Payments
Peter Afanasiev - Architecture of online Payments
 
FinTech in Africa.pdf
FinTech in Africa.pdfFinTech in Africa.pdf
FinTech in Africa.pdf
 
What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance
 

Viewers also liked

Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...
Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...
Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...Ripple Labs
 
Ripple – Payment Protocol
Ripple – Payment ProtocolRipple – Payment Protocol
Ripple – Payment ProtocolNikhil Bhide
 
Types Don't Know #, Howard Hinnant - CppCon 2014
Types Don't Know #, Howard Hinnant - CppCon 2014Types Don't Know #, Howard Hinnant - CppCon 2014
Types Don't Know #, Howard Hinnant - CppCon 2014Ripple Labs
 
Contracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoins
Contracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoinsContracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoins
Contracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoinsRipple Labs
 
ILP Lightning Talk at the MIT Blockchain Workshop
ILP Lightning Talk at the MIT Blockchain WorkshopILP Lightning Talk at the MIT Blockchain Workshop
ILP Lightning Talk at the MIT Blockchain WorkshopInterledger
 
ILP Webinar 10/2015
ILP Webinar 10/2015ILP Webinar 10/2015
ILP Webinar 10/2015Interledger
 
Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...
Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...
Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...Interledger
 
Interledger Overview
Interledger OverviewInterledger Overview
Interledger OverviewInterledger
 
Digital Bank, May 2014
Digital Bank, May 2014Digital Bank, May 2014
Digital Bank, May 2014Chris Skinner
 

Viewers also liked (10)

Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...
Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...
Everything You Ever Wanted to Know About Move Semantics, Howard Hinnant, Accu...
 
Ripple – Payment Protocol
Ripple – Payment ProtocolRipple – Payment Protocol
Ripple – Payment Protocol
 
Types Don't Know #, Howard Hinnant - CppCon 2014
Types Don't Know #, Howard Hinnant - CppCon 2014Types Don't Know #, Howard Hinnant - CppCon 2014
Types Don't Know #, Howard Hinnant - CppCon 2014
 
Contracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoins
Contracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoinsContracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoins
Contracts Across Coins - Smart Contracts for Bitcoin, Ripple and the altcoins
 
ILP Lightning Talk at the MIT Blockchain Workshop
ILP Lightning Talk at the MIT Blockchain WorkshopILP Lightning Talk at the MIT Blockchain Workshop
ILP Lightning Talk at the MIT Blockchain Workshop
 
How ILP Works
How ILP WorksHow ILP Works
How ILP Works
 
ILP Webinar 10/2015
ILP Webinar 10/2015ILP Webinar 10/2015
ILP Webinar 10/2015
 
Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...
Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...
Interledger Overview // Luxembourg Center for Security, Reliability, and Trus...
 
Interledger Overview
Interledger OverviewInterledger Overview
Interledger Overview
 
Digital Bank, May 2014
Digital Bank, May 2014Digital Bank, May 2014
Digital Bank, May 2014
 

Similar to Ripple Developer Conference 2013 at Money2020

PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...Lucidworks
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr MalykFwdays
 
Interledger Overview // Berlin Node.js Meetup
Interledger Overview // Berlin Node.js MeetupInterledger Overview // Berlin Node.js Meetup
Interledger Overview // Berlin Node.js MeetupInterledger
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCAmir Zmora
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioDevOps4Networks
 
What is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your MicroservicesWhat is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your MicroservicesMatt Turner
 
NYC Kubernetes Meetup: Ambassador and Istio - Flynn, Datawire
NYC Kubernetes Meetup: Ambassador and Istio - Flynn, DatawireNYC Kubernetes Meetup: Ambassador and Istio - Flynn, Datawire
NYC Kubernetes Meetup: Ambassador and Istio - Flynn, DatawireAmbassador Labs
 
Research points on ripple net
Research points on ripple netResearch points on ripple net
Research points on ripple netAurobindo Nayak
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceEvan McGee
 
Auto-scaling your API: Insights and Tips from the Zalando Team
Auto-scaling your API: Insights and Tips from the Zalando TeamAuto-scaling your API: Insights and Tips from the Zalando Team
Auto-scaling your API: Insights and Tips from the Zalando TeamZalando Technology
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-SignalingOleg Levy
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Brian Brazil
 
Manchester Serverless Meetup - July 2018
Manchester Serverless Meetup - July 2018Manchester Serverless Meetup - July 2018
Manchester Serverless Meetup - July 2018Jonathan Vines
 
Measuring the End User
Measuring the End User Measuring the End User
Measuring the End User APNIC
 
Distributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromqDistributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromqRuben Tan
 
Seedhack 2013
Seedhack 2013Seedhack 2013
Seedhack 2013PayPal
 
Moving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyMoving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyBoyan Dimitrov
 
Robust WordPress Installation using L2MP Stack
Robust WordPress Installation using L2MP StackRobust WordPress Installation using L2MP Stack
Robust WordPress Installation using L2MP StackAlex Bertens
 

Similar to Ripple Developer Conference 2013 at Money2020 (20)

Unsafe SSL webinar
Unsafe SSL webinarUnsafe SSL webinar
Unsafe SSL webinar
 
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
 
Interledger Overview // Berlin Node.js Meetup
Interledger Overview // Berlin Node.js MeetupInterledger Overview // Berlin Node.js Meetup
Interledger Overview // Berlin Node.js Meetup
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
 
What is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your MicroservicesWhat is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your Microservices
 
NYC Kubernetes Meetup: Ambassador and Istio - Flynn, Datawire
NYC Kubernetes Meetup: Ambassador and Istio - Flynn, DatawireNYC Kubernetes Meetup: Ambassador and Istio - Flynn, Datawire
NYC Kubernetes Meetup: Ambassador and Istio - Flynn, Datawire
 
Research points on ripple net
Research points on ripple netResearch points on ripple net
Research points on ripple net
 
REST APIs
REST APIsREST APIs
REST APIs
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
 
Auto-scaling your API: Insights and Tips from the Zalando Team
Auto-scaling your API: Insights and Tips from the Zalando TeamAuto-scaling your API: Insights and Tips from the Zalando Team
Auto-scaling your API: Insights and Tips from the Zalando Team
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
 
Manchester Serverless Meetup - July 2018
Manchester Serverless Meetup - July 2018Manchester Serverless Meetup - July 2018
Manchester Serverless Meetup - July 2018
 
Measuring the End User
Measuring the End User Measuring the End User
Measuring the End User
 
Distributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromqDistributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromq
 
Seedhack 2013
Seedhack 2013Seedhack 2013
Seedhack 2013
 
Moving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyMoving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journey
 
Robust WordPress Installation using L2MP Stack
Robust WordPress Installation using L2MP StackRobust WordPress Installation using L2MP Stack
Robust WordPress Installation using L2MP Stack
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Ripple Developer Conference 2013 at Money2020

  • 1.
  • 2. Agenda 8:30-9:30am – Registration 9:30-9:50am – Welcome and Introduction, Chris Larsen, CEO, Ripple Labs 9:50-10:20am – Ripple Technical Overview, Evan Schwartz, Software Engineer, Ripple Labs 10:20-11:10am – Integrating with Ripple for Merchants and Gateways, Bob Way, Integration Engineer, Ripple Labs; Denis Kiselev, CEO, SnapSwap; and Brian KellerHeikkila, CTO, ZipZap 11:10-11:20am – Break 11:20am-12:10pm – Ripple Architecture and Advanced Uses, David Schwartz, Chief Cryptographer, Ripple Labs 12:10-12:30pm – Future Focus for Our Engineering Team, Stefan Thomas, CTO, Ripple Labs 12:30 onward – Networking
  • 3. Summary Ripple and Ripple Labs • a distributed payments protocol • venture backed company that • a new currency - ripples (XRP) contributes code and promotes the • the world‟s first distributed currency Ripple protocol exchange Chris Larsen, CEO, Ripple Labs
  • 4. Math Based Currency Movement • Focus: Erosion of trust political currencies • Solution: Trust in math relationship of servers in a distributed network - No central authority to debase money supply. - Fixed amount that can‟t increase AU BTC/XRP/LTC Chris Larsen, CEO, Ripple Labs
  • 5. Virtual Currency is Just the Beginning Chris Larsen, CEO, Ripple Labs
  • 6. The World Needs a Transaction Web Protocol Information Exchange Value Exchange “world is flat” “world is curved” Chris Larsen, CEO, Ripple Labs
  • 7. Confirmation in a Decentralized System Mining Method (Bitcoin) • Reward first „miner‟ to solve a math problem that is a confirmation. • Need extremely powerful computers, energy intensive. Consensus Method (Ripple) • Current state of global ledger. • Transactions that are valid to majority of servers are updated to ledger. • 5-10 second confirmations. • Average 10 minute confirmations Chris Larsen, CEO, Ripple Labs
  • 8. Benefits as a Payment Protocol Any Currency Global No Chargebacks Fast Free Chris Larsen, CEO, Ripple Labs
  • 10. A Common Ledger Chris Larsen, CEO, Ripple Labs
  • 11. Ripple is a Protocol Like SMTP, a Protocol for Moving Money • Ripple is a set of standards • “Server Calls” to Send, Receive, etc. • Transact without Intermediaries • Decentralized System • Open to Developers • No Network Operator Chris Larsen, CEO, Ripple Labs
  • 12. Gateways Cash in, Cash Out • Gateways take deposits and issue local currency balances on Ripple • Balances can be transferred across the ledger without intermediaries • Gateways earn fees as they wish Chris Larsen, CEO, Ripple Labs
  • 13. Distributed Exchange • Can create bid/ask offers for any currency pair from any issuer • Participants can profit from forex spreads • Ripple routes transactions through a path finding algorithm to find the lowest cost execution • Supports algorithm-driven trading Chris Larsen, CEO, Ripple Labs
  • 14. The Role of XRP in Ripple 1. protects network from: - DDOS attacks - ledger spam 2. universal medium of exchange - no counterparty - every node trusts Chris Larsen, CEO, Ripple Labs
  • 15. Pre-Mining Ripple doesn‟t need to incent transaction validators with XRP, so mining is optional. Instead we chose to use XRP to support: The Network – Build and incent an amazing team (Ripple Labs) Utility – Give away XRP to as many consumers as possible Liquidity – Incent market makers with long-term forgivable XRP loans Chris Larsen, CEO, Ripple Labs
  • 16.
  • 17. What, How, Who Cares? (in 20 minutes) Evan Schwartz
  • 19. Open Source Payment Network Evan Schwartz
  • 20. Four Types of Users Basic Users Merchants Market Makers Gateways Evan Schwartz
  • 22. Basic User Experience What could you do with that? Evan Schwartz
  • 24. Basic User Experience What could you do with that? Evan Schwartz
  • 30. Transactions in any currency? Evan Schwartz
  • 31. Too many pairs of currencies Evan Schwartz
  • 35. Basic User Experience Did you really need a caption? Evan Schwartz
  • 37.
  • 38. Business Integration Bob Way, Integration Engineer
  • 39. Ripple Integration Three Steps 1. Set-up your Ripple account and trust lines. 2. Install a local rippled server 3. Automate your business processes Bob Way, Integration Engineer
  • 40. Step 1 The Ripple Ledger Bob Way, Integration Engineer
  • 41. NewGate A gateway in 10 minutes NewGate Bob Way, Integration Engineer
  • 56.
  • 57.
  • 58.
  • 59.
  • 65. Step 2 Install rippled Bob Way, Integration Engineer
  • 66. NewGate JSON messages over websockets or RPC Code NewGate Bob Way, Integration Engineer
  • 67. Step 3 Using the rippled API Bob Way, Integration Engineer
  • 68. Two Core Tasks 1) receive incoming payments Monitor for incoming payments Code Bob Way, Integration Engineer
  • 69. Monitoring your Ripple address websocket account_info - websocket command { "command":"account_info", "account":"rUPotLj5CNKaP4bQANcecEuT8hai3VpxfB", } Bob Way, Integration Engineer
  • 70. Monitoring your Ripple address rpc account_info - RPC Call curl -X POST -d '{ "method": "account_ingo", "params": [ { "account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", } ] }' http://s1.ripple.com:51234 Bob Way, Integration Engineer
  • 72. Monitoring your Ripple address api calls account_info account_lines account_tx account_offers Bob Way, Integration Engineer
  • 73. Two Core Tasks 2) send outgoing payments Code Send outgoing payments Bob Way, Integration Engineer
  • 74. Sending Payments api calls ripple_path_find path_find format “payment” transaction sign submit Bob Way, Integration Engineer
  • 75. Tools Woot! Understanding the Ledger • ripple.com/graph • ripple.com/tools/info Learning the JSON API • ripple.com/wiki/RPC_API • ripple.com/tools/api/ For Your ripple.txt File • ripple.com/tools/txt/ Bob Way, Integration Engineer
  • 76. Brian Keller-Keikkila CTO ZipZap Bob Way, Integration Engineer
  • 77. integration Pay with CASH. Bob Way, Integration Engineer
  • 86. integration What‟s Next? THE WORLD. Bob Way, Integration Engineer
  • 88.
  • 89. About Me David Schwartz I‟m the Chief Cryptographer at Ripple Labs. I‟m also known as JoelKatz on the Bitcoin forums and am told that I am a leading voice in the crypto-currency community. Before that, I developed secure messaging and storage systems used by companies such as CNN and government agencies including the NSA. David Schwartz, Chief Cryptographer
  • 90. A platform for issuing, holding, transferring, and trading arbitrary assets. Key Features • Open source, ISC license. • Public ledger, public transactions, public history. • Equal access, peer-to-peer, no central authority. • Ledger modified by cryptographically signed transactions. • Fast transactions with reliable confirmation. • Sophisticated cross-currency and cross-issuer payments. David Schwartz, Chief Cryptographer
  • 91. Ledger The ledger is public. Key Features • Every server can keep a full copy of the current ledger. • Ledger contains all balances and offers. • Previous ledgers and previous transactions are not needed. • The ledger is organized as a chain of hash trees. - A single 256-bit number identifies a ledger by hash - Once you know a ledger‟s hash, you can walk the hash tree to see the ledger‟s contents. - You can walk the hash tree to prior ledgers efficiently. David Schwartz, Chief Cryptographer
  • 92. Ledger Contents A new ledger built every 5 to 30 seconds. Ledger Contents • Header • State Tree • Transaction Tree David Schwartz, Chief Cryptographer
  • 93. Ledger Contents Ledger Header • Ledger sequence number • Total XRP in existence • Hash of the previous ledger • Hash of the account tree and the transaction tree • Close time of this ledger and the previous ledger David Schwartz, Chief Cryptographer
  • 94. Ledger Contents Hash Tree • Organized as a Merkle tree of radix nodes. - Inner nodes hold indexed links to hashes of other nodes. - Leaf nodes hold data. • Each node has a 256-bit index and a 256-bit hash. • Leaf nodes can easily be looked up by index. • Provides fast search and traverse by index. • Efficient synchronization and comparison. David Schwartz, Chief Cryptographer
  • 95. Ledger Contents State Tree • Holds the state of the Ripple network. • Structured as an indexed hash tree. • Contains accounts, balances, pathways, offers, and other persistent data. • Contains some structural information and indexes. • Represents the state after transactions are applied. • Holds entries in a binary format that can be converted to and from JSON. David Schwartz, Chief Cryptographer
  • 96. Ledger Contents State Tree Key Entry Types • Account root • Ripple state • Offer • Directory • Fee settings • Features • Ledger Hashes David Schwartz, Chief Cryptographer
  • 97. Ledger Contents State Tree Sample Entry { "Account" : "rKu4m1UDLGxR6fjhdNEVWrF4gCDhpocWAQ", "Balance" : "199999990", "Flags" : 0, "LedgerEntryType" : "AccountRoot", "OwnerCount" : 0, "PreviousTxnID" : "922345F7771870688116ABD484960D5A566F38C...", "PreviousTxnLgrSeq" : 339000, "Sequence" : 2, "index" : "00118F9DC4F5767D6927A98FF749C..." } David Schwartz, Chief Cryptographer
  • 98. Ledger Contents Transaction Tree • Also structured as an indexed hash tree. • Contains all transactions applied in this ledger. • Includes metadata for each transaction. • Metadata justifies changes to state tree entries. David Schwartz, Chief Cryptographer
  • 99. Transactions Cryptographically signed authorizations to modify ledger state Basic Structure • Account • Public Key • Signature • Fee • Type • Sequence • Type-specific information David Schwartz, Chief Cryptographer
  • 100. Transactions This real transaction was randomly selected. Sample Transaction { "Account" : "rMWUykAmNQDaM9poSes8VLDZDDKEbmo7MX", "Fee" : "10", "Flags" : 0, "OfferSequence" : 62462, "Sequence" : 582232, "SigningPubKey" : "0256C64F0378DCCCB4E0224B36F7ED1…", "TransactionType" : "OfferCancel", "TxnSignature" : "3044022000ED14…", "hash" : "FC6F9BC14A7DA643…“ } David Schwartz, Chief Cryptographer
  • 101. Transactions Metadata justifies ledger changes Metadata { "ModifiedNode" : { "LedgerEntryType" : "AccountRoot", "LedgerIndex" : "56091AD066271ED03B106812AD376D48F12680…", "PreviousFields" : { "Balance" : "1994177177", "Sequence" : 582232 }, "FinalFields" : { "Account" : "rMWUykAmNQDaM9poSes8VLDZDDKEbmo7MX", "Balance" : "1994177167", "Flags" : 0, "OwnerCount" : 71, "Sequence" : 582233 }, "PreviousTxnID" : "A4BEFDE98429C0C3C310C6FF548ECD73C6E22…", "PreviousTxnLgrSeq" : 2438196 } David Schwartz, Chief Cryptographer
  • 102. Consensus Consensus establishes transaction ordering Key Points • Ripple‟s method of solving the double spend problem • Validators agree on a group of transactions to be applied in a given ledger • Validators sign each ledger they build • Analogous to a room full of people trying to agree • All honest servers place a high value on agreement, second only to correctness David Schwartz, Chief Cryptographer
  • 103. Consensus Consensus establishes transaction ordering Why is transaction ordering important? • Other aspects of the double spend problem are easily solved with deterministic rules • We have a public ledger • Ripple has deterministic rules for - Transaction validity - Transaction execution - Transaction ordering within a ledger • If one transaction must come before the other, then we can easily see that the second one must fail David Schwartz, Chief Cryptographer
  • 104. Consensus Consensus establishes transaction ordering What do validators do? • Agree on the last closed ledger • Propose sets of transactions to include in the next ledger • Avalanche to consensus • Apply agreed transactions according to deterministic rules • Publish a signed validation of the new last closed ledger David Schwartz, Chief Cryptographer
  • 105. Consensus Consensus establishes transaction ordering Why is consensus robust? • If a transaction has no reason not to be included, all honest validators will vote to include it. • If a transaction has some reason not to be included, it is okay if it is not included • Valid transactions that do not get into the consensus set will be voted into the next set by all honest validators • Algorithm is biased to exclude transactions to reduce overlap required David Schwartz, Chief Cryptographer
  • 106. Consensus Consensus establishes transaction ordering Why is consensus robust? • Every honest participant values agreement over everything but correctness • Validations act as a safety. • Network splits can be detected as they happen • Validation performance can be monitored, treachery can be proven David Schwartz, Chief Cryptographer
  • 107. Payments Pathfinding makes sophisticated payments possible Characteristics of Ripple payments • Payments succeed or fail atomically. • Payments are fully confirmed at a well-defined point. • You cannot give someone an asset they have not agreed to hold. • A “maximum amount to send” field handles slippage. David Schwartz, Chief Cryptographer
  • 108. Payments All payments except simple XRP payments require a path - Alice pays Bob through Gateway. - Alice‟s balance with Gateway goes down. - Bob‟s balance with Gateway goes up. - Gateway sees no net balance change, or an increase if they charge a transaction fee. - Bob must already have agreed to accept USD from the Gateway or this path is unusable. David Schwartz, Chief Cryptographer
  • 109. Payments Cross-currency path - Alice sees her USD balance drop. Bob sees his BTC balance increase. - Those who placed offers see their USD balances increase and their BTC balances decrease. - Gateways do not have to deal with any cross-currency aspects. - Order books link gateways. David Schwartz, Chief Cryptographer
  • 110. Payments Two types of path links Account to Account Link Order Book Link An account to account link uses a pathway to move funds from one account to another. Order book links can change currencies. Path specifies the order book, not specific orders. It is helpful to think of funds as being transferred by their issuers. Order book links appear with account links for their issuers. An intermediary account in a payment path with two account-to-account links will see one balance increase and the other decrease. Account links cannot change currencies, only issuers. David Schwartz, Chief Cryptographer
  • 111. Payments Division of labor Pathfinding Execution Only one server needs to do the pathfinding work for a given payment. Every validator executes the transaction. Path set is already known. Pathfinding generates a set of paths for the transaction and gives an estimate of the cost. Degrees of separation tend to be short. Order books are indexed to make execution efficient. Paths are taken incrementally and more than one path can be used to get the best rate. Current Ripple servers use a table driven pathfinding engine. Payments succeed or fail atomically. There is room for innovation in path finding. Must be completely deterministic. David Schwartz, Chief Cryptographer
  • 112. Trading Ripple supports order books between all asset pairs. Market Making Arbitrage Marking making is offering to buy and sell the same asset over a period of time. Arbitrage is buying and selling the same asset at approximately the same time to profit from a difference in price. Market making in Ripple makes large payments possible and improves rates. Market makers link cash-in networks with cash-out networks, making remittance efficient. Internal arbitrage involves only transactions inside the Ripple network. While there will be internal arbitrage opportunity in the Ripple network, everyone will be competing for the same opportunities. External arbitrage involves matching transactions inside the Ripple network with transactions outside the Ripple network. David Schwartz, Chief Cryptographer
  • 113. Invisible Ripple Ripple can be the back end that makes a payment work Inbound payments using Ripple • Customer selects product they want to buy. • Merchant presents customer with payment options. • Customer selects a payment network they are familiar with. • Merchant directs the customer to a Ripple gateway, specifies their Ripple account and payment amount. • Customer makes payment to gateway using conventional payment network. • Gateway makes Ripple payment to merchant. • Merchant credits customer for payment. David Schwartz, Chief Cryptographer
  • 114. Invisible Ripple Ripple can be the back end that makes a payment work Advantages • Customer uses conventional payment network they already know. • Merchant is paid in local currency at a local financial institution. • Payment has access to all the liquidity in the Ripple network. • Similar model works for outbound payments. • Each participant does one thing. David Schwartz, Chief Cryptographer
  • 115. XRP What is it for? Characteristics: • XRP can be transferred between any two accounts, no transfer fee. • XRP is a unique asset in the Ripple system: - No issuer, no counterparty. - Needed for transaction fees, account creation, and reserves. • The easiest way to make an asset liquid is probably to make it liquid to and from XRP: - Other assets have multiple issuers. - Other assets are likely to be regional. - XRP is a bridge. • If assets are liquid to XRP, you can hold XRP if you do not know what asset you will need: - Assuming price is reasonably stable. David Schwartz, Chief Cryptographer
  • 116. Conclusion The Internet works. Shipping works. Payments are broken. Ripple completes commerce • Do what you do best. • Everything works together. - Currencies don‟t matter. - Locations don‟t matter. - Institutions don‟t matter. David Schwartz, Chief Cryptographer
  • 117. Conclusion What does Ripple offer? • Backed by Ripple Labs. • Fully open source, ISC license. • For everyone. • Nearly instantaneous, nearly free transactions. • Receive, pay, and hold the currency of your choice. • Direct access to market makers • Irreversible payments. David Schwartz, Chief Cryptographer
  • 118. Any questions? David Schwartz, Chief Cryptographer
  • 119.
  • 121. About Me Stefan Thomas CTO, Ripple Labs Previous:
  • 122. Bitcoin Scripts A simple stack machine. Outputs and inputs connect
  • 123. Bitcoin Scripts A simple stack machine. Outputs and inputs connect • Transaction outputs verify the state of the stack • Transaction inputs need to set it up • If it returns true, the input is valid. • Surprisingly powerful!
  • 124. Bitcoin Scripts A simple stack machine. Limitations • Limited set of opcodes • No ability to reference external data • No concept of accounts
  • 125. Contracts A distributed Turing machine. Consensus for your own apps • Contracts use arbitrary x86 code • Ledger is a generic key/value store
  • 126. Escrow Basic example. Two parties transacting with mediator Mediator should only be able to send funds to one of the parties, but not to herself.
  • 127. Escrow A basic example. 2 of 3 multisig in Bitcoin 2 <K1> <K2> <K3> 3 CHECKMULTISIGVERIFY
  • 128. Escrow A basic example. 2 of 3 multisig in Ripple if (check_multisig(2, 3, payload[“sigs”], local[“keys”])) send_funds(payload[“dest”]);
  • 129. Escrow A basic example. Someone has to actually implement check_multisig… function check_multisig(int n, int m, Object sigs, Object keys) { int valid_sigs = 0; for (int i = 0; i < m; i++) if (verify_ecdsa_sig(sigs[i], keys[i])) valid_sigs++; return valid_sigs >= n; } It‟s a contract!
  • 130. Escrow A basic example. Code duplication? function check_multisig(int n, int m, Object sigs, Object keys) function check_multisig(int n, int m, Object sigs, Object keys) function check_multisig(int n, int m, Object sigs, Object keys) function check_multisig(int n, int m, Object sigs, Object keys) • Contracts can link to other contracts as libraries
  • 131. Escrow Basic example. What about verify_ecdsa_sig? • Compiled as a contract – and so is OpenSSL. • “It‟s contracts all the way down.” • All pure processing functions are fully sandboxed  Minimal trusted code base (TCB)
  • 132. Escrow Basic example. And what about send_funds? • A contract generates a static piece of data called the “agenda”. SEND_CONTRACT_FUNDS_ALL [destination_account] • Think of it like an SQL query. BEGIN TRANSACTION; UPDATE accounts SET balance = balance + (SELECT balance FROM contract_accounts WHERE contract_id = ?) WHERE account = ?; UPDATE contract_accounts SET balance = 0 WHERE contract_id = ?; COMMIT;
  • 133. Details We skipped a lot of stuff. Some more notes on how it all works • Contracts can hold funds • For KYC and other purposes contracts will have an “owner” account • Contracts can delete themselves • Contracts can write to hashtables based on their namespace • Contracts can read any entry in the ledger
  • 134. Subscriptions This is a bit more interesting. Let‟s ramp things up a bit! • I want to have a contract that says: “You can take up to 10 USD/Bitstamp out of my account per month.”
  • 135. Microgateways Ok, now we‟re starting to talk craziness. Goal: Can we get PayPal support without… PayPal support? *rolls up sleeves*
  • 136. Microgateways Ok, now we‟re starting to talk craziness. Contracts managing peer-to-peer transactions • Hypothetical IOU worth 1 USD: USD/M • I can now trade this IOU with full Ripple functionality: – Buy them on PayPal after going through KYC – Redeem them on PayPal with a 120 day escrow – All managed by Ripple contracts and SSL session proofs
  • 137. Microgateways Ok, now we‟re starting to talk craziness. SSL proofs 1. Do an SSL session through a proxy – Proxy witnesses data stream (does not have access to contents) – PayPal‟s certificate shows up in initial handshake 2. Submit SSL log and witness signature to contract 3. Profit?
  • 138. Microgateways Ok, now we‟re starting to talk crazy. Problem: How are these IOUs issued? • Only requirement: It must cost at least 1 USD to create 1 USD/M • “To issue 1 USD/M, you must send 1.05 USD to one of these charities.” Disclaimer: • SSL proofs are a bit weak for this: They‟re worst of (counterparty, witness) • There might be a better way to provably destroy dollars! Ideally: Only need to trust Fed. • But: Good enough.
  • 139. Microgateways Ok, now we‟re starting to talk crazy. Bigger problem: How are these IOUs redeemed?! • We want the value of the asset to track USD as much as possible. • If there are too few USD/M, no problem, people can issue. • But what if there are too many?
  • 140. Microgateways Ok, now we‟re starting to talk crazy. IOU inflation • Two main options: – If underlying asset is inflationary: Do nothing – If underlying asset is deflationary: Add demurrage to IOUs
  • 141. Microgateways Ok, now we‟re starting to talk crazy. Let‟s recap • The price of 10 USD/M will be between: 0 USD (if there is no one wanting to deposit funds) 10 USD + whatever the real transaction costs of depositing are • Good enough to get money in+out • But you‟d probably rather hold XRP or BTC
  • 142. Autonomous Agents He‟s lost it. If code can own money… • Agents need somewhere to run. – – Hosted autonomous agents (hosting risk) – • Physical autonomous agents (e.g. self-driving cars) Distributed autonomous agents (first time possible with Ripple) And they need to hold funds.
  • 143. Autonomous Agents He‟s lost it. … fun things happen. • Evolutionary model: – Agents can outsource improvements. – Hire somebody with a reputation for making better agents – Child agents start with a birth loan – Agents are “mindless capital”
  • 144. Capital contracts Putting it all together. An alternative to the evolutionary model • Developers write agents and publish them • Investors fund them • Can be as flexible or rigid as needed
  • 146.
  • 148. We’re Hiring! ripple.com/jobs - Inquire with jobs@ripple.com Business Development Product • VP of Financial Services • Integration Engineer • VP of Emerging Markets • Product Manager of Platform Software Development • Technical Writer • Sr. Javascript Engineer • UX Product Designer • Lead Android Developer • Data Analyst