The invention provides a method and system for database operation based on block chain, the method comprises the following steps: S1, the transaction initiator using a password to be sent in the transaction data table operation symmetric encryption of the Raw field and the Raw field refers to the field need encryption transaction; S2, initiated by the party transactions the public key of the asymmetric encryption password from Token; S3, the initiator of the Token transaction in the transaction, and then send the transaction; S4, trading in the stage of consensus and the Token is removed, on the information related to the account on the chain block; S5, after the end of consensus in the transaction. In the execution of the transaction before the transaction is initiated, will remove the Token, the initiator of the trade secret of decryption of Token to get the password, and then to the Raw field used to decrypt the password. The invention can realize that the operation details of a table are not seen by other users, and only the owner of the table (creator) or the authorized user can view the table.
【技术实现步骤摘要】
一种基于区块链的数据库操作方法和系统
本专利技术涉及区块链
,更具体地,涉及基于区块链的基于区块链进行的数据库备份、恢复方法和系统。
技术介绍
区块链中所有的内容的都是通过交易来改变的,数据库操作也不例外,要通过区块链操作数据库,需要发起相应的交易,比如创建表有创建表的交易,插入表有插入表的交易。然而,因为区块链是每个人都可以访问的,因此一个用户操作数据库表的细节,其它用户也可以看到,这样一来,与区块链相连的数据库细节完全暴露给了所有用户,毫无私密性可言。那么,在某些表需要保密的情况下,就需要实现与区块链相连的数据库中的表,只有表的创建者或被其授权的用户才可以看到表的所有操作记录。用普通的加密技术可以实现将操作内容加密,但是这样的话,表的内容看起来就不直观,还需要对应解密才能看到真实数据。
技术实现思路
本专利技术的目的是保护某张表的操作细节不被其它用户看到,只有表的所有者(创建者)或者被授权过的用户可以查看表的操作详情,无权限的用户即使使用网络工具截取数据包,也看不到交易的实际内容。最终实现表的内容既方便查看,又能保证数据的安全的效果。为此,本专利技术提出一种 ...
【技术保护点】
一种基于区块链的数据库操作方法,其特征在于,包括:S1,交易发起方对Raw字段使用一密码对待发送交易中的数据表操作进行对称加密,所述Raw字段指的是交易中需要加密的字段;S2,由交易发起方的公钥对所述密码进行非对称加密得到一Token;S3,交易发起方将所述Token放到所述交易中,然后发送交易;S4,在交易共识阶段,所述Token被取出,放到区块链上的账户相关的信息中;S5,在交易共识结束后,交易发起方在执行交易之前,将Token取出,使用交易发起方的私钥对Token解密得到所述密码,然后用所述密码对所述Raw字段进行解密。
【技术特征摘要】
1.一种基于区块链的数据库操作方法,其特征在于,包括:S1,交易发起方对Raw字段使用一密码对待发送交易中的数据表操作进行对称加密,所述Raw字段指的是交易中需要加密的字段;S2,由交易发起方的公钥对所述密码进行非对称加密得到一Token;S3,交易发起方将所述Token放到所述交易中,然后发送交易;S4,在交易共识阶段,所述Token被取出,放到区块链上的账户相关的信息中;S5,在交易共识结束后,交易发起方在执行交易之前,将Token取出,使用交易发起方的私钥对Token解密得到所述密码,然后用所述密码对所述Raw字段进行解密。2.根据权利要求1所述的基于区块链的数据库操作方法,其特征在于,步骤S2还包括:A2,用被授权方的公钥对所述密码进行非对称加密得到所述Token;步骤S4还包括:A4,在交易共识阶段,所述Token被取出,放到区块链上的被授权方的账户相关的信息中;步骤S5还包括:A5,在交易共识结束后,被授权方将Token取出,使用被授权方的私钥对Token解密得到所述密码,然后用所述密码对所述Raw字段进行解密。3.根据权利要求1所述的基于区块链的数据库操作方法,其特征在于,还包括:S6,执行交易,将交易内容同步到本地数据库中。4.根据权利要求1所述的基于区块链的数据库操作方法,其特征在于,在步骤S3之后,还包括:B1,所述交易发起方从区块链获得交易发起方对应的Token;B2,用所述交易发起方的私钥对Token解密得到所述密码;B3,所述交易发起方用被授权方的公钥对所述密码进行非对称加密得到新的Token;B4,被授权方将所述新的Token放到新的交易中,然后发送交易;B5,在交易共识阶段,所述新的Token被取出,放到区块链上的被授权方的账户相关的信息中;B6,在交易共识结束后,被授权方将Token取出,使用被授权方的私钥对Token解密得到所述密码,然后用所述密码对所述Raw字段进行解密。5.根据权利要求1所述的基于区块链的数据库操作方法,其特征在于,在步骤S3之后,还包括:C1,以交易发起方的用户地址与表名为参数,从区块链中获取对应表的Token;C2,交易发起方取到Token之后,交易发起方用自己的私钥去解密所述Token得到密码明文;C3,交易发起方对数据表的Raw字段进行操作,然后用密码明文使用对称加密算法对数据表的Raw字段进行加密;C4,交易发起方将所述Token放到交易中,然后发送交易。6.一种基于区块链的数据库操作系统,其特征在于,...
【专利技术属性】
技术研发人员:严挺,路京磊,卢小明,陈姝,
申请(专利权)人:北京众享比特科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。