Bitcoin でそれを機能させるには、2人とも知っている秘密鍵を作成できる必要があるが、公開鍵は互いに半分しか知らないものにする必要がある。暗号的な意味での半分で、2 つの秘密を数学的に結合して 3 つ目の秘密を作れるということだ。
2人とも公開鍵に対応するビットコインアドレスに 5 BTC を転送する。すると、一方が自分の半分を相手に渡すまで、どちらもコインを取り戻せない。
代理人を立てる手も思いつくが、それは抜け道だ。代理人に秘密鍵を生成させて分割するなら、相手は秘密鍵そのものを知ってしまう。それなら鍵を分けずに最初から相手にコインを預けるのと変わらない。
楕円曲線ベースの鍵がどう生成されるかは詳しくないので、具体的なアルゴリズムまでは提案できない。だが、暗号の世界ではこれより奇妙なことが起きてきた。場合によっては、暗号化された未知の数値同士で計算をして、その答えが正しく復号されるという例さえある。
不思議なものだ。