JavaScript作为一种智能合约语言

发布于:2021-01-18 14:58:12

0

258

0

JavaScript 合约语言

在本文中解释了为什么JavaScript是创建智能合约的理想语言。

因此,在Bitquant,我们一直在为小型企业贷款和非洲贸易发布智能合约,而我们一直使用的语言是Javascript。我们还一直在Hyperledger架构区块链上进行大量工作,我们之所以使用它,是因为在Hyperledger架构中创建模块以运行Javascript似乎很简单。

那么为什么要使用Javascript...。

从计算机科学的角度来看,JavaScript恰好是智能合约的一种很好的语言。事实证明,很多智能合约编程都涉及写下事件驱动的编程语句,例如“如果发生事件X,那么您欠我的金额为Y。” 事实证明,JavaScript是针对“如果有人按下按钮X,然后弹出窗口Y”而设计的。

为了编写这种类型的构造,事实证明,您可以使用计算机科学中的许多技术,这些技术使用诸如lambda函数和闭包之类的函数式编程概念。JavaScript擅长的一件事是使这些概念仅由凡人使用,并且由于法律原因,这一点变得很重要。

陷阱

金融合同的一个大问题与同意有关。简而言之,为了在普通法中拥有有效的合同,您必须证明双方都知道他们同意什么。如果有人表明我在斯瓦希里语上签了纸,那没有任何意义,因为我看不懂斯瓦希里语。这在金融合同中成为问题。如果我欠你钱,一切都很好,但是如果事实证明你欠我钱,那么你将寻找一种出路,事实证明,一个标准的出路是“我不明白我在签名什么。 ”

如果您去法官或仲裁小组,并且必须向法官或仲裁小组解释签署了什么,这将成为一个更大的问题。您想要的最后一件事是一个困惑的法官,他对某个人表示同情,因为他们不了解他们所签署的合同,因为他不了解合同。那时,您可能需要请专家证人,这可能会很昂贵,而且如果事实证明另一方请来了主张不同的专家证人,那么您确实有很大的问题。

当JavaScript发挥作用时

现在,这为计算机语言带来了问题。我们选择JavaScript的方式是我们最初使用Python,因为它恰好被摩根大通和美国银行等主要银行用于其衍生系统。我们的第一份合同是与一家计算机程序员公司签订的。我们向他们展示了我们的Python合同。他们说很好,但是最终要花几天时间才能弄清楚。我们问他们想用哪种语言写合同,答案是JavaScript。

事实证明,JavaScript是一个不错的选择,因为有很多人可以阅读JavaScript。这也是一个不错的选择,因为一旦您使用JavaScript编写了模块,就很容易编写一个显示合同的网页,以便客户或法官可以查看(并实际阅读)合同中的内容。因此,您无需向法官显示源代码,而是向法官显示破坏合同的网页,然后有人证明法官所看到的就是客户所见,而其他人则在证明该Web页面是合同内容的准确表示。

使用JavaScript还有其他一些很好的理由。我不控制JavaScript,另一边也没有。JavaScript的另一个好处是,它可能会保留一段时间。假设我发明了自己的合同语言。现在假设30年后发生某种合同纠纷。周围可能没有人会理解这种语言,这将是一个很大的问题。但是,JavaScript在向后兼容性方面做得很好,并且已经足够广泛了,以至于周围总是有人可以解释2016年JavaScript程序打算做什么。

这就是我们使用JavaScript的原因。另外,我们大约在一年前开始撰写合同,当时我们还不知道哪种技术会获胜。但是,做出技术决策的一部分是对代码进行“面向未来的”,我们发现有人会制作一个可以使用JavaScript的区块链,事实证明,使用Hyperledger架构非常简单。