This article has been translated from English to Traditional Chinese.
正如我在上一课中提到的智能合约,以太坊是一个计算平台,允许您创建和运行智能合约。
智能合约是一种预先编程的软件代码(“计算机程序”),一旦满足指定的条件,代码就会自动执行。
大多数创建智能合约的开发人员实际上是在构建去中心化应用程序(dApp)的过程中创建智能合约。
但什么是dApp?它们为何重要?

什么是去中心化应用(dApp)?
去中心化应用程序(dApp) 是一种使用智能合约自主运行的软件应用程序,也被称为“dApp”、“Dapp”或 “dapp”。
由于智能合约只是根据以代码形式明确编写的预定条件自动执行的计算机程序,因此dApp能够自主运行,无需人工干预。
“dApp”与 网络或移动应用程序非常相似 ,只是dApp使用智能合约构建并在区块链上运行。
从最简单的意义上讲,dApp是一个智能合约和一个网络用户界面(UI)。
dApp = 前端 + 智能合约后端
换句话说,它结合了前端用户界面(UI)和后端智能合约功能,前者看起来就像您常用的智能手机或网络应用。
应用程序的前端是指显示在用户屏幕或图形用户界面(GUI)上的部分。应用程序的后台是指不显示在用户屏幕(“前端”)上的部分。
dApps使双方能够以代码形式达成交易或协议,而无需中间人或中央机构介入。他们只需信任代码,确保合同得到履行。
dApps也是开源的,这意味着任何人都可以看到源代码。由于源代码可以被检查,任何恶意意图(理论上)都可以被发现,这使得dApps更容易被信任。
由于科技公司对代码严加保密,我们并不真正了解谷歌的顶级机密搜索算法是如何工作的,也不知道Alexa是否真的在监听我们的对话。
有了智能合约和dApp,我们就能看到一切是否都正常。
dApps 还具备抗审查功能。这意味着政府或大公司无法屏蔽任何内容或禁止用户。
现在,这可能是好事,也可能是坏事,取决于如何使用(或滥用)。例如,社交媒体上的审查制度一直是人们争论的话题,因为Facebook等平台可以因用户的政治观点或传播虚假新闻而将其封号。
如果dApp被编程为执行某项操作,且智能合约被执行,那么任何人都无法阻止或撤销代码。这里不存在“感觉可爱,以后再删除”的情况。
最后,dApp的一大优势在于它们很难被下线。
dApp运行在由分散式计算机组成的网络中(根据区块链的不同,计算机数量可能多达数百或数千台),这些计算机遍布全球。

即使少数(或几百个)脱机,网络的其他部分仍会继续运行区块链,以确保几乎零停机时间。
这一切都很好,但值得注意的是,dApp仍然存在一些缺点,特别是在开发人员方面。
由于区块链上发布的代码和数据很难修改,因此一旦部署,开发人员更新dApp可能会面临额外的挑战。这意味着修复旧版本中的错误或引入新功能可能会很麻烦。
此外,在以太坊网络上运行的好处(即安全性、透明度、去中心化和可靠性)需要付出高昂的代价。
以太坊目前的共识机制(PoW)需要一定的时间,而且每个节点都必须运行并存储每笔交易,这增加了更高的计算需求。
即使dApp基本上不会完全离线,网络拥堵仍然会发生,并导致运行速度变慢。
这些权衡使得dApp很难扩展,但以太坊未来的升级有望解决其中一些问题,例如转向权益证明(PoS)共识机制。
dApp的例子是什么?
为了更好地了解dApp在现实世界中的运作方式,让我们以Uniswap为例。
Uniswap建立在以太坊区块链上,是一个去中心化交易所(DEX )。
它提供了一个应用程序,允许用户轻松交换或“交换”加密资产。
以下是该应用的用户界面:
与传统交易所使用集中式订单簿管理流动性和定价不同,Uniswap DEX 基于自动做市商(AMM)技术运行。
“AMM”代表“自动做市商”,它只是智能合约的一个花哨术语,依靠流动性池而不是订单簿,并使用数学公式来确定买入和卖出价格。
实际上,Uniswap在交易所中不持有任何加密资产,也不承担交易对手方以创造流动性。
交易发生在您和智能合约之间。智能合约中有一个数学公式,用于确定您可以买卖加密资产的价格。
加密资产从何而来?例如,如果我想用我的ETH交换BAT,那么如果AMM处理交易,我将从谁那里获得BAT?
这就是“流动性池”发挥作用的地方。其他用户将加密资产存入流动性池,以提供流动性,并分享交易费用作为补偿。
由于Uniswap DEX运行在开源软件上,如果发生任何可疑情况,用户可以检查源代码。
该协议是公开且无需许可的,这意味着任何人都可以使用该dApp来买卖加密资产。无需注册账户或申请访问权限。您只需连接您的加密钱包即可。
