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
詳解 Ethereum Transaction / detail ethereum trans...
Search
yamarkz
March 16, 2018
Technology
3k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
詳解 Ethereum Transaction / detail ethereum transaction
blockchain.tokyo #6
yamarkz
March 16, 2018
More Decks by yamarkz
See All by yamarkz
ネットスーパーの買い物体験を支える工夫と決済機能実現の過程
yamarkz
0
2k
Flutter/Dartと共に歩んだスタートアップの開発を振り返って得た、成功と失敗の教訓
yamarkz
5
3.3k
Bloc PatternにおけるBloc分割の方針と実践例 / Division plan and practical example in bloc pattern
yamarkz
7
28k
Smart Contract Design Pattern
yamarkz
4
3k
トークンの概要と開発観点から見たICO / Token and TokenSale
yamarkz
5
62k
Zilliqa Next Gen High Throughput Blockchain Platform
yamarkz
0
2.4k
Proof of Stake Casper
yamarkz
8
14k
Blockchain R&D Introduction
yamarkz
2
51k
Bitcoin Improvement Flow
yamarkz
5
4.7k
Other Decks in Technology
See All in Technology
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
170
JAWS_ICEBERG_BASECAMP
iqbocchi
2
110
GoでCコンパイラを作った話
repunit
0
150
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
4
1.1k
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
390
穢れた技術選定について
watany
19
6.1k
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
260
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
450
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
160
Vポイント分析基盤におけるデータモデリング20年史
taromatsui_cccmkhd
4
710
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
480
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
350
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
370
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
510
Git: the NoSQL Database
bkeepers
PRO
432
67k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
A Soul's Torment
seathinner
6
3.1k
Transcript
2018/03/16 blockchain.tokyo #6 in Cyber Agent Kazuki Yamaguchi (@yamarkz) Gunosy
Inc. ৄղ Ethereum Transaction ~Transactionͷ֓ཁ͔ΒΈ·Ͱ·Δͬͱհ~
Kazuki Yamaguchi / @yamarkz Software Engineer @Gunosy Graduated from Spring
2017 WebApplication Rails Dapps Solidity Research CryptoCurrency & Blockchain Github & Twitter @yamarkz
Gunosy Blockchain Blogͬͯ·͢ʂ ʮhttp://blockchain.gunosy.ioʯor ʮάϊγʔ ϒϩοΫνΣʔϯʯ
※τϥϯβΫγϣϯʹ͍ͭͯৄղʹͨ͢ΊɺϒϩοΫνΣʔϯɺΞΧϯτɺϚΠχϯάͳͲɺ पลγεςϜͷંΓ·͢ Agenda • Ethereum & Transaction • 2 Type
Transaction • Message 4 Pattern • Transaction Life Cycle • Transaction for Data Structure • Transaction Pool & Nonce • Transaction Releasing
Ethereum & Transaction
※ ίϯτϥΫτ࣮ߦͷΠϝʔδ ※ EtherʹΑΔࢧ͍ͷΠϝʔδ ίϯτϥΫτͷ࣮ߦ => τϥϯβΫγϣϯͷૹ৴ ICOͷࢀՃ => τϥϯβΫγϣϯͷૹ৴
Etherͷૹۚ => τϥϯβΫγϣϯͷૹ৴ ίϯτϥΫτͷ࡞ => τϥϯβΫγϣϯͷૹ৴ Ethereumʹ͓͍ͯɺTransactionશͯͷ࢝·Γ
EthereumͷTransactionେ͖͘2ͭʹ͚ΒΕΔ Contract Creation Message (৽ͨͳίϯτϥΫτ࡞) (ίϯτϥΫτͷ࣮ߦ or Etherͷૹۚ) New!!! A͞Μ͔ΒB͞Μ
3Ether ૹۚ ίϯτϥΫτͷ࣮ؔߦ ৽ͨͳίϯτϥΫτͷσϓϩΠ A B
(৽ͨͳίϯτϥΫτ࡞) Contract Creation ৽ͨͳίϯτϥΫτͷσϓϩΠ New!!! ͬͪ͜ΛΑΓਂ͘ղͯ͠ΈΔ EthereumͷTransactionେ͖͘2ͭʹ͚ΒΕΔ A͞Μ͔ΒB͞Μ 3Ether ૹۚ
A B ίϯτϥΫτͷ࣮ؔߦ Message (ίϯτϥΫτͷ࣮ߦ or Etherͷૹۚ)
Message4ͭʹྨ͞ΕΔ Transaction From EOA EVM code From CA To EOA
To CA EOA EOA Transaction Message EOA CA Message CA EOA Message Code CA Code CA Transaction Message From: Ethereum EVM illustrated
Transaction Life Cycle
1. Transactionʹॺ໊ 2. TransactionΛϊʔυʹϒϩʔυΩϟετ ϊʔυ Tx ༗ޮͳτϥϯβΫγϣϯ͔όϦσʔγϣϯ ؔ࿈ϊʔυʹൖ TxPool Metamask
etc… Queued Pending ɾൖ࣌ͷTransactionɺSerialize͞ΕΔ ɾGas PriceʹΑͬͯϊʔυอ࣋͢Δ͔அͰ͖Δ Tx Tx Tx Tx Block Tx Tx ϚΠχϯά ϒϩοΫνΣʔϯ Txͷঢ়گʹΑͬͯɺ PendingͱQueued͚ΒΕΔ ΞΧϯτͷঢ়ଶ͕มΘΔ ΞΧϯτͷঢ়ଶ͕มΘΔ START ϚΠφʔϊʔυ ϊʔϚϧϊʔυ ϩʔΧϧϊʔυ A B Pendingͷத͔ΒϚΠχϯά͢ΔTxΛɺ ϚΠφʔ͕બ͢Δ
Pendingͷத͔ΒϚΠχϯά͢ΔTxΛɺ ϚΠφʔ͕બ͢Δ ؔ࿈ϊʔυʹൖ TxPool Queued Pending ɾൖ࣌ͷTransactionɺSerialize͞ΕΔ ɾGas PriceʹΑͬͯϊʔυอ࣋͢Δ͔அͰ͖Δ Tx
Tx Tx Tx Block Tx Tx ϚΠχϯά ϒϩοΫνΣʔϯ Txͷঢ়گʹΑͬͯɺ PendingͱQueued͚ΒΕΔ ΞΧϯτͷঢ়ଶ͕มΘΔ ΞΧϯτͷঢ়ଶ͕มΘΔ ϚΠφʔϊʔυ ϊʔϚϧϊʔυ B A ϊʔυ Tx ༗ޮͳτϥϯβΫγϣϯ͔όϦσʔγϣϯ ϩʔΧϧϊʔυ 1. Transactionʹॺ໊ 2. TransactionΛϊʔυʹϒϩʔυΩϟετ Metamask etc… START
Pendingͷத͔ΒϚΠχϯά͢ΔTxΛɺ ϚΠφʔ͕બ͢Δ 1. Transactionʹॺ໊ 2. TransactionΛϊʔυʹϒϩʔυΩϟετ ϊʔυ Tx ༗ޮͳτϥϯβΫγϣϯ͔όϦσʔγϣϯ Metamask
etc… Tx Tx Tx Tx Block ϚΠχϯά ϒϩοΫνΣʔϯ ΞΧϯτͷঢ়ଶ͕มΘΔ ΞΧϯτͷঢ়ଶ͕มΘΔ START ϩʔΧϧϊʔυ A B ؔ࿈ϊʔυʹൖ ɾൖ࣌ͷTransactionɺSerialize͞ΕΔ ɾGas PriceʹΑͬͯϊʔυอ࣋͢Δ͔அͰ͖Δ Tx ϚΠφʔϊʔυ ϊʔϚϧϊʔυ TxPool Queued Pending Tx Txͷঢ়گʹΑͬͯɺ PendingͱQueued͚ΒΕΔ
1. Transactionʹॺ໊ 2. TransactionΛϊʔυʹϒϩʔυΩϟετ ϊʔυ Tx ༗ޮͳτϥϯβΫγϣϯ͔όϦσʔγϣϯ ؔ࿈ϊʔυʹൖ Metamask etc…
ɾൖ࣌ͷTransactionɺSerialize͞ΕΔ ɾGas PriceʹΑͬͯϊʔυอ࣋͢Δ͔அͰ͖Δ Tx ϒϩοΫνΣʔϯ ΞΧϯτͷঢ়ଶ͕มΘΔ ΞΧϯτͷঢ়ଶ͕มΘΔ START ϊʔϚϧϊʔυ ϩʔΧϧϊʔυ A B Tx Tx Tx Tx Block ϚΠχϯά ϚΠφʔϊʔυ TxPool Queued Pending Tx Txͷঢ়گʹΑͬͯɺ PendingͱQueued͚ΒΕΔ Pendingͷத͔ΒϚΠχϯά͢ΔTxΛɺ ϚΠφʔ͕બ͢Δ
Pendingͷத͔ΒϚΠχϯά͢ΔTxΛɺ ϚΠφʔ͕બ͢Δ 1. Transactionʹॺ໊ 2. TransactionΛϊʔυʹϒϩʔυΩϟετ ϊʔυ Tx ༗ޮͳτϥϯβΫγϣϯ͔όϦσʔγϣϯ ؔ࿈ϊʔυʹൖ
TxPool Metamask etc… Queued Pending ɾൖ࣌ͷTransactionɺSerialize͞ΕΔ ɾGas PriceʹΑͬͯϊʔυอ࣋͢Δ͔அͰ͖Δ Tx Tx Tx Tx Block Tx Tx Txͷঢ়گʹΑͬͯɺ PendingͱQueued͚ΒΕΔ START ϚΠφʔϊʔυ ϊʔϚϧϊʔυ ϩʔΧϧϊʔυ A ϚΠχϯά ΞΧϯτͷঢ়ଶ͕มΘΔ ΞΧϯτͷঢ়ଶ͕มΘΔ B ϒϩοΫνΣʔϯ A
1. Transactionʹॺ໊ 2. TransactionΛϊʔυʹϒϩʔυΩϟετ ϊʔυ Tx ༗ޮͳτϥϯβΫγϣϯ͔όϦσʔγϣϯ ؔ࿈ϊʔυʹൖ TxPool Metamask
etc… Queued Pending ɾൖ࣌ͷTransactionɺSerialize͞ΕΔ ɾGas PriceʹΑͬͯϊʔυอ࣋͢Δ͔அͰ͖Δ Tx Tx Tx Tx Block Tx Tx ϚΠχϯά ϒϩοΫνΣʔϯ Txͷঢ়گʹΑͬͯɺ PendingͱQueued͚ΒΕΔ ΞΧϯτͷঢ়ଶ͕มΘΔ ΞΧϯτͷঢ়ଶ͕มΘΔ START ϚΠφʔϊʔυ ϊʔϚϧϊʔυ ϩʔΧϧϊʔυ A B Pendingͷத͔ΒϚΠχϯά͢ΔTxΛɺ ϚΠφʔ͕બ͢Δ Ұ࿈ͷྲྀΕΛܦͯɺτϥϯβΫγϣϯ࠷ऴతʹΞΧϯτͷঢ়ଶΛมߋ͢Δ
Transaction for Data Structure
Transaction Nonce Gas Price Gas Limit To Value v, r,
s Init or data CLI্Ͱ֬ೝͰ͖ΔTransactionͷத Transaction for Data Structure
CLI্Ͱ֬ೝͰ͖ΔTransactionͷத Nonce Gas Price Gas Limit To Value v, r,
s Init or data ϢχʔΫͰ͋Δ͜ͱΛࣔ͢ ૹۚ͢ΔEtherͷֹ Contract࣮ߦ࣌ʹফඅ͢ΔGasͷ੍ݶ EVMίʔυ͕ೖΔϑΟʔϧυ Transaction Transaction for Data Structure
Transaction Pool & Nonce
Pendingͷத͔ΒϚΠχϯά͢ΔTxΛɺ ϚΠφʔ͕બ͢Δ 1. Transactionʹॺ໊ 2. TransactionΛϊʔυʹϒϩʔυΩϟετ ϊʔυ Tx ༗ޮͳτϥϯβΫγϣϯ͔όϦσʔγϣϯ ؔ࿈ϊʔυʹൖ
Metamask etc… ɾൖ࣌ͷTransactionɺSerialize͞ΕΔ ɾGas PriceʹΑͬͯϊʔυอ࣋͢Δ͔அͰ͖Δ Tx Tx Tx Tx Block Tx ϚΠχϯά ϒϩοΫνΣʔϯ ΞΧϯτͷঢ়ଶ͕มΘΔ ΞΧϯτͷঢ়ଶ͕มΘΔ START ϚΠφʔϊʔυ ϊʔϚϧϊʔυ ϩʔΧϧϊʔυ A B TxPool Queued Pending Tx ͜͜ͷ Txͷঢ়گʹΑͬͯɺ PendingͱQueued͚ΒΕΔ
Transaction Pool Transaction Pool (ҎԼɺTxPool)ͱɺϒϩοΫʹऔΓࠐ·ΕΔલͷτϥϯβΫγϣϯ͕Ұ࣌ తʹอଘ͞ΕΔۭؒɻۭؒϊʔυͷϚγϯϝϞϦ্ʹ࡞ΒΕΔɻ ϚγϯϝϞϦ্ʹ࡞ΒΕΔͨΊɺϚγϯͷిݯ͕མͪΔͱTxPoolͷτϥϯβΫγϣϯফ͑ Δɻ ϊʔυࣗͷϝϞϦۭؒʹؚΊΔτϥϯβΫγϣϯΛGasPriceͰબผ͢Δ͜ͱ͕Ͱ͖Δɻ TxPoolͷۭؒ2ͭ
Pending • ϒϩοΫʹऔΓࠐ·ΕͯOKͳτϥϯβΫγϣϯ͕อଘ͞ΕΔ Queued • ϒϩοΫʹऔΓࠐ·ΕͯNGͳτϥϯβΫγϣϯ͕อଘ͞ΕΔ • τϥϯβΫγϣϯͷNonceʹΪϟοϓ͕ଘࡏ͢Δ߹ɺPendingͰͳ͘ɺ Queuedʹอଘ͞ΕΔɻQueuedͷׂɺωοτϫʔΫ͔Β౸ணͨ͠ॱং֎τϥ ϯβΫγϣϯΛΧόʔ͢Δ͜ͱɻ(τϥϯβΫγϣϯͷॱংΛकΔ͜ͱ)
Transaction Pool & Nonce TxPool ͷPendingͱQueuedͷڍಈ Nonce 37ͷTx͕Γͳ͍ঢ়گ Nonce 37͕TxPoolʹϒϩʔυΩϟετ
or ൖ͞Εͨ͜ͱʹΑΓɺ QueuedͷTxnonceͷॱং͕ἧ͏ɻ ἧ͏͜ͱͰϚΠχϯάOKͳTxʹͳΓPendingʹҠಈ͢Δ
Transaction Nonce From: Mastering Ethereum NonceಉҰΞΧϯτ͔ΒͷTransaction Orderͷূ໌Ͱ͋Γɺ τϥϯβΫγϣϯͷೋॏࢧग़Λղܾ͢Δɻ NonceTransactionʹ͓͍ͯ࠷ॏཁͳίϯϙʔωϯτͰ͋Γɺ ࠷ཧղ͞Ε͍ͯͳ͍ՕॴͰ͋Δɻ
Tx Nonce 1 Tx Nonce 2 Tx Nonce 3 Tx Nonce 4 ಉҰΞΧϯτ͔ΒͷτϥϯβΫγϣϯNonceͷॱংʹԊͬͯɺϒϩοΫʹऔΓࠐ·ΕΔɻ Nonce1ͱNonce2ͷτϥϯβΫγϣϯ͕ಉҰΞΧϯτA͔Β࡞ΒΕͨ߹ɺNonce2ͷτϥϯ βΫγϣϯNonce1ͷτϥϯβΫγϣϯ͕ϚΠχϯά͞Εͳ͍ݶΓɺϚΠχϯά͞Εͳ͍ɻ NonceͷॱংʹԊͬͯτϥϯβΫγϣϯ͕ϒϩοΫʹऔΓࠐΉϓϩτίϧʹΑΓɺೋॏࢧग़Λ ͍Ͱ͍Δɻ
Transaction Releasing
Transaction Releasing ϒϩʔυΩϟετͨ͠τϥϯβΫγϣϯΛͳ͔ͬͨ͜ͱʹ͍ͨ͠ or τϥϯβΫγϣϯ͕ͳ͔ͳ͔ϚΠχϯά͞Εͳ͍ͷͰGas PriceΛ্͍͛ͨ͠ EthereumʹϒϩʔυΩϟετͨ͠τϥϯβΫγϣϯΛআ͢ΔΈ͕ͳ͍ ͔͠͠ɺ ະঝೝτϥϯβΫγϣϯΛ ߋ৽
͢Δ͜ͱ͕Մೳ ~έʔεελσΟ~
Transaction Releasing ະঝೝτϥϯβΫγϣϯͷߋ৽ (Releasing) ߋ৽͍ͨ͠τϥϯβΫγϣϯʹৼΒΕ͍ͯΔNonceͱಉ͡NonceΛࢦఆͨ͠τϥϯβΫγϣϯ Λ࡞͠ɺϒϩʔυΩϟετ͢Δ͜ͱͰະঝೝτϥϯβΫγϣϯΛߋ৽͢Δ͜ͱ͕Ͱ͖Δɻ ߋ৽Ͱͷमਖ਼͕ՄೳͳͷͰɺ3Etherͷૹ৴͢ΔͷΛͳ͔ͬͨ͜ͱʹ͢ΔͨΊʹɺ0Etherͷ τϥϯβΫγϣϯΛૹ৴͠ͳ͓ͤɺະঝೝτϥϯβΫγϣϯߋ৽͞ΕΔͷͰɺͳ͔ͬͨ͜ ͱʹͳΔɻ(※खྉͰ͋ΔGasඞཁ) ߋ৽ͰŊߋ৽ઌτϥϯβΫγϣϯ͕࣋ͭGasPriceͷ10%Ҏ্ߴ͍
GasPriceͷߋ৽τϥϯβΫ γϣϯΛ࡞͠ͳ͚Ε͍͚ͳ͍ Tx A͞Μ͔ΒB͞Μ 3Etherͷૹۚ Tx A͞Μ͔ΒB͞Μ 0Etherͷૹۚ ߋ৽ઌ ߋ৽ݩ ߋ৽ʂʂ ϒϩʔυΩϟετ Tx A͞Μ͔ΒB͞Μ 0Etherͷૹۚ TxPool
Transaction Releasing Transaction Releasingͷڍಈ Nonce 41ͷະঝೝτϥϯβΫγϣϯ ಉ͡Nonce Ͱ͔ͭɺ10%Ҏ্ߴ͍GasPriceͷTxΛϒϩʔυΩϟετ͢Δ͜ͱͰߋ৽ ߋ৽TxʹΑΓɺ3Etherͷૹ͕ۚ0EtherʹͳΓɺ࣮࣭ͷૹۚऔΓফ͢͜ͱ͕Ͱ͖͍ͯΔ
Transactionʹ2ͭͷେ͖ͳྨͱ4ͭͷϝοηʔδύλʔϯ͕͋Δ EthereumΞΧϯτίϯτϥΫτͱ͍͏֓೦͕͋ΔͨΊɺ τϥϯβΫγϣϯͷΈߏෳࡶ NonceͷΈ͕Life CycleΛཧղ͢Δ্Ͱॏཁͳ伴ͱͳΔ Contract։ൃΛਐΊΔ্ͰTransactionͷΈΛཧղ͢Δͷॏཁ ·ͱΊ
ɾWhat is Gas? ɾEthereum EVM Illustrated ɾMastering Ethereum ɾEthereum White
Paper ɾEthereum Yellow Paper ɾEthereum Wiki ɾLife Cycle of an Ethereum Transaction ࢀߟࢿྉ
Q&A 1 Q. τϥϯβΫγϣϯͷૹۚݩͲ͏ͬͯஅ͢Δͷʁ A. τϥϯβΫγϣϯʹؚ·ΕΔॺ໊ૹ৴ݩͷΞΧϯτͷൿີ伴͔Β͔͠࡞ΒΕͳ͍ͨΊɺͦͷॺ ໊Ͱஅ͢Δ Q.τϥϯβΫγϣϯΛ࡞ͨ͠ͷͷɺΞΧϯτεςʔτͷߋ৽ͷॱংͰૹۚऀ͕ेͳEtherΛ ͍࣋ͬͯͳ͔ͬͨ߹τϥϯβΫγϣϯͲ͏ͳΔͷʁ A.
τϥϯβΫγϣϯૹࣦۚഊͱͳΔͷͷɺτϥϯβΫγϣϯࣗମϚΠχϯά͞Εɺखྉͷ Έ͕ϚΠφʔʹࢧΘΕΔ Q.ΞΧϯτ͕࣋ͭNonceΑΓ͍Λ߱ͬͨτϥϯβΫγϣϯΛϒϩʔυΩϟετ͢ΔͱͲ͏ͳΔ ͷʁ A. ϒϩʔυΩϟετઌͷϩʔΧϧϊʔυͷόϦσʔγϣϯͰ͔ΕTxPoolʹೖΒͣɺτϥϯβΫγϣ ϯഁغ͞Εɺૹ৴ݩʹΤϥʔ͕ฦΔ Q.τϥϯβΫγϣϯʹઃఆͰ͖ΔGas Limitͷ࠷ߴ͍ͭ͘ʁ A. ཧ্ϒϩοΫͷGas Limitͱಉ͡
Q&A 2 Q. ϒϩʔυΩϟετͨ͠τϥϯβΫγϣϯΛআ͍ͨ͠߹Ͳ͏͢Εྑ͍ͷʁ A. EthereumͰϒϩʔυΩϟετͨ͠τϥϯβΫγϣϯͷআػೳ͋Γ·ͤΜɻԾʹɺτϥϯβΫ γϣϯΛͳ͔ͬͨ͜ͱʹ͍ͨ͠ (ૹۚΛऔΓফ͍ͨ͠) ߹ɺಉ͡NonceͰValueΛ0ʹ͠Gas PriceΛߴ͍ͷʹ࡞ͯ͠ϒϩʔυΩϟετ͢Δ
Q. ૹۚͷΈͰར༻ͨ͠߹ͷखྉͬͯͲ͏ͳΔͷʁ A. GasPrice × τϥϯβΫγϣϯͷόΠτ ͷ͕खྉʹͳΔ Q. TxPoolͷ྆ʑ͕ᷓΕΔ΄ͲτϥϯβΫγϣϯ͕ཷ·ͬͨ߹ɺᷓΕͨτϥϯβΫγϣϯͲ͏ͳΔ ͷʁ A. τϥϯβΫγϣϯͷGasPrice͕͍ͷ͔ΒPool͔Β͍ग़͞Ε͍ͯ͘ Q. NonceͷॱংͰɺઌʹߴ͍NonceͷτϥϯβΫγϣϯΛϚΠφʔ͕ϚΠχϯά͠ɺϚΠχϯάʹޭ ͨ͠߹ɺϒϩοΫͲ͏ͳΔͷʁ A. ԾʹɺϚΠχϯάʹޭͨ͠ͱͯ͠ɺNonceͷॱংΛक͍ͬͯͳ͍τϥϯβΫγϣϯΛؚΜͩϒ ϩοΫແޮͱͳΓɺνΣʔϯʹܨ͕Εͳ͍
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ✨