Edit: เจ้าตัวติดต่อมาแล้วและรับทราบว่ามันผิดพลาดจริงๆนะครับ
เห็นแชร์กันเยอะนะ เรื่องนี้มั่วนะครับ
ระบบสมัยนี้คุณจะมากด inspect/view source ของเว็ปไซต์แล้วมโนว่ามันทำงานยังไงไม่ได้ครับ เดี๋ยวนี้เทคโนโลยีมันไปไกลครับ ของจริงระบบน่าจะติดที่ service การดึงข้อมูลมาใส่เว็ป ทำให้พอคุณกดดู source แล้ว มันไม่มีอะไรเลย (เพราะระบบหลังบ้านมันค้าง ส่งมาไม่สำเร็จไง)
เวปสมัยนี้ไม่มี hardcode ลงไปในตัวเว็ปแล้วครับ ทุกอย่าง dynamic ทั้งหมด script ล้วนๆครับ ดังนั้นสิ่งที่คุณเห็นใน source ไม่ใช่สิ่งที่มันเป็นครับ
เคสเดียวกับตอนกดจอง ps5 เลยครับ คือระบบออกแบบมาไม่ดีเท่าที่ควรจะเป็น แต่ไม่ใช่เว็ปทำมาหลอกๆแน่ๆครับ
同時也有197部Youtube影片,追蹤數超過207萬的網紅Vật Vờ Studio,也在其Youtube影片中提到,Thời điểm ra mắt Xiaomi Redmi Note 7 được quảng cáo với độ bền rất cao, vậy nên hôm nay hãy cùng Vinh Xô thử độ bền mẫu máy này. Redmi Note 7 có phần ...
「hardcode」的推薦目錄:
- 關於hardcode 在 นายอาร์ม Facebook 的最讚貼文
- 關於hardcode 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於hardcode 在 純靠北工程師 Facebook 的最讚貼文
- 關於hardcode 在 Vật Vờ Studio Youtube 的最佳貼文
- 關於hardcode 在 BoxSkin Bz. Youtube 的最佳貼文
- 關於hardcode 在 BoxSkin Bz. Youtube 的最佳貼文
- 關於hardcode 在 What does "hard coded" mean? - Stack Overflow 的評價
- 關於hardcode 在 Hard-Code - YouTube 的評價
- 關於hardcode 在 鑒真數位- <<如何有效分析App是否有hardcode>> 先前曾說明 ... 的評價
- 關於hardcode 在 作者hardCode 在PTT [ marvel ] 看板的留言(推文), 共48則 的評價
- 關於hardcode 在 Hardcode fixtures / example variables · Issue #11 - GitHub 的評價
- 關於hardcode 在 Is it ever a good idea to hardcode values into our applications? 的評價
hardcode 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] EIP2929, EIP2930 簡介
✍️ Anton Cheng
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Opcode 加油Proposal,會不會讓以太坊變更貴呢
昨天在同事的推薦下發現了這個YouTube系列:Peep an EIP,也聽了Vitalik和Martin介紹EIP2929 + 2930的這一期。這兩個EIP都已經被列入下一次的硬分岔(Berlin Hardfork),所以我就來寫個學習筆記。先打個預防針,本人對EVM可以說是非常不熟,但也希望藉著這個機會逼自己學習,如果有錯誤的話也希望懂的更多的各路大神可以不吝賜教。
Berlin without hardfork. (By Claudio Schwarz on Unsplash)
EIP2929: Gas cost increases for state access opcodes
乍看之下這是一個極為恐怖的Proposal。在Gas已經高到爆炸的2021年,理論上不應該再通過這種「加油」類的方案。不過不用緊張,其實這個EIP真正改變的是第一次access的價格,如果一筆交易內要執行一樣Opcode動作輛次,那麼gas cost 將降低為100。
Increases gas cost for SLOAD, *CALL, BALANCE, EXT* and SELFEDESTRUCT when used for the first time in a transaction.
大家都知道,合約最終會被Compile成一堆Opcode,這些Opcode也是用來計算最終交易手續費的依據:理論上越是花時間的的Opcode,應該要收越高的手續費。
但是一直以來,state access opcode 太便宜都是一個已知的問題:在2016年的上海DOS攻擊中,其中幾個攻擊的手法就是透過惡意交易大量讀取帳戶資訊、大量的創造合約再銷毀,或是不斷用 EXTCODESIZE 來讀合約大小等等,讓Client必須花大量的IO資源處理交易(需要讀寫disk的動作特別慢),最終使Client程式Crash或是延長出塊時間。儘管大部分的弱點已經透過EIP150中大量提升gas cost獲得改善(還有其後的EIP1884),但在EIP2929中,也引用的這篇Paper的數據:現在replay所有以太坊上的交易,當時那些惡意交易中的worst case還會需要~80秒才能完成。這跟以太坊所定義的13秒出塊時間有著很大的差距,也代表這個潛在的攻擊是可行的。
透過增加這些opcode所需要的gas cost,可以降低每個區塊最大可能的讀取數。以下是偷抄Vitalik PPT 的數據:(12,500,000 為gas limit上限)
Pre-EIP 2929:
BALANCE spam: 12,500,000 / (400 cost + 320 address size + 50 boilerplate) = 16,233 accesses per block
CALL spam: 12,500,000 / (700 + 320 + 50) = 11,682 accesses per block
SLOAD spam: 12,500,000 gas / (800 + 25 boilerplate) = 15,151 accesses per block (but of a smaller tree)
Post-EIP 2929:
BALANCE spam: 12,500,000 / (2,600 + 320 + 50) = 4,280 accesses per block
CALL spam: 12,500,000 / (2,600 + 320 + 50) = 4,280 accesses per block
SLOAD spam: 12,500,000 / (2,100 + 25) = 5,882 accesses per block
說實在的這個數據的解釋也很廢話,就是把Opcode變得用貴,能Spam的數量越少。平均來說Gas cost 變高3倍,所以之前worst case的80秒執行時間可以被下降到大概 ~27秒。
SSTORE changes
在實作層,EVM會維繫一個本筆交易讀取過所有交易的 Set。每次有尚未讀取過的slot時,就會先收取一筆 CLOD_SLOAD_COST (2100) ,然後把這個slot加入這個set中,下次讀寫就會比較便宜。
對於已經讀取過的Slot,再次寫入的Opcode SSTORE 之gas cost為會降低為
5000 — COLD_SLOAD_COST (2100) = 2900
簡單的說,單純只操作一次 SSTORE 的總gas 會維持一樣在 5000 。但如果這個slot是之前有讀過的,則寫入的gas cost就會降低。近一步來說,一個 x += 100 ,其實會變得更便宜:
Pre-EIP-2929: 800 SLOAD + 5000 SSTORE = 5800
Post-EIP-2929: 2100 SLOAD + 2900 warm SSTORE = 5000
其他Side effects
這個改動除了降低了最高能夠spam的次數以外,也降低了以太坊想要做到stateless client,理論上最大的witness 大小。其實這裡的原理跟前面很類似,下圖的表格比較的是目前使用hexary tree所需要的witness大小:若12.5M的區塊全部塞滿該Opcode的witness,理論上最大會佔多少空間。在EIP2929之後由於gas cost增加,就壓縮了最大可能的witness size.
這裡單純只比較增加gas cost後,對於max witness size的影響。影片中有提到其他許多方法旨在減少Witness bytes,包括使用binary tree而不是hexary tree,以及用Code Merklization等等。這些其他方法也能夠降低最後的Max Witness size,但跟這個EIP沒有直接相關。不過可以注意的一點是,這些其他在witness size上面的優化跟 gas cost 所帶來的優化的效果是可以相乘的,例如 SLOAD,更改gas price已經能夠讓max size 縮小2.6倍,若是改用Binary tree可以將 Witness bytes降低到 288 bytes,就會是再3~倍的優化。
對用戶的影響
依照Martin Swende 給出的數據,這個EIP對於一般交易的影響僅有提高0.3~0.4%。理由很簡單,雖然第一次access storage變貴了,但是後面幾次讀寫就會變得便宜。大部分應用的程式邏輯都是類似的幾個變數進行讀寫,因此可能有不少的動作反而會變得更便宜。一個最簡單的例子就是ERC20 Transfer,兩個餘額的 +=和 -= 都會變便宜,所以總共的花費也是變便宜的。
這其中也會對於Solidity的開發pattern有著一定程度的影響,我目前想到的影響可能有兩個:
由於多次的storage access變便宜,永遠cache state variables不再是一個最佳策略。以前我們會盡量想辦法減少寫入state storage的次數,現在可能會基於coding style考量減少一些的memory cache。
之前寫合約都會盡量避免external call,甚至會寫一些一次把所有 variable都回傳回來的笨函示,來避免多次的external calls。這有一部分原因是因為每次external call都會需要使用到 EXTCODESIZE 這個Opcode所以很貴。但如果 EXT 系列的Opcode也變得越call越便宜,那麼這個一次全部call 回來cache 住的pattern也可能改變。
以上兩個想法都還沒有經過實證,如果之後看到更有證據的分析的話,也會來這裡分享。
EIP2930: Optional access lists
EIP2929可能會影響一些鏈上的合約,因為有些合約有hardcode external call的gas 上限。對於這方面的問題,EIP2930提出一個新的交易類型,讓交易中多帶一個access list,即所有這筆交易即將讀寫的storage slot,並且先幫忙付掉第一次讀寫的gas,而真正交易讀寫該storage時,只會被要求付100 gas。
這不但可以避免這次EIP2929帶來的副作用,也可以被使用在其他因為gas price 改變的硬分岔升級而壞掉的合約,例如在EIP1184 增加 SLOAD gas price 時影響到的 Aragon 和Kyber 等等。儘管當時升級前各大專案都有幫助用戶提出migration 方案,但如果有人曾經卡錢在裡面,也可以Follow一下這次柏林Hardfork。
小結
新的一年就用一篇簡單的文章來開頭。最近發現自己以前的學習習慣有點亂無章法,所以新年整理了reading list,逼自己做筆記,順便發想一些想要寫的主題。今年的期許就是學更多Ethereum底層一點的知識,當然還有上層一點Defi的知識。也歡迎大家分享一下自己都是怎麼follow這麼多東西的><
EIP2929, EIP2930 簡介 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
hardcode 在 純靠北工程師 Facebook 的最讚貼文
#純靠北工程師447
----------
公司最近來了個新人,該怎麼說,他非常不顯眼,但也不是不懂交際,純粹是存在感低。本來我也沒注意他。
不過有一次開會的時候,工程師們都將碰到的問題拋出來商討,然後我看到新人在另一位同事耳邊偷偷說著甚麼,不久那位同事便舉手並解決在場所有工程師的難題,但以我所知那位同事平日並沒有涉及相關難題的領域,像是他主要是當前端,可是卻能對機器學習該用哪種演算法提出建議。
後來我有問那個同事為甚麼會研究機器學習的演算法,他也很坦白地說是新人讓他提出方法。
還有就是我們老闆不太喜歡別人包括主管對他的指示提意見,像是主管一直希望公司能實行devops,但老闆卻認為傳統方法比較不會容易出包而拒絕。但直到有一天開特別會議,老闆居然主動說要實行devops,然後讓主管跟我們商討詳細流程,到這裡我都沒覺得新人有涉及其中,但老闆說最近跟某些同事聊天,突然讓他產生了寫程式會不會有更好的流程,碰巧記得主管有提出過
devops的概念才決定取用,而我剛好在開會之前看到新人跟老闆說了甚麼,所以我覺得這是新人引導老闆決策。
可是最詭異的是,我看過新人的程式碼,裡面也沒有很驚人又或是錯誤很大的寫法,唯一奇怪的地方就是明明他會某種寫法,卻在奇怪地方hardcode,看起來感覺就是刻意,當然 code review時也讓他改過來,他也沒說甚麼就乖乖改了。主管給他的KPI也在中等水平,說不定只是我想多了。
不過真的有這種人嗎?明明很有實力卻深藏不露
----------
🗳️ [群眾審核] https://kaobei.engineer/cards/review
👉 [GitHub Repo] https://github.com/init-engineer/init.engineer
📢 [匿名發文] https://kaobei.engineer/cards/create
🥙 [全平台留言] https://kaobei.engineer/cards/show/5335
hardcode 在 Vật Vờ Studio Youtube 的最佳貼文
Thời điểm ra mắt Xiaomi Redmi Note 7 được quảng cáo với độ bền rất cao, vậy nên hôm nay hãy cùng Vinh Xô thử độ bền mẫu máy này. Redmi Note 7 có phần khung nhựa cũng như hai mặt trước sau bằng kính, nên nó sẽ hoàn toàn dễ bị ảnh hưởng bởi va đáp hay rơi vỡ. Vậy với một bài test hardcode như hôm nay thì Redmi Note 7 có sống sót?
#Vatvostudio #Xiaomi #RedmiNote7
Music: Matt Cherne http://smarturl.it/MATTCHERNE
Nếu thấy clip hay các bạn đừng ngần bạn bấm LIKE và nhớ SUBSCRIBE kênh Youtube của mình, BẤM CHUÔNG để không bỏ lỡ bất kì video nào nhé ✌
►Kênh Vlog của mình, hậu trường, du lịch, ăn uống, vui vẻ: https://tinyurl.com/vatvovlog
►Kênh Review xe: MÊ XE
https://tinyurl.com/kenhmexe
►Kênh review đồ ăn uống: TAKEAWAY
https://tinyurl.com/doantakeaway
►Kênh Gaming Gear, PC: LÂM NẤM
https://tinyurl.com/lamnam
►Các bạn có thể donate cho mình tại đây nhé :* https://unghotoi.com/vatvostudio
=========
☕Cám ơn các bạn đã coi video của mình ♥ mọi người nếu tới Hà Nội hoặc đang ở Hà Nội muốn thưởng thức trà sữa, cafe ngắm view đẹp giữa trung tâm thành phố, cũng như gặp gỡ giao lưu với mình, các bạn có thể ghé qua ☕Kone Cafe - 295 Khâm Thiên nha.
=========
✌️FOLLOW TEAM VẬT VỜ STUDIO✌️
►FANPAGE: https://www.facebook.com/VatVoStudio69
►INSTAGRAM: https://www.instagram.com/vatvostudio
►INSTAGRAM CÁ NHÂN: https://www.instagram.com/vatvo69
►GROUP: https://www.facebook.com/groups/vatvostudio
►Email liên hệ hợp tác: ads@vtmedia.tv
** My email to corporate: ads@vtmedia.tv
(Email chỉ để liên hệ hợp tác, không trả lời các thắc mắc tư vấn tình cảm, yêu đương và sản phẩm. Xin cám ơn.)
=========
❇️ Xem các video game, ứng dụng hay cho smartphone: https://goo.gl/GuI25l
✴️ Đánh giá/tư vấn các phân khúc dưới 3⃣️ triệu:https://goo.gl/EF0QKF
✳️ Đánh giá/tư vấn các phân khúc 4⃣️ triệu: https://goo.gl/FVrKJ7
✳️ Đánh giá/tư vấn các phân khúc 5⃣️ triệu: https://goo.gl/YlrYkh
✳️ Đánh giá/tư vấn các smartphone phân khúc 7⃣️ triệu: https://goo.gl/YZAI0g
✴️ Đánh giá/tư vấn các smartphone phân khúc 9⃣️ triệu:
https://goo.gl/Q0X5OB
© Bản quyền thuộc về VT MEDIA & Vật Vờ Studio
© Copyright by VT MEDIA & Vật Vờ Studio. Please do not Reup
hardcode 在 BoxSkin Bz. Youtube 的最佳貼文
BoxSkin Highlight ►Let's play : silhouette :: K/d 27/9/17 ::
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
→ ชื่อเล่น ► :: หมู :: อายุ 24 :: — เล่นในโหมด CM 1800+
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▼ ถ้าชอบฝากกด Subscribe เป็นกำลังใจด้วยนะคับ ::
→ กดติดตาม YouTube คลิกตรงนี้เลย : https://goo.gl/zJS5fk
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▼ ช่องทางการสนับสนุนช่อง และ Donate :: ขึ้นจอสตรีม
→ Donate Paypal : https://goo.gl/2WjNlR
→ Truemoney : https://tmstreamlabs.cupco.de/BoxSkin/BoxSkin
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▼ ติดตามช่องทางอื่นๆ ::
→ ไลฟ์สตรีม ผ่าน Garena : https://garena.live/102796
→ Instagram : http://goo.gl/3WOZVR
→ twitter : https://goo.gl/8e9YRs
→ Facebook : https://goo.gl/rAIaSU
→ Fanpage : https://goo.gl/96QHNE
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
-----------------------------------------------------------------------------------------------------
สังกัด Online Station ช่วยให้ช่องคุณเติบโตขึ้นอย่างรวดเร็ว คนดูวิดีโอเยอะขึ้น มีรายได้เพิ่มมากขึ้น ใครที่กำลังคิดจะทำ Youtube สมัครได้เลยที่นี่ http://caster.os.co.th
-----------------------------------------------------------------------------------------------------
hardcode 在 BoxSkin Bz. Youtube 的最佳貼文
Behemoth ►ขออันติสักครั้งเถอะ จัดแบบคาบอม !! :: Hon BoxSkin ::
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
→ ชื่อเล่น ► :: หมู :: อายุ 24 :: — เล่นในโหมด CM 1800+
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▼ ถ้าชอบฝากกด Subscribe เป็นกำลังใจด้วยนะคับ ::
→ กดติดตาม YouTube คลิกตรงนี้เลย : https://goo.gl/zJS5fk
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▼ ช่องทางการสนับสนุนช่อง และ Donate :: ขึ้นจอสตรีม
→ Donate Paypal : https://goo.gl/2WjNlR
→ Truemoney : https://tmstreamlabs.cupco.de/BoxSkin/BoxSkin
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
▼ ติดตามช่องทางอื่นๆ ::
→ ไลฟ์สตรีม ผ่าน Garena : https://garena.live/102796
→ Instagram : http://goo.gl/3WOZVR
→ twitter : https://goo.gl/8e9YRs
→ Facebook : https://goo.gl/rAIaSU
→ Fanpage : https://goo.gl/96QHNE
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
-----------------------------------------------------------------------------------------------------
สังกัด Online Station ช่วยให้ช่องคุณเติบโตขึ้นอย่างรวดเร็ว คนดูวิดีโอเยอะขึ้น มีรายได้เพิ่มมากขึ้น ใครที่กำลังคิดจะทำ Youtube สมัครได้เลยที่นี่ http://caster.os.co.th
-----------------------------------------------------------------------------------------------------
hardcode 在 Hard-Code - YouTube 的推薦與評價
ستجد هنا كل ما يتعلق بالـ Computer Science, ولغات برمجة ومواضيع مختلفه ومتنوعة تتعلق بالبرمجة. ... <看更多>
hardcode 在 鑒真數位- <<如何有效分析App是否有hardcode>> 先前曾說明 ... 的推薦與評價
如何有效分析App是否有hardcode>> 先前曾說明過鑒真數位Android Sandbox可以有效捕捉App所使用的加密演算法及金鑰,而在取得加密採用的金鑰之後,進一步即可應用於分析 ... ... <看更多>
hardcode 在 What does "hard coded" mean? - Stack Overflow 的推薦與評價
... <看更多>
相關內容