Here is a curated list of readings and resources that ignited our interest in realizing a decentralized Public Key Infrastructure (PKI) vision for the future. We included topics such as fundamentals, Web3, blockchain, web PKI, DNS, time, IoT security, light clients, Ethereum, as well as development tools and tutorials. We are also collecting feedback for our newly published research paper about BlockQuick, a super light client protocol for blockchain validation. DM us on Twitter if you want to share your thoughts. We look forward to hearing from you!
Fundamentals
The Future of Decentralized Trust on the Internet
- Web3
- Decentralized web https://blockchainhub.net/web3-decentralized-web/
- Decentralized DNS
- Handshake, ENS and Decentralized Naming Services Explained (2018) https://hackernoon.com/handshake-ens-and-decentralized-naming-services-explained-2e69a1ca1313
- Why DNS-on-Blockchain is the next step after DNS-over-HTTPS — our take on the issue: https://diode.io/distributed-infrastructure/Why-DNS-on-Blockchain-is-the-next-step-after-DNS-over-HTTPS-19231/
- Decentralized Networks
- IPFS — introducing a peer-to-peer distributed file system https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf
- Swarm: https://www.youtube.com/watch?v=kT7BgOH49Sk
- State-of-the-art of decentralized web https://hackernoon.com/a-state-of-the-art-of-decentralized-web-part-2-ea630917332a
- Decentralized PKI (Public Key Infrastructure)
- A methodology to ensure the creation, storage, distribution, and revocation of public keys. — a paper from Rebooting the Web of Trust workshop https://github.com/WebOfTrustInfo/rwot1-sf/blob/master/final-documents/dpki.pdf
- Our take on it: https://diode.io/dpki/how-decentralized-public-key-infrastructure-will-be-the-future-for-the-web-19148/
Light Clients — thin, light, super-light clients
- Overview on Bitcoin Thin Clients https://en.bitcoin.it/wiki/Thin_Client_Security#Simplified_Payment_Verification_.28SPV.29
- BitCoin paper on SPV (thin clients) https://bitcoin.org/bitcoin.pdf
- BlockQuick: A super light blockchain client for trustless time by Dominic Letz https://diode.io/burning-platform-pki/blockquick-super-light-blockchain-client-for-trustless-time-19144/
- BlockQuick Reputation Table Explained https://diode.io/blockquick/blockquick-consensus-reputation-table-explained-19182/
Blockchain Technology
- How does Ethereum work, anyway? — how it functions at a technical level, without complex math https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369
- The Ethereum Yellow Paper https://ethereum.github.io/yellowpaper/paper.pdf
-
The idea of smart contracts http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html
- Making Sense of “Cryptoeconomics” https://medium.com/l4-media/making-sense-of-cryptoeconomics-5edea77e4e8d
Research
-
The Constrained Resource Clients Ring of Ethereum Magicians Forum https://ethereum-magicians.org/c/working-groups/constrained-resource-client-ring
-
Man-in-the-middle attacks https://diode.io/blockchain/MITM-attacks-and-why-it’s-time-to-start-thinking-about-decentralized-PKI-19210/
- Eclipse attacks https://diode.io/blockchain/how-blockquick-super-light-client-protocol-can-help-mitigate-eclipse-attacks-19161/
- Trust of network time https://diode.io/burning-platform-pki/why-we-cant-trust-network-time-19116/
-
DNS on blockchain https://diode.io/distributed-infrastructure/Why-DNS-on-Blockchain-is-the-next-step-after-DNS-over-HTTPS-19231/
- BGP attacks https://diode.io/security/why-the-internet-infrastructure-is-vulnerable-to-bgp-hijacking-attacks-19175/
Applications
Development tools
-
Truffle — a popular smart contract development framework https://www.trufflesuite.com/
-
Remix — a browser-based Ethereum IDE https://remix.ethereum.org/
-
Metamask — a browser extension that allows you to interact with Ethereum dApps https://metamask.io/
-
Solidity — a popular programming language for implementing smart contracts https://solidity.readthedocs.io/en/v0.5.11/
-
EVMC — Ethereum Client-VM Connector API https://github.com/ethereum/evmc
-
Ethereum JS https://github.com/ethereumjs
Workshops and tutorials
-
Rebooting the Web of Trust design workshop https://github.com/WebOfTrustInfo/rwot9-prague
-
Learning Solidity https://karl.tech/learning-solidity-part-2-voting/
Presentation slides & videos
-
“Ethereum from multiple perspectives” — talk by Albert Ni at ETHBoston 2019 https://youtu.be/QndfwZF8YeY
-
A presentation by Nick Johnson, lead developer of Ethereum Name Service (ENS), at EDCON Sydney 2019 https://youtu.be/FU7-U06LejY