Hamid list
نمیدونم چرا مقاومت میکنه بگه که یه chain جدا هستش🤔 و توی تبلغاتشجوری میگه انگار به خود بیتکوین یک چیزی اضافه کردن و ... https://gaia.blockstack.org/hub/1AxyPunHHAHiEffXWESKfbvmBpGQv138Fp/stacks.pdf
این تیکه اش که میگفتش
همون چیزی که دیده میشه و نوشته میشه (منظور کد هستش ) همون اجرا میشه (توسط یه مفسر ) جای این که کامپایل بشه و یه بایت کد بده و حالا یه ماشین مجازی دیگه این بایت کد ها رو اجرا کنه و....
رو دوس داشتم
همون چیزی که دیده میشه و نوشته میشه (منظور کد هستش ) همون اجرا میشه (توسط یه مفسر ) جای این که کامپایل بشه و یه بایت کد بده و حالا یه ماشین مجازی دیگه این بایت کد ها رو اجرا کنه و....
رو دوس داشتم
هنوز دلیل اصلی معلوم نیست
A vulnerability in the Geth EVM could cause a node to no longer being able to process the chain. Further details about the vulnerability will be disclosed at a later date.
https://github.com/ethereum/go-ethereum/security/advisories/GHSA-9856-9gg9-qcmq
A vulnerability in the Geth EVM could cause a node to no longer being able to process the chain. Further details about the vulnerability will be disclosed at a later date.
https://github.com/ethereum/go-ethereum/security/advisories/GHSA-9856-9gg9-qcmq
GitHub
RETURNDATA corruption via datacopy
### Impact
A vulnerability in the Geth EVM could cause a node to reject the canonical chain.
### Denoscription
A memory-corruption bug within the EVM can cause a consensus error, where vul...
A vulnerability in the Geth EVM could cause a node to reject the canonical chain.
### Denoscription
A memory-corruption bug within the EVM can cause a consensus error, where vul...
Hamid list
https://mariusvanderwijden.github.io/blog/2021/05/02/FuzzyVM/ FuzzyVM
These differences are often critical to the health of the network as all nodes have to agree on the current state of the network. If a node does not agree on the same state as the rest, it can not validate blocks and is therefore forked off the network.The EVM provides over 80 Opcodes (like ADD, SUB, CALL) as well as 9 complex functions as precompiled contracts.Forwarded from Hamid
https://blocksecteam.medium.com/the-analysis-of-the-wild-exploitation-of-cve-2021-39137-f1c9ffcdd210
Medium
A short analysis of the wild exploitation of CVE-2021–39137
CVE-2021–39137 is a vulnerability which has been reported and fixed a few days ago. However, not all Ethereum nodes have applied the patch…
Forwarded from Hamid
https://twitter.com/kelvinfichter/status/1431336713436254210
اینجا کامل تره. من اون داستان رو که بایت کد با آدرس یکی هستش و ... کلا داشتم اشتباه میزدم😬👀
یکی هستش ولی اون رو. از مموری سر همین باگ بر میداره میزاره توی قسمت byte code (مربوط به همون فرق init code , run time code هستش )
اینجا کامل تره. من اون داستان رو که بایت کد با آدرس یکی هستش و ... کلا داشتم اشتباه میزدم😬👀
یکی هستش ولی اون رو. از مموری سر همین باگ بر میداره میزاره توی قسمت byte code (مربوط به همون فرق init code , run time code هستش )
Twitter
God-like Natural Number Creator Person (TM, R)
We can also see the code that was used to create the contract:
Forwarded from Amirhossein Hassaneini
آها 😬 یعنی کلا ربطی به این موضوع نداشت؟ از عمد نبوده؟
ولی آخه جالب بود. چطوری آدرس و بایت کد دیپلوی شده یکی شده؟ شانسی؟ 🤔
ولی آخه جالب بود. چطوری آدرس و بایت کد دیپلوی شده یکی شده؟ شانسی؟ 🤔
Forwarded from Hamid
نه ربط که داشته
این بایت کد های init code هستش
دو تا اولی باعث میشه که آدرس کانترکت بیاد توی استک و MSTORE این مقدار (همونی که ما به عنوان run time byte code میبینیم) رو بر میداره میبره تو مموری
و توی ادامه بقیه op code ها یک سری کار میکنن که توی اون رشتو توضیح داده operation هاشون رو
و در نهایت وقتی که operation شماره ۲۰ صدا زده میشه توی نود های غیر آپدیت شده پوینتر برگردونده میشه و یه قرار داد با بایت کدی که پوینتر هستش دیپلوی میشه روی شبکه و توی نود های آپدیت شده دیتا درست که همون دوتای اولی بود که توی مموری نوشته شده برمیگرده(همون ادرس قرارداد هوشمند)
و اینجوری chain spilit اتفاق می افته به خاطر این که به یه state یکسان نمیرسن و تفسیر های متفاوتی دارن
این بایت کد های init code هستش
دو تا اولی باعث میشه که آدرس کانترکت بیاد توی استک و MSTORE این مقدار (همونی که ما به عنوان run time byte code میبینیم) رو بر میداره میبره تو مموری
و توی ادامه بقیه op code ها یک سری کار میکنن که توی اون رشتو توضیح داده operation هاشون رو
و در نهایت وقتی که operation شماره ۲۰ صدا زده میشه توی نود های غیر آپدیت شده پوینتر برگردونده میشه و یه قرار داد با بایت کدی که پوینتر هستش دیپلوی میشه روی شبکه و توی نود های آپدیت شده دیتا درست که همون دوتای اولی بود که توی مموری نوشته شده برمیگرده(همون ادرس قرارداد هوشمند)
و اینجوری chain spilit اتفاق می افته به خاطر این که به یه state یکسان نمیرسن و تفسیر های متفاوتی دارن
Forwarded from Amirhossein Hassaneini
آهان 🤔 پس این کپی شدن که توی بلاگ پستی که گذاشته بودی داشت توضیح میداد در واقع به این بایت کده مربوطه 👌
کلکها چه سوسکی هم فیکس کردن :))
کامیت مسج: faster code analysis 😜
https://github.com/ethereum/go-ethereum/commit/1d995731923ca899964371ddb213d40b7e773818#diff-7da47ad076053fe0f266b3088eb9ee206c7f3f8fe5a93116a3f5e25ee5074213
کلکها چه سوسکی هم فیکس کردن :))
کامیت مسج: faster code analysis 😜
https://github.com/ethereum/go-ethereum/commit/1d995731923ca899964371ddb213d40b7e773818#diff-7da47ad076053fe0f266b3088eb9ee206c7f3f8fe5a93116a3f5e25ee5074213