智能合约技术简介

news/2024/10/24 6:36:44/

    智能合约是存储在区块链上自动运行的脚本.1994 年 Nick Szabo 提出相关概念, 将智能合约定义为一种通过代码程序自动执行的交易协议. 满足合约条款的交易相关者, 无需第三方管理者的监督就可自动执行交易. 由于缺乏可支撑合约自动执行的平台和相关技术, 直到区块链技术的出现, 才使得智能合约这项技术得到应用. 随着区块链的不断发展, 以太坊的出现首次将区块链和智能合约结合, 通过以太坊虚拟机 (Ethereum virtual machine,EVM) 来处理区块链上的交易. 区块链确保了智能合约的用户在可信的环境下遵循合约规则自动执行合约代码, 同时利用区块链的透明性和可追溯性,跟踪合约状态. 智能合约的可扩展性、自动化为 EHR共享提供了便利. 利用区块链中存储的医疗数据、支持外部数据的预言机以及信用度机制, 患者可以在智能合约中设置信用度阈值和其他访问控制参数, 实现复杂的访问控制策略.智能合约预言机机制[19] 验证外部数据. 在智能合约中使用合约自带的函数 ecrecover 可以验证外部数据写入者的签名, 该函数需要数据的 Hash 值和签名对{v, r, s}. 所以对数据的签名需要遵循ecrecover 函数的规则. 实际上, 数据需要经过两次sha256的 Hash 操作后才能进行签名,签名结果中32 字节的 r 和 s 来自椭圆曲线数字签名算法 (Ellipticcurve digital signature algorithm, ECDSA) 的输出值, 一个字节的 v 则是用于恢复签名结果的标识,以太坊中为 27 或 28.
    在智能合约中, 数据主要分为 Storage 和 Memory两种类型, Storage 类型数据也可称为合约的状态变量, 会永久存储在区块链中; Memory 则是临时变量, 交易处理完成后该类型变量会被清空. 所以在编写合约时, 需要为永久存储的数据定义 Storage 类型变量, 而不仅仅是处理交易逻辑.

附参考文章:基于集成信用度评估智能合约的安全数据共享模型. 自动化学报, 2021, 47(3):594−608


http://www.ppmy.cn/news/409410.html

相关文章

智能合约--如何实现可升级的智能合约

一. 什么是智能合约 智能合约通俗点说就是写在区块链上面的代码,代码里面编写着严谨完善的规则,一旦某个用户满足了合约里面的规则条件,就会触发里面的代码,执行某个方法。 二. 为什么要使智能合约达到可升级 智能合约的特点之一…

智能合约梳理

1、找准1个漏洞,探索解决方案 2、找准一个方法,看看能识别哪些漏洞 3、针对某一应用领域的智能合约的漏洞检测 静态分析工具上进行了大量的研究工作,这些工具可以在部署之前检测漏洞。但是,当前很少有安全工具可以在部署后保护智…

智能合约详解

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 尽管比特币(Bitcoin)和以太坊(Ethereum)是经常被一起提及的两个词,但实际上,…

金融合约与智能合约

智能合约是 1990s 年代由尼克萨博提出的理念,几乎与互联网同龄。由于缺少可信的执行环境,智能合约并没有被应用到实际产业中,自比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,以…

黑莓合约价格:联通 BlackBerry 9900

2012年7月的套餐价格:586元 x 24个月

智能合约介绍

介绍 智能合约是区块链实现可编程化的重要工具;在比特币时期,脚本仅限于描述交易得到内容和状态;随着智能合约的出现可以定义任何数据对象的状态擦欧总——>使其成为网络上的“法律条文”或者“商业共识”。相当于网络中的道德准则&#…

【转】智能合约灵活升级

以太坊智能合约具有很强的不变性,使得我们能够构建完全防篡改的应用程序,任何个人、公司或政府都不能篡改数据(信息)。每个参与者都遵循相同的规则,并且这些规则永远都不会改变。 但是,说到底,…

智能合约简介

区块链技术简史 区块链技术的第一次应用是在2008年,当时比特币首次亮相。抛弃传统金融机构,比特币引入了促进数字金融交易的新方法。然而,尽管在当时这是革命性的举措,但在这种状态下,区块链技术无法得到广泛应用。 区…