CN110933155A - 一种新型区块链 - Google Patents
一种新型区块链 Download PDFInfo
- Publication number
- CN110933155A CN110933155A CN201911165559.9A CN201911165559A CN110933155A CN 110933155 A CN110933155 A CN 110933155A CN 201911165559 A CN201911165559 A CN 201911165559A CN 110933155 A CN110933155 A CN 110933155A
- Authority
- CN
- China
- Prior art keywords
- node
- address
- file
- nodes
- block
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种新型区块链,包括:若干个节点,所述节点中存储的文件包括:条款文件、地址文件和公示文件;在所述公示文件中显示待链接的节点所遵循的规则和格式;所述节点将所有与其相连的节点的最新区块读取后结合所述节点的待处理数据一起生成区块;当所述节点的区块与其相连的节点中存储不符时,断开所述节点与其相连的节点的链接。本发明的新型区块链,增加数据链可信度,而不会降低系统运行效率。同时,避免了恶意的通过算力或权限进行暴力篡改的可能,保证所有参与方自身数据的安全。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种新型区块链。
背景技术
现在流行的的区块链技术三大分支为:公有链、联盟链和私有链。
私有链技术为数据链内部全部是由其创建者自己写入,生成效率高。但由于其创建者独自拥有写入数据的全部权限,导致事实上存在从区块链的起始位置或从其中间某一部分开始,将后面的数据全部篡改而依旧保持“成链”,故相对而言可信度不高,没有权威性。
公有链技术为链的写入权限面向各个节点公开(无论是POW还是POS,本质上权限是下放到各节点的,而不是由某个个人或组织来负责写入),其数据由整个系统内超过50%的算力(或权限)来决定。相对来说,执行效率最低,且存在暴力破坏的可能(即占据优势的算力或权限,恶意修改整个链来篡改数据,导致无辜者受损)。在节点数达到一定规模后,相对于私有链和联盟链,公有链数据的可信度相对较高,但运行效率最低。
联盟链效率和可信度位于这三种技术的中间位置,联盟链为数个节点组成联盟,一方面可以近似看作是节点个数很少的公有链。另一方面和私有链一样,属于许可链,即未经许可不能加入。
归纳来说,目前区块链的三个架构方法,都无法调和可信度和运行效率的矛盾。即随着节点数量的增加,可信度增加,但效率降低;反之,随着节点数量的减少,效率增加,但可信度降低,没有例外。
发明内容
本发明提供了一种新型区块链,增加数据链可信度,而不会降低系统运行效率。同时,避免了恶意的通过算力或权限进行暴力篡改的可能,保证所有参与方自身数据的安全。
本发明实施例提供的一种新型区块链,包括:
若干个节点,所述节点中存储的文件包括:条款文件、地址文件和公示文件;在所述公示文件中显示待链接的节点所遵循的规则和格式;
所述节点将所有与其相连的节点的最新区块读取后结合所述节点的待处理数据一起生成区块;
当所述节点的区块与其相连的节点中存储不符时,断开所述节点与其相连的节点的链接。
可选的,所述节点接收符合所述公示文件中要求的待链接节点发来的链接请求,将待链接节点的地址及其基于智能合约签定的条款文件存储于所述节点的地址文件中;
同时,所述待链接节点也会将所述节点的地址存储于所述待链接节点的地址文件中。
可选的,节点通过哈希算法,将所述节点的待记录数据结合所述节点的上一个区块再结合地址文件中所有地址字段下的最新记录,一起计算生成区块存储在所述节点,
同时,根据所述节点在预设的时间间隔后,将所述节点中最后一个区块追加到所述节点的公示文件尾部;
同时,扫描所述节点的地址文件,根据记录的地址,前往所述地址对应节点读取其公示文件最尾部的数据;如成功,将数据写入所述节点的地址文件中所对应的地址字段的结尾,如读取某个地址失败则暂不在所述节点的地址文件中对应的地址字段加入任何值,保持所述地址字段不变。
可选的,所有地址字段下的最新记录为多个时选取最后一个,若无最新纪录则取零。
可选的,条款文件、地址文件、公示文件都可以为多个,且所述条款文件、地址文件、公示文件为一一对应。
可选的,节点包括:服务器。
可选的,节点完成其第一次与其他节点的链接后,获取与其链接的节点的地址文件,解析其中存储的节点地址,选择任一节点地址并向节点地址对应的节点发送链接请求;
当所述节点发送的链接请求被拒后,返回链接成功的节点重新获取与其链接的节点的地址文件,解析其中存储的节点地址,重新选择任一剩余节点地址并向节点地址对应的节点发送链接请求;
当所述节点发送的链接请求被接受后,获取当前链接成功的节点的地址文件,解析其中存储的节点地址,选择任一节点地址并向节点地址对应的节点发送链接请求;
当所述节点链接成功的节点数量达到预设值时,停止发送新的链接请求。
可选的,节点向其相连节点发送第一验证信息并接收所述相连节点发送的第二验证信息,当所述节点对所述第二验证信息验证未通过时,获取所述相连节点的地址文件,解析所述地址文件获取所述相连节点所连接的节点的地址,向地址对应的节点发送验证未通过信息;发送完后,所述节点断开与所述相连节点之间的链接;接收到验证未通过信息的节点对所述节点发起验证;
当所述相连节点对所述第一验证信息验证未通过时,获取所述节点的地址文件,解析所述地址文件获取所述节点所连接的节点的地址,向地址对应的节点发送验证未通过信息;发送完后,所述相连节点断开与所述节点之间的链接;接收到验证未通过信息的节点对所述节点发起验证;
所述第一验证信息包括所述节点的区块;所述第二验证信息包括所述相连节点的区块。
可选的,节点中存储的文件还包括:权限文件;
所述权限文件用于规定所述节点在接入多个基于不同规则构建的区块链时,同时接到多个区块链分配的任务时所述节点的算力分配规则,所述算力分配规则具体包括如下:
获取所述节点的算力,具体为:获取所述节点的配置参数,所述配置参数至少包括网络带宽、CPU芯片及存储空间;查询映射表,以确定所述节点的算力,所述映射表中记录了网络带宽、CPU芯片及存储空间与算力之间的映射关系;或利用预先设定的计算公式计算所述节点的算力;
获取分配的任务的需求算力,
当所述分配的任务的需求算力大于所述节点的算力时,根据权限文件中预先各个区块链的优先级,对任务进行选择处理;其他未被选择任务发送到与所述节点相连的节点进行处理。
可选的,所述预先设定的节点算力计算如下:
设某节点前i次统计网络带宽为Ki,CPU占用率为Pi,可用存储空间大小为Ci,i=1,2,3,…,n;该节点当前网络带宽为K,CPU占用率为P,可用存储空间大小为C,则该节点算力为S:
即节点算力S的计算公式为:
可选的,所述节点获取若干条到目标节点的链路,比较每条到目标节点的链路经过的节点数目,获取经过的节点数目最少的一条到目标节点的链路记录在所述节点的公示文件内。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种新型区块链的组网示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种新型区块链,包括:
若干个节点,所述节点中存储的文件包括:条款文件、地址文件和公示文件;在所述公示文件中显示待链接的节点所遵循的规则和格式;
所述节点将所有与其相连的节点的最新区块读取后结合所述节点的待处理数据一起生成区块;
当所述节点的区块与其相连的节点中存储不符时,断开所述节点与其相连的节点的链接。
上述技术方案的工作原理及有益效果为:
任何节点只要符合本发明的区块链中节点中的公示文件中的规则和格式,即可加入本发明的区块链。和联盟链相比,本发明的区块链没有入门门槛,谁都可以加入,可扩展性更强,不需要许可,与公有链一样,属于非许可链。各节点均可自由链接其他节点,或被其他节点链接。
相连的两个节点互相交换数据,并在生成自己节点内的区块时,会将所有与自己相连的节点的最新区块读取后结合本节点待处理数据一起生成本新区块。以图1中的节点13为例,其与节点7、节点15、节点17、节点18相链,在记录此四个节点的区块信息的同时,也被此四节点记录。
假设节点13篡改自身数据,那么其与上述四个节点的记录违背,其将会被上述四个节点断开链接,踢出此区块链。假设节点17伙同节点16一起篡改了数据导致其与节点13数据不符,则节点13会断开与节点17的链接,而节点16因为也篡改了数据,将会被节点8、节点1、节点15断开链接。所以,最终节点16与节点17会一起被踢出该扩展链系统。
当然,在参与节点数量比较小,或者互联链接比较少的情况下,可能会出现“劣币驱逐良币”的可能。比如整个系统所有其他节点都一起窜通篡改了数据,导致没有作假的节点13被踢出了该区块链,那么对于节点13来说,这个区块链就是不可信的,它可以继续去网络上寻找其他可信的区块链加入。
这种情况是除了私有链之外,联盟链和公有链都无法克服的问题(这是多数即真理算法的一个弊端,所以并非扩展链本身的独特缺点);但是值得注意的是,即使发生了这样的情况,节点13本身的数据不会被篡改(这点就是本发明设计的扩展链相对于联盟链和公有链的优势,后两者自身正确数据也会被暴力恶意修改,造成不可弥补的损失)。
而当区块链增大到一定规模之后,则任何恶意篡改数据的节点都会被区块链自动断开踢出,具有“自洁”的特性。
本发明的新型区块链,增加数据链可信度,而不会降低系统运行效率。同时,避免了恶意的通过算力或权限进行暴力篡改的可能,保证所有参与方自身数据的安全。采用sha256和sha3-256两套算法同时生成hash,最大程度避免“相撞”(也就是不同的源文件却产生了相同的hash值)。
在一个实施例中,所述节点接收符合所述公示文件中要求的待链接节点发来的链接请求,将待链接节点的地址及其基于智能合约签定的条款文件存储于所述节点的地址文件中;
同时,所述待链接节点也会将所述节点的地址存储于所述待链接节点的地址文件中。
上述技术方案的工作原理及有益效果:
加入本发明的区块链的加入方的节点和目标节点之间相互存储地址,在数据传输时验证数据的地址,保证数据传输的安全可靠,实现节点之间连接的安全性。
在一个实施例中,节点通过哈希算法,将所述节点的待记录数据结合所述节点的上一个区块再结合地址文件中所有地址字段下的最新记录,一起计算生成区块存储在所述节点,
同时,根据所述节点在预设的时间间隔(一秒、一小时或一天等等)后,将所述节点中最后一个区块追加到所述节点的公示文件尾部;
同时,扫描所述节点的地址文件,根据记录的地址,前往所述地址对应节点读取其公示文件最尾部的数据;如成功,将数据写入所述节点的地址文件中所对应的地址字段的结尾,如读取某个地址失败则暂不在所述节点的地址文件中对应的地址字段加入任何值,保持所述地址字段不变。
上述技术方案的工作原理及有益效果为:
节点通过读取相连节点的区块与本节点的区块生成新的区块,实现了节点与节点数据互联,为判断节点是否被篡改提供了依据。
在一个实施例中,所有地址字段下的最新记录为多个时选取最后一个,若无最新纪录则取零。
在一个实施例中,条款文件、地址文件、公示文件都可以为多个,且所述条款文件、地址文件、公示文件为一一对应。
在一个实施例中,节点包括:服务器。除了服务器还可以包括计算机、手机、平板等其他联网装置。
在一个实施例中,节点完成其第一次与其他节点的链接后,获取与其链接的节点的地址文件,解析其中存储的节点地址,选择任一节点地址并向节点地址对应的节点发送链接请求;
当所述节点发送的链接请求被拒后,返回链接成功的节点重新获取与其链接的节点的地址文件,解析其中存储的节点地址,重新选择任一剩余节点地址并向节点地址对应的节点发送链接请求;
当所述节点发送的链接请求被接受后,获取当前链接成功的节点的地址文件,解析其中存储的节点地址,选择任一节点地址并向节点地址对应的节点发送链接请求;
当所述节点链接成功的节点数量达到预设值时,停止发送新的链接请求。
上述技术方案的工作原理及有益效果为:
为了实现新加入的节点与区块链中其他节点的连接;通过新加入的节点对应的区块链中的节点获取区块链中其他节点的地址,增加新加入的节点的与其他节点的组网效率。
在一个实施例中,节点向其相连节点发送第一验证信息并接收所述相连节点发送的第二验证信息,当所述节点对所述第二验证信息验证未通过时,获取所述相连节点的地址文件,解析所述地址文件获取所述相连节点所连接的节点的地址,向地址对应的节点发送验证未通过信息;发送完后,所述节点断开与所述相连节点之间的链接;接收到验证未通过信息的节点对所述节点发起验证;
当所述相连节点对所述第一验证信息验证未通过时,获取所述节点的地址文件,解析所述地址文件获取所述节点所连接的节点的地址,向地址对应的节点发送验证未通过信息;发送完后,所述相连节点断开与所述节点之间的链接;接收到验证未通过信息的节点对所述节点发起验证;
所述第一验证信息包括所述节点的区块;所述第二验证信息包括所述相连节点的区块。
上述技术方案的工作原理及有益效果为:
当某个节点因为篡改数据而被其他节点断开链接后,通过广播模式通告区块链中与该节点链接的节点进行验证,加快区块链的自洁效率。
在一个实施例中,节点中存储的文件还包括:权限文件;
所述权限文件用于规定所述节点在接入多个基于不同规则构建的区块链时,同时接到多个区块链分配的任务时所述节点的算力分配规则,所述算力分配规则具体包括如下:
获取所述节点的算力,具体为:获取所述节点的配置参数,所述配置参数至少包括网络带宽、CPU芯片及存储空间;查询映射表,以确定所述节点的算力,所述映射表中记录了网络带宽、CPU芯片及存储空间与算力之间的映射关系;或利用预先设定的计算公式计算所述节点的算力;
获取分配的任务的需求算力,
当所述分配的任务的需求算力大于所述节点的算力时,根据权限文件中预先各个区块链的优先级,对任务进行选择处理;其他未被选择任务发送到与所述节点相连的节点进行处理。
上述技术方案的工作原理及有益效果为:
当某个节点加入多个区块链时,必然不可避免的会同时接收到多个任务;当接收的任务大于该节点实际算力时,会造成任务无法按时完成。通过将多余任务转发到与该节点相连的节点(非发生处理任务的区块链的节点)进行处理,保证多个区块链的任务能够准时高效完成。
由于各节点资源使用情况实时变化,因此算力也是实时变化的。且算力会受实时网络带宽、CPU使用情况、可用存储空间的大小的影响,因此如何合理的、准确的计算节点实时算力尤为重要,节点实时算力计算如下:
设某节点前i次统计网络带宽为Ki,CPU占用率为Pi,可用存储空间大小为Ci,i=1,2,3,…,n。该节点当前网络带宽为K,CPU占用率为P,可用存储空间大小为C,则该节点当前算力为S:
即当前算力S的计算公式为:
节点算力对于区块链至关重要,本算法综合考虑了当前带宽、CPU和内存的情况,同时结合历史信息及瞬时变化,提升了算力的准确性。
在一个实施例中,所述节点获取若干条到目标节点的链路,比较每条到目标节点的链路经过的节点数目,获取经过的节点数目最少的一条到目标节点的链路记录在所述节点的公示文件内。
上述技术方案的工作原理及有益效果为:
每一个节点在链接进系统的时候,都会将自己链接到节点1(目标节点)的最短路径给,以及自己链接的节点(如果该节点不在最短路径上,则只记录节点,不记录后续路径)记录到自己的公示文件中。
例如,如图1所示,当服务器13接入节点7的时候(此时所有序号大于13的服务器还未加入系统),它可以根据节点7上的路径(7-5-4-3-2-1)链接到服务器1,所以服务器13加入后,会将自己的路径文件公示为13-7-5-4-3-2-1。
再举例,节点14加入时,节点11和10都已经存在,故而节点14可以读取三个可能路径(一条经过节点10,两条经过节点11),分别是10-3-2-1以及11-3-2-1以及11-2-1。我们设置的原则是,取最短的那条可以到达节点1的,作为自己的路径,所以节点11的路径应该是11-2-1,同时节点11也记录了节点3,但没有记录11-3-2-1这样一条路径.所以节点14的路径会为14-11-2-1.假设有相同长度的两条可选路径,则选数字小的节点那条。
最后举例,假设有新节点19要通过链接节点13加入时,除了节点13,其还应该根据路径上的顺序,尽可能的去链接序号小的,比如先尝试链接节点1,如果节点1的可链接数已经满了,就尝试2…依此类推尝试1,2,3,4,5,7(注意,没有节点6,因为节点13的路径中就没有节点6)。最终,假设节点4同意了节点19的请求,则节点19的路径文件上应该记录了节点13,以及19-4-3-2-1这样一条路径,至于13-7-5-4-3-2-1这条路径就不记录在节点19上了。
在一个实施例中,所述节点按照算力来设定自己能链接的最大节点数,并公示已链接的数量。比如节点1设定了100个,节点2设定了300个,节点3设定了20个。当额度满了的时候,系统新增加节点仍然可以读取其数据并记入自身,但是已满节点不会再相应的新节点的数据。
下面列举具体的应用实例:
A平台域名为https://a.com
步骤一,
A平台在自己web根目录下创建了一个chain目录,并在其中创建了三个文件,分别是statement.txt,agreement.php,address.txt
这三个文件都是可以全网公开访问,分别为:
https://a.com/chain/statement.txt;
https://a.com/chain/agreement.php;
https://a.com/chain/address.txt;
其中,statement.txt文件内容如下:
本区块链网络格式要求为,在贵方web根目录中创建chain目录,并在其中创建三个文件,分别是statement.txt,agreement.php,address.txt
Statement.txt文件的格式请参照本文件。
agreement.php请下载本机原本并不得修改,原样保存为贵方的agreement.php
请先查看agreement.php,如果同意,请点击其中的“同意”按钮,不同意者请退出即可。
如您点击了同意,请在您的address.txt文件中将本机statement.txt的链接记录并保存在内,具体格式请下载参考我方address.txt。
点击同意后,请将贵方需要我方获取的最新区块保存在贵方的statement.txt末尾,我方将访问其并读取其最后一个HASH码,并保存在address.txt的对应地址路径下,如空则写入0,参照我方如下格式:
本机待获取区块如下:
cbba32e0c4afd206d3a1dfd3de9fc274a08ff108a4d5cc3190cea69526c9288f314c30198fa5b021fd71c80b530c69156ac08c1f64cb7c2b45a17a62ccf69af6
15eccd780330b0f9df30e948ea5f325b73def35cad99d8dd8487c2ff1b8a7616593bbfdd5ee946191fcf93624d12d98a0f7001793b6f5a9423b529b1bef1dc1f
39d3ddb72b110d08820b87d3783ea4222b58cf808ab3573781cf3107e085a1325944404ec1bbf8e552f585cd9022467e04b9ab8eae42a4f6034ba754b27192fc
agreement.php的内容如下:
{
……
……//此处写入要对方遵守的内容,比如,在同意后,必须在生成区块链时,将本机的区块也读取一同取HASH,以及其他条件。
……//此处显示同意点击,或不同意退出
……//对方点击同意,本机将对方的statement.txt文档链接写入本机address.txt文件
……
}
address.txt的内容如下:
https://existing1.com/chain/statement.txt
f96258fd0b48a2bb7c802db128f67677d564d8155589939ea0ad9062cc6da9e21decec9fcf4a441fce0d95ba67d33cdfe0933fc0663feef06ef981a31dd3c074
https://existing2.com/chain/statement.txt
0
https://existing3.com/chain/statement.txt
2270aec4d7f97317b4d79fc9ce47f91d35bf02e799a7ad6c59b69dc52ea84ac56af51e0b4a92786b4f9265e1bdfbfdcd2222f8754bd5e9bf4f1c1d5ff407fcaa
f2695152394f6aa019c0dba62ed818aa4c5c7368643f52bcd4cef4f9617f0f033bd3ab2f7fb4553a94768fccd357b05a1edd351c297567756a46f98c225b039b
步骤二,
B平台(https://b.com)看到了https://a.com/chain/statement.txt的申明,并查看了https://a.com/chain/agreement.php的条约,决定同意与A组成区块链,所以点击“同意”,此时,A服务器的agreement.php代码获取了B的域名,自动添加完整路径并写入了它的address.txt中,此时如果访问https://a.com/chain/address.txt时,则会显示如下:
https://existing1.com/chain/statement.txt
f96258fd0b48a2bb7c802db128f67677d564d8155589939ea0ad9062cc6da9e21decec9fcf4a441fce0d95ba67d33cdfe0933fc0663feef06ef981a31dd3c074
https://existing2.com/chain/statement.txt
0
https://existing3.com/chain/statement.txt
2270aec4d7f97317b4d79fc9ce47f91d35bf02e799a7ad6c59b69dc52ea84ac56af51e0b4a92786b4f9265e1bdfbfdcd2222f8754bd5e9bf4f1c1d5ff407fcaa
f2695152394f6aa019c0dba62ed818aa4c5c7368643f52bcd4cef4f9617f0f033bd3ab2f7fb4553a94768fccd357b05a1edd351c297567756a46f98c225b039b
https://b.com/chain/statement.txt
所以B平台按照A的要求也在其web根目录上建立了chain目录并生成三个文件,分别是statement.txt,agreement.php,address.txt
这三个文件都是可以全网公开访问,分别为:
https://b.com/chain/statement.txt;
https://b.com/chain/agreement.php;
https://b.com/chain/address.txt;
其中,statement.txt文件内容如下:
本区块链网络格式要求为,在贵方web根目录中创建chain目录,并在其中创建三个文件,分别是statement.txt,agreement.php,address.txt
Statement.txt文件的格式请参照本文件。
agreement.php请下载本机原本并不得修改,原样保存为贵方的agreement.php
请先查看agreement.php,如果同意,请点击其中的“同意”按钮,不同意者请退出即可。
如您点击了同意,请在您的address.txt文件中将本机statement.txt的链接记录并保存在内,具体格式请下载参考我方address.txt。
点击同意后,请将贵方需要我方获取的最新区块保存在贵方的statement.txt末尾,我方将访问其并读取其最后一个HASH码,并保存在address.txt的对应地址路径下,如空则写入0,参照我方格式:
本机待获取区块如下:
agreement.php的内容如下:
{
……
……//此处写入要对方遵守的内容,比如,在同意后,必须在生成区块链时,将本机的区块也读取一同取HASH,以及其他条件。
……//此处显示同意点击,或不同意退出
……//对方点击同意,本机将对方的statement.txt文档链接写入本机address.txt文件
……
}
新建的address.txt的内容空白,然后,按照要求,B将A的statement.txt的链接地址手动写入其刚刚创建的address.txt文档中
更新后的address.txt的内容如下:
https://a.com/chain/statement.txt
步骤三:
A与B各自使用自己的哈希方式生成自己的区块,但是每次生成新区块时,都先扫描各自的address.txt文件中记录的各个https地址,并以如下的形式对本机的“新内容”进行计算:
新区块=哈希(“上一区块”.“address.txt中所有https地址下方的最后一个记录”.“本机的新内容”)
然后根据各自需要按照一定的频率(比如每小时),将最新生成的区块写入本机的statement.txt末尾,供对方读取。同时扫描本节点的地址文件,根据其所记录的地址,前往对应节点读取其公示文件最尾部的区块,如成功,将其写入本节点的地址文件中所对应的地址字段的结尾,如读取某个地址失败则暂不在本机地址文件中对应的地址字段加入任何值,保持该字段不变。
步骤四(可选):
当A与B又分别想要以不同于现有的规则分别与C与D链接时,可以各自再创立一套规则(不同的目录下不同的三个文件名)。
比如,A与B相链接时采用上文描述的规则。但A为了以不同的规则与C链接,可以再创立另一个目录anotherchain,并在其中创建了三个文件,分别是anotherstatement.txt,anotheragreement.php,anotheraddress.txt
这三个文件都是可以全网公开访问,分别为:
https://a.com/anotherchain/anotherstatement.txt;
https://a.com/anotherchain/anotheragreement.php;
https://a.com/anotherchain/anotheraddress.txt;
以此与C相链
而B为了用不同规则与D链接,也可以再创建一套规则,比如另一个目录chainagain,并在其中创建了三个文件,分别是statementagain.txt,agreementagain.php,addressagain.txt
这三个文件都是可以全网公开访问,分别为:
https://b.com/chainagain/statementagain.txt;
https://b.com/chainagain/agreementagain.php;
https://b.com/chainagain/addressagain.txt;
以此与D相链
而此时,C、D分别都未与B、A相链,故形成了两个不同规则间的链群:AC与BD通过AB链接起来,以此类推无限扩展。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种新型区块链,其特征在于,包括:
若干个节点,所述节点中存储的文件包括:条款文件、地址文件和公示文件;在所述公示文件中显示待链接的节点所遵循的规则和格式;
所述节点将所有与其相连的节点的最新区块读取后结合所述节点的待处理数据一起生成区块;
当所述节点的区块与其相连的节点中存储不符时,断开所述节点与其相连的节点的链接。
2.如权利要求1所述的新型区块链,其特征在于,所述节点接收符合所述公示文件中要求的待链接节点发来的链接请求,将待链接节点的地址及其基于智能合约签定的条款文件存储于所述节点的地址文件中;
同时,所述待链接节点也会将所述节点的地址存储于所述待链接节点的地址文件中。
3.如权利要求1所述的新型区块链,其特征在于,所述节点通过哈希算法,将所述节点的待记录数据结合所述节点的上一个区块再结合地址文件中所有地址字段下的最新记录,一起计算生成区块存储在所述节点,
同时,根据所述节点在预设的时间间隔后,将所述节点中最后一个区块追加到所述节点的公示文件尾部;
同时,扫描所述节点的地址文件,根据记录的地址,前往所述地址对应节点读取其公示文件最尾部的数据;如成功,将数据写入所述节点的地址文件中所对应的地址字段的结尾,如读取某个地址失败则暂不在所述节点的地址文件中对应的地址字段加入任何值,保持所述地址字段不变。
4.如权利要求1所述的新型区块链,其特征在于,所述所有地址字段下的最新记录为多个时选取最后一个,若无最新纪录则取零。
5.如权利要求1所述的新型区块链,其特征在于,所述条款文件、地址文件、公示文件都可以为多个,且所述条款文件、地址文件、公示文件为一一对应。
6.如权利要求1所述的新型区块链,其特征在于,所述节点完成其第一次与其他节点的链接后,获取与其链接的节点的地址文件,解析其中存储的节点地址,选择任一节点地址并向节点地址对应的节点发送链接请求;
当所述节点发送的链接请求被拒后,返回链接成功的节点重新获取与其链接的节点的地址文件,解析其中存储的节点地址,重新选择任一剩余节点地址并向节点地址对应的节点发送链接请求;
当所述节点发送的链接请求被接受后,获取当前链接成功的节点的地址文件,解析其中存储的节点地址,选择任一节点地址并向节点地址对应的节点发送链接请求;
当所述节点链接成功的节点数量达到预设值时,停止发送新的链接请求。
7.如权利要求1所述的新型区块链,其特征在于,所述节点向其相连节点发送第一验证信息并接收所述相连节点发送的第二验证信息,当所述节点对所述第二验证信息验证未通过时,获取所述相连节点的地址文件,解析所述地址文件获取所述相连节点所连接的节点的地址,向地址对应的节点发送验证未通过信息;发送完后,所述节点断开与所述相连节点之间的链接;接收到验证未通过信息的节点对所述节点发起验证;
当所述相连节点对所述第一验证信息验证未通过时,获取所述节点的地址文件,解析所述地址文件获取所述节点所连接的节点的地址,向地址对应的节点发送验证未通过信息;发送完后,所述相连节点断开与所述节点之间的链接;接收到验证未通过信息的节点对所述节点发起验证;
所述第一验证信息包括所述节点的区块;所述第二验证信息包括所述相连节点的区块。
8.如权利要求1所述的新型区块链,其特征在于,所述节点中存储的文件还包括:权限文件;
所述权限文件用于规定所述节点在接入多个基于不同规则构建的区块链时,同时接到多个区块链分配的任务时所述节点的算力分配规则,所述算力分配规则具体包括如下:
获取所述节点的算力,具体为:获取所述节点的配置参数,所述配置参数至少包括网络带宽、CPU芯片及存储空间;查询映射表,以确定所述节点的算力,所述映射表中记录了网络带宽、CPU芯片及存储空间与算力之间的映射关系;或利用预先设定的节点算力计算公式计算所述节点的算力;
获取分配的任务的需求算力,
当所述分配的任务的需求算力大于所述节点的算力时,根据权限文件中预先各个区块链的优先级,对任务进行选择处理;其他未被选择任务发送到与所述节点相连的节点进行处理。
10.如权利要求1所述的新型区块链,其特征在于,所述节点获取若干条到目标节点的链路,比较每条到目标节点的链路经过的节点数目,获取经过的节点数目最少的一条到目标节点的链路记录在所述节点的公示文件内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911165559.9A CN110933155B (zh) | 2019-11-25 | 2019-11-25 | 一种新型区块链网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911165559.9A CN110933155B (zh) | 2019-11-25 | 2019-11-25 | 一种新型区块链网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933155A true CN110933155A (zh) | 2020-03-27 |
CN110933155B CN110933155B (zh) | 2022-04-26 |
Family
ID=69850948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911165559.9A Active CN110933155B (zh) | 2019-11-25 | 2019-11-25 | 一种新型区块链网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110933155B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218348A (zh) * | 2017-06-29 | 2019-01-15 | 华为技术有限公司 | 一种区块链中区块的确定方法及节点设备 |
CN109391617A (zh) * | 2018-10-15 | 2019-02-26 | 天津理工大学 | 一种基于区块链的网络设备配置管理方法及客户端 |
CN109525678A (zh) * | 2018-12-25 | 2019-03-26 | 众安信息技术服务有限公司 | 区块链网络系统以及相应的节点设备发现方法 |
CN109847341A (zh) * | 2019-01-07 | 2019-06-07 | 广东工业大学 | 一种云游戏方法及设备 |
-
2019
- 2019-11-25 CN CN201911165559.9A patent/CN110933155B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218348A (zh) * | 2017-06-29 | 2019-01-15 | 华为技术有限公司 | 一种区块链中区块的确定方法及节点设备 |
CN109391617A (zh) * | 2018-10-15 | 2019-02-26 | 天津理工大学 | 一种基于区块链的网络设备配置管理方法及客户端 |
CN109525678A (zh) * | 2018-12-25 | 2019-03-26 | 众安信息技术服务有限公司 | 区块链网络系统以及相应的节点设备发现方法 |
CN109847341A (zh) * | 2019-01-07 | 2019-06-07 | 广东工业大学 | 一种云游戏方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110933155B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11522706B2 (en) | Method and system for publicly verifiable proofs of retrievability in blockchains | |
TWI701617B (zh) | 跨區塊鏈的互動方法及裝置、系統、電子設備 | |
CN109889505B (zh) | 数据持有性验证方法及终端设备 | |
JP6939791B2 (ja) | 掲示板情報管理システム | |
US11943237B2 (en) | Malicious peer identification for database block sequence | |
CN109040341B (zh) | 智能合约地址的生成方法、装置、计算机设备及可读存储介质 | |
US20200374300A1 (en) | Database malicious peer identification | |
CN112235420B (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
CN113711202A (zh) | 用于在分布式数据库中实现状态证明和分类帐标识符的方法和装置 | |
US20210158353A1 (en) | Methods, systems, apparatuses, and devices for processing request in consortium blockchain | |
CN109302495A (zh) | 一种数据存储方法及装置 | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
CN112612856B (zh) | 基于区块链的数据处理方法和装置 | |
CN111713088A (zh) | 处理数据的方法、处理数据的装置和处理数据的设备 | |
CN111464353A (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN111385096A (zh) | 一种区块链网络、签名处理方法、终端及存储介质 | |
CN111008251B (zh) | 一种数据处理方法以及设备 | |
CN113542405B (zh) | 基于区块链的网络通信系统、方法、设备及存储介质 | |
CN113259384B (zh) | 基于区块链的机理模型调用信息处理方法、服务器及系统 | |
CN110941672A (zh) | 户籍管理方法、装置、设备以及存储介质 | |
CN115619395A (zh) | 基于区块链的数据处理方法及相关设备 | |
CN110209347B (zh) | 一种可追溯的数据存储方法 | |
CN110933155B (zh) | 一种新型区块链网络 | |
US20220114276A1 (en) | Controlling a data network with respect to a use of a distributed database |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |