awesome-blockchain
Курируемый awesome-список · открыть репозиторий ↗
Источник: awesome-blockchain — синхронизируется из внешнего репозитория как sparse-субмодуль (только список).
Curated list of resources for the development and applications of block chain.
The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value (by Don Tapscott).
This is not a simple collection of Internet resources, but verified and organized data ensuring it’s really suitable for your learning process and useful for your development and application.
Contents#
Click to expand
Frequently Asked Questions (F.A.Q.s) & Answers#
Q: What’s a Blockchain?
A: A blockchain is a distributed database with a list (that is, chain) of records (that is, blocks) linked and secured by
digital fingerprints (that is, crypto hashes).
Example from genesis_block.json:
{
"version": 0,
"height": 1,
"previous_hash": null,
"timestamp": 1550049140488,
"merkle_hash": null,
"generator_publickey": "18941c80a77f2150107cdde99486ba672b5279ddd469eeefed308540fbd46983",
"hash": "d611edb9fd86ee234cdc08d9bf382330d6ccc721cd5e59cf2a01b0a2a8decfff",
"block_signature": "603b61b14348fb7eb087fe3267e28abacadf3932f0e33958fb016ab60f825e3124bfe6c7198d38f8c91b0a3b1f928919190680e44fbe7289a4202039ffbb2109",
"consensus_data": {},
"transactions": []
}
Q: What’s a Hash? What’s a (One-Way) Crypto(graphic) Hash Digest Checksum?
A: A hash e.g. d611edb9fd86ee234cdc08d9bf382330d6ccc721cd5e59cf2a01b0a2a8decfff
is a small digest checksum calculated
with a one-way crypto(graphic) hash digest checksum function
e.g. SHA256 (Secure Hash Algorithm 256 Bits)
from the data. Example from crypto.js:
function calc_hash(data) {
return crypto.createHash('sha256').update(data).digest('hex');
}A blockchain uses
- the block header (e.g.
Version,TimeStamp,Previous Hash...)and - the block data (e.g.
Transaction Data...)
to calculate the new hash digest checksum.
Q: What’s a Merkle Tree?
A: A Merkle tree is a hash tree named after Ralph Merkle who patented the concept in 1979 (the patent expired in 2002). A hash tree is a generalization of hash lists or hash chains where every leaf node (in the tree) is labelled with a data block and every non-leaf node (in the tree) is labelled with the crypto(graphic) hash of the labels of its child nodes. For more see the Merkle tree Wikipedia Article.
Note: By adding crypto(graphic) hash functions you can “merkelize” any data structure.
Q: What’s a Merkelized DAG (Directed Acyclic Graph)?
A: It’s a blockchain secured by crypto(graphic) hashes that uses a directed acyclic graph data structure (instead of linear “classic” linked list).
Note: Git uses merkelized dag (directed acyclic graph)s for its blockchains.
Q: Is the Git Repo a Blockchain?
A: Yes, every branch in the git repo is a blockchain. The “classic” Satoshi-blockchain is like a git repo with a single master branch (only).
More Q&A
- Blockchain Interview Questions
- 10 Essential Blockchain Interview Questions
- Top 36 Blockchain Job Interview Questions & Answers
Basic Introduction#
- Encryption knowledge
- Basic concepts - Asymmetric encryption, Digital signature, Certificate
- Digital signature extension - Multi-signature, Blind signature, Group signature, Ring signature
- Merkle tree
- Merkle DAG
- CryptoNote v2.0 - Untraceable Transactions and Egalitarian Proof-of-work
- Consensus
- Account and transaction model
- Exchange
- Governance
Development Tutorial#
BitCoin#
Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network.
- BitCoin white paper: A Peer-to-Peer Electronic Cash System / Chinese version / Annotated BitCoin white paper
- Mastering BitCoin / Chinese version / pdf download
- Bitcoin Improvement Proposals (BIPs)
- But how does bitcoin actually work?
- Mining visualization
- Wallets
- Explorers
- Libraries - C++, JavaScript, PHP, Ruby, Python, Java, .Net
- Web services
- Full nodes
- More
Ethereum#
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference.
These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property.
- Ethereum white paper / Chinese version / Annotated Ethereum white paper
- Mastering Ethereum / Chinese version
- Ethereum Yellow Paper / Chinese version
- Ethereum wiki
- Accounts, Transactions, Gas, and Block Gas Limits in Ethereum
- Ethereum Improvement Proposals
- Important EIPs and ERCs / EIP list
- Security
- Token
- EEA - Enterprise Ethereum: Private Blockchain For Enterprises
- What Is Enterprise Ethereum?
- What is The Enterprise Ethereum alliance?
- Benefits of Enterprise Ethereum
- Architecture Stack of the Enterprise Ethereum Blockchain
- What Are The Possible Enterprise Ethereum Use Cases?
- Ethereum Blockchain as a Service Providers
- Real-World Companies Using Enterprise Ethereum
- Final Words
…превью ограничено; полный список — в репозитории.
