Blockchain Resources

From IAB TechLab Wiki
Revision as of 19:46, 26 July 2018 by Shailley (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Blockchain Resources

This page is intended to provide resources and information for understanding and learning about blockchain technology and its application to digital advertising. This page has been seeded with curated content from the IAB Tech Lab Blockchain Working Group whose goal (one of many) is to educate the industry about blockchain technology. This resources page contains information about basic concepts, technology components, architecture, terms and definitions used in blockchain as well as the ecosystem and industry projects.
This wiki page is open to any contributor wanting to suggest or update content relevant to the available sections, and it should be considered an open space for industry knowledge share. IAB Tech Lab does not intend to promote any product or services over another within this resource, and we recommend each company research and evaluate which products and services work best for their own organization.

Distributed Ledger Technologies

Distributed ledger technology, being a precursor to blockchain technology, is a great starting point to learn about the technology core concepts. A distributed ledger (also called a shared ledger or distributed ledger technology, DLT) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions. There is no central administrator or centralized data storage.

This article explains different types of databases and how distributed ledgers are different: https://medium.com/@sbmeunier/blockchain-technology-a-very-special-kind-of-distributed-database-e63d00781118
This is a quick guide to understand the difference between decentralized ledger technology and blockchain https://themerkle.com/distributed-ledger-technology-vs-blockchain-technology/
Here is a deeper dive into what DLT is and how it relates to blockchain http://documents.worldbank.org/curated/en/177911513714062215/pdf/122140-WP-PUBLIC-Distributed-Ledger-Technology-and-Blockchain-Fintech-Notes.pdf

What is Blockchain

The word blockchain was originally used to describe the technology used in the distributed ledger of Bitcoin. Essentially, it is a hash-like data structure. The below resources are great introductions to blockchain and most of them also explain Bitcoin as it remains the poster child of blockchain technology.

What is blockchain?: https://coincenter.org/entry/what-is-blockchain-anyway

Simple definitions and a primer on blockchain technology: https://www.cbinsights.com/research/what-is-blockchain-technology/

Primer on blockchain technology and how it can impact marketing https://www.aaaa.org/blockchain-technology-marketing-value-digital-permanence/

For the more technically inclined, this draft report from the National Institute of Standards and Technology provides an in-depth technical description of blockchain. https://csrc.nist.gov/CSRC/media/Publications/nistir/8202/draft/documents/nistir8202-draft.pdf

How Ethereum blockchain works: https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369

Public vs Private Blockchains

Blockchains can be private i.e. some entities control the entry of network participants,or public, where entry is uncensored. And there are hybrid models where joining and read access is public, but control is limited i.e. only a set of selected nodes can write or must sign a block for consensus

https://blog.ethereum.org/2015/08/07/on-public-and-private-blockchains/

Blockchain Networks

Bitcoin

Whitepaper: https://bitcoin.org/bitcoin.pdf

https://www.coindesk.com/information/what-is-bitcoin/

Is Bitcoin different than Blockchain? https://coincenter.org/entry/is-blockchain-different-than-bitcoin

Ethereum

Whitepaper: https://github.com/ethereum/wiki/wiki/White-Paper

Yellowpaper: https://ethereum.github.io/yellowpaper/paper.pdf

https://www.coindesk.com/information/what-is-ethereum/

Ripple

Whitepaper: https://ripple.com/files/ripple_consensus_whitepaper.pdf

https://bitcoinmagazine.com/guides/what-ripple/

Monero

Whitepapers: https://lab.getmonero.org/

https://blockgeeks.com/guides/monero/

Zcash

A bitcoin fork with private payments using zero knowledge proofs. https://z.cash/

https://github.com/zcash/zcash/wiki

NEM

Whitepaper: https://nem.io/wp-content/themes/nem/files/NEM_techRef.pdf

Site: https://nem.io

Litecoin

There is no whitepaper for Litecoin as its protocol is very close to Bitcoin, but here are some basic, informative links:

https://blog.coinbase.com/a-beginners-guide-to-litecoin-d9b455d44cd3

https://litecoin.org/

https://litecoin.info/

https://www.coindesk.com/information/comparing-litecoin-bitcoin/

Bitcoin Cash

Whitepaper: Same as Bitcoin (https://bitcoin.org/bitcoin.pdf). Biggest difference to date is dynamic block sizes

https://blockgeeks.com/guides/what-is-bitcoin-cash/


Hyperledger

https://www.hyperledger.org/

https://blockgeeks.com/guides/what-is-hyperledger/

Hyperledger Frameworks

Sawtooth: for IoT and scale : https://www.hyperledger.org/projects/sawtooth

Iroha: for Mobile: https://www.hyperledger.org/projects/iroha

Fabric: for Enterprise: https://www.hyperledger.org/projects/fabric

Burrow: for Ethereum and smart contracts: https://www.hyperledger.org/projects/hyperledger-burrow

Inde: for Identity and Privacy https://www.hyperledger.org/projects/hyperledger-indy

Quorum

An enterprise-focused version of Ethereum. Enables zero knowledge asset transfers and other advanced features.

https://www.jpmorgan.com/global/Quorum

https://github.com/jpmorganchase/quorum-docs/blob/master/Quorum_Architecture_20171016.pdf

Dash

https://www.dash.org/

https://www.androidauthority.com/what-is-dash-820943/

Stellar (Lumens)

https://stellar.org

Corda: DLT for Financial Services

http://www.r3cev.com/blog/2016/4/4/introducing-r3-corda-a-distributed-ledger-designed-for-financial-services

Nano (Formerly Raiblocks)

A feeless, instant, trustless, low-latency payment cryptocurrency with unlimited scalability. Focus is exclusively on payments.

https://nano.org/en/about/

https://github.com/nanocurrency/raiblocks/wiki/Block-lattice

IOTA

A feeless, decentralized, scalable payment cryptocurrency aimed at transferring payments between IoT devices.

https://iota.org/

https://en.bitcoin.it/wiki/IOTA

https://medium.com/@linda.xie/a-beginners-guide-to-iota-a84424ff5536

https://medium.com/@ralf/about-smart-contracts-in-iota-626d2bd3619e

EOS

A decentralized smart contract platform which uses delegated proof of stake to periodically select a group of validators that declare new blocks.

https://eos.io/

https://blockgeeks.com/guides/eos-blockchain/

Cosmos

A decentralized network of private and public blockchains which can interoperate through its hub. Provides a developer SDK with which to build consensus-aware applications.

https://cosmos.network

https://cosmos.network/developers

Hashgraph

https://techcrunch.com/2018/03/13/hashgraph-wants-to-give-you-the-benefits-of-blockchain-without-the-limitations/

https://www.swirlds.com/whitepapers/

Open Source Projects in Digital Advertising

Open source projects relevant to advertising and marketing industries:

adChain - https://github.com/AdChain - A token curated registry of publishers in which the public participates in the validation of suppliers by staking and earning tokens. The value of the token is derived from how well the public is curating the registry. The repo also includes a state channel implementation for impression tracking.

AdEx - https://github.com/AdExBlockchain - A decentralized ad network. Includes a javascript SDK and second layer for collecting, aggregating, and validating data.

Lucidity (formerly KR8OS) - https://github.com/luciditytech - A system of computing and validating ad tracking data across the demand and supply chain. The repo includes a mobile attribution SDK and an Ethereum Plasma implementation for side-chain based proof-of-stake consensus.

Papyrus - https://github.com/papyrusglobal - A scalable protocol for digital advertising. The repo includes an integration kit and state channel layer implementation

qChain - https://github.com/Q-chain - A decentralized platform for digital advertising, paid surveys, and personal data management. The repo includes its token sale contract and its web backend system


Key Concepts and Technology

Blockchain networks require certain key technologies like cryptography as well as developers have developed new technology to support decentralized networks and applications.This section contains resources for learning more about some of the technologies being deployed by blockchain networks

Cryptography and digital signature

https://en.wikipedia.org/wiki/Cryptographic_hash_function

https://en.wikipedia.org/wiki/Public-key_cryptography

https://en.wikipedia.org/wiki/Digital_signature

https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm (Elliptic Curve Digital Signature Algorithm or ECDSA is used by Bitcoin to ensure that funds can only be spent by their rightful owners)

Merkle Tree

This is how the data is structured in Bitcoin or Ethereum

Quick definition; https://en.wikipedia.org/wiki/Merkle_tree

For a deeper dive into Merkle tree: https://medium.com/@evankozliner/merkle-tree-introduction-4c44250e2da7

What is Mining?

Mining is a fundamental process that powers and maintains the blockchain networks. Learn more here: https://coincenter.org/entry/what-is-bitcoin-mining-and-why-is-it-necessary

Wallets

Wallet is a way to store and manage cryptocurrency holdings without the need for full blockchain node capabilities: https://blockgeeks.com/guides/cryptocurrency-wallet-guide/

Smart contracts

Smart Contracts represent rule-based logic in the form of computer code. This code, distributed on blockchain, is able to self-execute with little or no interaction from a third-party or intermediary.

https://coincenter.org/entry/what-are-smart-contracts-and-what-can-we-do-with-them

http://www.visualcapitalist.com/smart-contracts-blockchain/

https://www.linkedin.com/pulse/blockchain-ethereum-smart-contracts-future-alex-smith/

https://medium.com/startup-grind/gentle-intro-to-blockchain-and-smart-contracts-part-1-3328afca62ab

https://hackernoon.com/comparison-of-smart-contract-platforms-2796e34673b7

Consensus

Consensus is a requirement for blockchain networks to validate and register transactions, and it can be of different types. Here are some resources explaining consensus and outlining the different types:

https://medium.com/@chrshmmmr/consensus-in-blockchain-systems-in-short-691fc7d1fefe

https://www.coindesk.com/short-guide-blockchain-consensus-protocols/

https://www.mycryptopedia.com/delegated-proof-stake-dpos-explained/

https://blog.cosmos.network/consensus-compare-tendermint-bft-vs-eos-dpos-46c5bca7204b

https://hackernoon.com/beginners-guide-what-s-the-difference-between-proof-of-work-proof-of-stake-proof-of-burn-and-74c42df591ca

https://blog.ethereum.org/2015/12/28/understanding-serenity-part-2-casper/

https://www.microsoft.com/en-us/research/publication/byzantine-generals-problem/

What is Byzantine Fault Tolerance (BFT) and why is it important for consensus driven systems? https://en.wikipedia.org/wiki/Byzantine_fault_tolerance

http://pmg.csail.mit.edu/papers/osdi99.pdf

dApps

dApps are a new kind of applications developed to interact with blockchain systems or distributed databases and can run on both a P2P network as well as a blockchain network.

https://www.investopedia.com/terms/d/decentralized-applications-dapps.asp

https://www.coindesk.com/information/what-is-a-decentralized-application-dapp/

https://hackernoon.com/ethereum-development-walkthrough-part-5-making-a-dapp-4c2a3bbcd5e5

https://hackernoon.com/how-will-dapps-grow-f8cd290ddcf

A curated list of dApps on ethereum https://www.stateofthedapps.com/

Databases

Bluzelle for Ethereum https://bluzelle.com/#frontpre-video-area

BigChain : https://www.bigchaindb.com/

https://www.zdnet.com/article/blockchains-in-the-database-world-what-for-and-how/

Craxel: https://www.craxel.com/

Programming Languages

New languages to speak freely with new technologies !

Vyper - Python-like: https://github.com/ethereum/vyper

Solidity https://blockgeeks.com/guides/solidity/

Technologies

A summary of important new technologies ushering in supporting blockchain technology

http://www.blockchainexpert.uk/blog/what-is-solidity

https://bitcoinmagazine.com/articles/introducing-programming-language-so-simple-it-fits-t-shirt/

https://plasma.io

https://github.com/ethereum/wiki/wiki/Sharding-FAQ

https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

https://medium.com/l4-media/generalized-state-channels-on-ethereum-de0357f5fb44

https://blog.cosmos.network/consensus-compare-tendermint-bft-vs-eos-dpos-46c5bca7204b

https://cosmos-sdk.readthedocs.io/en/develop/

https://www.stellar.org/developers/

https://hyperledger-fabric.readthedocs.io/en/release-1.1/ledger.html

https://hyperledger-fabric.readthedocs.io/en/release-1.1/channels.html

Actors

Profiles of important people who have shaped the Blockchain platforms today

Satoshi Nakamoto

Nick Szabo

Hal Finney

Vitalik Buterin

Gavin Wood

Joseph Lubin

Vinay Gupta

Brian Behlendorf

Andreas Antonopoulos


Cryptocurrencies

Ah! For all who want to also understand the dark side. Only then can you balance the force

Cryptoeconomics

https://hackernoon.com/making-sense-of-cryptoeconomics-5edea77e4e8d

Tokens/ coins

https://blog.citowise.com/the-basics-coin-vs-token-what-is-the-difference-5cd270591538

This infographic provides a classification framework for tokens: http://www.untitled-inc.com/token-classification-framework/ - February 2018.

https://blog.0xproject.com/the-difference-between-app-coins-and-protocol-tokens-7281a428348c

https://news.earn.com/thoughts-on-tokens-436109aabcbe

https://saftproject.com/

Use cases and Application

The document provides a high-level overview of blockchain and describes several use cases in the advertising industry.

https://www.iab.com/wp-content/uploads/2018/02/Blockchain_for_Video_Advertising_Publisher-Buyer_Use_Cases_2018-02.pdf - February 2018. Blockchain in Digital Advertising

Basic Attention Token (BAT)
https://www.basicattentiontoken.org/
BAT is an open-source, decentralized digital advertising platform based on Ethereum. The Basic Attention Token digital advertising platform is comprised of various components, including a digital advertising exchange, attention measurement systems, analytics dashboards, and machine learning algorithms.

Lucidity (formerly KR8OS)
https://lucidity.network
Lucidity is a digital advertising protocol built upon the Ethereum blockchain. Lucidity’s goal is to bring greater transparency, consistency, and reliability to the digital advertising ecosystem through open validation of event data.

Koin (Kiip)
http://kiip.me
Koin is the governing B2B and B2C token (initially in the Kiip network, eventually open source) that leverages smart contracts for the orchestration of mobile media campaigns, but also rewards end users with a part of the token. Consumers can spend tokens on digital goods and services in-app or also on the products that the original brands are advertising.

Papyrus
https://papyrus.global/
Papyrus is a decentralized programmatic value management platform aimed to radically improve the programmatic advertising stack to provide an efficient, transparent, and mutually beneficial environment for users, publishers, advertisers, and decentralized application (dApp) developers using blockchain architecture. It is an open source, scalable blockchain platform specifically designed to fight fraud traffic, brand safety issues, excessive middleman cuts, and absence of supply chain transparency.

Ternio
https://ternio.io/
Ternio is a multifaceted blockchain network utilizing an internal blockchain, called Lexicon, based upon Hyperledger Fabric for immediate smart contracts and transactions of advertisements, a communication layer for ultra-fast data transfer, and Ternio blockchain (token) built off the Stellar (XLM).

Faktor
https://www.faktor.io/
Faktor is a powerful platform for consumer centric tools for digital advertising

DATX
https://www.datx.co/
Datx is a blockchain for programmatic advertising

uPort
https://medium.com/uport Identity and user-centric data platform built in Ethereum.

Rebel AI
https://rebelai.com
Rebel AI prevents ad fraud using blockchain and encryption

XCHNG
https://www.xchng.io/
XCHNG is the open and unified blockchain solution that will provide stability, security, efficiency and transparency in the digital advertising industry. . The decentralized model of XCHNG simplifies through peer-to-peer buying and selling. Leveraging a Blockchain standard for digital advertising removes the intermediaries and allows buyers and sellers to transact directly.

Legal resources

N.B. the law regarding all aspects of blockchain technology implementations is nascent and shows just as much volatility as the crypto-markets themselves. As such, while the below serve as guideposts, they should not be taken as legal advice. Please consult an attorney at the time a legal analysis is needed or transaction performed. Licensing
https://www.coindesk.com/coders-beware-licensing-issues-abound-ethereum-apps/ - December 2017 article by Matt Savare and John Wintermute. The article discusses high-level open source licensing issues with a particular emphasis on Ethereum.

https://github.com/LawDEX/LawDEX -GitHub repository for “Open Source” legal documents for coins. It has two good documents in it now (50 State Survey for Token Offerings and a Token Advisor Agreement)

Legal vs smart contract

https://hbr.org/2017/01/the-truth-about-blockchain

https://law.yale.edu/yls-today/yale-law-school-videos/blockchain-smart-contracts

https://media.consensys.net/introducing-openlaw-7a2ea410138b

http://www.nortonrosefulbright.com/files/norton-rose-fulbright--r3-smart-contracts-white-paper-key-findings-nov-2016-144554.pdf

https://www.globalbankingandfinance.com/get-smart-automating-business-agreements-with-blockchains-and-smart-contracts - January 2018 article by Matt Savare and Kurt Watkins. The article provides a high-level overview of Ethereum and smart contracts.

Government and Blockchain

References to SEC guidance https://www.sec.gov/news/press-release/2017-131
https://www.sec.gov/news/public-statement/statement-clayton-2017-12-11
https://www.sec.gov/news/public-statement/statement-clayton-giancarlo-012518
https://www.sec.gov/news/testimony/testimony-virtual-currencies-oversight-role-us-securities-and-exchange-commission
https://www.coinbase.com/legal/securities-law-framework.pdf
https://airtable.com/shreIXQjzluCxam37/tbl7qVDFKKiEcFFrc: blockchain projects in governments worldwide and state by state in the US.