BLOCKCHAIN

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バイト固定、署...
AI-NFT

[libsecp256k1で確認完了] invert(e) * privの場所です。オーバーフローが原因だったため、格納できない分をあらかじめ引き、差を取ってから、引いた分を戻す(加える)操作で確認完了です。

libsecp256k1で動かない理由がオーバーフローにある点を突き止めました。どうやら位数だとオーバーフローする仕様で、その位数から1を引いた数は格納できる内容でした。まさか、楕円曲線の定数がオーバフローするとは考えておらず、overfl...
AI-NFT

negの一部はOpenSSLで確実を取りました。そこは引くだけなので、使い方が違うのかな。

schnorr署名の導入のうち、eに対するnegの過程で、libsecp256k1のnegが上手く作用しないため、暫定的な処置としてその部分だけOpenSSLで代用する内容となりました。計算の内容はシンプルで、単に値を入れてnegしてから加...
AI-NFT

決まった数(定数)に対するnegなので、直接、バイナリで操作することで引くことにしました。

昨日の続きです。libsecp256k1のnegが期待通りに作用しないため、BIGNUMに変換後、OpenSSLの関数で引いて、その結果をbe32でlibsecp256k1のスカラーに戻す手法があります。ただ、これはちょっと厳しいため、直接...
AI-NFT

あと少し。公開鍵の偶奇を問わずSignとVerifyの動作確認が取れたOpenSSLによるschnorr署名を、libsecp256k1で動かせれば完了です。ただ、一部のnegで苦戦中です。

今日もタイトル通りです。OpenSSLで動作の確認が取れたのですが、これをlibsecp256k1で動かせるかどうか、です。ただ一か所、negが思った通りに動かず、引くことができない状況です。OpenSSLでは正常動作しているため、書いた実...
AI-NFT

検証中のschnorr署名で、Rの計算手法を少し変え、X座標とY座標の両方一致(つまり点の一致)で有効とする方法の確認が取れました。

検証中のschnorr署名で、Rの計算手法を少し変え、X座標とY座標の両方一致(つまり点の一致)で有効とする方法の確認が取れました。X座標の一致でも十分な気はしますが、Y座標まで検証可能なら、これで楕円曲線の点を完全に捉えてた形で、署名の有...
AI-NFT

schnorr署名、検証を完了しました。そこで、実装に手を加えて再検証です。Rを利用する計算手法の部分です。

やはりschnorr署名では、署名の際に無作為に決めたRのY座標が偶数で、そのX座標がハッシュから得たX座標と等しくなるという性質でした。そこで、Rを利用する計算手法を少し変えると、X座標とY座標の両方が一致する場合もあり、今、その両方が一...
AI-NFT

ブロックチェーンに最適化されたschnorr署名について、検証を完了しました。まずOpenSSLでschnorrを再現し、署名&検証をじっくり検証しました。そして、公開鍵のY座標が偶数という点が大事でした。

題名の通りで、うまくいきました。OpenSSLでschnorr署名の細部を再現し、検証と同時に内部の構造等も掌握しました。検証プロセスが安定しない症状が出たので、調べていたらBIP-340に当たりました。公開鍵のY座標に、偶数という制限があ...
AI-NFT

公開鍵は32バイトでX座標のみ、そして署名は64バイトの固定長になってました。

schnorr署名の検証作業、順調で、本日完了の見通しです。実際のロジックをOpenSSL等で実際に組んでみて、その署名までの流れをみております。 公開鍵は32バイトでX座標のみ、そして署名は64バイトの固定長になってました。そこでちょっと...
AI-NFT

線形なschnorr署名に、SORA-QAI(量子&AI耐性)をマルチシグする構成で、同時にSegWitを導入します。

題名の通りです。この構成であれば、集約してまとめた鍵をコンパクトにSORA-QAI(量子&AI耐性)にすることができます。すでにsora1のアドレスでSORA-QAIが稼働しておりますので、SegWitとtaprootを導入しながら、同時に...
AI-NFT

仮想通貨の秘密鍵は、金庫の暗証番号と同じです。サイドチャネル攻撃耐性を強化しました。

最新版(v3.68.14)へと更新しました。 今回の更新は、ECDSA(仮想通貨の最も大事な鍵の部分)のサイドチャネル攻撃耐性を強化しました。 このサイドチャネル攻撃というのは、パターン化された行動から鍵の内容を推測してしまうという怖い攻撃...
AI-NFT

WhitepaperとRoadmapが完成しました。

もともとデータ復旧/ドライブ検査用途が最も重要なブロックチェーンですので、その点が明記されております。量子&AI耐性のSORA-QAIも問題なく、この影響でブロックチェーンの開発者も揃ってきたので、多目的かつハードウェア寄りなブロックチェー...
About coins, tokens, NFTs

仮想通貨の未来に警鐘?という記事がありましたが、これは否定できます。

以下の記事です。量子では、周期性に対して非常に有利な性質を持ちますが、その他は、アルゴリズムがあっても古典手法よりも少し速いかな、程度なんです。この「少し速い」というのは、ビット幅を倍にすればすぐに解決できるため、そうですね……、もしSHA...