Lity: 讓你更安全的 smart contract language

Blockchain

IB302

08/11 14:50 - 15:15

漢語 / Mandarin Chinese

Skilled / 中階

Solidity developer

在 Ethereum 開發 smart contract 時,常常會因為原本語法上的設計,讓開發者可能在無意間犯下數千萬金錢的損失。以最近發生的 BEC overflow 事件,因為在一個小地方的乘法沒有使用 SafeMath 函式庫來包裝,讓 token 數量可以被 overflow 攻擊,進而造成非常驚人的損失。以及 EDU 沒有使用 SafeMath 做數值的減法。

而當我們想在 Ethereum 中增加加解密的功能時,直接將 RSA encrypt & decrypt 的演算法實現在 Solidity 中的時候,會讓大量資料的加解密消耗過多的 gas 讓整個 transaction 失敗。

Lity 是基於 Solidity language 來擴充的語言,針對上面提到的兩個問題做了改善:

  1. Lity Native Interface 提供了一個 ENI 指令,當 developer 想使用複雜計算的額外功能,可以通過 ENI 指令來呼叫以 C/C++ 實作的外部 library 來執行。

  2. Lity Linter 提供更安全的 overflow checker、ERC Standard checker 等讓 developer 能更安心的開發。

在本次的演講中,我將談論 Lity 的設計哲學與在實作中的各種血淚故事,以及對現在 Solidity compiler 的看法。


Collaborative notes on HackMD

戴宏穎

hydai(讀作海帶),是個興趣使然的軟體開發者。
Website: hyd.ai
GitHub: @hydai
目前在 Skymizer 這家編譯器公司跟 Compiler 的巨龍對幹中。
Ethereum 是我在一年前開始玩的區塊鏈專案,覺得能在去中心化的世界裏寫程式很開心,因此義無反顧的加入公司在 Blockchain 這邊的 Lity Project。
目前在 Skymizer 與許多屠龍勇者一起攻打 Compiler 這條巨龍。

Titanium Sponsor

Co-Host Sponsor

Diamond Sponsor

Gold Sponsor

Silver Sponsor

Bronze Sponsor

Partner

Co-Organizer

Special Thanks