2. Parity
What is Parity?
Parity Ethereum Client is software made by Parity Technologies
● Acts as a “full” node on the Ethereum network
● Keeps a synchronised block chain to audit other nodes
● Manages secret keys; signs and publishes transactions
● Written in Rust for correctness, performance and footprint
● Portable - works on Windows, Mac OS and Linux/Unix
● Modular actor-based architecture for reliability
3. Parity
What is Parity?
Advanced Ethereum client:
● State-trie pruning keeps database size to a minimum
● Auto-upgrading keeps node up to date via smart-contract
● Light-client operation for minimal-resource/embedded clients
● Chain-specification files for multi-chain interoperability
● Consensus-abstraction for pluggable consensus algorithms
4. Parity
PAR
● Fully syncs in around 60s
● Serves & shares:
○ Compressed, condensed,
aggregated state-trie data
○ Cryptographic manifests
● Multi-level security
● Downloads receipts &
transactions to ensure full
compatibility
Parity wire protocol for
Warp-sync
5. Parity
PIP
● Builds on Foundation’s LES
protocol
● Request pipelining to
minimize round-trips
● Responses fully provable:
sybil attack resistant
Parity light client Protocol
6. Parity
Vaults
Keep your addresses to
yourself
● Geth-dialect of wallet files
include address in plaintext
● Vaults encrypt address and
other metadata of key files
● One path = one password
● Enter path’s password to
see addresses of key files
7. Parity
Deep Tracing
Figure out what really
happened
● New trace_ API
● Allows for:
○ state deltas
○ VM trace
○ deep transaction trace
● Used for:
○ preview transactions
○ re-run transactions
11. Parity
Auto-updating
Parity will stay in sync with
the network. Always.
● Multiple functions:
○ Always
○ Never
○ Track versus minor-version
○ Critical only
○ Download only
● Controlled by
smart-contract
● Smart-contract has
partially-automated,
multi-phase multi-key
system
12. Parity
Parity Infrastructure
Smart contracts and services
● Registry hierarchical name registry
● TokenReg, DappReg, BadgeReg network-maintained indexes
● GithubHint/URLHint hash to URL hint system
● Operations Client version & consensus algorithm database/DAO
● SMSVerification SMS-based identity verification system
● EmailVerification e-Mail-based identity verification system
13. Parity
Operations
The right information to
keep network operations
going.
● Multi-stakeholder smart
contract
● Multi-client, multi-track,
multi-release,
multi-binary
● Tracks consensus protocol
● Implements much of
“Yellow Paper council”
● Forks require teams signoff
● Chronicles which releases
support which forks
14. Parity
SMS-Certifier
First tool to fight Sybil
● Centralised service :(
● Accounts get certified that
they have unique phone
associated
● Low cost (12 Finney)
● No data released on chain
● Only hash stored on server
15. Parity
Email-Certifier
Send Ether to an e-mail
address
● Centralised service :(
● Accounts get certified that
they correspond to an email
address
● Free
● Email hash placed on chain
● ETH address resolvable
16. Parity
What is Parity Wallet?
Primary user interface for the Parity Ethereum client
● Account/identity management
● Wallet management
● Contract development, deployment, management
● Secure authorisation & signing
● Transaction tracing and node management
● (Decentralised) Application publishing and management
● Chrome Browser Extension support
17. Parity
Account & Identity Management
● Name display: local and Registry
● Name input: local, Registry and e-Mail certified
● Displays Ether and Standard Tokens via Token Registry
● Displays certifications via Badge Registry
● Bestow and filter by tags
● Standard recovery phrase key generator
30. Parity
Secure Approval/Signing
● Multi-layer security approach:
○ Only isolated high-security Parity module for storing/using secrets
○ Only high-security API allows signing to be approved by supplying password
○ Only JS signer code served by Parity has access by default
● In-Application overlay (“Signer Snippet”)
○ Secure background pattern to ensure DApp isn’t sniffing password
○ Allows primary/default account selection
○ Identifies Application responsible for request
○ Works on Parity-hosted “DApplications” and Ethereum-enabled websites
○ Allows tweaking of parameters (gas, gasPrice and conditional publishing)
33. Parity
Application Publication & Management
● DApp manifest allows for metadata display
● (Decentralised) Applications visible on main Applications page
● Three sections:
○ Local (those found in your parity/dapps directory)
○ Built-in (those that come bundled with Parity Wallet)
○ Network (those found published to the DApps Registry)
● Parity hosts all allowing for ease of development
● Coming soon: DApp permissions to allow certain DApps to access
greater portion of the API
35. Parity
Node management & Transaction tracing
● View node information (consensus/chain/logging)
● Alter node operation (syncing & network)
● Published transactions can be traced
● View transaction queue to see nodes to which propagated
● May be resubmitted with altered gas/gasPrice
37. Parity
Parity Dapp Tooling
Helping you build dapps
● RPC documentation auto-generated from the code with examples
● parity.js our low-level Promise-based alternative to web3.js
● oo7-parity.js our high-level Bond-based Dapp API
● oo7-react.js our high-level Bond & React-based helper API
● React component library for Dapp building blocks
● Tutorial available on Parity wiki
45. What does it provide?
Pooled security
all constituent chains of our community guaranteed
Trust-free transactions
constituent chains can send transactions to each other
Entirely general
free-form messages: no set semantics; same guarantees
as contract-calling in ethereum
46. How does it work?
Relay-chain
the top-level which coordinates consensus and
transaction delivery between constituents
Parachains
constituent chains which gather and process
transactions
47. Basics of the Relay-chain
No functionality
no external transactions, no smart contracts
Governance built-in
token ownership gives voting privileges
48. Polkadot’s Relay-chain ensures that
transactions between the constituent
parachains get delivered and that
they are all operating correctly.
Parachains can take any form of
globally-coherent consensus system;
potentially even another relay-chain.
Enterprise-friendly encrypted, private,
proof-of-authority chains are
supported.
Bridges can exist to ferry transactions
between the relay chain and existing,
independent chains like Ethereum.
Extensible, Scalable
and Flexible
49. Open parachains can be tightly integrated
into Polkadot, using Polkadot’s validators to
ensure their correct operation. They are the
easiest and cheapest form of integration.
Closed parachains can be weakly integrated
into Polkadot, giving them the freedom to
manage validation internally e.g. using a set
of recognised authorities.
Bridged chains can be integrated into
Polkadot too. Bridges add complexity and
cost to integration, but allow the chain to
exercise its own means of consensus.
Polkadot network
Consortium parachain
Authorities manage
parachain validation, access
controls &c.
Transactions and
inter-chain consensus