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
2024新卒技術研修_ブロックチェーン
Search
DMM.com_新卒採用
September 10, 2024
0
55
2024新卒技術研修_ブロックチェーン
DMM.comの24新卒エンジニア技術研修_ブロックチェーン研修の資料です
DMM.com_新卒採用
September 10, 2024
Tweet
Share
More Decks by DMM.com_新卒採用
See All by DMM.com_新卒採用
KC3Hack2025向け_ハッカソンのコツ.pdf
dmm_recuruit
0
81
DMM.com_技育祭2024秋講演資料
dmm_recuruit
0
170
2024新卒技術研修_BE
dmm_recuruit
0
75
2024新卒技術研修_FE①
dmm_recuruit
0
39
2024新卒技術研修_FE②
dmm_recuruit
0
39
2024新卒技術研修_FE③
dmm_recuruit
0
42
2024新卒技術研修_チームビルディング
dmm_recuruit
0
83
2024新卒技術研修_振り返り
dmm_recuruit
0
110
2024新卒技術研修_Android
dmm_recuruit
0
47
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
How GitHub (no longer) Works
holman
314
140k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Code Review Best Practice
trishagee
68
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
640
Practical Orchestrator
shlominoach
188
11k
Transcript
2024年 新卒技術研修 ブロックチェーン入門 ・後編 2024-06-28 合同会社DMM.com Web3事業部 株式会社DMM Crypto CTO
宮田航志
1.自己紹介 2.スマートコントラクトデモ 3.ウォレット入門 4.暗号入門 5.署名入門 6.改めて会社の取り組み Contents 2
この講義を受けた後にどうなっていて欲しいか 3 1. 自分でもスマートコントラクトが書けるような気がする 2. ウォレットとは何なのか、なんとなくわかる 3. 学部で学んだ暗号学を数式なしで理解し直してアハ体験をする 「自分もブロックチェーンエンジニアとして何かできるのでは?」 と頭の片隅で思ってもらう
1.自己紹介 2.スマートコントラクトデモ 3.ウォレット入門 4.暗号入門 5.署名入門 6.改めて会社の取り組み Contents 4
自己紹介 最近の活動 最近のハッカソン歴 ETH Global Tokyo :Pool Prize…🏆 Web3エンタメハッカソン:ドリコムPrize 🏆🏆$3000
ETH Taipei :ファイナリスト🏆🏆🏆 ETH Global AW :Prizeなし... Wave Hack Global :Grant 🏆約$3000 略歴 2013〜現在 Web系開発(個人) スマホアプリ開発/サイト構築/VR•AR開発 2015〜 コロプラ VRゲーム/IPを使った位置ゲー/スマホゲーム開発 2018〜 ブロックチェーン系開発(副業) ブロックチェーンゲーム/マケプレ/Mintサイト等 2020〜 DMM.com アドテク/SRE/マーケティング横断部署Manager 株式会社DMM Crypto(DMMのWeb3事業)CTO Twitter:https://twitter.com/miyata_17_ Youtube:https://www.youtube.com/@web3fm/videos 登壇とか:https://speakerdeck.com/miyatakoji その他:国内カンファレンスでのハッカソンで審査員やった り、K-1のアマチュアの試合出たりしてます。 5 宮田航志 @miyata_17_
1.自己紹介 2.スマートコントラクトデモ 3.ウォレット入門 4.暗号入門 5.署名入門 6.改めて会社の取り組み Contents 6
web3のゲーム開発項目の例 ミッション ポイント 発行・管理 エアドロ 広告運用 ポイント→FT 換金 ゲーム施策 分析・改善
資産運用 ユーザーウォレ ット FT流動性供給 大会運用 事業者ウォレッ ト 開発資金用意 集客分析 フレンド NFT送付 称号 Fiat換金・出金 NFT2次流通 FT発行・管理 インゲーム実装 認証機能 準備① NFT発行・管理 集客 FT上場 開発 リリース 運用 チャット お問い合わせ 対応 KYC 確定申告 サポート UGCコイン ロイヤリティ 受取 NFT レンディング NFT1次流通 お問い合わせ 窓口・管理 決済系 アイテム系 基礎機能系 NFT発行・管理 応用機能系 クレカ決済 FT決済 プロフィール FT レンディング 利用規約 セキュリティ チェック 法準拠サポート 7 〜〜〜 ←web3だから発生する工程
web3のゲーム開発項目の例 ミッション ポイント 発行・管理 エアドロ 広告運用 ポイント→FT 換金 ゲーム施策 分析・改善
資産運用 ユーザーウォレ ット FT流動性供給 大会運用 事業者ウォレッ ト 開発資金用意 集客分析 フレンド NFT送付 称号 Fiat換金・出金 NFT2次流通 FT発行・管理 インゲーム実装 認証機能 準備① NFT発行・管理 集客 FT上場 開発 リリース 運用 チャット お問い合わせ 対応 KYC 確定申告 UGCコイン ロイヤリティ 受取 NFT レンディング NFT1次流通 お問い合わせ 窓口・管理 決済系 アイテム系 基礎機能系 NFT発行・管理 応用機能系 クレカ決済 FT決済 プロフィール FT レンディング 利用規約 セキュリティ チェック 法準拠 8 〜〜〜 ←web3だから発生する工程 こんなに大変なら ブロックチェーン 使わなければいいのに
なぜ大変なのにブロックチェーン使うのか 9 ブロックチェーンを適所に使うと開発がとても楽になる ・ブロックチェーンの仕組みで決済の処理が信頼性を担保しつつ効率的に行える ・プロダクト運用費を抑えて持続性を持たせられる。また0→1が簡単にできる ・中央集権的な管理者がいなくても動くシステムが作れる ・コンポーザビリティを駆使して、既存のシステムをレゴの用に組み合わせて新しい プロダクトを手軽に作れる 等々 他だと...
・投資家がお金を投下してくれるので、儲かるから ・詐欺に使えるから←注意
小規模システムでデモ用のシステム設計をしてみましょう 10 寄付可能なひとこと掲示板を作ります! 機能例 ・ユーザーはサービスへの参加費を払えば誰でも投稿できる ・投稿する時はお金も一緒に支払える ・支払いが行われた投稿は「プレミアム」として扱える ・運営者はその支払われたお金を適宜出金できる
DEMO 11 demo+コントラクトリーディング https://github.com/scaffold-eth/scaffold-eth- 2/blob/main/packages/hardhat/contracts/YourContract.sol
ブロックチェーン使わずに作るとしたら・・ 12 フロントエンド DB バックエンド 投稿機能 投稿データ ユーザーデ ータ ユーザー
登録機能 送金機能 決済機能 ログイン に必要な知識
ブロックチェーン使うと 13 フロントエンド 秘密鍵 (ウォレット) ブロックチェーン 投稿データ スマートコントラクト コードはこちら 送金機能
投稿機能 アカウントデータ アカウントの所持資金 アカウントのtx 投稿データ
1.自己紹介 2.スマートコントラクトデモ 3.ウォレット入門 4.暗号入門 5.署名入門 6.改めて会社の取り組み Contents 14
15 ウォレットありすぎ問題
カストディアルウォレット ノンカストディアルウォレット セミカストディアルウォレット 事業者が秘密鍵を管理 ユーザーが秘密鍵を管理 複数箇所で秘密鍵を管理 事業者の権限で利用者の 暗号資産を移転できる 利用者の協力がないと 暗号資産を移転できない
利用者の協力がないと 暗号資産を移転できない 事業者が持つ責任が大きく、 日本においては暗号資産交換業 のライセンスが必要 利用者責任で資産管理ができる が、秘密鍵の紛失等で資産を失 ったりUXの課題がある 秘密計算の技術で秘密鍵を管理 しUXとセキュリティを向上 これによりライセンスは不要 取引所(CEX)等 Metamask等 Fireblocks等 16 ウォレットの定義(秘密鍵管理主体による定義)
どんなウォレットの機能の分解
18 ウォレットの定義(機能の分類による定義をするなら) 狭義のウォレット 広義のウォレット 秘密鍵を管理するためのソフトウェア 資産を管理・操作するためのサービス ・秘密鍵の生成 ・秘密鍵の復元 ・アカウント/アドレスの作成 ・トランザクションへの署名
・RPCへのブロードキャスト ・所持しているFT/NFTの確認 ・所持しているFT/NFTの送信 ・所持しているFT/NFTのステーキング ・ブリッジ/スワップ機能 ・接続チェーンの切り替え ・NFTのmint/burn ・OAuth認証機能 ・暗号資産以外のオフチェーンデータ (lazymint前のNFT等)の確認 等々..... 「ウォレット」という言葉は多義的なので、言葉の定義を合わせるとチーム開発はよりスムーズに進みます
1.自己紹介 2.スマートコントラクトデモ 3.ウォレット入門 4.暗号入門 5.署名入門 6.改めて会社の取り組み Contents 19
20 狭義のウォレットのコア技術を理解しよう 暗号学入門!!! • 暗号とは • 共通鍵暗号方式 ◦ シーザー暗号 •
公開鍵暗号方式 ◦ RSA暗号/楕円曲線暗号 • 署名とは • 秘密計算とは を数式を使わずに説明してみます。
AさんからBさんへ渡す情報を秘密にしたい (本当にAさんからなのか、内容が改竄されていないか、等はいったん割愛) 21 そもそも暗号とは:Cryptoの語源はギリシャ語の 'kruptein' 「隠す」
22 そもそも暗号とは 良いお年を お迎えください 情報を盗み聞きされるとバレてしまう
23 そもそも暗号とは ひらがなにして 3つ後ろにずらそう 事前に送る文章の暗号化のルールを伝えておく
24 そもそも暗号とは ひらがなにして 3つ後ろにずらそう シーザー暗号 特定の文字を辞書順に特定の数だけずれた文字と 置き換える方法 事前に送る文章の暗号化のルールを伝えておく
25 そもそも暗号とは るおくぬそいくやけき さてせお 暗号化 復号 ひらがなにして 3つ後ろにずらそう 暗号化した文章は聞き取られても問題ない
26 そもそも暗号とは よいおとしを おむかえください 暗号化 ひらがなにして 3つ後ろにずらそう 復号 事前のルールを盗み聞きされてしまうと、意味がない 復号
鍵配送問題の解決方法はあり 現在でも共通鍵暗号方式は広く使われています! 例:無線LAN Webのhttps(ちょっと工夫してから使われてる) 27 共通鍵暗号方式 暗号化と復号に関して共通のルールを使う暗号方式 共通鍵 事前に共有するルール 平文
伝えたいメッセージ 暗号文 平文を暗号化したメッセージ 鍵配送問題 事前に渡す共通鍵がバレて復号される問題 共通鍵暗号方式:暗号学の用語で捉え直しましょう
28 共通鍵暗号方式の課題 よいおとしを おむかえください 暗号化 ひらがなにして 3つ後ろにずらそう 復号 改めて見てみましょう 復号
29 共通鍵暗号方式の課題 よいおとしを おむかえください 暗号化 ひらがなにして 3つ後ろにずらそう 復号 流出してしまった鍵で復号されるからダメなのでは 復号
公開鍵暗号方式 というアイデア
31 共通鍵で復号されるのを防ぐには?(色々方法があるが、方法の1つとして) →鍵を共通にするのやめればいいのでは!? →暗号化のためのルールと複合するためのルールを別にして →複合するためのルールだけ秘密にすればいいのでは!? 公開鍵暗号方式 公開鍵暗号方式 暗号化と復号に関して異なるルールを使う暗号方式 公開鍵 暗号化の為のルール
秘密鍵 復号するためのルール
そんなことできる....?
一緒にアルゴリズムを 発明してみましょう
「5個後の文字にずらす」という共通鍵の場合 「を」という文字は「 」になる 34 公開鍵暗号のアルゴリズムを発明するためにシーザー暗号を思い出しましょう あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん
「5個後の文字にずらす」という共通鍵の場合 「を」という文字は「え」になる 35 シーザー暗号を思い出しましょう あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん 1 2345
「5個後の文字にずらす」という共通鍵の場合 「を」という文字は「え」になる 36 シーザー暗号を思い出しましょう あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん 1 2345 あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん 1 2345678
9.....................................................................................................................47 ...................................... 「100個後の文字にずらす」という共通鍵の場合 「を」という文字は「 」になる
「5個後の文字にずらす」という共通鍵の場合 「を」という文字は「え」になる 37 シーザー暗号を思い出しましょう あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん 1 2345 あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん 1 2345678
9.....................................................................................................................47 ....................................................................................................................................... .............................100 「100個後の文字にずらす」という共通鍵の場合 「を」という文字は「き」になる
Y個の数でぐるぐる回る数字の列において Zという情報(x個目)からn個ずらした時に Xという情報だと一意にわかるルール 38 ルールとして抽象化すると 1234567 8................................................X..........................................................Z........Y x ......... .......................................................................(x+n)
Y個の数で循環する数列において Zという情報(x個目)からn個ずらした時に Xという情報だと一意にわかるルール 39 数式化すると(数式使ってごめんなさい) 1234567 8................................................X..........................................................Z........Y x ......... .......................................................................(x+n)
X = [(x+n) / Y]の余り X = (x+n) mod Y Z = [(x-n) / Y]の余り Z = (x−n) mod Y 暗号化 復号
循環する というのがとても大事な性質
シーザー暗号を数式化してみて気づいたこと 割ってあまりをとることで、循環する 41 循環するというのがとても大事 自然数 0123456789 3で割った余り 0120120120 自然数 0123456789
5で割った余り 0123401234
循環するということを 2次元で考えてみよう(!?)
43 2次元で考えてみよう(!?) ある数字を、「3で割ったあまり」と「5で割ったあまり」 これがこの2次元においてどこにマッピングされるか試してみよう 0 1 2 3 4 0
1 2 5で割った余り 3で割った余り
44 0 1 2 3 4 0 0 1 2
5で割った余り 3で割った余り 0➗5のあまり=0 0➗3のあまり=0 2次元で考えてみよう(!?) ある数字を、「3で割ったあまり」と「5で割ったあまり」 これがこの2次元においてどこにマッピングされるか試してみよう
45 0 1 2 3 4 0 0 1 1
2 5で割った余り 3で割った余り 1➗5のあまり=1 1➗3のあまり=1 2次元で考えてみよう(!?) ある数字を、「3で割ったあまり」と「5で割ったあまり」 これがこの2次元においてどこにマッピングされるか試してみよう
46 0 1 2 3 4 0 0 1 1
2 2 5で割った余り 3で割った余り 2➗5のあまり=2 2➗3のあまり=2 2次元で考えてみよう(!?) ある数字を、「3で割ったあまり」と「5で割ったあまり」 これがこの2次元においてどこにマッピングされるか試してみよう
47 0 1 2 3 4 0 0 6 3
1 1 7 4 2 5 2 5で割った余り 3で割った余り 7➗5のあまり=2 7➗3のあまり=1 2次元で考えてみよう(!?) ある数字を、「3で割ったあまり」と「5で割ったあまり」 これがこの2次元においてどこにマッピングされるか試してみよう
48 0 1 2 3 4 0 0 6 3
9 1 10 1 7 4 2 5 11 2 8 5で割った余り 3で割った余り 11➗5のあまり=1 11➗3のあまり=2 2次元で考えてみよう(!?) ある数字を、「3で割ったあまり」と「5で割ったあまり」 これがこの2次元においてどこにマッピングされるか試してみよう
49 0 1 2 3 4 0 0 6 12
3 9 1 10 1 7 13 4 2 5 11 2 8 14 5で割った余り 3で割った余り 14➗5のあまり=4 14➗3のあまり=2 2次元で考えてみよう(!?) ある数字を、「3で割ったあまり」と「5で割ったあまり」 これがこの2次元においてどこにマッピングされるか試してみよう
もれなくダブりなくうまく マッピングされた!
51 2次元で考えてみよう(!?) 0 1 2 3 4 5 0 1
2 6で割った余り 3で割った余り 他の数字でもできるか? 「3で割ったあまり」と「6で割ったあまり」で試す
52 2次元で考えてみよう(!?) 0 1 2 3 4 5 0 0
1 1 2 2 6で割った余り 3で割った余り 2➗6のあまり=2 2➗3のあまり=2 他の数字でもできるか? 「3で割ったあまり」と「6で割ったあまり」で試す
53 2次元で考えてみよう(!?) 0 1 2 3 4 5 0 0
3 1 1 4 2 2 5 6で割った余り 3で割った余り 他の数字でもできるか? 「3で割ったあまり」と「6で割ったあまり」で試す 5➗6のあまり=5 5➗3のあまり=2
0 54 2次元で考えてみよう(!?) 0 1 2 3 4 5 0
6 3 1 1 4 2 2 5 6で割った余り 3で割った余り 6➗6のあまり=0 6➗3のあまり=0 かぶってしまった。。
0 1 2 55 0 1 2 3 4 5
0 6 3 1 7 4 2 8 5 6で割った余り 3で割った余り 2次元で考えてみよう(!?) かぶってしまった。。
56 中国剰余定理の発見 選んだ数字が ・「3」と「6」だとダブりが出てしまい ・「5」と「3」だと、ダブりなくもれなくうまく数字がマッピングされた 実は同じ素因数では割り切れない数の時 ダブりなくもれなくうまく数字がマッピングされるんです。 (中国剰余定理といいます) この性質を使って公開鍵暗号のアルゴリズムが発明できるでしょうか?
57 2次元で考えてみよう(!?) もれなくダブりなくうまくマッピングされた!これは、置き換えると 「0〜14」の中の13であるという情報を「3」と「1」という情報で表現できるルール!! 0 1 2 3 4 0
0 6 12 3 9 1 10 1 7 13 4 2 5 11 2 8 14
RSA暗号(資料作りきれずGPT流用) 表現できる情報の量を多くするためには選ぶ素数をとても大きいものにする必要あり →処理速度やデータ量で課題になる 58 この性質を使い様々なアルゴリズムが発明される
より効率的なアルゴリズムを探して 循環するということを 3次元(?)で考えてみよう(!?)
0 1 2 3 4 0 0 6 12 3
9 1 10 1 7 13 4 2 5 11 2 8 14 60 他には? 改めて、2次元として見てみて、0から数字をたどって線を引いてみましょう
0 1 2 3 4 0 0 6 12 3
9 1 10 1 7 13 4 2 5 11 2 8 14 61 他には? 改めて、2次元として見てみて、0から数字をたどって線を引いてみましょう
0 1 2 3 4 0 0 6 12 3
9 1 10 1 7 13 4 2 5 11 2 8 14 62 他には? 改めて、2次元として見てみて、0から数字をたどって線を引いてみましょう
0 1 2 3 4 0 0 6 12 3
9 1 10 1 7 13 4 2 5 11 2 8 14 63 他には? 改めて、2次元として見てみて、0から数字をたどって線を引いてみましょう
0 1 2 3 4 0 0 6 12 3
9 1 10 1 7 13 4 2 5 11 2 8 14 64 他には? 改めて、2次元として見てみて、0から数字をたどって線を引いてみましょう
0 1 2 3 4 0 0 6 12 3
9 1 10 1 7 13 4 2 5 11 2 8 14 65 他には? 改めて、2次元として見てみて、0から数字をたどって線を引いてみましょう
0 1 2 3 4 0 0 6 12 3
9 1 10 1 7 13 4 2 5 11 2 8 14 66 他には? 改めて、2次元として見てみて、0から数字をたどって線を引いてみましょう
67 工作してみました。
赤線を繋げると 筒状になる 68 2次元から3次元(?)へ 線を引いてみると 「3」と「1」という情報を用いて、浮き輪状の表面の1点を表せるという捉え方ができる 長方形の両端を貼り付けると浮き輪の形になる(複素一次元:トーラス) 両端を繋ぐと 完全に1本の線を引ける 0
6 12 3 9 10 1 7 13 4 5 11 2 8 14
ある物体を線で巻いて それがどんな形になるかに依存する?
70 家の中の物、色々巻いてみました 色々な物体を巻いてみると違いが見える。 同じような体積でも6面体より楕円の方が循環するまでの紐の長さが違った 6面体(スカスカ) 楕円型(ビッシリ巻ける) 首をマッサージするやつを改造 暗号技術入門の書籍
71 物体の形状と巻き方に依存して、載せれる情報量に違いがでる 線の長さ=表現できる情報量 巻き方は色々あるから、いろんな種類で表せそう。 楕円、優秀ですね。。。こねくり回したら効率いい暗号化のアルゴリズムが発明できるのでは? 6面体(短い) 楕円型(長い)
72 楕円曲線暗号 楕円曲線暗号はブロックチェーンでよく使われる 楕円の弧長を求める楕円積分の逆関数を取ると例の関数になる(まだ実際に計算してませんすみません....) ・RSAに比べて、短い鍵で同じだけの強さを持つ ・224~225bit長の鍵をもつ楕円曲線暗号は 2048bit長の鍵を持つRSAとほぼ同等の強さを持つ と考えられている
1.自己紹介 2.スマートコントラクトデモ 3.ウォレット入門 4.暗号入門 5.署名入門 6.改めて会社の取り組み Contents 73
デジタル署名について
75 そもそもデジタル署名とは 暗号の入門で触れたようなアルゴリズムを使い 特定のメッセージを送る時に以下を行うための工程 ・特定の人が送ったことを確かめる ・特定の内容が改竄されていないことを確かめる 秘密鍵 公開鍵 公開鍵暗号 受信者が復号化に使う
送信者たちが暗号化に使う デジタル署名 署名者が署名の作成に使う 検証者たちが署名の検証に使う 鍵を持つ人 個人が持つ 必要な人はだれでも持っていて良い
公開鍵暗号 デジタル署名 Aさんが 太郎の公開鍵で 署名の検証 76 公開鍵暗号とデジタル署名 Aさんが 太郎の公開鍵で 暗号化
Cさんが 太郎の公開鍵で 暗号化 Bさんが 太郎の公開鍵で 暗号化 太郎が 太郎の秘密鍵で 復号 Cさんが 太郎の公開鍵で 署名の検証 Bさんが 太郎の公開鍵で 署名の検証 太郎が太郎の 秘密鍵で 署名の作成
受信者 Aさん 送信者 太郎 さん 77 デジタル署名のフロー メッセージ メッセージ ハッシュ値A
ハッシュ値B 署名 太郎の 秘密鍵 ハッシュBとハッシュCを比較して 同じであれば署名の検証が成功 暗号化 ハッシュ関数 ハッシュ関数 受信した署名 復号 ハッシュ値C 太郎の 公開鍵 ① ② ② ③ ③ ④
78 ブロックチェーンにおける秘密鍵と公開鍵 ブロックチェーンにおいて ・秘密鍵がランダムに作成されそれがウォレットで厳密に管理される ・秘密鍵から公開鍵が作成される ・公開鍵からウォレットアドレスを作る ・ウォレットアドレスは誰でも見れる ビットコインにおいては 1. 公開鍵をSHA-256でハッシュ化する
2. 1のハッシュ値をRIPEMD-160でハッシュ化する(RIPEMD-160とは) 3. 2のハッシュ値の前にVersion Prefixを付与する(Version Prefixは通常00を設定) 4. (Version Prefix + 2のハッシュ値)をSHA-256でハッシュ化する 5. 4のハッシュ値を更にSHA-256でハッシュ化する 6. 5で得られたハッシュ値の先頭4バイトをChecksumとし(Version Prefix + 2のハッシュ 値)の末尾に付与する 7. (Version Prefix + 2のハッシュ値 + Checksum)をBase58エンコードする
改めて 79 フロントエンド 秘密鍵 (ウォレット) ブロックチェーン スマートコントラクト(今回作る) 投稿データ 送金機能 投稿機能
アカウントデータ アカウントの所持資金 アカウントのtx
1.自己紹介 2.スマートコントラクトデモ 3.ウォレット入門 4.暗号入門 5.署名入門 6.改めて会社の取り組み Contents 80
秘密計算
82 DMM Cryptoのウォレットではこの辺りのリサーチもやっています ・秘密分散 データをいくつかの乱数の断片(シェア)に分けて秘匿する すべてのシェア、その中の特定の数のシェアが集まると元のデータを復元できる これをウォレットで使うと、秘密鍵の管理体は分散した上で、必要な時に秘密鍵を復元して txへの署名ができる ・MPC 署名方法によっては、複数の署名を足し算できるアルゴリズムがある
これをウォレットで使うと、txを発行するアドレスに対応する秘密鍵自体は復元することなく 複数の管理体による署名が可能にある 暗号学は現在も進化中の技術なので、最新状況のキャッチアップが必要 秘密計算とウォレット
83 ・そろそろちゃんと「中国剰余定理」を理解したい!(鯵坂もっちょ さん) https://www.ajimatics.com/entry/2021/03/29/182759 ・トーラスと楕円曲線のつながり(光成滋生 さん) https://www.slideshare.net/herumi/ss-58815597 ・楕円面上の測地線(rikunora さん) https://rikunora.hatenablog.com/entry/20100905/p1
・【完全保存版】Astar におけるSubstrateとEVMのアカウントの関係について(ユウキさん) https://note.com/standenglish/n/na9194a4ecd24 ・Schnorrベースのマルチシグネチャスキーム「MuSig」(安土 茂亨さん) https://techmedia-think.hatenablog.com/entry/2018/01/25/125426 ・秘密分散ベースのMPCプロトコルSPDZ(安土 茂亨さん) https://techmedia-think.hatenablog.com/entry/2020/04/09/231951 ・[Bitcoin]自分でビットコインアドレスを作ってテスト送信してみた https://qiita.com/yamaguchi3/items/4d536a4a24067505abea 参考
84 参考
None