blockchain-basics について
コンセンサス、暗号技術、ネットワーク構成、トランザクションの流れを学ぶ開発者向けスキルです。コード例やトラブルシューティング、段階的な学習パスも含みます。
主な機能
- 01コンセンサス方式とファイナリティ
- 02暗号プリミティブと Merkle 証明
- 03P2P ネットワークとノード種別
- 04トランザクションのライフサイクルとメンプール
- 05コード例とトラブルシューティング
- 06段階的な学習パス
活用シーン
- 01PoW、PoS、BFT の概念を学ぶ
- 02Merkle 証明の検証を練習する
- 03メンプールから承認までの取引を追う
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pluginagentmarketplace/ custom-plugin-blockchain --skill blockchain-basicsインストール後、Claude Code で/blockchain-basicsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/config.yamlschema.jsonreferences/GUIDE.mdPATTERNS.mdscripts/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 回以上の承認を待ちます |
| ハッシュと暗号化の混同 | ハッシュは一方向です | 秘密情報には適切な暗号化を使用します |
| タイムスタンプへの過信 | マイナーは改ざんできます | 正確さが必要な場合はブロック高を使用します |
トラブルシューティング
「トランザクションが承認されないのはなぜですか?」
- トランザクション手数料と現在のメンプールを確認します
- nonce が順番どおりで、欠番がないことを確認します
- 金額とガス代を賄うのに十分な残高があることを確認します
「署名を検証するにはどうすればよいですか?」
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.0 | 2025-01 | 検証機能と例を備えた本番品質のリリース |
| 1.0.0 | 2024-12 | 初回リリース |
コメント
Markdown 対応