为什么语言设计在分布式分类账技术中如此重要

为什么语言设计在区块链和其他分布式账本中很重要?当然,这是选择技术平台时应该仔细评估的标准之一:由于使用了易于利用的脚本语言,价值数百万美元的加密货币已经被盗。

为什么语言设计在分布式分类账技术中如此重要

分布式分类账是一个数据库网络,它们之间有某种自动调节的方法。这可以确保在节点中不包含冲突的信息。智能合约允许我们将业务逻辑编码来修改分类账状态的可执行代码,这些代码本身存储在分类账上。从现在起,我们将把智能合约称为工作流——因为我们相信这是一个更好、更准确的术语。
好的工作流语言设计
什么是一种好的工作流脚本语言?
· 易于用户理解
· 易于计算机分析
虽然这看起来很简单,但不幸的是,许多工作流脚本语言的优先级恰恰相反。它们要么是针对Java或Python等现有编程语言的库(嵌入式特定于域的语言),要么是适当的、独立的特定于域的语言,模拟成熟的编程语言。例如,稳定性,多重继承性,这是一种面向对象的语言特性,即使对于高级程序员也很难对其进行推断(理解所写代码的影响或结果)。
据推测,由于编程语言的复杂性,无论多么聪明的计算机程序员都不可避免地要编写带有bug的软件。鉴于此,很明显,面对具有如此复杂的商业和金融背景的人并不是一个好主意。而事实上,这是一个非常糟糕的主意。
另一个需要考虑的重要因素是机器的可分析性。所有主流的编程语言都是图灵完备的,也就是说,给定这样一种语言中的任意一个程序的时候,我们无法确定该程序是否能够完成运行。在真实的资产和资源环境中,这是不可取的,因为在这些环境中,我们绝对希望确保事务能够完成,计算能够准确完成。
此外,其他更复杂和有趣的分析(例如,根据某些约定,在某一日期之前付款;最终发放所有资金等)变得难以用正常的编程语言解决。  

在Adjoint公司,我们开发了FCL,一种基于可用性和可分析性原则的图灵不完全工作流脚本语言。工作流是使用僵化网络以一种直观的方式构建的,僵化网络是一种用于并发流程的严格数学框架,类似于流程图。FCL编译器将检查工作流是否健全。换句话说,它遍历工作流的结构,并在工作流执行的任何阶段检查工作流能否达到预期的结束状态。

为什么语言设计在分布式分类账技术中如此重要

在上面,您可以找到一个天然气交易工作流的可视化表示。此图是由底层FCL工作流的源代码自动生成的,它有助于可视化和沟通工作流执行过程中可能的操作过程。Adjoint正在对FCL的工程进行大量投资。并有令人兴奋的特性和工具,更直观的工作流开发和更复杂的分析即将出现。