[发明专利]用于区块链上的智能合约执行的、系统级别的基于函数的访问控制在审
申请号: | 201980079197.3 | 申请日: | 2019-06-11 |
公开(公告)号: | CN113168463A | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 文卡塔·西瓦·维贾延德拉·巴米蒂帕提;迈克尔·陈;德雷克·查莫罗;阿尔皮特·然;阿肖克·斯里尼瓦萨·穆尔蒂 | 申请(专利权)人: | 电子湾有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/54 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 穆童 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 区块 智能 合约 执行 系统 级别 基于 函数 访问 控制 | ||
示出了用于区块链上的智能合约执行的、系统级别的基于函数的访问控制的技术。访问控制规则通过利用执行智能合约的内核中的函数边界检测工具在系统级别控制函数调用。检测工具生成调用栈,调用栈表示内核中用于执行智能合约的一系列函数调用。将访问控制规则应用于函数调用栈,以允许或禁止特定的函数或函数调用链。访问控制规则还可以定义函数调用链中所允许或禁止的参数数据。如果函数调用链或参数不满足访问控制规则中定义的要求,则可以阻止函数调用执行或完成执行。访问控制规则可以基于复杂的函数调用链来生成精密的访问控制策略。
背景技术
区块链通常提供去中心化的分布式账本,以安全且不变地记录交易和其他数据。当前,有若干种维护区块链中安全性的方法。
区块链安全性的一个方面通过工作量证明获得,其通常是具有动态级别难度的密码难题。工作量证明一般确保了单方用自己的条目重写区块链在计算上是不可行的。对于公共区块链,这还允许选择可以将新交易区块附加到区块链的获胜节点。
区块链安全性的另一方面是使用共识协议,其充当看门人来授权“矿工”写入区块链。这些协议通常有两种类型:1)具有非常低的冲突概率的密码计算,以确保在在时间段内只有一个写入者获胜;和2)非加密协议,例如消逝时间证明(PoET)、异步拜占庭容错(aBFT)、实用拜占庭容错(pBFT)或散列图增强并行共识协议。
区块链安全性的又一方面是所有区块链参与者(例如,用户、合约、签署人/验证人/矿工)对私钥的使用。这些实体中的每一个都在软件或硬件框架(诸如METAMASK、TREZOR或LEDGER NANO系列之类的数字钱包系统)中努力地保护其私钥。
然而,以上任何一种安全方法都不能有效地充当区块链平台本身的操作或部署在区块链上的智能合约的安全看门人。如果区块链使用门道进行编码(通过设计无意中或由于错误),或者如果区块链平台提供的运行智能合约的执行环境受到威胁,则区块链可能容易受到安全漏洞的攻击。结果,一些区块链上的智能合约被黑客入侵且资金被盗。
例如,以太坊区块链支持智能合约的回退函数,该回退函数始终在智能合约的末尾执行。黑客通过将来自智能合约钱包的Deposit()调用插入到由黑客控制的钱包中,利用该回退函数耗尽钱包。
针对这些和其他考虑,提出了本文所作的公开。
发明内容
公开了用于区块链上的智能合约执行的、系统级别的基于函数的访问控制的技术。
所公开的技术的示例涉及用于区块链上的智能合约执行的、系统级别的基于函数的访问控制的方法、系统和介质,在用于区块链上的智能合约执行的内核执行框架中执行以下步骤,其中内核执行框架被配置为执行函数边界检测,这些步骤涉及:检测通过区块链上的智能合约的一个或多个方法进行的函数调用,将函数调用添加到智能合约的函数调用栈;对照基于函数的访问控制规则集来检查函数调用栈,基于函数的访问控制规则集定义了一个或多个允许或禁止的函数调用序列,以及如果函数调用栈包括在基于函数的访问控制规则集下不允许的一个或多个函数调用,则阻止该函数调用的执行或完成。
在某些示例中,函数调用栈包括在智能合约执行期间调用的每个函数,基于函数的访问控制规则集包括至少一个定义函数调用序列的访问控制规则,以及对照基于函数的访问控制规则集来检查函数调用栈的步骤包括:对照在定义函数调用序列的访问控制规则中定义的函数调用序列,检查函数调用栈。
在某些其他示例中,基于函数的访问控制规则集包括至少一个基于数据的访问控制规则,并且检测通过区块链上的智能合约的一个或多个方法进行的函数调用的步骤包括:检测包括在函数调用栈中的至少一个值。对照基于函数的访问控制规则集来检查函数调用栈的步骤涉及:对照基于数据的访问控制规则来检查包括在函数调用栈中的至少一个值。如果在基于函数的访问控制规则集下不允许函数调用序列,则阻止函数调用的步骤包括:如果在基于数据的访问控制规则集下不允许包括在函数调用序列中的至少一个值,则阻止该函数调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子湾有限公司,未经电子湾有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980079197.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于脂肪的糖食组合物
- 下一篇:用于下行链路和上行链路传输的多阶段调度