blockchain-basics

安装量: 41
排名: #17711

安装

npx skills add https://github.com/pluginagentmarketplace/custom-plugin-blockchain --skill blockchain-basics

Blockchain Basics Skill

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

Quick Start

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 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 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 Pitfall Issue Solution Finality confusion PoW is probabilistic Wait for 6+ confirmations Hash vs encryption Hashes are one-way Use proper encryption for secrets Timestamp trust Miners can manipulate Use block height for precision Troubleshooting "Why is my transaction not confirming?" Check transaction fee vs current mempool Verify nonce is sequential (no gaps) Ensure sufficient balance for amount + gas "How do I verify a signature?" 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 [Beginner] → Hash Functions → Digital Signatures → Transactions ↓ [Intermediate] → Merkle Trees → Consensus → Network Layer ↓ [Advanced] → BFT Protocols → Sharding → Cross-chain

Test Yourself

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 Version Date Changes 2.0.0 2025-01 Production-grade with validation, examples 1.0.0 2024-12 Initial release

返回排行榜