原文作者和图片为Elliot Hill,由卡尔达诺大使陈哲Anson翻译
正如我们在之前一篇文章中谈到的那样,去中心化分类帐已经远远超出了简单的价值层,现在可以用于在区块链上构建和部署去中心化应用程序或DApp。
这些应用程序使区块链技术对企业和企业用户的使用成倍增加,企业和企业用户可以利用基于区块链的DApp来使交易更加安全并轻松地转移价值。
在这里,我们将探究DApp是什么,定义它们与智能合约的关系,并探索为什么将可靠性和功能性编程引入智能合约可能是让全球企业广泛采用DApp的关键。
什么是去中心化应用程序?
简而言之,DApp是在分布式计算系统(如Cardano)上运行的计算机应用程序。 DApp由智能合约提供支持,智能合约是用于一方或多方之间结算的确定性程序。
智能合约使DApps可以与区块链连接并执行交易,无需第三方。正如IOHK的教育总监LarsBrünjes在他的书《 Plutus:编写可靠的智能合约》中所述,智能合约的力量在于其作为受信任实体的能力。与智能合约进行交易的各方可以将资金直接转移到程序中,不会有一方成为不良行为者或滥用资金的风险。
有时,“ DApp”和“智能合约”这两个术语可以互换使用,这在技术上是正确的。但是,DApp具有某种形式的交互式用户界面(UI)或Web 3.0界面,这使普通用户或非技术用户都更容易与应用程序进行交互。另一方面,开发人员可以编写和部署智能合约,而无需专用的UI或前端界面。
为了更好地理解这种区别,让我们假设一个简单的DApp的流程,我们将其称为“ Cardano Critters”。Cardano Critters是一个区块链收藏品游戏,使用不可替代的代币(NFT)来创建可在虚拟游戏世界中独特稀有资产,它们具有某些可收藏资产的内在价值。
Cardano Critters NFT的铸造(资产创建),交易和发行将通过智能合约进行处理。在这种情况下,该合约将与基础卡尔达诺区块链对接。
反过来,卡尔达诺区块链充当分布式数据库,用于存储信息,例如创建NFT的时间,特征以及其所有权历史。这些资产的所有者可以通过其公共密钥来识别。
尽管任何用户都可以通过在链上查看和验证基础智能合约的真实性,但是他们也会使用Cardano钱包通过Web 3.0界面与DApp进行交互(外观通常类似于当前的Web 2.0网站)。
因此,大多数用户将不需要了解编写DApp的智能合约的技术原理,这对于大规模采用是必不可少的。但是,没有智能合约就没有DApp。
用于智能合约的功能性编程
上面我们关于区块链NFT DApp的例子是一个相当简单且相对无风险的方案,换句话说,如果要利用智能合约,我们在财务上或在用户数据方面都不会有太大的风险。
但是随着去中心化金融的兴起,每天有数十亿美元的资产被存入智能合约。同样,基于区块链的应用程序也正在探索用于各种机构和企业用例,这些机构和企业用户需要一定程度的担保,迄今为止,其他智能合约平台尚无法提供这些担保。
尽管智能合约已经证明非常有用,可以提供超越传统数字合约的功能,但它们经常受到漏洞的侵害,通常会导致价值数百甚至数百万美元的数字资产损失。如果智能合约和DApps对机构和企业很有帮助的话,它们需要不容易受到攻击。
所以财务和企业智能合约及其相关的DApp必须能够快速、可靠地使用高安全性代码来编写。卡尔达诺区块链的核心编程语言Haskell恰好与这个要求吻合。
这就是为什么从巴克莱(Barclays)到美国银行(Bank of America)的多家金融机构都使用Haskell和其他功能性编程语言来构建其关键基础结构(从交易算法到跨境结算流程),这也是当前金融体系的基础。
DApps和智能合约也应遵循相同的标准,并以可靠的功能编程语言(例如Haskell)或专门基于Haskell的语言(例如Cardano上的Plutus和Marlowe)来编写,我们将在下面进行探讨。
当前,缺乏对智能合约可靠性的保证是机构深入(且广泛地)采用区块链技术的重大瓶颈,几位研究人员已将形式化验证的普及视为智能合约采用的关键步骤。
所以,第一个为金融机构和企业提供高可靠性保证智能合约的区块链将让机构DApp抛弃掉其他区块链。
要了解有关可靠和功能性智能合约需求的更多信息,请观看IOHK高级研究员Phillip Wadler教授和Simon Thompson教授的演讲,以及IOHK技术架构师Manuel Chakravarty在2020卡尔达诺虚拟峰会(雪莱专场)上的演讲。
现在可以参与Plutus平台和Marlowe DSL
Cardano通过Plutus平台启用智能合约和DApp,而对于金融合约,它将启用Marlowe这一金融域特定语言(DSL)。
Plutus平台将使智能合约编写者能够轻松编写和部署智能合约并构建DApp。 Plutus平台包括Plutus Haskell软件开发工具包(SDK),该工具包将包括用于在Haskell中编写智能合约应用程序的库和开发工具。在Plutus平台上编写的智能合约包含逻辑,最终将使它们部署在Cardano区的Plutus Core上运行。
如果您考虑过在Cardano上创建金融智能合约或DApp,可以去尝试Marlowe Playground。与专门为经验丰富的程序员设计的其他智能合约平台相比,Marlowe DSL旨在供金融专业人员使用。因此,金融专业人员可以使用Marlowe相对轻松地创建富有表现力的智能合约,并通过可视化程序编辑器Blockly使其变得更加简单。
无论您感兴趣的领域是什么,我们都邀请您注册我们的开发人员门户候补名单,您可以期待开发者门户网站的启动,同时访问相关的内容和文章。您可以在此处找到有关开发人员门户网站的更多信息。
原文链接:An introduction to decentralized applications and smart contracts