AgentSkillsCN

blockchain-basics

掌握区块链基础,包括共识、密码学与分布式系统

SKILL.md
--- frontmatter
name: blockchain-basics
description: Master blockchain fundamentals including consensus, cryptography, and distributed systems
sasmp_version: "1.3.0"
version: "2.0.0"
updated: "2025-01"
bonded_agent: 01-blockchain-fundamentals
bond_type: PRIMARY_BOND

# Skill Configuration
atomic: true
single_responsibility: blockchain_education

# Parameter Validation
parameters:
  topic:
    type: string
    required: true
    enum: [consensus, cryptography, networks, transactions, blocks]
  depth:
    type: string
    default: intermediate
    enum: [basic, intermediate, advanced, expert]

# Retry & Error Handling
retry_config:
  max_attempts: 3
  backoff: exponential
  initial_delay_ms: 1000

# Logging & Observability
logging:
  level: info
  include_timestamps: true
  track_usage: true

Blockchain Basics Skill

Master blockchain fundamentals including consensus mechanisms, cryptographic primitives, and distributed systems architecture.

Quick Start

python
# Invoke this skill for blockchain fundamentals
Skill("blockchain-basics", topic="consensus", depth="intermediate")

Topics Covered

1. Consensus Mechanisms

Learn how distributed networks achieve agreement:

  • Proof of Work: Mining, hashrate, difficulty adjustment
  • Proof of Stake: Validators, slashing, finality
  • Byzantine Fault Tolerance: Leader election, view changes

2. Cryptographic Foundations

Understand the security primitives:

  • Hash Functions: SHA-256, Keccak-256, properties
  • Digital Signatures: ECDSA, Ed25519, verification
  • Merkle Trees: Proof construction, verification

3. Network Architecture

Explore distributed systems:

  • P2P Networks: Gossip protocols, peer discovery
  • Node Types: Full nodes, light clients, archives
  • Block Propagation: Compact blocks, relay networks

4. Transaction Lifecycle

Follow data through the chain:

  • Transaction Structure: Inputs, outputs, signatures
  • Mempool: Fee markets, ordering, priority
  • Confirmation: Finality, reorganization

Code Examples

Verify Merkle Proof

python
import hashlib

def verify_merkle_proof(leaf: bytes, proof: list, root: bytes) -> bool:
    """Verify a Merkle proof for inclusion"""
    current = leaf
    for sibling, is_left in proof:
        if is_left:
            current = hashlib.sha256(sibling + current).digest()
        else:
            current = hashlib.sha256(current + sibling).digest()
    return current == root

Calculate Block Hash

python
import hashlib
import struct

def calculate_block_hash(header: dict) -> bytes:
    """Calculate Bitcoin-style block hash"""
    data = struct.pack(
        '<I32s32sIII',
        header['version'],
        bytes.fromhex(header['prev_block']),
        bytes.fromhex(header['merkle_root']),
        header['timestamp'],
        header['bits'],
        header['nonce']
    )
    return hashlib.sha256(hashlib.sha256(data).digest()).digest()[::-1]

Common Pitfalls

PitfallIssueSolution
Finality confusionPoW is probabilisticWait for 6+ confirmations
Hash vs encryptionHashes are one-wayUse proper encryption for secrets
Timestamp trustMiners can manipulateUse block height for precision

Troubleshooting

"Why is my transaction not confirming?"

  1. Check transaction fee vs current mempool
  2. Verify nonce is sequential (no gaps)
  3. Ensure sufficient balance for amount + gas

"How do I verify a signature?"

python
from eth_account import Account
from eth_account.messages import encode_defunct

message = encode_defunct(text="Hello")
address = Account.recover_message(message, signature=sig)

Learning Path

code
[Beginner] → Hash Functions → Digital Signatures → Transactions
    ↓
[Intermediate] → Merkle Trees → Consensus → Network Layer
    ↓
[Advanced] → BFT Protocols → Sharding → Cross-chain

Test Yourself

python
# Unit test template
def test_merkle_root():
    txs = [b"tx1", b"tx2", b"tx3", b"tx4"]
    root = build_merkle_root(txs)
    assert len(root) == 32
    assert verify_merkle_proof(txs[0], get_proof(0), root)

Cross-References

  • Bonded Agent: 01-blockchain-fundamentals
  • Related Skills: ethereum-development, smart-contract-security

Version History

VersionDateChanges
2.0.02025-01Production-grade with validation, examples
1.0.02024-12Initial release