CN112529709A - 一种基于多签技术的以太坊智能合约实现方法 - Google Patents

一种基于多签技术的以太坊智能合约实现方法 Download PDF

Info

Publication number
CN112529709A
CN112529709A CN202011604573.7A CN202011604573A CN112529709A CN 112529709 A CN112529709 A CN 112529709A CN 202011604573 A CN202011604573 A CN 202011604573A CN 112529709 A CN112529709 A CN 112529709A
Authority
CN
China
Prior art keywords
sign
contract
service
ethernet
account
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
CN202011604573.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.)
Mcloud Shanghai Digital Technology Co ltd
Sichuan Xinhua Publishing and Distribution Group Co.,Ltd.
Original Assignee
Sichuan Xinhua Wanyun Technology Co ltd
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 Sichuan Xinhua Wanyun Technology Co ltd filed Critical Sichuan Xinhua Wanyun Technology Co ltd
Priority to CN202011604573.7A priority Critical patent/CN112529709A/zh
Publication of CN112529709A publication Critical patent/CN112529709A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于多签技术的以太坊智能合约实现方法,属于区块链技术领域。本发明首先获取指定账户的以太坊地址,并对多个指定账户的以太坊地址进行多签配置,得到多签合约;以及将业务合约的相关权限分配给多签合约;需要进行业务调用处理时,多个指定账户并发向其对应的多签合约发起业务请求,多签合约基于收到的业务请求调用匹配的业务合约;各指定账户基于业务合约的执行完成以太坊交易业。本发明通过使用多签合约代替普通账户来管理和使用业务合约,从而避免了由于以太坊nonce原因带来的并发限制问题,有效提升了以太坊智能合约的并发性能,且无需改变现有以太坊智能合约的权限架构,满足用户对以太坊智能合约的并发性能需求。

Description

一种基于多签技术的以太坊智能合约实现方法
技术领域
本发明属于区块链技术领域,具体涉及一种以太坊智能合约实现技术。
背景技术
近年来,随着比特币***的提出和平稳运行,作为比特币底层技术的区块链技术也受到人们的关注,并且越来越多的基于区块链的产品争相出现,其中以太坊的出现是区块链发展的又一里程碑事件,以太坊相对于之前出现的区块链***最为本质的区别在于以太坊支持智能合约的运行。即在以太坊的加密货币***中,允许通过智能合约进行复杂的交易。其中,智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机***自动执行。智能合约程序不只是一个可以自动执行的计算机程序,它本身就是一个***参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。
当前,以太坊的交易都是基于账户的,它要求每次交易都按顺序记录,通过nonce(Number once)值来表征所记录的交易顺序,从而达到防止重放攻击的目的。账户每发起一笔交易,nonce就会加一。而nonce使用的规则如下:
(1)nonce太小,交易会被直接拒绝;
(2)nonce太大,交易会一直处于队列之中;
(3)当发送一个比较大的nonce的值,然后补齐之前的nonce时,该交易将被执行;
(4)交易队列只保存最多64个从同一账户发出的交易;
(5)当某节点队列中还有交易,但此时停止以太坊节点,则队列中的交易会被清除掉;
(6)当前nonce合适,但账户余额不足时,会被以太坊拒绝;
(7)如果发起一笔交易,但是因为gas(计算工作量的计量单位,用于以太坊矿工打包区块的奖励)比较低或者网络比较忙的时候,该交易还没矿工挖出,可以通过使用相同的nonce和较高的gas费用,从而“覆盖”前一笔交易。
在以太坊的加密货币***中,以太坊的交易特性限制了智能合约交易的并发性能。通常情况下,以太坊智能合约主要通过设置多账户(或给多账号分配相同的权限)以满足某些场景下的并发要求。
在智能合约中配置多账号以满足并发需求,实质是通过预设角色和权限的方式,对一系列个体账户进行授权,对智能合约来说,各账户之间并无直接关联,也无法代表某一特定账户,其对智能合约浸入较大,需要修改智能合约从而适配此种架构下的并发需求。然而现实环境一般假设一个账户代表一个用户,因此该方案较难获得推广。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种既能解决智能合约的并发问题,又无需改变现有智能合约权限架构的以太坊智能合约方法。
本发明的一种基于多签技术的以太坊智能合约实现方法,包括下列步骤:
获取指定账户的以太坊地址;
对多个指定账户的以太坊地址进行多签配置,得到多签合约,其中多签配置为:将多个指定账户的以太坊地址作为多签以太坊地址并配置其对应的解锁私钥数;并记录该多签合约与各指定账户的映射关系;
配置多签合约的业务调用权限:将业务合约的相关权限分配给多签合约;
基于多签合约的以太坊交易业务调用处理:
多个指定账户并发向其对应的多签合约发起业务请求,多签合约基于收到的业务请求调用匹配的业务合约,基于业务合约的执行完成以太坊交易业。
进一步的将业务合约的相关权限分配给多签合约的具体为:查找业务合约中的以太坊地址与多签合约包括的以太坊地址匹配的业务合约,并将查找到的业务合约中的以太坊地址替换为多签合约。
进一步的,配置所述多签以太坊地址的对应的解锁私钥数时,将解锁私钥数和多签合约包括的以太坊地址数按照与1/3、2/5或2/7相当的比例进行配置。
此外,在配置所述多签以太坊地址的对应的解锁私钥数时,解锁私钥数与多签合约包括的以太坊地址数满足:
Figure BDA0002872666380000021
其中m(m≥1)表示解锁私钥数,n(n>1)表示多签合约包括的以太坊地址数。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明通过使用多签合约代替普通账户来管理和使用业务合约,从而避免了由于以太坊nonce原因带来的并发限制问题,有效提升了以太坊智能合约的并发性能。且无需改变现有以太坊智能合约的权限架构,满足用户对以太坊智能合约的并发性能需求。
附图说明
图1为具体实施方式中,本发明的以太坊智能合约的实现结构示意图;
图2为具体实施方式中,基于多签技术的账户权限设置过程示意图;
图3为具体实施方式中,通过多签合约并发调用业务的调用流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
参见图1,本发明的以太坊智能合约在实现时,采用三层架构实现,该三层架构依次为:账户层、多签层和业务层;其中,
第一层账户层,即账户的以太坊地址(即普通以太坊地址)和私钥;其中,以太坊地址的生成过程可以采用下述方式:
首先,生成256位随机数作为私钥,然后将私钥转换为secp256k1(特定的椭圆曲线:y2=x3+7)非压缩格式的公钥,即512位的公钥,接着使用散列算法Keccak256计算公钥的哈希值,转化为十六进制字符串,最后取十六进制字符串的后40个字母,开头加上0x作为以太坊地址。
第二层多签层,即多签合约,聚合账户的普通以太坊地址;即基于多签技术(多重签名技术)得到对应的多签合约,并记录该多签合约与多个指定账户的映射关系。
其中,多重签名技术,就是在地址的生成过程中,采用n把私钥,生成一个多重签名地址,且需要其中的m(m小于等于n)把私钥,才能动用该多重签名地址中的币。其中,多重签名地址可以根据需求定制所需的必要组合,比如2/3,即通过3把不同的私钥生成一个多重签名地址,需要其中的2把私钥(解锁私钥数),才能动用这个多重签名地址里的币。
在本具体实施方式中,从所有账户中选择多个指定账户的普通以太坊地址,作为多签以太坊地址,并配置该多签以太坊地址的解锁私钥数m,从而得到多签合约;并记录该多签合约与指定的多个账户之间的映射关系。且在配置解锁私钥数时,可根据
Figure BDA0002872666380000031
Figure BDA0002872666380000032
Figure BDA0002872666380000033
的值设置,或者根据
Figure BDA0002872666380000034
Figure BDA0002872666380000035
Figure BDA0002872666380000036
的值设置,其中n表示账户数。当然,也可以根据
Figure BDA0002872666380000037
配置解锁私钥数m。
第三层业务层,即业务合约,负责记录和执行具体的业务。
三层调用关系依次为:账户层调用多签层,多签层调用业务层。即账户层调用多签层得到的多个指定账户的多签合约;再基于多签层对业务层的调用,实现对多签合约所对应的多个指定账户的对应业务的并发执行。
参见图2,基于多签技术的账户权限设置具体为:
首先,配置多签合约,在多签合约中加入的多个指定账户的以太坊地址,每个以太坊地址对应一个账户,从而实现将n个账户添加至多签合;并配置多签合约的解锁私钥数。
其次,将业务合约的相关权限(即业务合约某项业务的执行权限)分配给多签合约,即用多签合约代替业务合约相应的普通以太坊地址。
即,本发明对对原智能合约无侵入行为,原合约无需做任何升级操作。
参见图3,本发明的业务调用处理过程具体为:
首先,多账户同时向多签合约发起业务请求,即多账户并发调用多签合约执行业务;
其次,多签合约根据账户的请求调用业务合约,完成业务。
由于账户之间不存在nonce冲突的问题,因此多账户并发时,若某账户调用失败,则不会对其他账户的执行造成影响,从而提升了以太坊智能合约的并发性能。
实施例
以基于ERC-721(非同质化代币(Non-Fungible Token)的标准接口)的优惠券合约应用为例,假设服务提供商在优惠券发行阶段,会将优惠券发送至***账户,当客户满足一定条件时,***才可以向该客户派发优惠券,针对这种应用场景,应用本发明的基于多签技术的以太坊智能合约并发实现方法时,可以将***账户设置为多签账户,利用本发明的以太坊智能合约方法,***账户可并发向多客户派发优惠券,而不需串行化执行,从而提升了优惠券合约的并发性能,其具体实现过程如下:
步骤1:配置能够获得优惠券的客户条件;
步骤2:查询满足该配置的客户条件的账户,得到优惠券派送账户集;
步骤3:将***账户设置为关于该优惠券派送账户集的多签账户,即基于优惠券派送账户集中的每个账户的以太坊地址,得到***账户的多签以太坊地址;以及配置该多签以太坊地址的解锁私钥数,得到对应***账户的多签合约,即将满足预置账户筛选条件账户作为指定账户,从而基于多个指定账户配置对应的多签合约;
步骤4:将业务合约的相关权限分配给该多签合约;
步骤5:***账户基于该多签合约发起关于优惠券派送的业务请求,业务合约基于多签合约实现优惠券派送的业务。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

Claims (5)

1.一种基于多签技术的以太坊智能合约实现方法,其特征在于,包括下列步骤:
获取指定账户的以太坊地址;
对多个指定账户的以太坊地址进行多签配置,得到多签合约,其中多签配置为:将多个指定账户的以太坊地址作为多签以太坊地址,并配置所述多签以太坊地址对应的解锁私钥数;同时记录该多签合约与各指定账户的映射关系;
配置多签合约的业务调用权限:将业务合约的相关权限分配给多签合约;
基于多签合约的以太坊交易业务调用处理:多个指定账户并发向其对应的多签合约发起业务请求,多签合约基于收到的业务请求调用匹配的业务合约;各指定账户基于业务合约的执行完成以太坊交易业。
2.如权利要求1所述的方法,其特征在于,将业务合约的相关权限分配给多签合约的具体为:
查找业务合约中的以太坊地址与多签合约包括的以太坊地址匹配的业务合约,并将查找到的业务合约中的以太坊低置替换为多签合约。
3.如权利要求1所述的方法,其特征在于,以太坊地址为:基于指定的椭圆曲线将账户的私钥转换为非压缩格式的公钥,并采用散列算法计算所述公钥的哈希值,将公钥的哈希值转换为十六进制字符串,并从十六进制字符串中截取一段连续的子字符串再加上指定的两位的头部字符,得到对应当前账户的私钥的以太坊地址。
4.如权利要求1-3任一项所述的方法,其特征在于,配置所述多签以太坊地址的对应的解锁私钥数时,解锁私钥数与多签合约包括的以太坊地址数满足:
Figure FDA0002872666370000011
其中m表示解锁私钥数,n表示多签合约包括的以太坊地址数。
5.如权利要求1-3任一项所述的方法,其特征在于,配置所述多签以太坊地址的对应的解锁私钥数时,将解锁私钥数和多签合约包括的以太坊地址数按照与2/3、3/5或4/7相当的比例进行配置。
CN202011604573.7A 2020-12-30 2020-12-30 一种基于多签技术的以太坊智能合约实现方法 Pending CN112529709A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011604573.7A CN112529709A (zh) 2020-12-30 2020-12-30 一种基于多签技术的以太坊智能合约实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011604573.7A CN112529709A (zh) 2020-12-30 2020-12-30 一种基于多签技术的以太坊智能合约实现方法

Publications (1)

Publication Number Publication Date
CN112529709A true CN112529709A (zh) 2021-03-19

Family

ID=74977201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011604573.7A Pending CN112529709A (zh) 2020-12-30 2020-12-30 一种基于多签技术的以太坊智能合约实现方法

Country Status (1)

Country Link
CN (1) CN112529709A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177792A (zh) * 2021-05-11 2021-07-27 上海商学院 通过智能合约实现代币池多账户流处理的方法与装置
CN115271741A (zh) * 2022-08-03 2022-11-01 国网江苏省电力有限公司南通供电分公司 基于区块链技术的电力基建费用智能支付***及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077675A (zh) * 2016-12-30 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的货币管理方法和***
CN109615525A (zh) * 2019-01-18 2019-04-12 北京阿尔山区块链联盟科技有限公司 多签名共享账户的保护方法、***及电子设备
CN110796449A (zh) * 2019-10-28 2020-02-14 网易(杭州)网络有限公司 交易处理方法、***、介质和计算设备
CN110910140A (zh) * 2019-10-11 2020-03-24 平安壹钱包电子商务有限公司 智能合约的实现方法、前置服务器、客户端、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077675A (zh) * 2016-12-30 2017-08-18 深圳前海达闼云端智能科技有限公司 基于区块链的货币管理方法和***
CN109615525A (zh) * 2019-01-18 2019-04-12 北京阿尔山区块链联盟科技有限公司 多签名共享账户的保护方法、***及电子设备
CN110910140A (zh) * 2019-10-11 2020-03-24 平安壹钱包电子商务有限公司 智能合约的实现方法、前置服务器、客户端、设备及介质
CN110796449A (zh) * 2019-10-28 2020-02-14 网易(杭州)网络有限公司 交易处理方法、***、介质和计算设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177792A (zh) * 2021-05-11 2021-07-27 上海商学院 通过智能合约实现代币池多账户流处理的方法与装置
CN115271741A (zh) * 2022-08-03 2022-11-01 国网江苏省电力有限公司南通供电分公司 基于区块链技术的电力基建费用智能支付***及方法

Similar Documents

Publication Publication Date Title
CN110874739B (zh) 实现高完整性、高带宽、低延迟、安全处理的分布式计算和存储网络
JP2022166214A (ja) ブロックチェーンを介して資産関連活動を制御するシステム及び方法
CN109087024B (zh) 关于电子票据的数据处理方法、装置、存储介质和设备
JP2021153341A (ja) 統合ブロックチェーンに基づくデータ転送制御方法及びシステム
US11151559B2 (en) Blockchain-based remittance method and apparatus
CN109508970B (zh) 基于区块链的汇款方法及装置
CN110659906B (zh) 票据信息处理方法、相关设备及介质
CN109598598A (zh) 基于区块链的交易处理方法及装置、电子设备
CN109598504A (zh) 基于区块链的交易处理方法及装置、电子设备
CN109584063A (zh) 基于区块链的交易处理方法及装置、电子设备
CN112529709A (zh) 一种基于多签技术的以太坊智能合约实现方法
CN113420335B (zh) 一种基于区块链的联邦学习***
CN109325764B (zh) 基于区块链的敏感数据交易***及方法
CN112200568B (zh) 基于区块链的账户创建方法、装置及电子设备
CN103369038B (zh) 平台即服务PaaS管理平台及方法
CN112600830B (zh) 业务数据处理方法、装置、电子设备及存储介质
CN111612452A (zh) 一种基于区块链的知识产权管理***及方法
WO2022206430A1 (zh) 使用链下可信设备进行票据数据处理的方法和装置
CN116894732A (zh) 数字资产管理方法、装置、***及可读存储介质
CN111639938A (zh) 数据处理方法、装置、设备及介质
CN113919846B (zh) 区块链节点动态分组方法、装置、计算机设备和存储介质
Huang et al. Incentive assignment in hybrid consensus blockchain systems in pervasive edge environments
CN108170860A (zh) 数据查询方法、装置、电子设备及计算机可读存储介质
US8990398B1 (en) Systems and methods for processing requests for network resources
CN115174069A (zh) 一种拟态分布式sm9快速标识密钥生成方法及***

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230506

Address after: 10th Floor, City Heart, No. 86, Section 1, Renmin South Road, Qingyang District, Chengdu, Sichuan Province, 610015

Applicant after: Sichuan Xinhua Publishing and Distribution Group Co.,Ltd.

Applicant after: MCLOUD (SHANGHAI) DIGITAL TECHNOLOGY CO.,LTD.

Address before: No.86, Section 1, Renmin South Road, Qingyang District, Chengdu, Sichuan 610000

Applicant before: Sichuan Xinhua Wanyun Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210319