Rust、Wasm、Substrate 好在哪裡|專訪 Parity 核心開發 Jack Fransham

買賣虛擬貨幣

Parity Technologies 由眾多才華橫溢的開發人員組成,他們通常對用於開發的技術和自己所開發出來的技術都充滿熱情。Jack Fransham 就屬於此類,他可以詳細討論 Rust 程式語言、WebAssembly(Wasm)和 Substrate 的優點。

Jack 在 Parity 工作的一年半里,參與了多個專案,包括 Parity Wasm 翻譯器 Wasmi;“ Fleetwood” eDSL 庫,用於在 Rust 中編寫安全的智慧合約;EVM 最佳化;雜湊演算法;現在在做的 Lightbeam Wasm 編譯器。

Jack 的另類和偶爾的病態幽默感可以從他寫的東西中看出。例如,在解釋 Substrate 的免分叉升級時,他將區塊鏈的分叉比喻為替換家裡的狗:

傳統上無法真正 “升級” 區塊鏈,只能建立一個保留舊有歷史的新區塊鏈。就像你用另一隻相同品種的狗代替死去的狗,然後為了讓孩子們好受,給它取一個相同的名字一樣。只不過在這種情況下,原來的狗還沒有死,而且我想這隻新的狗還透過外科手術,將原來的狗的所有記憶以某種方式植入了自己的大腦。

我和 Jack 一起聊天,談論在 Rust 中編寫智慧合約、WebAssembly 的非凡之處,在 Parity 工作的感覺以及在柏林的生活。

與大多數 Parity 開發人員一樣,你是 Rust 的忠實粉絲。是什麼讓你愛上了這門程式語言?

因為有史以來第一次,我能寫出看起來類似以前用 Python 或 C#語言寫出的程式碼,但又具有視覺化其編譯成的程式集的能力。也許沒有確切的指令,但你至少可以做出流程並使用它來有效地最佳化程式,而無需訴諸記憶體不安全的語言或構造。C++ 也具有這種能力,但是我沒有多餘的時間來學習它了。

你已經有了在 Rust 中編寫智慧合約的理由。為什麼人們應該考慮在 Rust 中編寫智慧合約?

好吧,我的第一個答案將永遠是因為 Rust 是一門很棒的通用語言,同時它也非常適合於區塊鏈用例。你在區塊鏈上遇到的許多約束,與在高可靠性嵌入式系統中發現的約束相同,即程式碼量小、安全性高、可靠性高以及資源佔用最少。Rust 的設計目標之一是針對高可靠性的嵌入式系統,而我們在這些工作的基礎上,順便也擁有了一門為區塊鏈而精心設計的語言。更不用提一個事實,它已經具有產生 Wasm 的世界一流的最佳化編譯器,正如我之前提到的,Wasm 是用於區塊鏈的出色 VM ISA。

你在部落格上寫了很多有關 WebAssembly (Wasm) 的文章。你對 Wasm 有什麼興趣?

我一直對虛擬機器和語言設計著迷,但是 WebAssembly 確實是新事物。這是第一臺旨在儘可能容易地進行彙編的虛擬機器,同時還具有你希望從更高階別的 VM ISA 獲得的確定性、安全性和定義明確的語義。它肯定有問題,但是即使十年內沒有人使用 Wasm,它帶來的想法仍然是應用程式安全和虛擬機器設計的真正轉折點。

你似乎也是 Substrate 的粉絲。你最喜歡 Substrate 的哪個方面?

毫無疑問是 runtime 升級機制。據我所知,在第一次 Polkadot 執行時升級之前,沒有任何區塊鏈被升級過 —— 它們總是被簡單地分叉。某個櫥櫃裡可能還有一臺仍在開採比特幣 v0.1 的計算機;在有了 Substrate 升級機制後這種情況就不會發生,只要網路不分離就行。這意味著 Polkadot 和其他 Substrate 鏈的設計可以更快地迭代,而無需像以太坊一樣進行大量更新。

你現在在做什麼?

在做一個 WebAssembly 的最佳化線性時間編譯器。我們希望能夠為 Wasm 生成本機程式碼,以便獲得最佳效能,但是傳統的編譯器基本上不可能在沒有所謂的 “編譯器炸彈” (一段可以傳送給編譯器,造成花費大量時間的程式碼)的情況下編寫。我正在構建一個可以生成高質量本機程式碼的編譯器,同時還可以抵抗編譯器炸彈的攻擊。

你喜歡在 Parity 工作嗎?

Parity 需要大家做的專案,實際上是我在業餘時間也總會去做的專案。需要完成的工作種類繁多,其中很多工作都很有趣而且令人愉快。此外,我還可以在家裡自由工作 —— 我喜歡在辦公室裡工作,但沒有辦公室可以比得上用揚聲器系統播放自己的音樂。

像許多 Parity 開發人員一樣,你也生活在柏林。你喜歡這座城市的哪些部分?

就是這邊的夜生活會讓你覺得你是社羣的一員。你晚上出去玩的時候,大多數時候人們會尊重你和友好地對待你,而當有人沒這麼做時,大家會把他們請出去。如果你經常去玩,會看到許多相同的面孔。即使你沒跟所有人成為朋友,也至少認得他們。Techno 現場足夠小,讓你感覺你是社羣的一部分,但又足夠大,讓你總有新鮮事兒做。

原文:https://www.parity.io/people-of-parity-jack-fransham-core-developer/

翻譯:PolkaWorld

歡迎學習 Substrate:

https://substrate.dev/

關注 Substrate 進展:

https://github.com/paritytech/substrate

關注 Polkadot 進展:

https://github.com/paritytech/polkadot

申請 Bootcamp:

https://bootcamp.web3.foundation/

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;