Cadence入门|系列五:深入了解Flow Cadence,为数字资产而专门打造的智能合约编程语言

原文链接:https://www.onflow.org/post/flow-blockchain-cadence-programming-language-resources-assets

翻译:Jihui Zheng(来自Flow开发社区)

前言

Flow 是一个新的区块链,最初由 CryptoKitties 和 NBA Top Shot 的母公司 Dapper Labs 设计和开发。在接下来的一系列文章中,我们将从技术角度探讨 Flow 链的各个基础组件。   

  • Cadence,一种使智能合约开发过程更快、更安全的新编程语言   

  • Flow Client Library (FCL),它类似于以太坊上的 Web3.js,但更加简洁通用    

  • Flow 多节点架构,面向未来的主流扩展架构(即将推出)  

随着加密货币的大规模采用,区块链应用程序上承载的价值在不断增长, 但用来处理这些链上数字资产的技术工具仍不成熟。尽管有高成本且耗时的安全审计,但链上智能合约通常无法提供长期可持续的安全模型,一个可以安全且公平地处理链上存储价值的模型,开发人员通常需要从头创建一些工具才能实现一些基本的安全功能。直到现在,还缺乏一种能够完全安全地处理数字资产的编程语言。    

PROFILE

进入Cadence的世界

Cadence 是第一种专门用于链上数字资产所有权的编程语言,例如区块链上的艺术品、收藏品或加密货币。在 Cadence 中,数字资产是一等公民,在可以很好的控制数字资产的访问的同时,做到了防止数字资产意外丢失或恶意复制的可能性。   

Cadence 使用一种独特的数字资产数据模型:资源。资源使数字资产的创建、传输和存储更容易、更安全。与基于权利属性的的资源访问控制策略相结合,让这门编程语言的学习曲线更平缓、更容易被审计,并且比任何当前的其他替代方案的开发效率都更高。   

基于 Flow 以用户为中心的账户模型,Cadence 引入了数字资产的直接所有权模型,可实现更高程度的去中心化和抗攻击性。用户的数字资产被安全地存储在用户的帐户中。   

Cadence 在编写时考虑到了消费级用例,在其坚实的科学研究基础之上构建了可扩展性。作为 NBA Top Shot 的支柱,它已经过大规模的实战测试,这是有史以来增长最快的区块链应用程序之一,注册人数超过一百万。   

除此之外,每天都有成千上万的用户与越来越多的 Cadence 驱动的应用程序(如市场、游戏或交易所)进行交互,证明了其耐用性和可靠性。这些好处每天都会吸引新的开发人员,使他们能够享受 Cadence 改进的安全性、生产力和可读性带来的好处。   

Diem (Move) 等行业的其他大玩家开始利用资源的力量这一事实暗示下一代智能合约编程可能会开启面向资源的语言时代,而 Cadence 是第一个准备就绪的面向资源的语言今天在区块链上使用    

 数字资产应对的挑战

让区块链技术开辟一个充满可能性的新世界的最大创新是实现原生数字价值。在区块链上,代码不仅仅是对某种外部资产的映射,而是这些链上的代码本身就是资产。区块链上的数据不会轻易丢失、无法被任意复制和篡改,这些链上的数据自身是有价值的,是用户可以去持有的。无论是 NFT、收藏品、加密货币还是治理代币,它们都是这一类新兴数字资产类别的一部分。    

尽管这种资产演变的前景令人兴奋,但令人担忧的是,目前用来管理这些数字资产的工具依然处于原始社会:像 Solidity 这样的智能合约编程语言处理数字资产及其可能带来的巨大价值和处理任何其他可变的数据结构没有任何区别,同时这些数字资产又是存储在一个中央账本中。下面用一些例子来说明这些编程语言在处理数字资产方面所面临的巨大风险和挑战。   

■ 案例1: 中央账本创建蜜罐陷阱    

以下代码片段展示了使用 Solidity来简易的实现同质化代笔。这个受 ERC-20标准启发的同质化代币智能合约包含两个功能:允许生成新代币的铸币功能,以及允许将资金转移到不同地址的发送功能。   

contract AnyCoin {      mapping (address => uint) public balance;            function mint(address receiver, uint amount) {        balance[receiver] += amount;  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值