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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
170
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.7k
React、まだ楽しくて草
uhyo
7
4.1k
運用を見据えたAIエージェント設計実践
amacbee
1
3.1k
protovalidate-es を導入してみた
bengo4com
0
130
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
800
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
510
Building applications in the Gemini API family.
line_developers_tw
PRO
0
1.9k
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
510
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
380
データ基盤をDataformで整えた話 〜 開発環境を添えて 〜
takapy
0
120
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
18
11k
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
160
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Code Review Best Practice
trishagee
74
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Designing Experiences People Love
moore
143
24k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
960
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
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ͷॱংΛक͍ͬͯͳ͍τϥϯβΫγϣϯΛؚΜͩϒ ϩοΫແޮͱͳΓɺνΣʔϯʹܨ͕Εͳ͍
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ✨