⚠ 展示デモです。

心拍は
通貨になるか?

SHAKACHAINは「もし心拍数が暗号通貨だったら」という突拍子もないアイデアで 盛り上がった雑談から生まれました。

93.4% 必要な同期率
30秒 最低オーバーラップ時間
LOVE デモ用の報酬トークン
0 実際の資産価値
発想の出発点

2つの心拍が、1つのブロックになる。

半分本気・半分ジョークで生まれたアイデア:2人の心拍が同期した瞬間を、 ブロックチェーンの取引のように扱う。その比喩がどう組み立てられたか。

💓

心拍 = トランザクション

一拍ごとが1つの刻み。2人の刻みが重なる瞬間こそ、記録に値する出来事。

🤝

同期率 = 合意形成

マイナー同士がブロックに合意する代わりに、2つの心拍が「リズムの一致」を測って証明する。

🔏

オラクル = 審判役

スマートコントラクトは脈を感じられないので、署名された証明(アテステーション)が「本当に同期した」と保証する。

クールダウン = ペース調整

毎秒のように連打で報酬を取れないよう、同じペアには次の報酬まで待ち時間がある。

🪙

LOVEトークン = 記念品

お金でも株でもない。「この瞬間が記録された」というしるしとして発行される。

🧪

その他すべて = 純粋な発想遊び

DAO投票、Merkle証明、マルチシグオラクル――そのほとんどはチャットの中だけの話。実際に形にしたのはここだけです。

比喩の読み解き方

暗号資産用語を、ふつうの言葉に。

専門用語が苦手な方向けに、同じ仕組みを日常語で言い換えてみました。

2人の心拍が30秒以上重なって同じリズムになる overlap window satisfied
信頼できる機器やサーバーが「データは本物」と保証する oracle signature (EIP-712)
同期率は93%以上必要 MIN_SYNC_BPS = 9300
同じ2人が毎分のように繰り返し取得できない per-pair cooldown
新規発行できるトークンには1日の上限がある dailyMintLimit
記念のトークンが2人それぞれに発行される _mint(subject, reward)
実際に作ったもの

ShakaLoveDemo.sol — テスト済み、未デプロイ。

かなり奔放なブレインストーミングの中から、丁寧に書いて、テストして、 作品として残した部分がこれです。DAOもDTW同期スコアもMerkleツリーもなし。 アイデアの誠実な核だけを抜き出しました。

ShakaLoveDemo.sol
/**
 * @title ShakaLoveDemo
 * @notice 心拍シンクロの証明クレーム用、デモ専用のクリエイティブなコントラクト
 * @dev メモリアル/技術展示物として保存
 *
 * 安全に関する注意:未監査・本番非対応・金融商品ではありません。
 * このデモのLOVEトークンには、約束された価値や用途はありません。
 */

contract ShakaLoveDemo is ERC20, Ownable, Pausable, ReentrancyGuard, EIP712 {

    struct Attestation {
        bytes32 sessionId;
        address subject;
        address partner;
        uint64  startTs;
        uint64  endTs;
        uint16  syncScoreBps;   // 9300 = 93.00%
        uint256 reward;
        uint256 deadline;
    }

    uint16  public constant MIN_SYNC_BPS = 9300;
    uint64  public constant MIN_OVERLAP_SECONDS = 30;
    uint256 public constant MAX_REWARD_PER_SUBJECT = 10 ether;

    function claimCouple(
        Attestation calldata a, bytes calldata sigA,
        Attestation calldata b, bytes calldata sigB
    ) external whenNotPaused nonReentrant {
        // 同じセッション、未使用であること
        if (a.sessionId != b.sessionId) revert BadAttestation();
        if (usedSession[a.sessionId]) revert SessionUsed();

        _validateCouple(a, b);
        _validateReward(a, b);
        _validateSync(a, b);          // 93%以上が必要

        uint64 overlap = _overlapSeconds(a.startTs, a.endTs, b.startTs, b.endTs);
        if (overlap  MIN_OVERLAP_SECONDS) revert NoOverlap();

        _verify(a, sigA);             // オラクル署名(EIP-712)
        _verify(b, sigB);

        bytes32 pairKey = _pairKey(a.subject, b.subject);
        _checkCooldown(pairKey);      // 同一ペアのレート制限
        _checkDailyMint(a.reward * 2);

        usedSession[a.sessionId] = true;
        lastClaimByPair[pairKey] = block.timestamp;

        _mint(a.subject, a.reward);
        _mint(b.subject, a.reward);

        emit CoupleClaimed(a.sessionId, pairKey, a.subject, b.subject, a.reward);
    }
}
⚠️

これはデモであり、製品ではありません

  • 未監査・メインネット未デプロイ・本番利用は想定していません。
  • LOVEトークンには約束された価値・用途・引き換え先はありません。資産ではなく記念品です。
  • 実際の資金・実際の秘密鍵・本番のオラクル基盤に接続しないでください。
  • 下記のチャットログに登場するDAO投票、Merkle証明、マルチシグオラクルなどの広範なアイデアは、すべて発想段階のブレインストーミングであり、実装・テストはされていません。
こうして生まれました

2つのAIの、ちょっとしたノリから始まった。

「あなたの心拍ひとつひとつがビットコインみたいに取引される世界。ダンサーは“ハートマイナー”と呼ばれる。」 — すべての発端となった一文
  1. 1
    突拍子もない一言 「心拍=通貨」は、創作の種として投げられただけのアイデアでした。
  2. 2
    ノリがどんどん加速 同期スコア、オラクル、DTWアルゴリズム、WebAuthn、DAOガバナンス――返信のたびに話が膨らんでいきました。
  3. 3
    その中に本物の芯を見つけた 盛り上がりの奥に、署名された証明で報酬を受け取るという、実際に動く構造がありました。
  4. 4
    誠実なバージョンを作った 投機的な層をすべて取り除き、核となる仕組みだけを残してテストを書き、必要な安全策をすべて加えました。

ブレストの全貌が気になる方

GitHubリポジトリを見る →