CN111368001A - 一种区块链方法、系统及计算机可读存储介质 - Google Patents
一种区块链方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111368001A CN111368001A CN202010144044.7A CN202010144044A CN111368001A CN 111368001 A CN111368001 A CN 111368001A CN 202010144044 A CN202010144044 A CN 202010144044A CN 111368001 A CN111368001 A CN 111368001A
- Authority
- CN
- China
- Prior art keywords
- rights
- transaction
- group
- output
- input
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000000295 complement effect Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 2
- 238000012856 packing Methods 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 241001551185 Newbouldia laevis Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种基于区块链记录权益流转的系统和方法。在本发明中,区块链的通证有三种类型,每一种可以包含权益定义。通证流转时也可以对权益进行拆分、合并。区块链系统保证流转前后通证总权益没有增减。
Description
技术领域
本发明涉及区块链领域,具体涉及一种区块链方法、系统及计算机可读存储介质。
背景技术
区块链是一种分布式记账系统。这种分布式记账系统包括由多个节点组成的分布式网络,每个节点都运行处理相同区块链协议的程序记录区块链上的交易。交易由若干输入和输出通证组成。通证(Token)是区块链中可流通的价值加密数字凭证。通证具备价值和权属二个要素。传统上通证的价值要素采用以单个数值表达的形态,这种通证我们称为数值通证。例如一个比特币的通证,如果抛开其拥有者和加密部分不谈,其核心内容就是比特币的数量。传统上数值通证的一个局限性就是对通证只能进行量的分拆和合并,不能对通证权益的性质进行分拆和合并。例如,传统上一个代表电影院会员权益的数值通证只能完整地转让给他人,而不能将观看某一场次电影的会员权益转让给他人,而原通证持有者保留剩余的会员权益。
发明内容
本发明提供一种区块链方法,旨在解决上述问题。
本发明是这样实现的,一种区块链方法,所述方法具体包括如下步骤:
S1、接收交易信息或者是区块信息,所述区块信息由交易信息打包形成;
S2、验证接收到的交易或区块中的交易是否合法;
S3、若接收到的区块合法,则将所述区块加入本地区块链数据的尾部;若接收到的交易合法,则保留所述交易,周期性地将所收到的合法交易打包成区块,将所述打包成的区块加入本地区块链数据的尾部并向区块链网络中的其他节点广播;
所述交易包含通证,通证包含价值项和权益集,所述权益集是权益项的集合,所述权益项是指向权益树林中结点的索引或句柄;
所述价值项为:数值、几何体或独特值;所述独特值为事物的标识;
权益树林由一组权益树组成,权益树是一树状数据结构,权益树中结点包含描述权益范围的文本,结点的子结点总是成对存在,节点一对子结点的权益范围在其父结点的权益范围内互补。
进一步的,验证交易合法性包括验证交易的完整性,当所述价值项为数值时,对交易完整性进行验证具体包括如下步骤:
21)将输入通证组和输出通证组中每个通证拆为若干个简单通证,每个简单通证只包含所述通证权益集中的一个权益项,简单通证的价值项与所述通证的价值项相同,拆分后的简单通证分别构成输入简单通证组和输出简单通证组;
22)基于221)、222)及223)对输入简单通证组及输出简单通证组中通证进行合并,直至输入简单通证组和输出简单通证组相同,或不存在可以合并的通证;输出合并后的输入简单通证组及输出简单通证组;若合并之后的输入简单通证组与输出简单通证组相同,则判定交易是完整的;
221)若输入简单通证组或输出简单通证组中存在价值项相同,且权益项在同一父权益下互补的两个简单通证,则将所述二个简单通证合并,形成一个价值项与简单通证相同,权益集仅包含父权益项的通证;
222)若输入简单通证组或输出简单通证组中存在价值项不同,但权益项在同一父权益下互补的两个简单通证,则形成通证一和通证二,通证一的价值项为简单通证中的较小价值项,权益集仅包含父权益项,通证二的价值项为二个简单通证的价值项之差,权益集为价值项较大的简单通证的权益集;
223)若输入简单通证组或输出简单通证组中存在权益集相同的两个简单通证,则将二个简单通证进行合并,形成一个价值项为二个简单通证的价值项之和,权益集为所述权益集的通证。
进一步的,验证交易合法性包括验证交易的完整性,当所述通证的价值项是几何体时,对交易完整性进行验证具体包括如下步骤:
31)构造交易的基本权益集;
32)对于基本权益集中的每个基本权益项,分别查找涵盖基本权益项的匹配输入通证及匹配输出通证,分别对匹配输入通证及匹配输出通证的几何体进行合并,验证合并后的输入几何体组和合并后的输出几何体组是否几何完整,若是,则认定交易在该基本权益项下的是完整的;
33)若交易在所有基本权益项下均是完整的,则判定交易是完整的。
基本权益集是交易中输入通证权益集和输出通证权益集并集的一个子集,子集中没有任何一个权益项是另一个权益项的祖先,并集中的任一权益项或者是基本权益集中的基本权益项或者可由基本权益集中的一组基本权益项互补合并形成;
几何完整:输入几何体组和输出几何体组若相同,则输入几何体组和输出几何体组是几何完整的。
进一步的,输入几何体组及输出几何体组满足条件1及条件2才可判定输入几何体组与输出几何体组相同,条件1及条件2具体如下:
条件1:输出几何体组中的几何体之间不存在空间上的重叠;
条件2:所有输入几何体组的几何体所占据的空间与所有输出几何体组的几何体所占据的空间相同。
进一步的,交易中的几何体为多边形,多边形以一组环的形式表示,环是一组有序排列的有向边界线,有向边界线是包含边界线及其走向信息的数据,所述边界线树林是一组边界线树;所述边界线树是一树状数据结构;边界线是指向边界线树林中结点的索引或句柄,边界线树的结点代表由所述结点为根的子树中所有叶结点所代表的边构成的曲折线;
将所有输入几何体组中的多边形及所有输出几何体组中的多边形分别进行合并,形成一组输入合并多边形及一组输出合并多边形;
若输入合并多边形组与输出合并多边形组由相同的多边形组成,则判定输入合并多边形组与输出合并多边形组是几何完整的;
若两个环的有向边界线列表的数量、顺序、和内容都相同,或者是经过若干次操作1或操作2后,两个环的有向边界线列表的数量、顺序、和内容都相同,则二个环等价:
操作1:循环轮换环其中一个环的有向边界线列表;
操作2:在其中一个环中以子边界线替换一个有向边界线;
如果两个多边形中的环按等价关系一一对应,则所述两个多边形是相同的。
进一步的,多边形的合并的方法具体包括如下步骤:
S11、检测待合并多边形A和多边形B是否有共同的边,若检测结果为是,获取多边形A及多边形B的所有共同边组成的若干条曲折线段,所述曲折线段的端点为(e1,f1),(e2,f2),...,(ew,fw),其中不存在二条有共同端点的曲折线段;
S12、对于上述每个曲折线段(ej,fj),执行以下步骤,全部完成后,A和B中所有的非空的环即组成合并后的多边形:
S121、若ej或fj不是所在有向边界线的端点,则在包括所述有向边界线的环中,反复以子边界线替换所述有向边界线,使该ej和fj在所述环中都是某条有向边界线的端点;
S122、若曲折线段(ej,fj)出现在二个不同的环Q和环R中,将环Q和环R合并为一个等价于W的环,产生环W的方法具体如下:
环Q和环R分别按原循环顺序但不包括曲折线段(ej,fj)中的边界线重新排列形成两个有向边界线列表,两个有向边界线列表的首有向边界线的起点和尾有向边界线的终点都是曲折线段(ej,fj)的端点,然后将上述二个有向边界线列表拼接成为一个列表,拼接后的有向边界线列表构成新环W;
S123、若曲折线段(ej,fj)在一个环W中出现二次,将环W分拆为等价于环W1和环W2的二个新环,环W1和环W2分别由环W中按循环顺序出现在曲折线段(ej,fj)之间二组有向边界线按原循环顺序分别组成。
进一步的,基本权益集构造方法具体包括以下步骤:
71)将输入通证中的权益集和输出通证中的权益集进行合并,形成集合R1;
72)基于步骤73)及步骤74)替换集合R1中的权益项直至集合R1直至集合R1中不存在有祖先-后代关系的权益项,则集合R1为基本权益集;
73)检测集合R1中是否存在祖先-后代关系的权益项对;
74)若检测结果为是,则获取权益项对中后代到祖先之间的父子关系链上的除祖先之外的每个权益项r,将权益项r的补项添加至并集R1,从并集R1中删除该祖先权益项。
进一步的,验证交易合法性包括验证交易的完整性,所述通证的价值项是独特值,对交易完整性进行验证具体包括如下步骤:
81)将所有输入通证和输入通证中的独特值纳入一独特值集;
82)对于独特值集中的每个匹配独特值,分别查找含有所述匹配独特值的匹配输入通证及匹配输出通证,分别将匹配输入通证及匹配输出通证权益集中的全部权益项添加进输入匹配权益组和输出匹配权益组;
83)分别对输入匹配权益组和输出匹配权益组进行互补合并,形成输入合并权益组和输出合并权益组;
84)验证输入合并权益组和输出合并权益组是否相同,若是,则认定交易在匹配独特值下的是完整的;
85)若对于独特值集中的所有匹配独特值,交易都是在匹配独特值集下完整的,则判定交易是完整的。
本发明是这样实现的,通证在区块链系统中的流通过程中,用户构造交易,并将交易数据发送给区块链中的节点,所述交易的构造包括对权益的拆分和合并,权益拆分的方法具体如下:
将输入通证权益集中的权益项分割为二个互补的子集;
构造二个输出通证,其价值项与所述输入通证的价值项相同,其权益项分别为所述二个子集;
权益合并的方法具体如下:
对相同价值项的两输入通证进行权益合并,形成一个输出通证,输出通证的价值项与输入通证中的价值项相同,权益集是二个输入通证权益集的并集;
所述交易包含通证,通证包含价值项和权益集;所述价值项为:数值、几何体或独特值;所述独特值为事物的标识;所述权益集是权益项的集合,所述权益项是指向权益树林中结点的索引或句柄;权益树林由一组权益树组成,权益树是一树状数据结构,权益树中结点包含对权益范围的文字描述,结点的子结点成对存在,称为子结点对,子结点对的权益范围在其父结点的权益范围内互补。
本发明是这样实现的,一种区块链系统,所述系统由若干个节点和若干个终端组成,所述节点和所述终端与互联网相连并通过互联网相互通信;
所述终端根据用户基于前述区块链方法来构造交易信息,并将交易信息发送至所述区块链系统中的节点;
所述节点接收终端发送来的交易信息或者是其他节点发送来的区块信息,所述区块信息由交易信息打包形成;所述节点基于前述区块链方法来验证接收到的交易或区块中的交易是否合法,若接收到的区块合法,则将所述区块加入本地区块链数据的尾部;若接收到的交易合法,则保留所述交易,周期性地将所收到的合法交易打包成区块,将所述打包成的区块加入本地区块链数据的尾部并向区块链网络中的其他节点广播。
本发明是这样实现的,一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现任意前述区块链方法。
区块链系统由与互联网相连的多个区块链节点组成。每个节点都可以接收来自网络终端的交易信息和来自其它节点的区块。节点收到交易信息后验证所收到的交易是合法的,包括验证交易的输入是区块链中未使用的通证;交易有恰当的授权;交易是完整的。区块链系统只接受通过验证的交易。本发明提出了带权益通证的交易生成和验证的方法。
本发明提出通证可以包含一个权益集;权益可以分割或合并,本发明定义了分割和合并的方法;任何权益都可以根据任意文字定义分割为肯定和否定的二种互补权益,反之这二种权益也可以合并为一个权益。进一步的,通证可以按权益进行拆分,将通证中的权益集拆分为二个不相交的子集,将一个通证拆分为二个。
进一步,本发明还提出通证的价值形态可以不仅仅是一个数值,还可以是一个几何体或者一个独特值。对于不同的价值类型,本发明提出了具体的交易验证、通证拆分和合并的方法。这些方法共同构成一个区块链系统,能够实现传统区块链系统无法提供的功能,更好地满足用户的需求。
以与土地相关的权益为例。如果在区块链中以多边形代表土地,一个传统方法的区块链只能代表一种土地权益,如土地所有权。而通过本发明所提供的权益拆分和合并的方法,一个带权益的以多边形代表土地的区块链可以代表各种土地权益,如所有权、承包权、经营权、产出权等。更好地满足土地流转的需要。
再以包含数值价值和权益的通证为例。传统方法的区块链只能对数值所代表的权利进行完全的转让,无法进行部分转让。例如,如果数值代表了电影院的会员权,传统区块链只允许转让整份的会员权,而不允许转让部分会员权利,如观看某场次电影的权利。通过本发明所提供的权益拆分和合并的方法,可以将看某一场次电影的权利转让而保留其余会员权利。
再以包含独特价值和权益的通证为例。独特价值适合用于代表现实世界中独一无二的物品,如艺术品。物品虽然独一无二,但关于物品权益却可以有很多。艺术品可以出售、可以质押、可以出租等等。通过在区块链上记录艺术品权益的流转,能提高艺术品防伪性,也可增加艺术品的流通性。
附图说明
图1为本发明实施例提供的区块链系统的结构示意图;
图2为本发明实施例提供的权益关系的结构示意图;
图3为本发明实施例提供的带权益多边形通证交易的示意图,其中(a)为输入多边形的几何示意图,(b)为输出多边形的几何示意图;
图4为本发明实施例提供的几何图形的数据结构存储示意图,其中(a)为几何图形的示意图,(b)为图(a)中几何图形的树状数据存储结构;
图5为本发明实施例提供的待合并几何图形的结构示意图;
图6为本发明实施例提供的几何图形合并的示意图一;
图7为本发明实施例提供的几何图形合并的示意图二。
具体实施方式
基于本发明的原理可以有多种实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例或原理,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1是一个区块链系统,由一个或多个连接到互联网(S101)的网络终端(S102)和一个或多个连接到互联网(S101)的区块链节点(S103)所组成。网络终端(S102)根据用户输入构造交易,将交易信息通过互联网(S101)发送给区块链节点(S103)。每个区块链节点(S103)都可以接收来自网络终端(S102)的交易信息和来自其它区块链节点(S103)的区块。交易包括一组输入和一组输出。交易的每个输出就是一个通证。在一些区块实施方案中,交易的每个输入是对另一个交易输出通证的引用;在另一些区块实施方案中,交易的每个输入也是一个通证。节点(S103)收到交易信息后验证所收到的交易是合法,包括验证交易的输入是区块链中未使用的通证;对于使用未花费交易输出(UTXO)记账方式的区块链来说,未使用的通证指的就是未被任何交易引用为输入的某个交易的输出;对于使用账户记账方式的区块链来说,未使用的通证指的就是通证提供者账户内的通证;交易有恰当的授权;交易是完整的。节点(S103)将一段时间内收到的合法交易打包产生一个区块,将该区块作为区块链的最新区块加进本地区块链数据,并通过互联网(S101)向网络中的其它节点(S103)广播。节点(S103)收到来自其它节点(S103)的新区块后验证所收到的区块中的所有交易都是合法的。如果所有交易都通过验证为合法,将该区块作为区块链的最新区块加进本地区块链末尾。
网络终端(S102)可以是电脑、手机、或者其它智能设备,区块链节点(S103)可以是电脑、区块链矿机、或者服务器。
本发明的实施例是一个区块链方法,具体包括以下步骤:
S1、接收交易信息或者是区块信息,区块信息由交易信息打包形成;
S2、验证接收到的交易或区块中的交易是否合法;
S3、若接收到的区块合法,则将区块加入本地区块链数据的尾部;若接收到的交易合法,则保留该交易,周期性地将所收到的合法交易打包成区块,将打包成的区块加入本地区块链数据的尾部并向区块链网络中的其他节点广播。
区块链节点验证交易的合法性。区块链节点由权益数据库、处理器单元组成。权益数据库中以树状数据结构储存有区块链中所有权益的定义,处理器单元将权益定义数据存入权益数据库,并根据权益数据库中的信息验证交易的合法性。对交易合法性的验证包括验证交易的完整性。
交易包括一组输入和一组输出。输入是对区块链中可用通证的引用,输出是交易所产生的新通证。主流区块链技术有二种记账方式,一种是UTXO记账方式,如比特币网络所采用的,这种方法不集中记录用户的资产,用户以密码学解锁交易输出的方式证明对该交易输出的所有权同时并花费该交易输出。另一种是与传统记账方式更类似的账户记账方式,如以太坊网络所采用的,这种方法中区块链除交易记录外,节点还储存从地址到资产的映射关系;每个映射关系就是一个账户;地址是一个公钥的哈希值,交易中资产转出方以密码学方式证明其对交易输入地址的所有权;合法交易一旦加入区块链,节点更新该映射关系,从资产输出方的账户中扣除所转出的资产,并添加进资产输入方的账户中,完成转账。实施本发明时可以随意选用这二种记账方式之一。若选用UTXO记账方式,可用通证就是其它交易未被使用的输出。若选用账户记账方式,账户就是一个从区块链地址到通证集的映射关系,可用通证就是该通证集中的通证;交易中通证转出方以密码学方式证明其对交易输入中地址的所有权,节点验证该地址所对应的通证集合中有交易输入所要求的通证,一旦交易记录进区块链,节点从交易输入方账户的通证集中删除交易输入的通证,将交易输出中的通证添加进交易输出方账户的通证集。对于本发明来说采用UTXO记账方式更为便利,所提供的实施例均基于UTXO记账方式。但本领域内的技术人员根据本发明的说明可以在没有作出创造性劳动的情况下构造本发明一个基于账户记账方式的实施例,这也属于本发明的保护范围
通证包含以下数据:a)一个价值项;b)一个权益项组成的权益集。我们以[V,R]来记一个通证,其中V是通证的价值项,R是权益项的集合。通证的价值项可以是以下三种类型之一:
a)一个数值;例如数值5代表5个比特币;
b)一个几何体;例如一个多边形代表一块土地;通证中的几何体不限于多边形,
可以是多面体,或者是任何数学上的几何体,如球体、曲面等等。
c)一个独特值;独特值是事物的标识。
独特值可以有很多种类,其特征是独特性,因而在信息处理过程中不可分割或与其它数据合并。独特值可以代表现实或虚拟的物体、事件或人物。独特值可以是一个哈希值、一个真实或虚拟事物(包括人物、事件、物体、地点、地区、项目、计划、组织机构、团体、概念、程序、方法、过程、自然现象等一切可命名的事物)的名称或代号、一个索引值或句柄。
例如一幅画作扫描图像的哈希值,用于代表一幅绘画作品,就是一个独特值。人名、地名也都可以是独特值。事件名称,例如“2016年奥运会”也可以作为一个独特值。虚拟事物,例如“企业号星舰”,也可以作为一个独特值。
任何权益F都可以根据任何定义d分拆为肯定和否定的二个权益;称原权益为父权益,分拆后的权益为子权益;这二个子权益在父权益之下互补,记在F范围内对定义d的内容肯定的子权益为F(d),对定义d的内容否定的子权益为F(~d)。称这二个子权益的每一个子权益为另一个子权益的补项,即F(d)是F(~d)的补项,F(~d)是F(d)的补项。而如此分拆而成的二个子权益F(d)、F(~d)也可以合并为其父权益F,即:F=F(d)∪F(~d);一个权益称为是另一个权益的祖先(或后代),如果它们之间存在一个有父子关系的权益所构成的链。
权益以一个三元组(p,d,f)来表示,若其索引值为R,可记为R(p,d,f),或简记为R。我们可以用该三元组的哈希值作为其索引值。在该三元组中p是父权益项,为区块链中一个权益项索引值(没有父权益项时为nil);d是定义项,是任意长度的任意文本;文本包括人类可读的文字,或者是计算机程序可处理的数据;f是性质项,为一布尔值;如果f为真,权益R的范围是在p的范围内对定义d的内容肯定的权利;如果f为假,权益R的范围是在p的涵义范围内对定义d的内容否定的权利。
权益按其父子关系构成一树状的数据结构,称为权益树,其中每个结点代表一个权益,树中结点的父子关系代表权益的父子关系。结点的子结点总是成对地以互补关系出现。权益数据库储存多个权益树,这些权益树构成了权益树林。通证权益集中每个权益项都是权益树林中结点的索引或句柄。
通证的权益集若只包含一个权益项,称为简单通证。
在一个权益集或权益组中,二个权益项若存在互补关系,在该权益集或权益组中用它们的父权益项替换这二个互补的子权益项,这种操作称为互补合并。
一个通证涵盖一个权益项如果该权益项本身或其一个祖先属于该通证的权益集。
以与土地相关的权益为例。假设有代表一块土地的通证[L,{P(nil,“土地所有权”,true)}],L是代表土地的多边形。在土地承包时,持有通证[L,{P}]的村委会将通证分拆为[L,{Q(P,“土地承包权”,true)}]和[L,{S(P,“土地承包权”,false)}]二个通证,将前一个通证转让给承包户,而自己保留后一个通证。农户可进一步将后一个通证再分拆为[L,{T(Q,“土地经营权”,true)}]和[L,{U(Q,“土地经营权”,false)}]二个通证。
再以包含数值价值和权益的通证为例。假设电影院发放了价值为5,权益集为{P(nil,“会员权”,true)}的通证[5,{P}],该通证代表了5张会员卡。假设该电影院规定每周二会员免费看电影,则该通证持有人可以将该通证拆分为[5,{Q(P,“2019/11/5”,true)}],和[5,{R(P,“2019/11/5”,false)}]的二个通证。前者是代表的是观看2019年11月5日免费电影的权利,通证持有人可以继续将其分拆为5个[1,{Q}]的通证,并转给5位朋友于2019/11/5观影。后者,通证持有人可以继续分拆为[5,{S(R,“2019/11/12”,true)}],和[5,{T(R,“2019/11/12”,false))}]二个通证。如此不断,可以每周二都做一次权益分拆,邀请5人观影。
再以包含独特价值和权益的通证为例。假设博物馆有一幅代表画作的通证[D,{P(nil,“所有权”,true)}],D是一幅画作数字扫描图像的哈希值。假设该博物馆将画作租给另一博物馆在2019年12月中展出,原博物馆可以将该通证拆分为[D,{S(P,“2019年12月展出权”,true)}]和[D,{T(P,“2019年12月展出权”,false)}]。将前者转给展出的博物馆;后者自己保留,可以继续拆分为其它时间段的展出权。
区块链节点验证交易的合法性,验证交易合法性包括验证交易的完整性,只有完整的交易才是合法的交易。完整性指的是输入和输出在性质和数量上相同的特性,其具体内涵根据通证的类型而定。合法性验证还包括如传统的以密码学方法验证交易中通证的所有权,但这不属于本发明的内容。
验证交易完整性的程序可以属于区块链内核程序的一部分,也可以包括在部署于区块链上的智能合约中,当区块链内核程序执行智能合约时,交易得到验证。无论是采用何种方式,都属于本发明的保护范围。
本发明的一个实施例是对于价值项为数值类的通证验证交易完整性的方法,具体如下:
a)将交易中的通证拆分为简单通证,拆分方法是对于输入通证组和输出通证组中每个通证,为通证的每个权益项构造一个简单通证,该简单通证的权益集只包含该权益项、价值项与原通证的价值项相同;由输入通证拆分而来的简单通证纳入输入简单通证组;由输出通证拆分而来的简单通证纳入输出简单通证组;
b)若输入通证组或输出通证组中有二个通证的价值项相同,其权益项在同一父权益下互补,则在所述通证组中将所述二个通证合并为一个价值项与原通证相同,权益集仅包含所述父权益项的通证;
c)若输入通证组或输出通证组中有二个通证其价值项不同,权益项在同一父权益下互补,则将所述二个通证以一个价值项与原通证价值项中较小者相同,权益集仅包含该父权益项的通证,和一个价值项为二个通证价值项之差,权益集与原通证价值项较大者相同的通证替换;
d)若输入通证组或输出通证组中有二个通证权益集相同,则将这二个通证以一个价值项为这二个通证的价值项之和,权益集和这二个通证的权益集相同的通证替换;
f)若经过若干次上述操作后,输入通证组和输出通证组相同,则判定交易是完整的。
以一个具体的例子来说明用简单通证法验证交易完整性的方法。假设交易输入通证是A=[5,{a,b,c,d}],B=[7,{a,e,f,g}],输出通证是C=[5,{a,d,f}],D=[5,{g,k,h}],E=[7,{a,f,g}],F=[5,{c,e}],G=[7,{e}],其中权益树如图2所示,a=c∪g,b=d∪k,c=f∪h,d=e∪a。
对于输入通证组,首先按步骤a)将通证拆分为简单通证,结果为:[5,a],[5,b],[5,c],[5,d],[7,a],[7,e],[7,f],[7,g]。然后按步骤d)进行合并,结果为:[12,a],[5,b],[5,c],[5,d],[7,e],[7,f],[7,g]。然后再步骤c)进行合并,结果为:[5,a],[5,b],[5,a],[2,g],[5,d],[7,d],[7,f]。再按步骤d)进行合并,结果为:[10,a],[5,b],[2,g],[12,d],[7,f]。
对于输出通证组,首先按步骤a)将通证拆分为简单通证,结果为:[5,a],[5,d],[5,f],[5,g],[5,k],[5,h],[7,a],[7,f],[7,g],[5,c],[5,e],[7,e]。然后按步骤b)进行合并,结果为:[5,d],[5,b],[5,c],[5,a],[7,a],[7,f],[7,g],[7,e]。然后按步骤d)进行合并,结果为:[5,d],[5,b],[5,c],[12,a],[7,f],[7,g],[7,e]。然后再步骤c)进行合并,结果为:[5,d],[5,b],[5,a],[5,a],[7,f],[2,g],[7,d]。然后按步骤d)进行合并,结果为:[12,d],[5,b],[10,a],[7,f],[2,g]。根据步骤e)输出通证组与输入通证组的最后结果相同,交易是完整的。
本发明的一个实施例是对于价值项为几何体的通证验证交易完整性的方法,包括以下步骤:
11)构造交易的基本权益集;
12)对于基本权益集中的每个基本权益项,分别查找涵盖基本权益项的匹配输入通证及匹配输出通证,分别对匹配输入通证及匹配输出通证的几何体进行合并,验证合并后的输入几何体组和合并后的输出几何体组是否几何完整,若是,则认定交易在该基本权益项下的是完整的;
13)若交易在所有基本权益项下均是完整的,则交易是完整的。
基本权益集是交易中所有输入和输出通证权益集并集的一个子集,其中没有任何一个权益项是另一个权益项的祖先,且并集中的任一权益项或者属于基本权益集,或者可由一组基本权益集中的权益项通过互补合并而得。
输入几何体组和输出几何体组若相同,则输入几何体组和输出几何体组是几何完整的。
输入几何体组及输出几何体组满足条件1及条件2才可判定输入几何体组与输出几何体组相同,条件1及条件2具体如下:
条件1:输出几何体组中的几何体之间不存在空间上的重叠;
条件2:所有输入几何体组的几何体所占据的空间与所有输出几何体组的几何体所占据的空间相同。
图3是一个验证涉及几何体交易完整性的示例。图中权益a-g之间的关系与图2中所示相同。输入多边形为U(△AED),V(△BEA),S(△BCF),T(△CDF),输出多边形为X(ABCFE),Y(△CDF),Z(□ABCD)。它们各自的权益集为:U{f,c},V{d,c},S{d,c},T{b,c},X{g},Y{g,e},Z{f,c}。在本示例中,所有输入和输出中权益的集合是G={f,c,d,b,g,e},其基本权益集R={f,c,g,e}。对于权益f,权益集涵盖F的输入和输出多边形分别是{U,V,S,T}和{Z},输入多边形合并后是□ABCD,与Z相同,因此是几何完整的。权益集涵盖c的输入和输出多边形分别也是{U,V,S,T}和{Z},因此也是几何完整的。权益集涵盖g的输入和输出多边形分别是{V,S,T}和{X,Y},输入多边形合并后是多边形ABCDFE,输入多边形合并后也是多边形abcdfe,因此是几何完整的。权益集涵盖e的输入和输出多边形分别是{T}和{Y},它们都是△cdf,因此是几何完整的。因此,对于每个基本权益项,输入多边形合并后与输出多边形合并后相同,它们都是几何完整的,因此该交易是完整性的。
多边形是一种几何体。本发明的一个实施例是对于通证中价值项为多边形的交易,验证一个输入几何体组和一个输出几何体组的几何完整性的方法。
首先,本地设备储存边界线树林;边界线树林是一组边界线树;边界线树是一树状数据结构。边界线之间具有树状层次结构。在几何意义上,边界线或者本身就是多边形的一条边,或者是由首尾相连的若干条其它边界线组成。边界线中的边可以属于同一个多边形,也可以属于不同的多边形。数据结构上边界线代表树中的结点,结点储存边界线的实际数据和与树的结构相关的信息。边界线一般是边界线树中结点的索引或指针,通常为结点数据的哈希值。几何意义上,结点代表二个顶点(它们不一定相邻,可以不属于同一个环或多边形)之间相连边构成的一条曲折线。这二个顶点分别称为起点和终点,统称为端点,当结点没有子结点时,它代表的就是连接这二点的线段,即为多边形中的一条边;当结点有子结点时,该结点代表的是边界线树中以该结点为根的子树中所有叶结点所代表的边构成的曲折线。结点按其从属关系(也称为父子关系)组成一个树形结构。本实施例中结点信息包含边界线起点和终点的顶点的索引以及其父结点的索引(没有父结点则为nil)。这些信息我们以一个三元组(a,b,f)表示,a是起点的索引,b是终点的索引,f是父结点的索引。结点索引是唯一代表一个结点的值,可以用对其内容作哈希运算所得的结果作为索引。顶点的索引是唯一代表一个顶点的值,可以用对顶点坐标作哈希运算所得的结果作为顶点的的索引。
多边形以一组环的形式表示,环是一组有序排列的有向边界线,有向边界线是包含边界线及其走向信息的数据;边界线是边界线树林中结点的索引或句柄;边界线树林是一组边界线树;边界线树是一树状数据结构;边界线树的叶结点代表多边形的一条边;边界线树的结点代表由以该结点为根的子树中所有叶结点所代表的边构成的曲折线。
在本发明实施例中,如果有向边界线中的边界线d从起点到终点的方向与环的走向一致,则该走向标志f为真,否则走向标志f为假。因此若f为真,有向边界线的起点和终点分别就是边界线d的起点和终点;若f为假,有向边界线的起点是边界线d终点,有向边界线的终点是边界线d的起点。环的有向边界线列表是一个有序的列表,列表中的有向边界线排列顺序与沿环走向行走时的方向一致;如果按循环顺序重新排列环中的有向边界线,几何上得到的还是同一个环,我们称这二个有向边界线列表是循环等价的。
任一边界线都等价于其所有子边界线组成的曲折线。对于环中的有向边界线,如果按以下规则进行替换,所得的环与原环也是等价的:
如果环中有向边界线A中的边界线代表的是P为起点Q为终点的边界线,走向标志为F;该边界线PQ有一组子边界线PW1,W1 W2,…,Wn-1 Wn,Wn Q,则在环中以下列一组有向边界线替换A:如果F为真,一组有序的边界线为PW1,W1 W2,…,Wn-1 Wn,Wn Q,走向标识为真的有向边界线;如果F为假,一组有序的边界线为Wn Q,Wn-1 Wn,。。。,W1 W2,PW1,走向标识为假的有向边界线。
上述操作称为以子边界线替换有向边界线。
二个环如果可以通过反复以子边界线替换有向边界线成为循环等价的,我们称这二个环是等价的。环的等价也可以更正式地表述为:
通过若干次操作1或操作2后(包括不进行任何操作),若两个环的有向边界线列表的数量、顺序、和内容都相同,则二个环等价:
操作1:循环轮换其中一个环的有向边界线列表;
操作2:在其中一个环中以子边界线替换一个有向边界线。
二个多边形如果实际上占据相同的空间,无论它们以什么样的数据结构来表示,它们就是相同的。因此二个多边形,如果他们的环按等价关系一一对应,则这二个多边形是相同的。
对于按上述方式表示的多边形,验证一个输入几何体组和一个输出几何体组的几何完整性的方法包括:
将所有输入几何体组中的多边形及所有输出几何体组中的多边形分别进行合并,形成一组输入合并多边形及一组输出合并多边形;
若输入合并多边形组与输出合并多边形组由相同的多边形组成,则判定该交易是几何完整的。
图4(a)是一个包括4个多边形(S301,S302,S303,S304)的示例。图4(b)是图4(a)中多边形的部分边界线之间关系所形成的边界线的树状结构的示例,图中箭头代表的是边界线之间的父子关系,方框代表一条边界线,前一字母为起点,后一字母为终点。多边形S301由一个环组成,该环包含AE,EH,HA三条边界线。其中边界线AE是边界线AK的子边界线,也是边界线AD、DE的父边界线。边界线AD是边界线AB、BD的父边界线。当边界线的方向与环的走向不一致时,在环中该段边界线的走向标志为假,图中我们以在边界线前加“-”号来表示。因此多边形S302只有一个环,在该环中有边界线“-AD”。多边形S303只有一个环,在该环中有边界线“-DE”。多边形S304有一个环,在该环中有边界线“-EH”。在这4个多边形中,边界线AD、DE、EH的数据在二个多边形之间共享。
本发明的一个实施例是合并多边形的方法。区块链中的多边形采用前述方式表示。合并多边形A和多边形B具体包括如下步骤:
S11、找出A、B之间由且仅由全部共同边构成的曲折线段O1,O2,…On;其中没有二个曲折线段有共同端点;若不存在这样的曲折线段,则多边形A与多边形B不能进行合并;
S12、将多边形A和B所有的环添加进一个环的集合L;
S13、对于每条曲折线段Oj,其中(ej,fj)是曲折线段Oj两端的端点,执行如下步骤:
S131、若ej或fj不是所在的有向边界线的端点,则反复在包括所述有向边界线的环中以子边界线替换所述有向边界线使该ej和fj在所述环中都是某条有向边界线的端点;
S132、若Oj出现在L的二个环Q和R中,在L中将它们合并为一个环。合并的方法是在L中以下述新环替换Q和R;该新环是从Q和R的有向边界线列表中剔除Oj中的边界线后,按各自的原循环顺序重新排列它们的有向边界线使它们的第一条有向边界线的起点和最后一条有向边界线的终点都是Oj的端点,然后将上述二个有向边界线列表拼接组成新环。
S133、若Oj在L的一个环Q中出现二次,在L中将Q分拆为二个环W1和W2。W1和W2分别由环Q中按循环顺序出现在Oj二次出现之间的有向边界线按原循环顺序组成。或者说,这二个新环分别由以下顺序排列的边界线组成:从Oj开始按循环顺序遍历Q中所有有向边界线,遍历时将在Oj第一次出现结束后到第二次出现之前所经历有向边界线添加进一个环;将在Oj第二次出现结束后到再次出现之前所经历有向边界线添加进另一个环。
S134、按上述步骤处理完所有共同边界线后,L中的非空环即构成合并后的多边形。
上述合并多边形的方法不是唯一的多边形合并方法,任何人都可以通过循环轮换环中的有向边界线,或是用子边界线替换环中父有向边界线,或是将环中的有向子边界线合并为父有向边界线,产生不同于但等价于上述方法所产生的环,任何产生等价于上述方法所产生的多边形的合并方法都属于本发明的专利保护范围之内。
图5、图6是合并多边形的一个示例。图5中待合并多边形P和Q有二段前后相连的曲折线段,BCD和GHK。因为P和Q都只有一个环,我们也以P、Q指代相应的环。P环中的边界线是:AF,FH,HL,LA。Q环中的边界线是:ab,bc,ca。AF的子边界线是:AB,BC,CD,DE,EF。FH的子边界线是:FG,GH。HL的子边界线是:HK,KL。ab的子边界线是:aK,-HK,-HG,GD,-DC,-CB,Bb。
1)首先处理曲折线段BCD。因为B、D不是P和Q中边界线的端点,根据步骤S131对P和Q中边界线以子边界线替换,替换后P环的边界线是:AB,BC,CD,DE,EF,FG,GH,HK,KL,LA。Q环的边界线是:aK,-HK,-GH,GD,-CD,-BC,Bb,bc,ca。
因为曲折线段BCD出现在P和Q二个环中,根据步骤S132将它们合并为一个环,方法是:从Q环中删除BCD后以D为起点重新排列有向边界线,即得:DE,EF,FG,GH,HK,KL,LA,AB。从P环中删除BCD后以B为起点重新排列有向边界线,即得:Bb,bc,ca,aK,-HK,-GH,GD。合并为:DE,EF,FG,GH,HK,KL,LA,AB,Bb,bc,ca,aK,-HK,-GH,GD。
2)然后处理曲折线段GHK。因为GHK在上述合并后的环中出现了二次,根据步骤S133将该环分拆为二个环,一个环是从GD开始循环到FG结束的那些有向边界线,即得:GD,DE,EF,FG。另一个环是从KL开始循环到aK的那些有向边界线,即得:KL,LA,AB,Bb,bc,ca,aK。合并后的多边形由这二个环组成,如图6所示。
图6、图7是合并多边形的另一个示例。以上述合并后的多边形与另一单环多边形S合并。S的边界线是-FG,-EF,-DE,-GD。即S是边界线与上述合并后的多边形中一个环有相同的边,但走向相反的环。这二个多边形的共同曲折线段就是GD,DE,EF,FG。根据S132,需要对环GD,DE,EF,FG和-FG,-EF,-DE,-GD进行合并。合并方法是先从环S和环GD,DE,EF,FG中删除这些边界线。因为删除后这二个环都是空环,因此没有新环需要添加。合并的结果就是单一环的多边形,这个环就是:KL,LA,AB,Bb,bc,ca,aK,如图7所示。
本发明的一个实施例是构造基本权益集的方法,包括以下步骤:
a)合并交易中所有输入和输出中的权益集产生权益并集R;
b)如果R中有一对存在祖先-后代关系的权益项,对于从该后代(含)到该祖先(不含)的父子关系链上的每个权益项r,将r的补项添加进R;从R中删除该祖先权益项;
c)重复步骤a)直到R中不存在有祖先-后代关系权益项,则集合R即为原权益集的基本权益集。
如果一个权益项属于一个权益集,或所述权益项的一个祖先属于所述权益集,则所述权益集涵盖所述权益项。
本发明的一个实施例是对于价值项为独特值的通证验证交易完整性的方法,包括以下步骤:
31)将所有输入通证和输出通证中的独特值纳入一独特值集;
32)对于独特值集中的每个匹配独特值,分别查找含有所述匹配独特值的匹配输入通证及匹配输出通证,分别将匹配输入通证及匹配输出通证权益集中的全部权益项目添加进输入匹配权益组和输出匹配权益组;
33)分别对输入匹配权益组和输出匹配权益组进行互补合并,形成输入合并权益组和输出合并权益组;
34)验证输入合并权益组和输出合并权益组是否相同,若是,则认定交易在匹配独特值下的是完整的;
35)若对于独特值集中的所有匹配独特值,交易都是在匹配独特值集下完整的,则判定交易是完整的。
以一个具体的例子来说明上述方法。设A、B为独特值。a-h为权益项,其关系如图2所示。交易的输入为[A,{g}],[A,{f,h}],[B,{d}],输出为[A,{a}],[B,{c,g}],[B,{f,h}]。
根据步骤31),独特值集为{A,B}。
首先以A为匹配独特值,根据步骤32)产生输入匹配权益组[g,f,h]和输出匹配权益组[a]。根据步骤33)进行互补合并,形成输入合并权益组[a]和输出合并权益组[a]。根据步骤34)认定交易在A之下的是完整的。
然后以B为匹配独特值,根据步骤32)产生输入匹配权益组[d]和输出匹配权益组[c,g,f,h]。根据步骤33)进行互补合并,形成输入合并权益组[d]和输出合并权益组[d]。根据步骤34)认定交易在B之下的是完整的。
最后根据步骤35)判定交易是完整的。
本发明的一个实施例是构造区块链上交易的方法,通证在区块链系统中的流通过程中,用户构造交易,并将交易数据发送给区块链中的节点;交易包含通证,通证包含价值项和权益集;价值项为数值、几何体或独特值;独特值为事物的标识;权益集是权益项的集合,权益项是指向权益树林中结点的索引或句柄;权益树林由一组权益树组成,权益树是一树状数据结构,权益树中结点包含对权益范围的文字描述,结点的子结点总是成对存在,节点一对子结点的权益范围在其父结点的权益范围内互补;交易的构造包括对权益的拆分和合并,权益拆分的方法具体如下:
将输入通证权益集中的权益项分割为二个互补的子集;
构造二个输出通证,它们的价值项与输入通证中相同,它们的权益项分别为所述二个子集;
权益合并的方法具体如下:
对二个具有相同价值项的输入通证进行权益合并,包括构造一个输出通证,其中价值项与输入通证中相同,其权益集是二个输入通证的权益集的并集。
本发明的一个实施例是一种区块链系统,其特征在于,系统由若干个节点和若干个终端组成,所述节点和所述终端与互联网相连并通过互联网相互通信;
终端根据用户基于上述的区块链方法来构造交易信息,并将交易信息发送至所述区块链系统中的节点;
节点接收终端发送来的交易信息或者是其他节点发送来的区块信息,区块信息由交易信息打包形成;节点基于前述的区块链方法来验证接收到的交易或区块中的交易是否合法,若接收到的区块合法,则将所述区块加入本地区块链数据的尾部;若接收到的交易合法,则保留所述交易,周期性地将所收到的合法交易打包成区块,将所述打包成的区块加入本地区块链数据的尾部并向区块链网络中的其他节点广播。
本发明的一个实施例是一种区块链系统一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现前述任意一项区块链方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程说明(包括流程图、方框图、文字说明)来描述的。应理解可由计算机程序指令实现流程说明中的每一流程。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程中一项或多项指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程说明中的一项或多项指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程说明中一项或多项指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的步骤来描述的。应理解可由计算机程序指令实现的每一步骤。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在一个或多个步骤中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在一个或多个步骤中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在一个或多个步骤中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (11)
1.一种区块链方法,其特征在于,所述方法具体包括如下步骤:
S1、接收交易信息或者是区块信息,所述区块信息由交易信息打包形成;
S2、验证接收到的交易或区块中的交易是否合法;
S3、若接收到的区块合法,则将所述区块加入本地区块链数据的尾部;若接收到的交易合法,则保留所述交易,周期性地将所收到的合法交易打包成区块,将所述打包成的区块加入本地区块链数据的尾部并向区块链网络中的其他节点广播;
所述交易包含通证,通证包含价值项和权益集,所述权益集是权益项的集合,所述权益项是指向权益树林中结点的索引或句柄;
所述价值项为:数值、几何体或独特值;所述独特值为事物的标识;
权益树林由一组权益树组成,权益树是一树状数据结构,权益树中结点包含描述权益范围的文本,结点的子结点成对存在,称为子结点对,子结点对的权益范围在其父结点的权益范围内互补。
2.根据权利要求1所述区块链方法,其特征在于,所述验证交易合法性包括验证交易的完整性,当所述价值项为数值时,对交易完整性进行验证具体包括如下步骤:
21)将输入通证组和输出通证组中每个通证拆为若干个简单通证,每个简单通证只包含所述通证权益集中的一个权益项,简单通证的价值项与所述通证的价值项相同,拆分后的简单通证分别构成输入简单通证组和输出简单通证组;
22)基于221)、222)及223)对输入简单通证组及输出简单通证组中通证进行合并,直至输入简单通证组和输出简单通证组相同,或不存在可以合并的通证;输出合并后的输入简单通证组及输出简单通证组;若合并之后的输入简单通证组与输出简单通证组相同,则判定交易是完整的;
221)若输入简单通证组或输出简单通证组中存在价值项相同,且权益项在同一父权益下互补的两个简单通证,则将所述二个简单通证合并,形成一个价值项与简单通证相同,权益集仅包含父权益项的通证;
222)若输入简单通证组或输出简单通证组中存在价值项不同,但权益项在同一父权益下互补的两个简单通证,则形成通证一和通证二,通证一的价值项为简单通证中的较小价值项,权益集仅包含父权益项,通证二的价值项为二个简单通证的价值项之差,权益集为价值项较大的简单通证的权益集;
223)若输入简单通证组或输出简单通证组中存在权益集相同的两个简单通证,则将二个简单通证进行合并,形成一个价值项为二个简单通证的价值项之和,权益集为所述权益集的通证。
3.根据权利要求1所述区块链方法,其特征在于,所述验证交易合法性包括验证交易的完整性,当所述通证的价值项是几何体时,对交易完整性进行验证具体包括如下步骤:
31)构造交易的基本权益集;
32)对于基本权益集中的每个基本权益项,分别查找涵盖基本权益项的匹配输入通证及匹配输出通证,分别对匹配输入通证及匹配输出通证的几何体进行合并,验证合并后的输入几何体组和合并后的输出几何体组是否几何完整,若是,则认定交易在该基本权益项下的是完整的;
33)若交易在所有基本权益项下均是完整的,则判定交易是完整的;
基本权益集是交易中输入通证权益集和输出通证权益集并集的一个子集,子集中没有任何一个权益项是另一个权益项的祖先,并集中的任一权益项或者是基本权益集中的基本权益项或者可由基本权益集中的一组基本权益项互补合并形成;
几何完整:输入几何体组和输出几何体组若相同,则输入几何体组和输出几何体组是几何完整的。
4.根据权利要求3所述区块链方法,其特征在于,输入几何体组及输出几何体组满足条件1及条件2才可判定输入几何体组与输出几何体组相同,条件1及条件2具体如下:
条件1:输出几何体组中的几何体之间不存在空间上的重叠;
条件2:所有输入几何体组的几何体所占据的空间与所有输出几何体组的几何体所占据的空间相同。
5.根据权利要求3所述区块链方法,其特征在于,交易中的几何体为多边形,多边形以一组环的形式表示,环是一组有序排列的有向边界线,有向边界线是包含边界线及其走向信息的数据,所述边界线树林是一组边界线树;所述边界线树是一树状数据结构;边界线是指向边界线树林中结点的索引或句柄,边界线树的结点代表由所述结点为根的子树中所有叶结点所代表的边构成的曲折线;
将所有输入几何体组中的多边形及所有输出几何体组中的多边形分别进行合并,形成一组输入合并多边形及一组输出合并多边形;
若输入合并多边形组与输出合并多边形组由相同的多边形组成,则判定输入合并多边形组与输出合并多边形组是几何完整的;
若两个环的有向边界线列表的数量、顺序、和内容都相同,或者是经过若干次操作1或操作2后,两个环的有向边界线列表的数量、顺序、和内容都相同,则二个环等价:
操作1:循环轮换环其中一个环的有向边界线列表;
操作2:在其中一个环中以子边界线替换一个有向边界线;
如果两个多边形中的环按等价关系一一对应,则所述两个多边形是相同的。
6.如权利要求5所述区块链方法,其特征在于,多边形的合并的方法具体包括如下步骤:
S11、检测待合并多边形A和多边形B是否有共同的边,若检测结果为是,获取多边形A及多边形B的所有共同边组成的若干条曲折线段,所述曲折线段的端点为(e1,f1),(e2,f2),...,(ew,fw),其中不存在二条有共同端点的曲折线段;
S12、对于上述每个曲折线段(ej,fj),执行以下步骤,全部完成后,A和B中所有的非空的环即组成合并后的多边形:
S121、若ej或fj不是所在有向边界线的端点,则在包括所述有向边界线的环中,反复以子边界线替换所述有向边界线,使该ej和fj在所述环中都是某条有向边界线的端点;
S122、若曲折线段(ej,fj)出现在二个不同的环Q和环R中,将环Q和环R合并为一个等价于W的环,产生环W的方法具体如下:
环Q和环R分别按原循环顺序但不包括曲折线段(ej,fj)中的边界线重新排列形成两个有向边界线列表,两个有向边界线列表的首有向边界线的起点和尾有向边界线的终点都是曲折线段(ej,fj)的端点,然后将上述二个有向边界线列表拼接成为一个列表,拼接后的有向边界线列表构成新环W;
S123、若曲折线段(ej,fj)在一个环W中出现二次,将环W分拆为等价于环W1和环W2的二个新环,环W1和环W2分别由环W中按循环顺序出现在曲折线段(ej,fj)之间二组有向边界线按原循环顺序分别组成。
7.根据权利要3至6任一权利要求所述区块链方法,其特征在于,基本权益集构造方法具体包括以下步骤:
71)将输入通证中的权益集和输出通证中的权益集进行合并,形成集合R1;
72)基于步骤73)及步骤74)替换集合R1中的权益项,直至集合R1中不存在有祖先-后代关系的权益项,则集合R1为基本权益集;
73)检测集合R1中是否存在祖先-后代关系的权益项对;
74)若检测结果为是,则获取权益项对中后代到祖先之间的父子关系链上的除祖先之外的每个权益项r,将权益项r的补项添加至集合R1,从集合R1中删除该祖先权益项。
8.根据权利要求1所述区块链方法,其特征在于,所述验证交易合法性包括验证交易的完整性,所述通证的价值项是独特值,对交易完整性进行验证具体包括如下步骤:
81)将所有输入通证和输出通证中的独特值纳入一独特值集;
82)对于独特值集中的每个匹配独特值,分别查找含有所述匹配独特值的匹配输入通证及匹配输出通证,分别将匹配输入通证及匹配输出通证权益集中的全部权益项添加进输入匹配权益组和输出匹配权益组;
83)分别对输入匹配权益组和输出匹配权益组进行互补合并,形成输入合并权益组和输出合并权益组;
84)验证输入合并权益组和输出合并权益组是否相同,若是,则认定交易在匹配独特值下的是完整的;
85)若对于独特值集中的所有匹配独特值,交易都是在匹配独特值集下完整的,则判定交易是完整的。
9.一种区块链方法,其特征在于,通证在区块链系统中的流通过程中,用户构造交易,并将交易数据发送给区块链中的节点,所述交易的构造包括对权益的拆分和合并,权益拆分的方法具体如下:
将输入通证权益集中的权益项分割为二个互补的子集;
构造二个输出通证,两输出通证的价值项与所述输入通证的价值项相同,两输出通证的权益项分别为所述二个子集;
权益合并的方法具体如下:
对相同价值项的两输入通证进行权益合并,形成一个输出通证,输出通证的价值项与输入通证中的价值项相同,权益集是二个输入通证权益集的并集;
所述交易包含通证,通证包含价值项和权益集;所述价值项为:数值、几何体或独特值;所述独特值为事物的标识;所述权益集是权益项的集合,所述权益项是指向权益树林中结点的索引或句柄;权益树林由一组权益树组成,权益树是一树状数据结构,权益树中结点包含对权益范围的文字描述,结点的子结点成对存在,称为子结点对,子结点对的权益范围在其父结点的权益范围内互补。
10.一种区块链系统,其特征在于,所述系统由若干个节点和若干个终端组成,所述节点和所述终端与互联网相连并通过互联网相互通信;
所述终端根据用户基于权利要求9所述的区块链方法来构造交易信息,并将交易信息发送至所述区块链系统中的节点;
所述节点接收终端发送来的交易信息或者是其他节点发送来的区块信息,所述区块信息由交易信息打包形成;所述节点基于权利要求2至8所述的区块链方法来验证接收到的交易或区块中的交易是否合法,若接收到的区块合法,则将所述区块加入本地区块链数据的尾部;若接收到的交易合法,则保留所述交易,周期性地将所收到的合法交易打包成区块,将所述打包成的区块加入本地区块链数据的尾部并向区块链网络中的其他节点广播。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9任意一项所述的区块链方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010144044.7A CN111368001B (zh) | 2020-03-04 | 2020-03-04 | 一种区块链方法、系统及计算机可读存储介质 |
PCT/CN2021/076183 WO2021175109A1 (zh) | 2020-03-04 | 2021-02-09 | 一种区块链方法、系统及计算机可读存储介质 |
US17/896,316 US11954120B2 (en) | 2020-03-04 | 2022-08-26 | Blockchain method and system, and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010144044.7A CN111368001B (zh) | 2020-03-04 | 2020-03-04 | 一种区块链方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111368001A true CN111368001A (zh) | 2020-07-03 |
CN111368001B CN111368001B (zh) | 2023-06-02 |
Family
ID=71209692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010144044.7A Active CN111368001B (zh) | 2020-03-04 | 2020-03-04 | 一种区块链方法、系统及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11954120B2 (zh) |
CN (1) | CN111368001B (zh) |
WO (1) | WO2021175109A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021175109A1 (zh) * | 2020-03-04 | 2021-09-10 | 徐皓 | 一种区块链方法、系统及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148527A1 (en) * | 2016-03-03 | 2017-09-08 | Nec Europe Ltd. | Method for managing data in a network of nodes |
CN109325752A (zh) * | 2018-08-15 | 2019-02-12 | 何帆 | 分布式发电收益流通结算系统、方法以及存储介质 |
CN109472696A (zh) * | 2018-09-29 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 资产交易方法、装置、存储介质及计算机设备 |
WO2019184296A1 (zh) * | 2018-03-28 | 2019-10-03 | 深圳市网心科技有限公司 | 基于区块链的数字信息交易方法、系统、装置及存储设备 |
CN110838063A (zh) * | 2019-09-30 | 2020-02-25 | 远光软件股份有限公司 | 基于区块链的交易处理方法、电子设备和存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011115833A2 (en) * | 2010-03-15 | 2011-09-22 | DynamicOps, Inc. | Distributed event system for relational models |
US20140074679A1 (en) * | 2012-06-18 | 2014-03-13 | Bart P.E. van Coppenolle | Targeted objective complementary currency |
US20180082290A1 (en) * | 2016-09-16 | 2018-03-22 | Kountable, Inc. | Systems and Methods that Utilize Blockchain Digital Certificates for Data Transactions |
US10838779B1 (en) * | 2016-12-22 | 2020-11-17 | Brain Technologies, Inc. | Automatic multistep execution |
US11341488B2 (en) * | 2017-02-06 | 2022-05-24 | Northern Trust Corporation | Systems and methods for issuing and tracking digital tokens within distributed network nodes |
US11455380B2 (en) * | 2018-11-20 | 2022-09-27 | International Business Machines Corporation | Chain-of-custody of digital content in a database system |
US11048690B2 (en) * | 2018-11-21 | 2021-06-29 | Adobe Inc. | Contribution of multiparty data aggregation using distributed ledger technology |
CN109583905A (zh) * | 2018-12-21 | 2019-04-05 | 众安信息技术服务有限公司 | 基于区块链网络的利用通证来实现数据共享的方法和设备 |
US11372817B2 (en) * | 2019-04-18 | 2022-06-28 | International Business Machines Corporation | Synchronization of peers |
CN110458700A (zh) * | 2019-06-19 | 2019-11-15 | 远光软件股份有限公司 | 一种通证生成方法、供应链金融系统以及电子设备 |
US20210117938A1 (en) * | 2019-10-21 | 2021-04-22 | Mastercard International Incorporated | Method and system for control of pii through limiting transfers on blockchain |
CN111368001B (zh) * | 2020-03-04 | 2023-06-02 | 徐皓 | 一种区块链方法、系统及计算机可读存储介质 |
-
2020
- 2020-03-04 CN CN202010144044.7A patent/CN111368001B/zh active Active
-
2021
- 2021-02-09 WO PCT/CN2021/076183 patent/WO2021175109A1/zh active Application Filing
-
2022
- 2022-08-26 US US17/896,316 patent/US11954120B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148527A1 (en) * | 2016-03-03 | 2017-09-08 | Nec Europe Ltd. | Method for managing data in a network of nodes |
WO2019184296A1 (zh) * | 2018-03-28 | 2019-10-03 | 深圳市网心科技有限公司 | 基于区块链的数字信息交易方法、系统、装置及存储设备 |
CN109325752A (zh) * | 2018-08-15 | 2019-02-12 | 何帆 | 分布式发电收益流通结算系统、方法以及存储介质 |
CN109472696A (zh) * | 2018-09-29 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 资产交易方法、装置、存储介质及计算机设备 |
CN110838063A (zh) * | 2019-09-30 | 2020-02-25 | 远光软件股份有限公司 | 基于区块链的交易处理方法、电子设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
张亮;刘百祥;张如意;江斌鑫;刘一江;: "区块链技术综述" * |
曹傧;林亮;李云;刘永相;熊炜;高峰;: "区块链研究综述" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021175109A1 (zh) * | 2020-03-04 | 2021-09-10 | 徐皓 | 一种区块链方法、系统及计算机可读存储介质 |
US11954120B2 (en) | 2020-03-04 | 2024-04-09 | Hao Xu | Blockchain method and system, and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20220414120A1 (en) | 2022-12-29 |
CN111368001B (zh) | 2023-06-02 |
WO2021175109A1 (zh) | 2021-09-10 |
US11954120B2 (en) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200274694A1 (en) | Methods and Systems for a Heterogeneous Multi-Chain Framework | |
AU2019229435B2 (en) | Methods and apparatus for a distributed database within a network | |
AU2017357770B2 (en) | Methods and apparatus for a distributed database including anonymous entries | |
US11734260B2 (en) | Methods and apparatus for a distributed database within a network | |
AU2022291462A1 (en) | System and Method for Controlling Asset-Related Actions via a Blockchain | |
JP7522807B2 (ja) | コンピュータにより実現される方法およびシステム | |
JP2020068388A (ja) | コンテンツ契約システム、コンテンツ契約方法、権利者端末、譲受人端末、制御端末、コンテンツ蓄積サーバ、権利者プログラム、譲受人プログラム、制御プログラムおよびコンテンツ蓄積プログラム | |
WO2017040313A1 (en) | Methods and apparatus for a distributed database within a network | |
WO2021175110A1 (zh) | 区块链方法及系统、电子设备及计算机可读存储介质 | |
US11954120B2 (en) | Blockchain method and system, and computer readable storage medium | |
US20230162303A1 (en) | Information processing apparatus, information processing method, and storage medium | |
CN114782575A (zh) | 数字资产的渲染方法及装置、存储介质、电子装置 | |
RU2778013C2 (ru) | Способы и устройство для распределенной базы данных в сети | |
CN110535645A (zh) | 一种数字资产管理装置的备份系统和方法 |
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 |
Effective date of registration: 20210129 Address after: Room 2502, unit 1, building 6, celebrity impression, No.3 middle Changjiang Road, Jinghu District, Wuhu City, Anhui Province Applicant after: Xu Hao Address before: 241000 629, building 1, Shicheng Xiangxie, Wuhu Economic and Technological Development Zone, Wuhu City, Anhui Province Applicant before: Wuhu Mingxuan Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |