CN109003187A - 一种区块链智能合约的更新升级方法 - Google Patents

一种区块链智能合约的更新升级方法 Download PDF

Info

Publication number
CN109003187A
CN109003187A CN201810825652.7A CN201810825652A CN109003187A CN 109003187 A CN109003187 A CN 109003187A CN 201810825652 A CN201810825652 A CN 201810825652A CN 109003187 A CN109003187 A CN 109003187A
Authority
CN
China
Prior art keywords
contract
function
ballot
user
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810825652.7A
Other languages
English (en)
Inventor
朱杰
余荣
张浩川
黄旭明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201810825652.7A priority Critical patent/CN109003187A/zh
Publication of CN109003187A publication Critical patent/CN109003187A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

本发明涉及通信技术领域,特别涉及一种区块链智能合约的更新升级方法,本发明在每一个智能合约中加入一个投票函数,只有当一定数量的用户投票赞成更新合约时,合约提供方才能更新升级合约;本发明将智能合约更新升级的权利赋予广大的用户手中,从智能合约更新升级的角度做到“去中心化”,实现了将智能合约更新升级的权利赋予到用户手中,更是通过投票的方式,协调了用户和合约提供方的关系,用户使用的服务也得到了统一,部分更新智能合约的做法,使得合约提供方不用移动旧合约中的数据,简化了智能合约更新的周期,也保证了用户数据的安全,具有很强的创造性。

Description

一种区块链智能合约的更新升级方法
技术领域
本发明涉及通信技术领域,特别涉及一种区块链智能合约的更新升级方法。
背景技术
区块链上智能合约本质上是一段程序化代码,与其他程序一样,他具有创建、初始化、状态存储、函数调用、结束/销毁等生命周期。与普通程序不同的是,它是运行在区块链上,由全体参与者共同保障其代码和运行结果得到所有人认可的。即使该运行结果对某个参与方不利,该参与方拒绝承认该结果,由于区块链的共识机制保障,其他的大部分参与者都认可该结果,则该结果仍然成立,不受少数参与者的抵赖影响。同时,发布于区块链上的智能合约无法销毁,要想实现对智能合约的更新升级,一般做法都是重新发布一个智能合约。
区块链技术的几大特点中,有一个特点就是区块链数据的不可篡改性。但是智能合约(智能合约是区块链中运行的应用程序,包含可以实现多种功能的函数)部署后,总会不可避免的出现一个或多个漏洞,或者合约提供方(合约提供方指的是编写合约的人员或者公司)想更新升级智能合约,以提高服务性能或者达到某些利己不利人的目的。当前的常规做法是,合约提供方随时可以更新智能合约,无需经过用户的同意。这其中的问题在于,不应该允许合约提供方随意更新升级智能合约,否则就是破坏了区块链“去中心化”的特性(“去中心化”指的是去除中心化的独裁公司或者机构)。那么能否提出一种方法,在不破坏区块链公开、安全、去中心化、不可篡改的特性下,实现智能合约的升级。
现有技术缺点:
1.一旦发布合约到区块链上,就不能随意在原有合约的基础上进行大量修改。
2.合约升级、服务升级是一个必然的需求,而合约提供方还是不能随意发布一个新合约取代旧合约,否则就是强制更新,是一种“中心化”的行为。
3.合约提供方与用户之间处于完全对立的立场。虽然用户可以选择使用旧合约,但是这种新、旧合约之间地不统一,势必会带来众多的麻烦。
4.新合约取代了旧合约,原有旧合约中存储的数据如何转移到新合约中来?还是直接作废,单方面“毁约”。
发明内容
有鉴于此,本发明实施例的目的在于提供一种区块链智能合约的更新升级方法,本发明使用投票的方式,将智能合约更新升级的权利赋予广大的用户手中,从智能合约更新升级的角度做到“去中心化”,实现了将智能合约更新升级的权利赋予到用户手中,更是通过投票的方式,协调了用户和合约提供方的关系,用户使用的服务也得到了统一,简化了智能合约更新的周期,保证了用户数据的安全。
本发明实施例解决上述技术问题所采用的技术方案如下:
根据本发明实施例的一个方面,提供一种区块链智能合约的更新升级方法:
所述方法包括投票机制和自动更新,所述方法的合约提供方提供合约服务于用户群,当合约需要更新时,合约提供方将发起投票,并允许用户选择是否废除旧合约或者合约函数,所述用户群基于区块链技术的应用,占据一部分主动权的用户们拥有投票权,决定是否废除旧合约或者合约函数,并在每个合约的中嵌入一个投票函数,若用户投票通过,投票函数将自动废除旧合约中的函数,若用户最终投票通过,则合约提供方将发布一个新合约,所述投票遵循投票机制即投票仲裁。
优选的,所述投票机制合约中的每个函数以及重要的参数设置一个唯一id,当需要更新其中某一个或一些函数或者参数时,就对目标函数或者参数发起更新升级的投票,投票的发起者是合约提供方.合约提供方可以通过现实中的推送消息的方法通知合约用户投票。
优选的,所述投票机制中合约用户投票可以投赞成票、反对票,不投票即视为弃权。规定时间内,当赞成票超过总用户人数的50%时,视为投票通过,自动触发合约更新函数。当反对票超过50%时,视为投票失败,不予更新。
优选的,所述投票机制中当超过规定时间,赞成或者反对的人数都没有超过50%时,只有赞成人数大于反对人数的两倍,则视为投票通过,自动触发合约更新函数;否则,投票失败,不予更新。
优选的,所述方法的自动更新包括投票发起函数、投票函数和更新函数;
所述投票发起函数的投票发起函数设置由合约提供方触发,合约提供方以此设置用户群应该投票更新的函数;
所述投票函数的调用权限设置为该应用的用户群,用户群允许投票,非注册用户不允许投票,若投票票数达到通过的要求,则投票函数自动触发更新函数。
所述更新函数的权限设置为私有,在投票通过的情况下,由投票函数自动触发,不受外界影响,若规定时间内投票未通过,则自动结束投票,不触发更新函数。
优选的,所述更新函数运行更新函数的权利掌握在广大的用户群手中,更新函数对所投的函数进行更新,并将该函数失能,此后任何人都不能使用该失能过的函数达到某种功能。
优选的,所述方法还设置激励机制用于鼓励用户参与投票,让投票函数更早的得到结果,奖励的形式可以是应用中的积分,或者直接给予用户区块链平台上的虚拟货币。
优选的,所述方法的新旧合约协同工作使用区块链中的接口的方法实现,旧合约中的数据转移到新合约中可使用接口的方法,调用旧合约中的数据至新合约中。
优选的,所述方法的流程为:
a.若正在运行的合约出现问题,需要更新升级,则合约提供方主动发起更新投票。
b.使用某种激励机制,激励用户群开始广泛的投票
c.若最终的投票结果达到某一个阈值,将自动失能旧合约函数。
d.合约提供方将重新发布一个新合约,代替旧合约中被废除的函数。
e.新、旧合约协同工作。
本发明的有益效果为:
本发明使用投票的方式,将智能合约更新升级的权利赋予广大的用户手中,从智能合约更新升级的角度做到“去中心化”,实现了将智能合约更新升级的权利赋予到用户手中,更是通过投票的方式,协调了用户和合约提供方的关系,用户使用的服务也得到了统一,部分更新智能合约的做法,使得合约提供方不用移动旧合约中的数据,简化了智能合约更新的周期,也保证了用户数据的安全。
附图说明
图1是本发明的整体结构图;
图2是本发明的方法流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅以解释本发明,并不用于限定本发明。
实施例一
如图1所示的整体结构图:
合约提供方:提供合约服务于用户,当合约需要更新时,合约提供方将发起投票,允许用户选择是否废除旧合约或者合约函数。若用户最终投票通过,则合约提供方将发布一个新合约。
用户群:基于区块链技术的应用,由于其去中心化的特点,使得用户可以占据一部分主动权,用户们拥有投票权,决定是否废除旧合约或者合约函数。
投票仲裁:投票的机制将使得用户占据一部分主动权,投票的原理如下,在每个合约的中嵌入一个投票函数,若用户投票通过,投票函数将自动废除旧合约中的函数。
对于投票机制,合约中的每个函数以及重要的参数设置一个唯一id,当需要更新其中某一个或一些函数或者参数时,就对目标函数或者参数发起更新升级的投票,投票的发起者一般是合约提供方.合约提供方可以通过现实中的推送消息的方法,例如:短信等.通知合约用户投票;
合约用户投票可以投赞成票、反对票,不投票即视为弃权。规定时间内,当赞成票超过总用户人数的50%时,视为投票通过,自动触发合约更新函数。当反对票超过50%时,视为投票失败,不予更新。
当超过规定时间,赞成或者反对的人数都没有超过50%时,只有赞成人数大于反对人数的两倍,则视为投票通过,自动触发合约更新函数;否则,投票失败,不予更新。
投票发起函数:投票发起函数设置为只能是由合约提供方来触发,合约提供方以此设置用户群应该投票更新哪一个函数。
投票函数:投票函数的调用权限设置为该应用的用户群可以投票,非注册用户不允许投票。若投票票数达到通过的要求,则投票函数自动触发更新函数。
更新函数:更新函数的权限设置为私有的,也就是说,只能是投票通过的情况下,由投票函数自动触发,不受外界任何人操作。也就是说,运行更新函数的权利掌握在广大的用户群手中。更新函数对所投的函数进行更新,也就是将该函数失能。此后任何人都不能使用该失能过的函数达到某种功能。若规定时间内投票未通过,则自动结束投票,不触发更新函数。
激励机制:激励机制是为了鼓励用户参与投票,因此,可以激励机制的设计应该交给合约提供方来设计,最好是越早参与投票的人,得到的奖励越多。让投票函数更早的得到结果。奖励的形式可以是应用(合约实现的是一系列的功能,一个或者多个智能合约可以共同实现功能,这些智能合约也称之为区块链上的应用)中的积分。或者直接给予用户区块链平台上的虚拟货币,如:比特币,以太坊等。
新旧合约协同工作:由于是对智能合约的部分更新,因此需要新旧合约协同工作,这一点可以使用区块链中的接口(Interface)的方法实现,并且,旧合约中的数据不用完全转移到新合约中,只需要使用接口的方法,调用旧合约中的数据即可。
结合现有技术,原有的合约虽然无法更改,其实是函数不能抹除,但是可以使用一种方法,使该函数失效,从另一个角度实现对智能合约的更新,为了不让合约提供方随意更新升级智能合约,把更新合约的权利交到用户手中,为达到这个目的;
本发明的实现方法是在每一个智能合约中加入一个投票函数,只有当一定数量的用户投票赞成更新合约时,合约提供方才能更新升级合约,考虑到用户有可能不愿意参与投票,因此本专利设计一个激励机制,鼓励用户投票,越早投票的用户,将得到更多的奖励。
为了更新之后,避免迁移数据,本专利使用的方式是部分更新的方法,允许只更新旧合约中的某个函数或者多个函数。此后,新合约与旧合约协同工作,共同完成一个完整的功能。
实施例二
如图2所示的方法流程图:
a.若正在运行的合约出现问题,需要更新升级,则合约提供方应该主动发起更新投票。
b.使用某种激励机制,激励用户群开始广泛的投票
c.若最终的投票结果达到某一个阈值,将自动失能旧合约函数。
d.合约提供方将重新发布一个新合约,代替旧合约中被废除的函数。
e.新、旧合约协同工作。
结合现有技术,本发明具有以下特点:
S1投票函数的设计:
精心设计的投票函数可以满足以下特点:
1)投票发起自主,使合约提供便捷地发起关于智能合约更新的请求;
2)投票奖励分段,通过设置不同奖励激发越多用户越早进行投票;
3)投票终止动态,只要赞成人数达到设置比例,即认可为投票通过,从而终止此投票过程。
S2合约更新方式灵活:包含部分更新与全部更新两种,根据投票结果灵活选择。尤其地,部分更新的优点是可以不用转移旧合约数据。新合约将只包含一个更新函数,完整的合约功能需要新、旧合约一起实现,避免了数据迁移的麻烦。
S3新旧合约协同工作:由于是对智能合约的部分更新,因此需要新旧合约协同工作,这一点可以使用区块链中的接口(Interface)的方法实现,并且,旧合约中的数据不用完全转移到新合约中,只需要使用接口的方法,调用旧合约中的数据即可。
综上,本发明使用投票的方式,将智能合约更新升级的权利赋予广大的用户手中,从智能合约更新升级的角度做到“去中心化”,实现了将智能合约更新升级的权利赋予到用户手中,更是通过投票的方式,协调了用户和合约提供方的关系,用户使用的服务也得到了统一,部分更新智能合约的做法,使得合约提供方不用移动旧合约中的数据,简化了智能合约更新的周期,也保证了用户数据的安全。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (9)

1.一种区块链智能合约的更新升级方法,其特征在于:所述方法包括投票机制和自动更新,所述方法的合约提供方提供合约服务于用户群,当合约需要更新时,合约提供方将发起投票,并允许用户选择是否废除旧合约或者合约函数,所述用户群基于区块链技术的应用,占据一部分主动权的用户们拥有投票权,决定是否废除旧合约或者合约函数,并在每个合约的中嵌入一个投票函数,若用户投票通过,投票函数将自动废除旧合约中的函数,若用户最终投票通过,则合约提供方将发布一个新合约,所述投票遵循投票机制即投票仲裁。
2.根据权利要求1所述的区块链智能合约的更新升级方法,其特征在于:所述投票机制合约中的每个函数以及重要的参数设置一个唯一id,当需要更新其中某一个或一些函数或者参数时,就对目标函数或者参数发起更新升级的投票,投票的发起者是合约提供方;合约提供方可以通过现实中的推送消息的方法通知合约用户投票。
3.根据权利要求2所述的区块链智能合约的更新升级方法,其特征在于:所述投票机制中合约用户投票可以投赞成票、反对票,不投票即视为弃权;规定时间内,当赞成票超过总用户人数的50%时,视为投票通过,自动触发合约更新函数。当反对票超过50%时,视为投票失败,不予更新。
4.根据权利要求3所述的区块链智能合约的更新升级方法,其特征在于:所述投票机制中当超过规定时间,赞成或者反对的人数都没有超过50%时,只有赞成人数大于反对人数的两倍,则视为投票通过,自动触发合约更新函数;否则,投票失败,不予更新。
5.根据权利要求1所述的区块链智能合约的更新升级方法,其特征在于:所述方法的自动更新包括投票发起函数、投票函数和更新函数;
所述投票发起函数的投票发起函数设置由合约提供方触发,合约提供方以此设置用户群应该投票更新的函数;
所述投票函数的调用权限设置为该应用的用户群,用户群允许投票,非注册用户不允许投票,若投票票数达到通过的要求,则投票函数自动触发更新函数。
所述更新函数的权限设置为私有,在投票通过的情况下,由投票函数自动触发,不受外界影响,若规定时间内投票未通过,则自动结束投票,不触发更新函数。
6.根据权利要求5所述的区块链智能合约的更新升级方法,其特征在于:所述更新函数运行更新函数的权利掌握在广大的用户群手中,更新函数对所投的函数进行更新,并将该函数失能,此后任何人都不能使用该失能过的函数达到某种功能。
7.根据权利要求1所述的区块链智能合约的更新升级方法,其特征在于:所述方法还设置激励机制用于鼓励用户参与投票,让投票函数更早的得到结果,奖励的形式可以是应用中的积分,或者直接给予用户区块链平台上的虚拟货币。
8.根据权利要求1所述的区块链智能合约的更新升级方法,其特征在于:所述方法的新旧合约协同工作使用区块链中的接口的方法实现,旧合约中的数据转移到新合约中可使用接口的方法,调用旧合约中的数据至新合约中。
9.根据权利要求1所述的区块链智能合约的更新升级方法,其特征在于:所述方法的流程为:
a.若正在运行的合约出现问题,需要更新升级,则合约提供方主动发起更新投票。
b.使用某种激励机制,激励用户群开始广泛的投票
c.若最终的投票结果达到某一个阈值,将自动失能旧合约函数。
d.合约提供方将重新发布一个新合约,代替旧合约中被废除的函数。
e.新、旧合约协同工作。
CN201810825652.7A 2018-07-25 2018-07-25 一种区块链智能合约的更新升级方法 Pending CN109003187A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810825652.7A CN109003187A (zh) 2018-07-25 2018-07-25 一种区块链智能合约的更新升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810825652.7A CN109003187A (zh) 2018-07-25 2018-07-25 一种区块链智能合约的更新升级方法

Publications (1)

Publication Number Publication Date
CN109003187A true CN109003187A (zh) 2018-12-14

Family

ID=64597102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810825652.7A Pending CN109003187A (zh) 2018-07-25 2018-07-25 一种区块链智能合约的更新升级方法

Country Status (1)

Country Link
CN (1) CN109003187A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451061A (zh) * 2018-12-20 2019-03-08 全链通有限公司 区块链的合约调整处理方法和系统
CN110168582A (zh) * 2018-11-30 2019-08-23 阿里巴巴集团控股有限公司 使用去中心化决策更新区块链智能合约
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN111475777A (zh) * 2020-03-09 2020-07-31 上海能链众合科技有限公司 一种区块链智能合约的升级方法
CN112085604A (zh) * 2020-09-10 2020-12-15 北京金山云网络技术有限公司 一种升级智能合约的方法及装置
CN115996130A (zh) * 2023-03-23 2023-04-21 安徽中科晶格技术有限公司 基于预置合约的dao治理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919419A (zh) * 2017-02-03 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 区块链上的智能合约程序的更新方法及装置
US20180137465A1 (en) * 2016-11-11 2018-05-17 International Business Machines Corporation Smart contract admission check and fault tolerance in a blockchain
CN108196872A (zh) * 2017-12-27 2018-06-22 邵美 一种区块链系统中智能合约的升级方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180137465A1 (en) * 2016-11-11 2018-05-17 International Business Machines Corporation Smart contract admission check and fault tolerance in a blockchain
CN106919419A (zh) * 2017-02-03 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 区块链上的智能合约程序的更新方法及装置
CN108196872A (zh) * 2017-12-27 2018-06-22 邵美 一种区块链系统中智能合约的升级方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110168582A (zh) * 2018-11-30 2019-08-23 阿里巴巴集团控股有限公司 使用去中心化决策更新区块链智能合约
CN109451061A (zh) * 2018-12-20 2019-03-08 全链通有限公司 区块链的合约调整处理方法和系统
CN109451061B (zh) * 2018-12-20 2021-06-01 全链通有限公司 区块链的合约调整处理方法和系统
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110413304B (zh) * 2019-07-31 2023-07-14 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN111475777A (zh) * 2020-03-09 2020-07-31 上海能链众合科技有限公司 一种区块链智能合约的升级方法
CN111475777B (zh) * 2020-03-09 2023-04-25 上海零数众合信息科技有限公司 一种区块链智能合约的升级方法
CN112085604A (zh) * 2020-09-10 2020-12-15 北京金山云网络技术有限公司 一种升级智能合约的方法及装置
CN115996130A (zh) * 2023-03-23 2023-04-21 安徽中科晶格技术有限公司 基于预置合约的dao治理方法、装置、设备及存储介质
CN115996130B (zh) * 2023-03-23 2023-06-30 安徽中科晶格技术有限公司 基于预置合约的dao治理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109003187A (zh) 一种区块链智能合约的更新升级方法
Van Apeldoorn Transnational class agency and European governance: The case of the European Round Table of Industrialists
Van Biezen On the theory and practice of party formation and adaptation in new democracies
Birnbaum et al. Exit strategy or exit trap? Basic income and the ‘power to say no’in the age of precarious employment
Schain Immigration and changes in the French party system
CN102592059A (zh) 网络游戏系统、游戏和服务器装置及电脑可读取记录媒体
WO2007049328A1 (ja) エレベータシステム
Aust et al. Towards activation? Social assistance reforms and discourses
CN106022108A (zh) 一种同步管理方法及终端设备
CN105727558A (zh) 互动邀请处理方法和装置
Bell Post-Brexit nationalism: challenging the British political tradition?
Rodriguez Recasting federalism in Mexico
Andras et al. Environmental risk, cooperation, and communication complexity
CN107577494A (zh) 一种基于多进程赛事图文直播的方法及装置
CN110691634A (zh) 信息处理设备、信息处理方法和程序
Kerkin Discourse, representation and urban planning: How a critical approach to discourse helps reveal the spatial re-ordering of street sex work1
Steenkamp et al. People and parks: cracks in the paradigm
CN101132562A (zh) 蜂窝按讲业务的话语权控制方法及系统
Leahy Campaign strategies: How the campaign was won and lost
Musella et al. The expansion of the Constitutional Court in Italy: Ruling the void in times of political instability
Bressanelli The Political Groups as Organisations: The Institutionalisation of Transnational Party Politics
Verebelyi OPTIONS FOR ADMINISTRATIVE REFORM IN HUNGARY.
JP2022147218A (ja) 情報処理装置、情報処理方法、及びプログラム
Aunger et al. Lessons from a successful national sanitation programme: the case of Nyumba ni Choo in Tanzania
Lindholst et al. The politics of place-keeping

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181214