2024-06

AI-NFT

Schnorr集約署名を高速化(5000鍵を3秒以内): v3.74.14をリリース

これで完成です。次回リリース予定のSORA-QAI ver3では、新しいブロックチェーンベースのアプリケーションを導入します。このアプリケーションは、暗号のメモ帳を基盤にした機能を提供します。しかし、この機能はただのメモ帳ではありません。少...
BLOCKCHAIN

[ECDSA+Schnorr(5000keys)+量子AI耐性]鍵に、実用性のあるデータを搭載してみます。

ブロックチェーンには搭載サイズに厳しい制限があります。それでも、事前の調査で520バイトを25個連結する手法で結構な量のデータを搭載可能なことがわかっております。あまり載せ過ぎても同期が重くなりますが、トークンやハッシュの管理なら十分です。...
bitcoin

Schnorr署名 5000キー集約でいきます。

これと量子&AI耐性をマルチシグすれば、怖いものはないと判断しました。実際のデータなどをブロックチェーン経由で記録する場合は、この集約を必須といたします。ハッカーなどを相手では50や100などの中途半端な集約ではいけません。やはり5000で...
bitcoin-SignatureHash

考察(その7)です。特に高額の場合は「一度もトランザクションに使用していない新規アドレスに保管」です。これがコツです。

Schnorr署名の集約にうまくいったので、考察(その7)を忘れておりました。本日、まとめます。そこでまず、対策法(結論)はタイトルに書きました。一度もトランザクションに使用していない新規アドレスに保管する。これが大事です。理由は簡単で、一...
English

The encryption system is complete, so we can start now.

Good morning. The encryption system is complete, so we can start now.We have ECDSA, Quantum & AI resistance, and aggrega...
AI-NFT

ウォレット内部にあるECDSA鍵をSchnorr署名集約クラスのXOnlyPubKeysにpushしていくだけで検証できるようになりました。本実装ではY座標偶数の制約はありませんので、ECDSAの代わりにSchnorr署名を使うことができます。

この方向性で、75個のECDSA鍵を集約して実稼働できる見通しが立ちました。Y座標偶数の制約がないため、ウォレット内部から自由に選んでpushして集約することができます。便利です。
AI-NFT

効率的なマルチシグ: 鍵の集約、便利です。お試しの100個の鍵によるECDSA-Schnorr署名マルチシグであっても瞬時に生成です。そこで、マルチシグの集約をサポートするためOP_CHECKSIGADDは不要で、この集約で常に署名するOP_CHECKSIGAGGを新規で投入します。

100個の鍵によるマルチシグ。非線形性のECDSAでは100個の公開鍵と署名が必要になるため、そのサイズは約10KBになります。サイズが大きくなるのに加え、OP_CHECKSIG同等の処理が100回必要となるため、検証側の負担が大きくなりま...
AI-NFT

最終考察(その7)の前に……「Schnorr署名」が完成しました。BIP340にある公開鍵Y座標に対する制約解除(ウォレット内部の鍵を制限なくそのまま利用可能)、nonceは乱数、Verifyは完全一致(X座標だけではなくY座標も一致)、集約により100個のマルチシグであっても公開鍵32バイト固定、署名64バイト固定になります。

OpenSSLとlibsecp256k1で検証を重ねていた「Schnorr署名」が完成しました。テストも、計算上も問題ありません。これで自信を持って実装できます。魅力的なのは、集約により100個のマルチシグであっても公開鍵32バイト固定、署...
bitcoin-SignatureHash

本日の考察(その6)は、CTxInとCTxOutです。

CTransactionにあったvinとvoutの中身をみていきましょう。これがCTxInとCTxOutです。それでは、Serializeの実装について見ていきましょう。しかし、Serializeが見当たらないようです。実は、ビットコインの...
bitcoin-SignatureHash

本日の考察(その5)は、UnserializeTransactionとSerializeTransactionを観察です。

本日は、その3で考察したCTransactionSignatureSerializerとCTransactionが関連する、CTransactionのシリアライズ(UnserializeTransactionとSerializeTransa...
bitcoin-SignatureHash

本日の考察(その4)は、一般的なコインの使い方です。

本日は、コインの使い方について考えてみます。一般的に、以下のような使い方で合っているでしょうか?コインを受け取りたいアドレスを相手に渡すか、登録する。そのアドレス経由でコインを受け取る。受け取ったコインを別のアドレスに送る。このように、コイ...
bitcoin-SignatureHash

考察(その3)です。CTransactionSignatureSerializerの構造をみていきます。

本日は、このCTransactionSignatureSerializerの構造を解読していきましょう。ビットコインを解読する際は、Serializeというメソッドが重要です。ここから解読していくのです。template<typename ...
bitcoin-SignatureHash

本日も深い考察(その2)です。コールドウォレットとハッカーの関係 そこで、取引用の紙片の出入りを要約(ハッシュ)する仕組みに着目です。

暗号通貨系コインでは、取引用の紙片の出入りを要約(ハッシュ)する処理を以下のクラス(class CTransactionSignatureSerializer)になります。※ 厳密には古い方という解釈になります。※ ビットコインでは、従来か...
bitcoin-SignatureHash

コールドウォレットに手を出すようなハッカーに対抗にするには、コインの送付過程について、論理的に詳しくみていく必要があります。

コールドウォレットに手を出すようなハッカーに対抗にするには、コインの送付過程について、論理的に詳しくみていく必要があります。そこでわかりやすい例を用いて工夫してみます。1, アドレスアドレスとは「ここにコインを送ってください」と、相手に渡す...
bitcoin-SignatureHash

ここで、コイン流出を深く考察(その1)です。コールドウォレットはネットワークに接続されていないから絶対に安心という概念はなく、コールドでもネットワークに接続されています。

コールドウォレットは物理的にウォレットをネットワークから外しているため、どうやってもアクセスする方法はなく絶対に安心という概念がありますが、それは違います。ブロックチェーンの仕組み上、コールドウォレットでもネットワークに接続されています。表...