和 Parity 核心开发者 Jack Fransham 聊聊智能合约和编程的魅力

Parity Technologies 由大量优秀的开发人员组成,他们通常对构建技术充满热情。 Jack Fransham 就是属于这一类精英,他能够详细讨论 Rust 编程语言,WebAssembly (Wasm)和 Substrate 的优点。

杰克在 Parity 工作了一年半,他参与了许多项目,包括 Wasmi,Parity 的 Wasm 翻译 ; 用于在 Rust 中编写安全智能合 的「Fleetwood」eDSL 库 ; EVM 优化 ; 哈希算法 ; 现在的 Lightbeam Wasm 编译器。

在他的写作中可以见证杰克的另类和偶尔的幽默感。 例如,在解释 Substrate 的无叉升级时,他将区块链分叉比作家庭犬:

实际上没有办法「升级」传统意义上的区块链,只能创建一个新的区块链来保留旧区块的历史。 就像你用同一品种的另一只狗来替换你死去的狗一样,你为了孩子而称它原来的名字。 除了在这种情况下原来的狗没有死,我猜新狗还有原来狗的所有记忆。

我和杰克坐下来聊聊在 Rust 写的智能合约,WebAssembly 的非凡之处,在 Parity 工作的感觉以及柏林的生活。

像大多数 Parity 开发人员一样,你是 Rust 的忠实粉丝。是什么让你爱上了编程语言?

事实上,我第一次可以编像我在 Python 或 C#等语言中习惯的代码,但能够进行可视化编译汇编。也许不是确切的说明,但你至少可以计算出流程并使用它来有效地优化你的程序,而不需要使用内存不安全的语言或结构。 C ++也有这种能力,但我没有多余的时间去学习它。

你已经在 Rust 中编写了智能合约。为什么有人会考虑在 Rust 写智能合约?

好吧,我的第一个答案是因为 Rust 通常是一种出色的语言,但它也非常适合区块链上的用例。您在区块链上将会遇到许多限制与高可靠性嵌入式系统中的限制相同,如代码尺寸小,安全性高,可靠性高,资源使用最少。 Rust 的设计目标之一是针对高可靠性嵌入式系统,我们可以通过这项工作来设计一种良好的语言,这种语言也是为区块链设计。这并不是说它已经有一个生成 Wasm 的世界级优化编译器这一事实,如上所述,它对区块链是优秀的 VM ISA。

你在博客上写了很多关于 WebAssembly (Wasm)的文章。你对 Wasm 有什么兴趣?

我一直对虚拟机和语言设计着迷,但 WebAssembly 确实是新的东西。它是第一为尽可能容易编译虚拟机的设计,同时还具有您期望从更高级别的 VM ISA 获得的确定性,安全性和定义明确的语义。它确实存在问题,但即使在十年内没有人使用 Wasm,但是它带来的想法仍然是应用程序安全性和虚拟机设计的真正转折点。

你似乎也是一名 Substrate 粉丝。您最喜欢的 Substrate 哪些方面?

毫无疑问,运行时升级机制。在第一次 Polkadot 运行时升级之前,我所认知的区块链从未被升级过 – 它们总是简单地进行分叉。在某个地方可能还有一台计算机仍在挖掘比特币 v0.1; 只要网络没有被分区,基本的升级机制根本是不可能的。这意味着 Polkadot 和其他 Substrate 链的设计可以更快地迭代,而不会像 Ethereum 那样每次更新都是如此。

你现在的计划是什么?

WebAssembly 的优化线性时间编译器。我们希望能够为 Wasm 生成本机代码,这样我们就可以获得最大的性能,但传统的编译器基本上不能在不允许的「编译器炸弹」情况下进行编写 ,用户可以发送给编译器代码段,但是它需要很长时间来处理。我正在构建一个编译器,它可以生成高质量的本机代码,同时也不受编译器炸弹的影响。

你喜欢在 Parity 工作,你喜欢什么?

事实上,Parity 现开展的工作和项目都是我在业余时间完全可以的。有各种各样的工作需要完成。

作者:头等仓 | 来源:链闻