Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
x-only Public Key
Search
shigeyuki azuchi
September 08, 2021
Technology
0
80
x-only Public Key
GBECの解説動画の資料です:
https://goblockchain.network/2021/09/x-only-public-key/
shigeyuki azuchi
September 08, 2021
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
BIP-353 DNS Payment Instructions
azuchi
0
15
OP_CAT and Schnorr Trick
azuchi
0
10
Pay to Anchorと1P1Cリレー
azuchi
0
13
プロアクティブ秘密分散法
azuchi
0
21
v3トランザクションリレー
azuchi
0
25
ランポート署名
azuchi
0
58
BitVM
azuchi
0
64
Replacement Cycling Attack
azuchi
0
61
Bitcoinのタイムロックの仕組み
azuchi
0
50
Other Decks in Technology
See All in Technology
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
200
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
困難を「一般解」で解く
fujiwara3
7
1.7k
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
540
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5.2k
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
3.1k
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
200
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
1
170
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
300
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
140
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
240
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.5k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Typedesign – Prime Four
hannesfritz
41
2.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building Your Own Lightsaber
phodgson
104
6.2k
RailsConf 2023
tenderlove
29
1k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Adopting Sorbet at Scale
ufuk
75
9.2k
Transcript
x-only Public Key
1 楕円曲線暗号の公開鍵 【秘密鍵】 secp256k1の場合、256 bitのランダム値 【公開鍵】 xを秘密鍵とした場合、楕円曲線のベースポイントGに対して P =
xGを計算したPが公開鍵 楕円曲線の点は、その(x, y)座標がy2 = x3 + ax + bを満たす (secp256k1の場合、 a = 0, b = 7、つまりy2 = x3 + 7)
2 公開鍵の表現方法 公開鍵 P = xGの(x, y)座標の値はそれぞれ32バイト=合計64バイト • 非圧縮公開鍵:65バイト
04 || x座標 || y座標 • 圧縮公開鍵:33バイト x座標が分かると、y2 = x3 + ax + b (mod p)からy座標が計算できる ◦ y座標が偶数の場合 02 || x座標 ◦ y座標が奇数の場合 03 || x座標 Segwit v0まではデータスペースの観点から圧縮公開鍵の使用が主流
3 x-only Public Key とは? x座標のみで表現される公開鍵で、圧縮公開鍵より1バイト小さい TaprootやLN Offerなどで採用 •
x座標のみだと、y座標が偶奇どちらか特定できないんじゃ? y座標が偶数の鍵を使用する • P = xGのy座標が奇数の場合、秘密鍵はどうする? 変換後の秘密鍵x’ = 曲線の位数n - x (n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 )