入门说明:本课通过一系列易于理解的内容介绍区块链和密码学领域的相关知识。这里有知识和故事,从有趣到有趣,国家班级正在等待您学习。
本系列课程的内容从介绍比特币 ,然后扩展到比特币链的相关技术原理和发展趋势,然后有序地介绍应用于区块链的各种加密技术。欢迎每个人订阅此公共帐户并继续学习。
[本课程的内容均选自PlatON首席密码学家,武汉大学国家网络安全学院教授和博士学位的讲义,教材和“区块链和密码学”的互联网。监事何德标教授。版权属于原作者,例如,如果有任何侵权,请立即与我们联系,我们将及时处理。
智能合约
在智能合约方面,每个人都可能首先想到以太坊 。 以太坊创新地将智能合约添加到以太坊链技术中,以丰富链上功能。但是,智能合约的概念由来已久,并不是以太坊的“专利”
传统合约与智能合约的比较
早在1995年,跨领域学者Nick Szabo就提出了智能合约的概念。他对智能合约的定义是:“智能合约是一组以数字形式定义的承诺,包括合同参与者可以在其上执行这些承诺。协议。”简单来说,智能合约是一种计算机程序,可以在满足某些条件时自动执行。
例如,自动售货机可以被视为智能合约系统。客户需要选择商品并完成付款。满足这两个条件后,自动售货机将自动吐出货物。合同在生活中无处不在:租赁合同,借方等。传统合同依赖法律进行背书。当发生违约或纠纷时,通常有必要利用法院或其他政府机构的权力作出裁决。智能合约不仅仅是将传统合约数字化。其真正含义是彻底改变传统合同背书的执行方式,从法律到法规。俗话说,“规则死了,人们还活着”,通常在计算机上运行的程序也是“死的”但是,“死”一词并不总是贬义的,因为这意味着它将被严格执行。
尽管早在1995年就提出了这样一种前卫的智能合约概念,但它并没有引起广泛关注。尽管这个概念很漂亮,但它缺乏运行智能合约的良好平台,无法确保智能合约将被执行,并且执行逻辑不会在中途修改。
区块链是一个去中心化且防篡改的平台,可以完美解决这些问题。一旦将智能合约部署在区块链上,所有参与节点将严格遵循已建立的逻辑。基于区块链上大多数节点诚实的基本原理,如果一个节点修改了智能合约逻辑,执行结果将无法通过其他节点的验证,也不会被识别,即修改无效。这样,可以根据已建立的指令来操作智能合约。区块链已成为智能合约的“**合作伙伴”
那么智能合约的原理是什么?基于区块链的智能合约需要包括交易处理机制,数据存储机制以及用于接收和处理各种条件的完整状态机。交易的触发,处理和数据保存必须在链上进行。当满足触发条件时,智能合约将读取相应的数据并根据预设的逻辑进行计算,**将计算结果**保存在链结构中。
区块链中智能合约的操作逻辑
由于合同是一项严肃的业务,因此传统合同通常需要一支专业的律师团队来撰写。有句老话:“技术产业专业化。”当前的智能合约开发工作主要由软件从业人员完成。它所编写的智能合约可能缺乏完整性,因此比传统合约更容易生成逻辑。漏洞。
另外,由于一些支持智能合约的现有区块链平台提供了使用**语言(例如Go,Jaa等)编写智能合约的功能,并且此类**语言并不缺少“不确定性”指令,因此它们可能这将导致执行智能合约的节点的某些内部状态发生分歧,从而影响整个系统的一致性。
2016年发生的**DAO事件是由于智能合约漏洞直接损失了数千万美元。 DAO是当时以太坊平台上**的众筹项目。它在推出后不到一个月的时间里筹集了超过1000万个以太坊,价值超过1亿美元。但是,智能合约的传递功能存在漏洞。攻击者利用此漏洞窃取了360万以太坊。由于此事件的影响太大, 以太坊最终选择后退硬叉以弥补损失。
区块链科学的DAO事件
2016年6月17日,心情以太坊创始人V神在Reddit上发帖“ DAO攻击,请暂停交易平台ETH / DAO的交易,充值和提现,直至另行通知。新消息将尽快更新。尽可能。”**的DAO事件开始了。
DAO(去中心化自治组织)是一个分布式的自治组织。 DAO是基于以太坊平台的全球**的众筹项目。目的是允许持有DAO的参与者通过投票共同决定所投资的项目。整个社区完全是自制的,并通过用代码编写的智能合约来实现。众筹于2016年5月28日完成,共筹集了1150万个ETH ,当时的价值达到1.49亿美元。
不久,DAO被黑客入侵,因为DAO编写的智能合约具有splitDAO功能。攻击者使用此功能的漏洞将DAO资产与DAO项目的资产池连续分离,并将其转移给黑客。自己创建的子DAO。在3个小时,300多万ETH 6000万美元资产被黑客转移和血流入河中。 以太坊智能合同已是最严重的质疑。我们如何防止此类事件再次发生?
让我们看一下安全防护策略。
经过全面测试
测试用例设计:对业务进行全面分析,通过等效类划分法,边界值分析法,正交实验法等方法,设计尽可能完整的测试用例,编写测试代码,并进行自动回归测试。
多人交叉测试:一个人的思维是有限的,我们需要通过多人的跳跃思维来涵盖尽可能多的情况。
回归测试:每个修改都必须进行**回归测试。
工具监控
以太坊所有交易透明,有待调查。我们可以使用一种工具来抓取智能合约的实时交易数据,并向可能的异常交易发送S和电子邮件警报。这样,我们可以在第一时间发现问题并采取措施。
第三方审核
您可以找到一些专业的智能合约开发工程师来进行审核。审核可以从另一个角度发现智能合约的潜在问题。可能进行审核的人员的专业能力不如开发人员的专业能力强。
这期《区块链和密码学***》在这里。在下一期中,我们将继续研究区块链的基本技术,并详细解释P2P网络。敬请期待〜
欢迎学生注意PlatON公共帐户并继续学习。下节课见。
了解有关PlatON的更多信息
PlatON·GitHub
https://github.com/PlatONnetwork
平台·论坛
https://forum.latticex.foundation/c/PlatON-CN
平台·电报
https://t.me/PlatONNetworkCN
推特
https://twitter.com/PlatON_Network
平台·关联
https://linkedin.com/company/platonnetwork
文章标题:[图形学院]国家级区块链和密码学教室2-7课:区块链基本分析的智能合约
文章链接:https://www.btchangqing.cn/49296.html
更新时间:2020年07月06日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。