区块链概论
搜索文档…
区块链概论
前言(ver 2022.02)
第一章 区块链底层概念
1.1 比特币白皮书
1.2 区块链概念的学习路径
1.3 区块链的共识与共识机制
1.4 什么是挖矿
1.5 什么是分叉
1.6 比特币的特色和局限
1.7 小讨论
第二章 区块链钱包
2.1 钱包及账户
2.2 电脑钱包安装
2.1 手机钱包安装
2.4 签名与多重签名
2.5 交易手续费
2.6 双重支付(双花)
2.7 钱包的数据存储方式与特色
2.8 钱包的安全性
2.9 讨论与练习
第三章 区块链1.0:数字加密货币
3.1 数字加密货币的产生
3.2 竞争币
3.3 几个竞争币的简介
3.4 课外阅读与思考
第四章 区块链2.0:智能合约
4.1 以太坊白皮书
4.2 解读以太坊
4.3 通证(token)及其多样性
4.4 智能合约(Smart Contract)
4.5 ERC-20通证标准及其爆发性应用
4.6 ERC-721非同质通证标准及其爆发性应用
4.7 EIP-1155 多重通证标准
4.8 ERC-1155:为区块链游戏而生
4.9 EIP-3712:多重同质化通证标准
4.10 EIP-2938:账户抽象化
4.11 ERC-792仲裁标准及其特色
4.12 以太坊EIPs
4.15 智能合约和以太坊的价值
4.16 区块链的定义与错误
4.17 课外阅读与参考资料
第五章 区块链应用案例
5.1 小始祖彩色币
5.2 去中心化交易所Bitshares
5.3 去中心化交易所Kyber Network
5.4 去中心化交易协议0x Protocol
5.5 去中心化币币交易网络Bancor Network
5.6 通用的去中心化交易协议Uniswap
5.7 去中心化稳定币DAI
5.8 DeFi 借贷平台 Compound
5.9 去中心化借贷:Euler Finance
5.10 闪电贷及EIP-3156:一种闪电贷标准
5.11 DeFi 小小闪光点:Pool Together
5.12 流支付
5.14 启发
5.15 参考资料与讨论
第六章 区块链协作
6.1 基础概念
6.2 区块链3.0:DAO
6.3 DAO 2.0
6.4 开源的优势与必要
6.5 区块链的激励式开放性协作
6.6 如何保证协作安全
6.7 参考资料与课后阅读
第七章 智能合约开发语言
7.1 智能合约与Solidity语言
参考文献
由
GitBook
提供支持
4.4 智能合约(Smart Contract)
智能合约乃区块链的硬核之一。它和通证的账单一样,是部署在链上的,因此具有公开透明、不可篡改等特性。
智能合约是一种运行在以太坊链上的程序。 它是位于以太坊区块链上一个特定地址的一系列代码(函数)和数据(状态)。智能合约也是一个
以太坊帐户
,我们称之为合约账户。 这意味着它们有余额,它们可以通过网络进行交易。 但是,它们无法被人操控,它们是被部署在去中心化网络节点上作为程序运行着。 个人用户可以通过提交交易执行智能合约的某一个函数来与智能合约进行交互。 智能合约能像常规合同一样定义规则,并通过代码自动强制执行。
智能合约的特色
无需准入性(无需许可)
任何人都可以编写智能合约并将其部署到区块链网络上。 你只需要学习如何用
智能合约语言编码
,并有足够的 ETH 来部署你的合约。 在技术上,部署智能合约是一项交易,所以你需要支付你的
Gas
,就像你需要为简单的以太坊转账支付 gas 一样。 然而,部署合约所需要消耗的 gas 费要高得多。
以太坊编写智能合约的语言,对开发者比较友好:
Solidity
Vyper
有关更多语言
然而,它们必须要先编译才能部署,以便以太坊虚拟机可以解释并储存合约。
更多关于编译的内容
自由组合性
智能合约在以太坊上公开,并被认为是开放应用程序接口。 这意味着你可以在你自己的智能合约中调用其他智能合约以极大地扩展可能性。 合约甚至可以部署其他合约。
了解更多关于
智能合约可组合性
的内容。
局限性
智能合约本身无法获取关于”真实世界“的事件信息,因为它们无法发送 HTTP 请求。 这样设计是因为依赖于外部信息可能会危及共识,这对安全性和去中心化而言十分重要。
这可以通过
预言机
来规避。
从应用层面简单地说:智能合约(Smart Contract)是用程序代码定义合约参与方的承诺,并能够完全抗干预地根据承诺自动执行包括转账通证在内的约定条款的协议。
智能合约允许在不同的匿名方之间进行可信交易和协议,而无需中央机构,法律系统或外部强制执行的机制。它们使得交易、状态和数据可追溯,透明且不可逆转。
智能合约的部署过程,可理解为发送一个包括可执行代码的特殊交易,将合约代码存储在区块链中(是在合约账户的accountstate中的codehash指向的一块存储区域中),交易只记录合约代码的哈希值(作为存证),当需要调用这个智能合约的方法时只需要向这个智能合约的地址发送一笔交易即可。
如果您懂一点点编程语言,或者您有丰富的微信使用经验,那智能合约是非常好理解的。
智能合约可以简单理解为可执行的公开透明的程序,被开发者部署到以太坊区块链上,与外界完全隔离并运行于以太坊虚拟机(Ethereum Virtual Machine,简称EVM)中,这样它就脱离了人为的干预。而完全只按照代码设定的规则运行。
智能合约为所谓的去信任提供了基础架构,它允许我们信任系统的输出,而不需要信任它里面的任何参与者。
我们今天所使用的任何技术,都是很多前人花费了几十几百年的摸索才得以实现的! 智能合约也不例外。早在1994年,密码学家尼克萨博(Nick Szabo)就提出了智能合约的概念,并于1998年进行了尝试(Bit Gold),但没有成功,其中一个重要的原因是缺乏能够支持可编程合约的科技水平。而我们已经知道,比特币的发行(挖矿奖励)和转账等等,都是由程序根据协议(即合约)直接实施的,比特币为包含转账货币在内的可编程合约带来了巨大的技术突破。
区块链技术的出现不仅解决了该概念里最重要的合约对货币的百分之百的控制权,并且可编程的优势又让它秒杀了一切传统合约——而区块链的去中心化、不可篡改、过程透明可追踪等优点,更是令智能合约如虎添翼,一飞冲天!
智能合约是纯正且原生的区块链技术。它符合我们对于区块链价值观的所有期望。
智能合约还有以下应用特色:
和通证的账单一样部署在链上。
去中心化——智能合约是严格按照甲乙双方已写入代码的约定,封闭式自动执行的。勿需也不允许第三方的介入(思考:现在的预言机、Amberdata等等是否有问题?)。
勿需信用中介——勿需第三方的信用背书,智能合约本身以及区块链即可以提供可靠的保障。
不可篡改——通过区块链加密技术,它可以防范人为作弊等干扰,从而具体抗审查的能力。
透明可追踪——任何人都可以在链上查阅智能合约代码,从而彻彻底底了解它的所有细节。
精准——智能合约是用代码写出来的,它不存在任何语言上的歧义的可能。
匿名——智能合约是自主运行的,它不需要有人去启动或终止。也不需要知道你是谁。
请注意:除了区块链,其它任何技术都无法部署智能合约,如此则可以说,智能合约是区块链的独门秘技。
智能合约已经广泛应用到区块链ICO、游戏等领域,而比特币到目前为止在应用领域还只是一个货币,无法承载智能合约千变万化的应用。这样,我们再次看到了比特币极大的局限。而且智能合约在应用中爆发出来的威力,让我们几乎可以肯定:以太坊虽然任重道远,但百步已经走完九十九步,可以说为这个世界带来”智能合约“这一区块链技术的它已经非常接近成功。
课外阅读
理解以太坊 Gas 燃料和交易手续费
详解以太坊 EIP-1559 Gas 费用计算方法_區塊鏈_弗蘭克財經
第四章 区块链2.0:智能合约 - 以前
4.3 通证(token)及其多样性
下一个 - 第四章 区块链2.0:智能合约
4.5 ERC-20通证标准及其爆发性应用
最近更新
6mo ago
导出为PDF
复制链接
内容
智能合约的特色