ঢ়ଶػցͱͯ͠ͷΠʔαϦΞϜ
͋Δ࣌Uͷঢ়ଶМ U
͔Βɺ࣍ͷঢ়ଶМ U
ɺτϥϯβΫγϣϯʹΑͬͯભҠ͢Δ
Ethereum, taken as a whole, can be viewed as a transaction-based state machine [Ethereum Yellow Paper]
Slide 5
Slide 5 text
ঢ়ଶػցͱͯ͠ͷΠʔαϦΞϜϒϩοΫੜʹΑΔঢ়ଶભҠͷੵΈॏͶ
τϥϯβΫγϣϯରԠ͢ΔݸʑͷΞΧϯτͷঢ়ଶΛมԽͤ͞Δ
ωοτϫʔΫτϥϯβΫγϣϯΛूΊɺঝೝͯ͠ϒϩοΫΛੜ͢Δ
Ethereum, taken as a whole, can be viewed as a transaction-based state machine [Ethereum Yellow Paper]
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
ʜʜʜ
Slide 6
Slide 6 text
The world state (state), is a mapping between addresses (160-bit identifiers) and account states (a data structure serialised as RLP,..)
[Ethereum Yellow Paper Chapter 4]
XPSMETUBUFΞυϨεͱঢ়ଶͷϚοϐϯάͰද͞ΕΔ
ΞυϨε͕Ωʔ
ঢ়ଶ͕
3-1Τϯίʔυ͞Ε͍ͯΔ
ߴ
/PODF
$PEFIBTI
4UBUF3PPU
Y%%"&#G&#$$#'EBD%
YCEDCCDEECD
YFDEFDBEFGBDFG
)"4) 4UPSBHF5SJF3PPU
)"4) lz
<
)"4) ʜ
)"4) lz
>
YGEʜʜCCGBEEB
Slide 7
Slide 7 text
Though not stored on the blockchain, it is assumed that the implementation will maintain this mapping in a modified Merkle Patricia tree
[Ethereum Yellow Paper Chapter 4]
ϚοϐϯάϚʔΫϧύτϦγΞͱͯ͠อଘ͞ΕΔ
LFZWBMVFͰঢ়ଶΛอଘ͢ΔͨΊͷσʔλߏ
ޮతͳΩʔ୳ࡧ
CJUDPJOͰ͓ͳ͡ΈͷϚʔΫϧπϦʔ
.FSLMF5SFF.FSLMF1SPPG
%&
%&"
'$
YCB
Y''
Y$$
<
"
#
$
%
&
'>
%&
<
"
#
$
%
&
'>
YCB Y''
Y$$
$
3PPU
Slide 8
Slide 8 text
Though not stored on the blockchain, it is assumed that the implementation will maintain this mapping in a modified Merkle Patricia tree
[Ethereum Yellow Paper Chapter 4]
ϚοϐϯάϚʔΫϧύτϦγΞͱͯ͠อଘ͞ΕΔ
LFZWBMVFͰঢ়ଶΛอଘ͢ΔͨΊͷσʔλߏ
ޮతͳΩʔ୳ࡧ
CJUDPJOͰ͓ͳ͡ΈͷϚʔΫϧπϦʔ
.FSLMF5SFF.FSLMF1SPPG
W W W W
I W
I W
I W
I W
I I W
I W
I I W
I W
I ʜ
/ W W W
I W
I W
I W
I O
I I O
I W
I I W
I W
I ʜ
@OFX
ϦʔϑϊʔυͷϋογϡΛͤࠜ͞ϊʔυͷϋογϡΛ࡞Δ
༿ͷΛมߋ͢Δͱࠜϊʔυͷϋογϡ͕มΘΔ
શମΛΒͳͯ͘༿ͷͷଘࡏΛ͔֬ΊΒΕΔ
Slide 9
Slide 9 text
Though not stored on the blockchain, it is assumed that the implementation will maintain this mapping in a modified Merkle Patricia tree
[Ethereum Yellow Paper Chapter 4]
ϚοϐϯάϚʔΫϧύτϦγΞͱͯ͠อଘ͞ΕΔ
LFZWBMVFͰঢ়ଶΛอଘ͢ΔͨΊͷσʔλߏ
ޮతͳΩʔ୳ࡧ
CJUDPJOͰ͓ͳ͡ΈͷϚʔΫϧπϦʔ
.FSLMF5SFF.FSLMF1SPPG
W W W W
I W
I W
I W
I W
I I W
I W
I I W
I W
I ʜ
/ W W W
I W
I W
I W
I O
I I O
I W
I I W
I W
I ʜ
@OFX
ϦʔϑϊʔυͷϋογϡΛͤࠜ͞ϊʔυͷϋογϡΛ࡞Δ
༿ͷΛมߋ͢Δͱࠜϊʔυͷϋογϡ͕มΘΔ
શମΛΒͳͯ͘༿ͷͷଘࡏΛ͔֬ΊΒΕΔ
1BUSJDJB5SJF5SJF τϥΠʣ
3FUSJFWBM ىʣ͕ޠݯ
lEPHz
lEPHFz
lEPOF
lDBUz
lDBQz
จࣈྻݕࡧʹద͍ͯ͠Δ
จࣈྻNɺσʔλαΠζ/ʹର͠
0 N
WTೋ୳ࡧ0 MPH/
จࣈྻू߹
τϥΠͰͷදݱ
ͭͷϊʔυ֤จࣈΛද͢
ϊʔυ֤จࣈͷ͚ͩࢠϊʔυͷϙΠϯλΛ࣋ͭ
ࢠϊʔυ͕ͳ͍߹/6--ͷϙΠϯλΛ࣋ͭ
ಛ
ϝϞϦ༻ྔ͕ଟ͍Lจࣈ༻͢Δͱͯ͠
ʙ
Ωʔͷ͕͞ҰఆͳΒ0
E
D
P H F
O F
B U
Q
Lจࣈ༻͢Δͱ͖NMPH@L/ ୯७ൺֱͰ͖ͳ͍
Slide 14
Slide 14 text
5SJF͔Β1BUSJDJB5SJF
5SJFͷϝϞϦফඅྔͷʹରॲ
ࢠϊʔυ͕͔ͭ͠ͳ͍ϊʔυΛࢠͱϚʔδ
1SBDUJDBM"MHPSJUINUP3FUSJFWF*OGPSNBUJPO$PEFEJO"MQIBOVNFSJDΒ͍͠
σʔλͷૢ࡞ίετͳͲτϥΠͱಉ͡Φʔμ
E
D
P H F
O F
B U
Q
EP
DB
H F
O F
U
Q
EP
DB
HF
OF
U
Q
τϥΠ ύτϦγΞ
Slide 15
Slide 15 text
&UIFSFVNʹ͓͚ΔA.PEJpFEA.FSLMF1BUSJDJB5SJF
छྨͷϊʔυ
EP
DB
HF
OF
U
Q
ύτϦγΞ
EP
DB
HF
OF
U
Q
ʹ
CSBODI
FYUFOTJPO
MFBG
/6--
-FBG
&YUFOTJPO
#SBODI
LFZʹର͢ΔWBMVFͷγϦΞϥΠζํࣜ3-1&ODPEJOH
The purpose of RLP is to encode arbitrarily nested arrays of binary data, and RLP is the main encoding method used to serialize objects in Ethereum.
[Ethereum Wiki]
ܕΛѻΘͳ͍γϯϓϧͳγϦΞϥΠζख๏
ϦετߏΛऔΓѻ͑Δ
LFZWBMVFͷϚοϓαϙʔτ͍ͯ͠ͳ͍
ఆٛ
ΤϯίʔυͰ͖ΔͷΞΠςϜ
จࣈྻΞΠςϜ
ΞΠςϜͷϦετΞΠςϜ
όΠτྻΛѻ͏
lEPHz
<
>
< >
lXPMGz
lz
< >
lz <
lDBUz>
< >
lDBUz
< >
<
<>
Slide 22
Slide 22 text
3-1ͷσίʔυ͔Β3-1ΤϯίʔσΟϯάΛݟΔจࣈ
ѻ͏ͷόΠτྻ YY⒎
σίʔμ౸ணͨ͠όΠτྻͷ࠷ॳͷཁૉΛݟͯͰσίʔυର͕Կ͔ͳͲΛΔ͜ͱ͕Ͱ͖Δ
Y YG
จࣈʹରԠ
CJU
Y Y⒎
ΓͷCJU
YYGͷൣғʹೖ͍ͬͯΔ߹ɺͦͷ··ͷόΠτͱͯ͠ղऍ͢Δ
Slide 23
Slide 23 text
σίʔυ๏จࣈྻ
Y YD Y⒎
ΓͷCJU
ಡΈࠐΜͩઌ಄ͷόΠτ͕ͷΓͷCJUͷ͏ͪઌ಄CJUͩͬͨ߹ɺจࣈྻ͕Τϯίʔυ͞Ε͍ͯΔ
จࣈྻΛද͢
YC YC
จࣈҎԼͷจࣈྻ จࣈҎ্
YCG
Y͔ΒYCޙଓΛYYόΠτɺจࣈͱͯ͠σίʔυ
ઌ಄ͷόΠτ͕
ྫ
G
ઌ಄YYόΠτͷจࣈྻY
YG
Y
Y UP4USJOHGPVS