Intro to R3
05/12/16.
R3 Engineering
Intro to R3 R3 Engineering 05/12/16. How is R3 enabling - - PowerPoint PPT Presentation
Intro to R3 R3 Engineering 05/12/16. How is R3 enabling collaboration? Most Start-ups: Create a Market it and Refine it Product sell it (maybe) R3: Collaborate on Create a requirements; Build it together Consortium open source 1400
05/12/16.
R3 Engineering
How is R3 enabling collaboration?
Create a Product Market it and sell it Refine it (maybe)
Create a Consortium Collaborate on requirements;
Build it together
70+ global institutions 1400 + passionate people
Most Start-ups: R3:
R3 Global Members
Hype
POCs Early Scaled Deployments Talk Main Stream Deployments Early Adoptions Value Definition Building Blocks Collaboration
Tipping Point
Market Interfaces “The Norm”
Standards Regulation Technology Governance Collaboration Bridging the gap towards mainstream adoption
We are here
Consortium Projects
The Empire Strikes Back!
December 6th 2016.
Caveat: will mix implemented vs pending work. Will call out what’s not coded with a *
p7.
Corda @ HyperLedger London p8.
Corda @ HyperLedger London p10.
Corda @ HyperLedger London p11.
p12.
Corda @ HyperLedger London p13.
Transactions can have attachments. Attachments are zip files referred to by hash. Can contain:
Attachments form a per-tx filesystem and files cannot overlap. Attachments are deduplicated on the wire.
Corda @ HyperLedger London p14.
Transactions are structured as a Merkle tree. Can selectively reveal different parts. States (outputs) can contain arbitrary object graphs
(at present – may restrict this soon)
Encumbrances allow you to combine different contract logic.
No broadcast: transactions resolved lazily Consequence: DoS handling is simpler Consequence: bulk data import is silent Consequence: must specify where data is sent
Corda @ HyperLedger London p15.
survives process restarts, stored in the database
p16.
– Messages are buffered to disk and delivery is retried up to the event horizon
an MQ broker
Corda @ HyperLedger London p17.
Corda @ HyperLedger London p18.
Pity the fool who tries to build a block chain app! New databases are hip but:
data … Most platforms give you REST and then you’re alone
Corda @ HyperLedger London p20.
Corda built on the JVM Embeds the H2 relational database. JDBC access.
Support for other external DBs in future*
State schemas can be JPA annotated with conversion code in the smart contract “Relevant” states written to DB tables State schemas commonly contain slots for join keys
Corda @ HyperLedger London p21.
p22.
– Onebox: for local testing/dev work – Raft: robust against node failure, not malice – Above x2 for non-validating modes – In future, BFT-SMaRT*
Corda @ HyperLedger London p23.
Corda contracts defined using restricted, cut down bytecode Most features are gone, e.g.
strictfp enforced everywhere
(+more!)
Corda @ HyperLedger London p24.
Primary comms is via Client RPC
management*, buffering etc …
directly bound to JavaFX UI and mapped/filtered/sorted Functional, pipeline oriented programming.
Corda @ HyperLedger London p25.
val one_touch = arrange { actions { highStreetBank may { "expire".givenThat(after("2017-09-01")) { zero } } acmeCorp may { "knock in".givenThat(EUR / USD gt 1.3) { highStreetBank.owes(acmeCorp, 1.M, USD) } } } }
Corda @ HyperLedger London p26.
fungibility
Corda @ HyperLedger London p27.
Until now: experimentation and design Starting now: the road to production
Corda @ HyperLedger London p29.
management is done
we will talk about more if/when it’s more mature
eliminating bugs
Corda @ HyperLedger London p30.
p31.