mcpField
B
blockchain-basics

blockchain-basics

github.com/pluginagentmarketplace開発154 回インストール42 週間前に更新
リポジトリ

blockchain-basics について

コンセンサス、暗号技術、ネットワーク構成、トランザクションの流れを学ぶ開発者向けスキルです。コード例やトラブルシューティング、段階的な学習パスも含みます。

主な機能

  1. 01コンセンサス方式とファイナリティ
  2. 02暗号プリミティブと Merkle 証明
  3. 03P2P ネットワークとノード種別
  4. 04トランザクションのライフサイクルとメンプール
  5. 05コード例とトラブルシューティング
  6. 06段階的な学習パス

活用シーン

  1. 01PoW、PoS、BFT の概念を学ぶ
  2. 02Merkle 証明の検証を練習する
  3. 03メンプールから承認までの取引を追う

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/blockchain-basicsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
config.yaml
schema.json
references/
GUIDE.md
PATTERNS.md
scripts/
validate.py

詳細

ブロックチェーンの基礎スキル

コンセンサスメカニズム、暗号プリミティブ、分散システムアーキテクチャなど、ブロックチェーンの基礎を習得します。

クイックスタート

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

対象トピック

1. コンセンサスメカニズム

分散ネットワークがどのように合意を形成するかを学びます。

  • Proof of Work:マイニング、ハッシュレート、難易度調整
  • Proof of Stake:バリデーター、スラッシング、ファイナリティ
  • ビザンチンフォールトトレランス:リーダー選出、ビュー変更
2. 暗号の基礎

セキュリティの基本要素について理解します。

  • ハッシュ関数:SHA-256、Keccak-256、特性
  • デジタル署名:ECDSA、Ed25519、検証
  • マークルツリー:証明の構築、検証
3. ネットワークアーキテクチャ

分散システムについて詳しく学びます。

  • P2P ネットワーク:ゴシッププロトコル、ピア検出
  • ノードの種類:フルノード、ライトクライアント、アーカイブノード
  • ブロック伝播:コンパクトブロック、中継ネットワーク
4. トランザクションのライフサイクル

チェーン上のデータの流れを追います。

  • トランザクション構造:入力、出力、署名
  • メンプール:手数料市場、順序付け、優先度
  • 承認:ファイナリティ、再編成

コード例

マークル証明の検証
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
ブロックハッシュの計算
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]

よくある落とし穴

落とし穴問題解決策
ファイナリティの誤解PoW は確率的です6 回以上の承認を待ちます
ハッシュと暗号化の混同ハッシュは一方向です秘密情報には適切な暗号化を使用します
タイムスタンプへの過信マイナーは改ざんできます正確さが必要な場合はブロック高を使用します

トラブルシューティング

「トランザクションが承認されないのはなぜですか?」
  1. トランザクション手数料と現在のメンプールを確認します
  2. nonce が順番どおりで、欠番がないことを確認します
  3. 金額とガス代を賄うのに十分な残高があることを確認します
「署名を検証するにはどうすればよいですか?」
from eth_account import Account
from eth_account.messages import encode_defunct

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

学習パス

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

理解度チェック

# 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)

相互参照

  • ボンデッドエージェント:01-blockchain-fundamentals
  • 関連スキル:ethereum-development、smart-contract-security

バージョン履歴

バージョン日付変更内容
2.0.02025-01検証機能と例を備えた本番品質のリリース
1.0.02024-12初回リリース

コメント