-
Notifications
You must be signed in to change notification settings - Fork 513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Metropolis: EIP86 account abstraction #277
Conversation
Paper.tex
Outdated
\boldsymbol{\sigma}_0[S(T)]_n & \equiv & \boldsymbol{\sigma}[S(T)]_n + 1 | ||
\boldsymbol{\sigma}_0[S(T)]_n & \equiv & | ||
\begin{cases} | ||
\boldsymbol{\sigma}[S(T)]_n &\text{if}\ S(T) = 2^{256} \\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the number should be 2^{256} - 1
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agree
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I fixed this.
Paper.tex
Outdated
@@ -609,7 +613,11 @@ \subsection{Execution} | |||
\begin{equation} | |||
g \equiv T_g - g_0 | |||
\end{equation} | |||
and $T_o$ is the original transactor, which can differ from the sender in the case of a message call or contract creation not directly triggered by a transaction but coming from the execution of EVM-code. | |||
and $T_o$ is the original transactor, which can differ from the sender in the case of a message call or contract creation not directly triggered by a transaction but coming from the execution of EVM-code. $a$ is the address of the created account: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
superfluous double-space
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed.
Paper.tex
Outdated
\begin{equation} \label{eq:address_calc} | ||
a \equiv \mathcal{B}_{96..255}\Big(\mathtt{\tiny KEC}\big(0 \cdot \mathbf{i}\big)\Big) | ||
\end{equation} | ||
where $0$ denotes the zero element of $\mathbb{B}_{160}$, the operator $\cdot$ is the concatenation of binary data, $\mathtt{\tiny KEC}$ is the Keccak 256-bit hash function, $\mathcal{B}_{a..b}(X)$ evaluates to binary value containing the bits of indices in the range $[a, b]$ of the binary data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
better not to "denote" 0
to be anything other than zero. if you want to pun it into a particular element of a set, better to use some other notation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Introduced a symbol.
Paper.tex
Outdated
and $T_o$ is the original transactor, which can differ from the sender in the case of a message call or contract creation not directly triggered by a transaction but coming from the execution of EVM-code. | ||
and $T_o$ is the original transactor, which can differ from the sender in the case of a message call or contract creation not directly triggered by a transaction but coming from the execution of EVM-code. $a$ is the address of the created account: | ||
\begin{equation} \label{eq:address_calc} | ||
a \equiv \mathcal{B}_{96..255}\Big(\mathtt{\tiny KEC}\big(0 \cdot \mathbf{i}\big)\Big) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should read ...KEC(\mathbf{i})...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed.
Paper.tex
Outdated
0xfb & {\small CREATE\_P2SH} & 3 & 1 & Create a new account with associated code on an address calculated using the \\ | ||
&&&& creator's address. \\ | ||
&&&& Exactly equivalent to {\small CREATE} except: \\ | ||
&&&& $a \equiv \mathcal{B}_{96..255}\Big(\mathtt{\tiny KEC}\big(I_a \cdot \mathbf{i}\big)\Big)$ \\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should read ...KEC(\mathbf{i})...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a few corrections.
Addressed the comments. |
Probably there will be a conflict with #278. |
Paper.tex
Outdated
\boldsymbol{\sigma}^{**} & \text{if} \quad g^{**}<c \wedge H_i<\firsthomesteadblock \\ | ||
\boldsymbol{\sigma}^{**} \quad \text{except:} & \\ | ||
\quad\boldsymbol{\sigma}'[a]_c = \texttt{\small KEC}(\mathbf{o}) & \text{otherwise} | ||
\end{cases} | ||
\end{cases} \\ | ||
E(\boldsymbol{\sigma}, a) &\equiv \big(\boldsymbol{\sigma}[a] \neq \varnothing \wedge (\boldsymbol{\sigma}[a]_c \neq () \vee \boldsymbol{\sigma}[a]_n \neq 0)\big) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The empty code is seen as KEC(())
not just ()
.
This PR needs to follow ethereum/EIPs@bd136e6 |
but only when the gas price, the nonce and the value are all zero.
The function \Lambda now takes the new address as a parameter
I finished applying ethereum/EIPs@bd136e6 |
This protocol change has been postponed and I don't know when it is planned. |
This PR introduces ethereum/EIPs#208 as part of the Metropolis changes. #229
This is a reincarnation of #249, but reflects a recent change in ethereum/EIPs#208.