---
tags: sourcenetwork
---
# Source Network Primer
The following is a non-exhaustive primer document on the background and technologies we build on or with to enable the Source Network.
## DefraDB
DefraDB is the core database of the Source Network. It is a decentralized peer-to-peer, user-centric, privacy focused document NoSQL database.
#### IPLD
*MerkleDAG based linked data model*
- [IPLD](https://ipld.io/) - stands for InterPlanetary Linked Data. It is an ecosystem of formats and data structures for building applications that can be fully decentralized.
- [What is IPLD](https://hackernoon.com/understanding-ipfs-in-depth-2-6-what-is-interplanetary-linked-data-ipld-c8c01551517b)
#### LibP2P
*Peer-to-Peer networking stack*
- [LibP2P](https://libp2p.io/)
- [Intro to (slides)](https://max-inden.de/static/introduction-to-libp2p.pdf)
- [Why Libp2p](https://medium.com/paritytech/why-libp2p-13085ed0c9c8)
### CRDTs
*Conflict-Free Replicated Data Types*
- [Conflict-free replicated data type](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)
- [State of a State-based CRDT (Conflict-free Replicated Data Types)](https://bartoszsypytkowski.com/the-state-of-a-state-based-crdts/)
- [CRDTs are the Future](https://josephg.com/blog/crdts-are-the-future/)
#### State Compaction
- https://martin.kleppmann.com/papers/snapdoc-pets19.pdf
#### MerkleCRDTs
*CRDTs based on MerkleDAGs*
- [Merkle-CRDTs: Merkle-DAGs meet CRDTs](https://arxiv.org/abs/2004.00107)
### Database Internals
- [A Busy Developer’s Guide to Database Storage Engines — The Basics](https://blog.yugabyte.com/a-busy-developers-guide-to-database-storage-engines-the-basics/)
- [A Busy Developer’s Guide to Database Storage Engines — Advanced Topics](https://blog.yugabyte.com/a-busy-developers-guide-to-database-storage-engines-advanced-topics)
### Misc
- [Replicate Your Database to the Client](https://josephg.com/blog/replicate-your-database-to-the-client/)
- [ The database I wish I had ](https://euandre.org/2020/08/31/the-database-i-wish-i-had.html)
## SourceHub
SourceHub is the trust protocol of the Source Network. It is an application-specific blockchain built with the CosmosSDK and uses Tendermint consensus.
### Application Specific Blockchains (ASBC)
*Custom blockchains that serve single application purposes instead of generalized blockchains like Ethereum/Polygon that host many many applications.*
- [Intro](https://www.coinbase.com/cloud/discover/dev-foundations/application-specific-blockchains)
- [Smart Contracts vs ASBC](https://www.figment.io/resources/smart-contracts-vs-application-specific-blockchains)
- [Shortcomings of Smart Contracts](https://medium.com/onomy-protocol/application-specific-blockchains-addressing-the-shortcomings-of-smart-contracts-84662e4d4843)
### Authorization Engine
*Decentralized implementation of the Google Zanzibar. Relationship Based Access Control (RelBAC).*
- [Google Paper](https://research.google/pubs/pub48190/)
- [SpiceDB](https://github.com/authzed/spicedb)
- [Zanzibar From Scratch](https://www.osohq.com/post/zanzibar)
### Cosmos Network & SDK
*Cosmos is an ecosystem of application specific blockchains built using the Cosmos SDK. By using the InterBlockchain Communication protocol, a network of blockchains form the Interchain.*
- [Cosmos](https://cosmos.network/)
- [What is the Internet of Blockchains](https://forkast.news/what-is-cosmos-the-internet-of-blockchains/)
- [Value Prop of Cosmos](https://blog.cosmos.network/understanding-the-value-proposition-of-cosmos-ecaef63350d)
- [Module SDK](https://v1.cosmos.network/sdk)
- [Cosmos SDK Github](https://github.com/cosmos/cosmos-sdk)
#### InterBlockchain Communication Protocol (IBC)
- [Overview](https://ibcprotocol.org/)
- [TCP/IP Protocol of Blockchains](https://johnniecosmos.medium.com/inter-blockchain-communication-protocol-ibc-the-tcp-ip-protocol-of-blockchains-bridges-trends-b38ed700c681)
#### Tendermint
- [Website](https://tendermint.com/)
- [Tendermint Explained 1](https://academy.binance.com/en/articles/tendermint-explained)
- [Tendermint Explained 2](https://blog.cosmos.network/tendermint-explained-bringing-bft-based-pos-to-the-public-blockchain-domain-f22e274a0fdb)
- [BFT in the Age of Blockchains](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769)
- [Proof of Stake Primer](https://blog.cosmos.network/tendermint-explained-bringing-bft-based-pos-to-the-public-blockchain-domain-f22e274a0fdb)
#### General Blockchain Consensus
- [A-Z of Blockchain Consensus](https://medium.com/tendermint/a-to-z-of-blockchain-consensus-81e2406af5a3)
- [Consensus Algorithms in Blockchains](https://www.geeksforgeeks.org/consensus-algorithms-in-blockchain/)
## Orbis
*Decentralized custodial secrets management engine.*
- [Threshold Cryptosystems 1](https://en.wikipedia.org/wiki/Threshold_cryptosystem)
- [Threshold Cryptosystems 2](https://cryptography.fandom.com/wiki/Threshold_cryptosystem)
- [Proxy Re-encryption 1](https://medium.com/@teamtech/decentralized-identity-granting-privacy-with-proxy-re-encryption-e0bf68ad465c)
- [Proxy Re-encryption 2](https://medium.com/asecuritysite-when-bob-met-alice/proxy-re-encryption-allowing-alice-to-share-her-protect-secret-key-with-bob-e2a7d0f9d4dd)
- [Threshold Proxy Re-encryption](https://github.com/nucypher/umbral-doc/blob/master/umbral-doc.pdf)
- [Distributed Key Generation](https://medium.com/toruslabs/what-distributed-key-generation-is-866adc79620)
-
- [Distributed Randomness Beacon](https://spec.filecoin.io/libraries/drand)
- [Digital Signatures](https://spec.filecoin.io/algorithms/crypto/signatures/)
- [Towards Web3 Signatures](https://medium.com/asecuritysite-when-bob-met-alice/towards-web3-ed25519-ed448-and-ed2551-dilithium-32d36b06f499)
### Example Reference Implementations
- [CHURP - Dynamic Committee Proactive Secret Sharing](https://www.churp.io/)
- [Calypso - Auditable Sharing of Private Data over Blockchains](https://github.com/dedis/cothority/tree/main/calypso)
## Zero Knowledge Key Management System (Zk-KMS)
*Zero Knowledge based system designed for ease of use end-user authentication and key management.*
- [Zero-Knowledge Primer](https://blog.cryptographyengineering.com/2014/11/27/zero-knowledge-proofs-illustrated-primer/)
- [PAKE](https://blog.cryptographyengineering.com/2018/10/19/lets-talk-about-pake/)
- [DLEQ - Proof of Discreet Log Equality](https://billatnapier.medium.com/non-interactive-zero-knowledge-proof-of-discrete-log-quality-f6f543d2ba2e)
- [Keyless - Passwordless ZK auth](https://medium.com/@keylesstech/how-keyless-uses-zero-knowledge-proofs-to-protect-your-private-data-255d936be4fd)
-
## Web3 & Miscellaneous Decentralized Infrastructure (Vision of Source Network)
- [Local First Software](https://www.inkandswitch.com/local-first.html)
- [Privacy & Data Ownership](https://thetoolsweneed.com/privacy-is-just-the-first-step-the-goal-is-data-ownership/ )
- [The Web3 Stack](https://multicoin.capital/2018/07/10/the-web3-stack/)
- [Vectors of Decentralization](https://multicoin.capital/2019/07/25/unbundling-vectors-of-centralization-in-web3/)
- [Why we need web3](https://breakermag.com/why-we-need-web-3-0/)
- [The Database I wish I had](https://euandre.org/2020/08/31/the-database-i-wish-i-had.html)