Blog
Thoughts on blockchain, Web3, cloud technologies, and software engineering.
証明システムを 3 つの部品に分ける――GKR・STARK・PLONK と、嘘がすり抜ける確率
zk-tokyo Advanced Cryptography Program 2026 の Week 4 は「証明」と「ゼロ知識性」でした。NP から IP・PCP・IOP へ、そして GKR・STARK・PLONK を算術化・コミットメント・証明システムの 3 部品で並べます。同じトイ計算を 3 通りに翻訳し、嘘の証明者が何回に 1 回すり抜けるかを数えました。
X の「おすすめ」はどう作られるのか — 公開された For You アルゴリズムをコードから読む
X が公開した x-algorithm を実装レベルで読み、候補生成、Phoenix、行動価値の重み付け、探索、多様性、安全性がなぜ分離されているのかを初見向けに解説する。
受理された署名は、何も証明していない――Schnorr と nonce 再利用
zk-tokyo Advanced Cryptography Program 2026 の Week 3 で楕円曲線と Schnorr プロトコルを扱いました。秘密鍵を一度も使わずに作った会話が検証に通ること、nonce を 1 回使い回すだけで secp256k1 の秘密鍵が復元されることを、実際に走らせた結果つきでまとめます。
答えが正しくても、開きすぎたら落ちる――MPC・Beaver triple・紛失通信
zk-tokyo Advanced Cryptography Program 2026 の Week 2 で MPC(秘密計算)を扱いました。積の値がすべて正しいのに採点器に落ちる実装、Beaver triple を再利用すると公開値だけから秘密の差が漏れること、OT の乱数範囲が 1 点欠けるだけで選択が漏れることを、実際に壊した採点結果つきでまとめます。
制約を 1 本書き忘れた回路は、誰でも通れる――算術回路とアンダー制約
zk-tokyo Advanced Cryptography Program 2026 の Week 1 で算術回路を扱いました。回路に if が書けない理由、制約を 1 本落とすと権限のない資格が 54 通り通ってしまうこと、そして Circom や Noir で同じバグがどう現れるかをまとめます。実際に回路を壊せる自習ノートも公開しました。
名刺を切らしても自己紹介を渡せる――TenkaCloud Passport を App Store で公開しました
アカウント登録もサーバーも要らない自己紹介カード TenkaCloud Passport を App Store で公開しました。データは QR のフラグメントに入れて持ち歩き、相手は標準カメラで開くだけ。v1.2.0 ではオンデバイス AI を Apple Intelligence へ全面切替し、モデルのダウンロード工程そのものを製品から消しました。
技術書をGitHubとCI/CDで書く方法――Zenn Bookを2冊公開してわかったこと
Zenn Bookを2冊公開した経験から、読者と到達点の決め方、動くサンプルの用意、ChatGPT Pro・人・Codexの役割分担、GitHubとCI/CDによる原稿管理、公開後の確認までをまとめた。
Zigでブロックチェインをゼロから作る無料本を公開した ― ブロック・PoW・P2P・簡易EVMまで動かす
Zig言語でブロックチェインをゼロから実装する無料本を公開した。ブロック、PoW、P2P通信とチェイン同期、そしてSolidityの一部オペコードを動かせる簡易EVMまで、自分で手を動かしながら仕組みを学ぶ工作キットとして書いた。PoS未実装の理由も含めて残しておく。
クラウドは「触る」でしか身につかない — 本物の AWS アカウントで戦う競技を作っている理由
資格やチュートリアルでは「クラウドが使える」にはならない。参加者それぞれの本物の AWS アカウントで戦ってもらうクラウド競技 TenkaCloud を、なぜ怖さを引き受けてまで作っているのかを書いた。
Koto: A Local-First AI Native IME for Context-Aware Intent-to-Text Transformation
「あれやっといて」を、次の入力候補に変える AI Native IME。ローカル作業文脈を用いた文脈対応型 Intent-to-Text IME の position paper。