区块链管理装置、数据处理系统及即时交易处理方法与流程

文档序号:15738375发布日期:2018-10-23 21:52阅读:155来源:国知局

本发明涉及一种基于区块链的数据处理系统。具体而言,涉及一种能够通过高速的数据处理来提高基于区块链的应用程序的性能的系统及该系统的工作方法。



背景技术:

区块链(blockchain)表示将持续增加的数据记录于特定单位的区块中,且构成P2P(peer-to-peer)网络的各个节点将所述区块以链的形式连接而管理的数据管理技术或者所述区块以链的形式连接的数据本身,所述以链的形式连接的数据在没有中央系统的情况下在各个节点以分布式账本(distributed ledger)形态运营。

构成区块链网络的各个节点管理具有图1所示的结构的区块。在各个区块中,记录着之前区块的哈希值,且能够通过所述哈希值而参照之前区块。因此,随着区块增多,记录于区块内的交易数据的伪造、篡改变得困难,并且可以提高记录于各个区块的数据的可靠性。

构成区块链网络的各个节点通过维持相同内容的分布式账本,而维持交易数据的整合性及完整性。在保存在各个节点中的分布式账本的内容不同的情况下,信任连接长度最长的链的内容。基于如上所述的原因,如果特定节点相比于其他节点而更早且持续地生成新区块而维持最长的区块,则可以任意伪造交易数据,因此,为了防止这一现象而使用一致性算法(consensus algorithm)。

比特币系列的区块链采用工作量证明(proof of work;PoW)方式,该方式是强制进行获得满足目标哈希值的随机数(nonce)的运算,从而防止特定节点独占区块生成的方法。

但是,在使用作业证明等一致性算法的情况下,即使在多个节点同时多发地生成区块,也仅是一个区块最终被包含于区块链上的分布式账本,因此存在如下问题:基于区块链的系统的整体处理量被限制在包含于一个区块的交易的量。

例如,对于比特币而言,平均10分钟生成一个区块,且一个区块的大小限制在1MB,因此处理量水平被限制在每秒7件左右。

[现有技术文献]

[专利文献]

(专利文献0001)韩国公开专利第2016-0150278号(2016.12.29公开)



技术实现要素:

本发明所要解决的技术问题是提供一种具有高速数据处理性能的基于区块链的数据处理系统。

本发明所要解决的另一技术问题是提供一种利用所述基于区块链的数据处理系统而处理即时交易(instant transaction)的方法。

本发明的技术问题不限于以上提到的技术问题,未提及的其他技术问题将能够通过以下的记载而被本发明的技术领域中的普通技术人员明确地理解。

用于解决上述问题的根据本发明的一实施例的区块链管理装置包括:区块生成顺序控制部,响应于判定出以与当前区块高度对应的当前区块为基准而包括预设数量的区块的单位区块区间内存在第一区块生成节点所生成的区块,将所述第一区块生成节点控制为无法生成新的区块,所述区块链管理装置管理包括多个区块链节点的基于许可的区块链网络(permission based blockchain network),所述第一区块生成节点包含于所述多个区块链节点。

一实施例中,当在所述多个区块链节点中的第一区块链节点参与所述基于许可的区块链网络时,可以执行对于所述第一区块链节点的第一许可的第一验证,当所述第一区块链节点接收第一新区块时,执行对于生成所述第一新区块的区块生成节点的第二许可的第二验证。

一实施例中,所述区块生成顺序控制部可以设定具有0至1范围的值的控制参数,从而控制所述第一区块生成节点的区块生成,所述预设数量基于所述控制参数的设定值以及包含于所述基于许可的区块链网络中的区块生成节点的数量而决定。

一实施例中,所述区块链管理装置可以还包括:区块生成周期控制部,调节区块生成难易度,从而控制区块生成周期。

一实施例中,所述区块链管理装置还可以包括:区块大小控制部,控制所述生成的区块的大小。

用于解决上述技术问题的根据本发明的另一实施例的基于区块链的数据处理系统可以包括:第一区块链网路,包括与第一区块链相关的第一多个区块链节点;以及,第二区块链网路,包括与第二区块链相关的第二多个区块链节点,所述第一区块链网络处理对于用户的第一电子钱包的第一交易;所述第二区块链网络处理对于所述用户的第二电子钱包的第二交易,对于所述用户的电子货币总余额为保管于所述第一电子钱包的第一余额和保管于所述第二电子钱包的第二余额之和。

用于解决上述技术问题的根据本发明的又一实施例的基于区块链的即时交易处理方法可以在包括多个区块链节点的基于区块链的交易处理系统中执行,且可以包括如下步骤:所述多个区块链节点中的第一区块链节点接收交易请求,所述交易请求包括将第一用户作为发送者、将第二用户作为接收者的对象交易;响应于所述交易处理请求,所述第一区块链节点验证所述对象交易的有效性;所述第一区块链节点向所述第二用户的终端通知所述对象交易的验证完成;以及,所述第一区块链节点将与所述交易请求相关的交易数据发送至区块生成节点,其中,所述交易数据被所述区块生成节点记录于新区块,所述交易请求在所述交易数据记录于所述新区块之前响应于所述验证完成而得到处理。

根据上述的本发明,利用基于许可的区块链网络,并且可以可变地控制区块的大小和/或生成周期。因此,可以大幅提高基于区块链的数据处理系统或基于所述数据处理系统的区块链应用程序的响应速度及处理量。

并且,利用对应于各个构成为多层的电子钱包的多个区块链网络而能够生成并列的区块。因此,可以并列地进行交易处理,并且可以进一步提高基于区块链的数据处理系统的响应速度及处理量。

并且,可以以基于许可的区块链网络为基础而在电子货币的交易当事人之间提供即时交易服务。因此,可以提高利用区块链应用程序服务的用户的满意度。

本发明的效果并不局限于以上提到的效果,未提及的其他效果能够通过以下的记载而被本领域普通技术人员明确地理解。

附图说明

图1是用于说明由构成区块链网络的各个节点所维持的区块链数据的结构的图。

图2是用于说明工作量证明方式的一致性算法及因所述一致性算法导致的性能低下问题的图。

图3是根据本发明的第一实施例的基于区块链的数据处理系统的构成图。

图4是根据本发明的第二实施例的基于区块链的数据处理系统的构成图。

图5及图6是用于说明根据本发明的第三实施例的基于区块链的数据处理系统的图。

图7是用于说明作为基于区块链的数据处理系统的一构成要素的区块链管理装置的框图。

图8是用于说明作为基于区块链管理装置的一构成要素的区块链生成顺序控制部的图。

图9是作为基于区块链的数据处理系统的一构成要素的区块链管理装置的硬件构成图。

图10是示出作为基于区块链的数据处理系统的一构成要素的用户终端的框图。

图11用于说明根据本发明的另一实施例的基于区块链的即时交易处理方法的图。

具体实施方式

以下,参照附图对本发明的优选的实施例进行详细的说明。参照附图及与其一同在后面详细描述的实施例,可以更加明确本发明的优点和特征以及用于实现这些优点和特征的方法。然而本发明并不局限于以下公开的实施例,其可以以不同的多样的形态实施,只不过本实施例是为了使本发明的公开变得完整并向本发明所属的技术领域中具有普通知识水平的人完整地告知本发明的范围而被提供的实施例,本发明仅通过权利要求书的范围来限定。在整个说明书中,同一个附图标号表示同一个构成要素。

除非有其他定义,否则本说明书中使用的所有的术语(包括技术和科学术语)可以以能够被在本发明所属的技术领域中具有普通知识水平的人共同理解的含义而被使用。此外,定义在通常使用的词典中的术语除非有明确的定义,否则不应被异常或过度地解释。在本说明书中使用的术语是用于说明实施例的,而并非用于限定本发明。在本说明书中,除非在文章中被特别地提到,否则单数的表述还包括复数的表述。

说明书中使用的“包括”和/或“包括……的”表示所提到的构成要素、步骤、操作和/或元件不排除一个以上的其他构成要素、步骤、操作和/或元件存在或添加的可能性。

在说明之前,先明确本说明书中使用的若干术语。

本说明书中,区块链或区块链数据表示由构成区块链网络的各个节点所维持的数据,并表示至少一个区块以链形式连接的数据。在记录于各个区块的数据为交易数据的情况下,所述区块链数据可以表示分布式账本。但是,记录于各个区块的数据可以是任何类型。所述区块链数据的结构参照图1。

本说明书中,区块链网络表示根据区块链算法而工作的多个节点所构成的P2P结构的网络。

本说明书中,区块链节点表示构成区块链网络且根据区块链算法而维持并管理区块链数据的主体。所述区块链节点可以由一个计算装置实现,但是在由虚拟机(virtual machine)等实现的情况下,可以在单个计算装置中存在多个节点。

本说明书中,区块生成节点表示构成区块链网络的区块链节点中通过挖矿(mining)来生成区块的节点。

本说明书中,许可(permission)可以被理解为包括认证(authentication)和授权(authorization)的概括性的概念。

在对本发明的若干实施例进行说明之前,为了便于理解,参照图2简要说明工作量证明方式的一致性算法及因所述一致性算法导致的性能低下问题。以下,假设记录于区块链数据的数据类型在没有提及的情况下为交易数据。但是,本发明的范围不限于数据的类型。

参照图2,由于参与到区块链网络的各个区块链节点是未被认证的非特定节点,因此需要证明对于区块生成的正当性。工作量证明算法是用于证明所述正当性的一致性算法中的一种算法,且其具体操作如下。各个区块链节点随机地代入哈希值,并且在寻找满足给定的目标哈希值的随机数的过程中产生相应的计算成本,并根据所述计算成本而证明相应区块链节点的正当性。

当找到满足目标哈希值的随机数时,实现区块的生成。例如,当区块链节点D找到所述随机数时,生成区块3’(①),并且可以记录区块3’的大小所允许的量的交易数据。

在区块链网络中,新区块的生成可能在多处同时发生。例如,由于区块3’和区块3同时发生而能够如图2所示地在区块链节点D管理的区块链数据形成分叉。

形成于区块链数据上的分叉导致的问题可以通过之后添加新的区块而消除。例如,如果区块链节点E生成区块4,区块4传播到网络上的其他区块链节点(②,③),则区块链节点D以长度最长的链为基准而更新区块链数据,因此形成的分叉可以被销毁(④)。

但是,在上述过程中,区块3’被丢弃,因此区块链节点D的计算能力被无意义地消耗,且记录于区块3’的交易数据的确认也会延迟。即,在使用工作量证明方式的情况下,即使多个区块同时多发地生成,最终仅有1个区块被认证为是有意义的区块,因此系统的处理量大幅下降。并且,记录于被丢弃的区块的交易的确认被延迟,因此存在交易处理时间增加且区块链节点的计算资源被无意义地浪费的问题。

以下,参照附图对本发明的若干实施例进行说明。

图3至图6是用于说明根据本发明的若干实施例的基于区块链的数据处理系统的图。

基于区块链的数据处理系统是高速处理通过区块链应用程序(例如,电子钱包)产生的数据的系统。例如,所述数据处理系统可以是高速处理在搭载有电子钱包的用户终端之间产生的交易数据的系统,但不限于此。但是,为了便于说明,以下,假设根据若干实施例的基于区块链的数据处理系统是所述交易数据处理系统而进行说明。

首先,图3是根据本发明的第一实施例的基于区块链的数据处理系统的构成图。

根据第一实施例的基于区块链的数据处理系统可以构成为包括由多个区块链节点构成的区块链网络200、区块链管理装置100及用户终端300。但这仅仅是用于实现本发明的目的的优先实施例,显然可以根据需要而添加一部分构成要素或删除一部分构成要素。并且,图3中示出的基于区块链的数据处理系统的各个构成要素表示按功能区分的功能要素,至少一个构成要素可以在实际物理环境中以彼此整合的形态实现。例如,区块链管理装置100和/或用户终端300可以实现为构成区块链网络200的区块链节点中的一个区块链节点。以下,对本系统的构成要素进行说明。

所述第一实施例中,区块链网络200是由多个区块链节点构成的P2P结构的网络。构成区块链网络200的区块链节点基于区块链算法而执行区块生成、传播、验证、记录等操作。并且,各个区块链节点维持相同的区块链数据。

根据本发明的实施例,区块链网络200可以是基于许可(permission)的区块链网络。即,区块链网络200可以是只有被许可的区块链节点才能够参与的网络。在此,所述基于许可的区块链网络在本技术领域中可能与私有区块链网络(private blockchain network)等术语混用而使用,但可以表示相同的含义。根据本实施例,由于排除不特定节点的参与,因此无需区块生成所需的过度的工作量证明。因此,可以最小化不必要的计算资源及时间浪费,据此,可以提高利用区块链网络的整体系统的性能。

根据本发明的实施例,为了构成基于许可的区块链网络,可以对区块链应用程序服务的用户领域、区块链节点领域及区块生成节点领域分别执行许可验证。以下,对在各个区域中执行的许可验证方法进行简要的说明。

对于区块链应用程序服务的用户领域,能够执行对于服务用户的认证和/或权限管理。例如,可以在API级别通过访问控制列表(ALC,access control list)执行访问控制,或者利用交易请求中使用的用户的电子签名而执行对于相应用户的许可验证。

对于区块链节点领域而言,在各个区块链节点为了参与到区块链网络而启动的时间点,可以利用存储于各个节点的许可信息(例如,记录于环境设定文件中的许可信息)而执行验证。在此,所述许可信息可以是根据实施例而为被区块链管理装置100控制或周期性地更新的信息。或者,各个区块链节点可以在其他区块链节点设立P2P通信的步骤中执行节点间相互许可验证。此时,相互许可验证可以利用存储于区块链数据上的许可信息(例如,包含已许可的区块链节点信息的白名单等)而执行。在许可信息存储于所述区块链数据上的情况下,能够具有预防许可信息的伪造、篡改的效果。所述许可信息例如可以是被区块链管理装置100所设定的信息。

对于区块生成节点领域而言,可以执行对于新区块的许可验证。例如,各个区块链节点可以仅将由许可被验证的区块生成节点所生成的新区块添加到区块链数据。此时,所述许可的验证可以与对所述区块链生成领域的说明相同地执行。或者,在区块生成节点生成新区块时,也可以强制将自身的电子签名记录于所述新区块,且其他区块链节点对所述电子签名执行验证,从而执行许可验证。

根据本发明的实施例,区块生成节点的在先与否对区块链网络的可靠性起到较大的影响,因此相比于作为区块链节点的许可验证基准的第一许可,作为区块生成节点的许可验证基准的第二许可能够被设定为更高的许可。

在所述第一实施例中,区块链管理装置100是对构成区块链网络的各个区块链节点的操作进行控制或管理的计算装置,所述计算装置可以是笔记本计算机、台式计算机(desktop)、膝上型计算机(laptop)等,但不限于此,可以包括配备运算单元及通信单元的所有类型的装置。

根据本发明的实施例,区块链管理装置100可以为了提高基于区块链的数据处理系统的处理量而可变地控制区块大小、区块生成周期等。例如,区块链管理装置100可以为了增加记录于各个区块的交易的数量而将区块的大小设定为更大的值。另一示例中,区块链管理装置100可以为了提高区块生成速度而通过控制使区块生成周期变为更小的值。稍后将参照图7对此进行说明。

并且,区块链管理装置100可以控制区块生成顺序而使各个区块生成节点公平地生成区块。稍后将参照图7及图8对此进行说明。

并且,区块链管理装置100可以收集区块链数据上的分叉产生与否、各个区块链节点的状态、在区块链网络上传播的新区块等的用于区块链网络管理的各种信息。例如,区块链管理装置100可以从作为构成区块链网络的区块链节点中的一个节点的监视节点收集所述各种信息。所述监视节点可以被理解为用于在区块链网络上监视各个区块链节点的工作的特殊类型的节点。监视节点例如可以截获(intercept)将在区块链网络上收发的各种信息而传递至管理装置100,但监视节点的工作方式可以是任何方式。

在所述第一实施例中,用户终端300是接收区块链应用程序服务的用户所使用的终端,并且是搭载有如电子钱包等区块链应用程序的计算装置。在此,所述计算装置可以是笔记本计算机、台式计算机(desktop)、膝上型计算机(laptop)、智能手机(smartphone)等,但不限于此,可以包括配备运算单元及通信单元的所有种类的装置。

用户可以利用搭载于用户终端300的电子钱包而与其他用户进行电子货币交易,用户终端300可以通过区块链网络20来处理由于用户的电子货币交易请求而产生的交易数据。

根据本发明的实施例,由于区块链网络200的可靠性基于许可而得到保障,所以可以在用户终端300之间执行即时交易(instant transaction)。例如,在发生将电子货币从第一用户终端的电子钱包汇款至第二用户终端的电子钱包的交易数据的情况下,在所述交易数据被新区块记录而传播之前,交易处理已经完成而可以完成转电子货币的处理。根据本实施例,提高了对于交易处理的响应速度,因此可以提高利用区块链应用程序服务的用户的满足度。稍后参照附图11详细说明本实施例。

在根据本发明的若干实施例的基于区块链的数据处理系统中,各个构成要素可以通过网络进行通信。在此,所述网络可以实施为局域网(Local Area Network;LAN)、广域网(Wide Area Network;WAN)、移动通信网(mobile radio communication network)、无线宽带网(Wireless Broadband Internet)等所有种类的有线/无线网络。

以上,参照图3说明了根据本发明的第一实施例的基于区块链的数据处理系统。以下,参照图4说明根据本发明的第二实施例的基于区块链的数据处理系统。

图4是根据本发明的第二实施例的基于区块链的数据处理系统的构成图。

参照图4,根据所述第二实施例的基于区块链的数据处理系统还可以构成为包括外部的分布式存储系统400。图4中,举例说明了分布式存储系统400包括多个存储空间节点(410、430等)以及由利用分片(sharding)技术的分布式数据库实现的情形,但可以通过任何方式实现。

在所述第二实施例中,构成区块链网络的至少一个区块链节点可以在分布式存储系统400中保管区块链数据。图4中举例示出了区块链节点A 210至区块链节点C 230的区块链数据保管于分布式存储系统400。根据本实施例,可以解决各个区块链节点可能面对的物理空间受限的问题。

并且,根据所述第二实施例,区块链数据不是基于文件系统而存储于各个区块链节点,而是分布式存储于在分布式存储系统400中构建的数据库,从而能够提高系统的整体数据处理性能。例如,通过应用数据库所提供的强力的索引功能,可以提高数据输入输出速度,因此可以提高系统性能。数据块的索引例如可以构建为能够直接访问各电子钱包的余额(例如,未使用交易输出,UTXO)。除此之外,可以根据系统的数据访问模式而以多种方式构建索引。

以上,参照图4说明了根据本发明的第二实施例的基于区块链的数据处理系统。以下,参照图5及图6说明根据本发明的第三实施例的基于区块链的数据处理系统。

图5是根据本发明的第三实施例的基于区块链的数据处理系统的构成图。为了说明的便利,省略了区块链管理装置100的图示。

参照图5,在根据所述第三实施例的基于区块链的数据处理系统中,区块链网络200可以被划分为第一区块链网络200a至第n区块链网络200n。通过使用被划分的多个区块链网络200a至200n,可以并行处理区块生成,因此可以大幅提高整个系统的处理量。

具体而言,搭载于用户终端300的电子钱包310可以由整合电子钱包310以及第一电子钱包310a至第n电子钱包310n构成。因此,由用户所拥有的电子货币的总余额可以由保管于第一电子钱包至第n电子钱包的电子货币的总和而决定。并且,第一电子钱包310a至第n电子钱包310n可以与各个第一区块链网络200a至第n区块链网络200n联动而并行地执行交易处理。据此,可以大幅提高交易数据处理量。

根据本发明的实施例,如图6所示,第一电子钱包310a至第n电子钱包310n可以基于相同的公开密钥311。根据本实施例,具有如下优点:可以利用一个公开密钥查看记录于各个区块链网络200a至200n的交易数据,并且可以增加交易数据管理的简易性。

并且,根据本发明的实施例,由用户请求的交易可以根据预定的基准而在第一电子钱包310a至第n电子钱包310n中的至少一个电子钱包中处理。所述‘预定’的基准可以为了解决并行性降低的问题而以多种方式设定。即,如果特定电子钱包的电子货币余额首先用尽,则在与所述特定电子钱包联动的区块链网络中无法执行交易处理,因此会降低交易处理的并行性,因此为了解决上述问题而可以以多种方式设定。

作为一示例,所述交易可以在电子货币余额最多的电子钱包中处理。作为另一示例,所述交易可以被分为多个交易而以均等地减去各个电子钱包310a至310n中保管的电子货币的方式执行。根据实施例,如果保管于各个电子钱包310a至310n中的电子货币的余额差异为临界值以上,则可以调整而使余额相同。

根据本发明的实施例,如果特定区块链网络(200a至200n)满足预设条件(例如,到达存储空间容量极限),则将区块链数据移交至外部存储空间,且可以生成新的区块链数据。例如,如果第一区块链网络200a满足预设条件,则能够以记录于第一区块链数据中的多个交易数据中的各用户所拥有的电子货币余额数据为基础而生成创世区块((genesis block),所述第一区块链数据可以被移交至外部的存储空间。此后,新交易可以根据所述创世区块而生成,从而生成新的第二区块链数据,且现有的交易查询可以通过保管于所述外部存储空间的所述第一区块链数据而执行。根据本实施例,可以有效地管理持续增加的区块链数据。

以上,参照图5及图6说明了根据本发明的第三实施例的基于区块链的数据处理系统。以下,参照图7至图10详细说明根据本发明的若干实施例的作为基于区块链的数据处理系统的构成要素的区块链管理装置100及用户终端300。

首先,参照图7至图9说明根据本发明的实施例的区块链管理装置100的构成及操作。

图7是示出区块链管理装置100的框图。

参照图7,区块链管理装置100可以包括区块生成周期控制部110、区块生成顺序控制部130及区块大小控制部150。但是,图7中仅示出了与本发明的实施例相关的构成要素。因此,本领域的技术人员可以知道除了图7中示出的构成要素以外还可以包括其他通用的构成要素。并且,图7中示出的区块链管理装置100的各个构成要素表示按功能区分的功能要素,至少一个构成要素可以在实际物理环境中以彼此整合的形态实现。

各个构成要素的说明如下,区块生成周期控制部110可变地控制构成区块链网络的区块链节点的区块生成周期。为了生成区块而使用工作量证明算法的情况下,区块生成所需的平均时间(average time)可以根据下述的数学式1而计算。在下述的数学式1中,难易度(difficulty)表示用于寻找符合目标值的随机数的难易度,而哈希率(hash rate)表示每秒进行的哈希运算的数量,其可以理解为表示区块生成节点的计算能力。

[数学式1]

参照所述数学式1,区块生成周期控制部110可以提高或降低生成区块的难易度而控制区块生成周期。

根据本发明的实施例,区块生成周期控制部110可以基于预定期间内的区块链数据上的分叉发生频度而可变地控制区块生成周期。例如,在预定期间内的分叉发生频度超过预定的临界值的情况下,区块生成周期控制部110可以通过控制而提高区块生成难易度而使区块生成周期变长。在此,所述分叉发生频度可以基于从作为构成区块链网络的特殊节点的监视节点接收的关于分叉发生与否的信息而计算。并且,虽然在图7中没有示出,但是区块链管理装置100还可以包括从所述监视节点接收关于所述分叉产生与否的信息的监视部(未示出)。

然后,区块生成顺序控制部130可以通过控制而在区块生成节点之间公平地生成区块。具体地,区块生成顺序控制部130可以以在与当前区块高度对应的区块为基准而包括预设数量的区块的单位区间之上存在相应区块生成节点所生成的区块的情况下,通过控制变成无法生成新区块。为了便于理解,参照图8详细说明区块生成顺序控制部130。

图8示出在所述预设数量为“3”的情况下,控制区块生成的示例。

参照图8,可看出,在区块生成节点A的区块数据中,与当前区块高度对应的区块是区块5,以所述区块5为基准而包含于单位区间上的区块为区块3至区块5。因此,在包含3个区块的单位区间之上不存在由区块生成节点A生成的区块,因此由区块生成节点A生成的新区块6可以被添加到区块链数据上。

与此相反,若观察区块生成节点B的情形,由区块生成节点B生成的区块3在单位区间上已存在,因此由区块生成节点B生成的新区块6无法被添加到区块链数据上而被否决。

根据本发明的实施例,包含于单位区间的区块的数量可以随着区块生成节点的数量增加而被更新为较大的值。根据本发明的一实现例,可以利用具有0至1的范围的预定的控制参数而实现本实施例。具体地,如果区块生成顺序控制部130设定所述控制参数,则包含在所述单位区间中的区块的数量可以由从区块生成节点的数量减去1的值以及所述控制参数的升幂或降幂值确定。根据本实现例,如果所述控制参数的值被设为1,则可以通过控制而使所有区块生成节点依次生成1个区块,如果所述控制参数的值被设为0,则不进行对于区块生成顺序的控制,因此各区块生成节点可以连续地生成区块。作为参考,在所述控制参数的值被设定为1且在特定区块生成节点产生障碍的情况下,区块生成可能陷于无限待机状态,因此所述控制参数的值优选综合考虑相应系统的规模及资源状况、区块生成节点的数量等而设定。

并且,根据本发明的实施例,所述控制参数可以是根据区块生成节点的数量而改变的变动值。例如,所述控制参数的值可以随着区块生成节点的数量变多而被更新为较小的值。

并且,根据本发明的实施例,区块生成顺序控制部130可以仅在区块生成节点的数量为预设的临界值以下的情况下控制区块生成顺序,例如,在上述的实现例中,如果区块生成节点的数量超过临界值,则可以将控制参数设为0。这是由于,在区块生成节点的数量足够多的情况下,即使不控制区块生成顺序,公平地生成区块的概率也高。

根据本发明的实施例,区块生成顺序控制部130可以基于区块生成节点之间的计算性能差异而控制区块生成顺序。例如,在区块生成节点的计算性能相似的情况下,可以将包含于单位区间内的区块的数量或者控制参数设为较大的值,或者不进行对于区块生成顺序的控制。如果计算性能相似,则即使没有单独的控制,公平地生成区块的概率也高。

再次参照图7,区块大小控制部150可变地控制区块的大小。具体地,区块大小控制部150可以可变地控制在当前时间点以后生成的新区块的大小。在区块大小控制部150将区块的大小设为较大的值的情况下,记录于各个区块的交易数据的数量增加,因此可以提高基于区块链的数据处理系统的处理量。

根据本发明的实施例,区块大小控制部150可以基于网络可用带宽而可变地设定区块大小。例如,在所述可用带宽为临界值以下的情况下,区块大小控制部150可以将区块大小设为较大的值。这是因为,在可用带宽不够的情况下,如果使区块的大小较大,则由于区块传播时的传送延迟而可能导致系统的整体性能降低。

以上说明的图7的各构成要素可以表示软件(Software)或者现场可编程门阵列(Field Programmable Gate Array;FPGA)、专用集成电路(Application-Specific Integrated Circuit;ASIC)等硬件(Hardware)。但是,所述构成要素不限于软件或硬件,可以构成为位于可寻址(Addressing)的存储介质,也可以构成为使一个或以上的处理器执行。在所述构成要素内提供的功能可以通过进一步细分的构成要素而实现,也可以由将多个构成要素整合而执行特定功能的一个构成要素实现。

以下,参照图9对作为基于区块链的数据处理系统的一构成要素的区块链管理装置100的硬件构成图进行说明。

参照图9,区块链管理装置100可以包括一个以上的处理器101、总线105、网络接口107、载入(load)有由处理器101执行的计算机程序的内存103、存储基于区块链的数据处理软件109a的存储器109。但是,图8中仅示出了与本发明的实施例相关的构成要素。因此,只要是本发明所属技术领域中具有基本知识的人员,就可以知道除了图8中示出的构成要素以外还可以包括其他通用的构成要素。

处理器101控制区块链管理装置100的各构成的整体操作。处理器101可以包括CPU(Central Processing Unit)、MCU(Micro Processor Unit;微控制单元)、GPU(Graphic Processing Unit)或者在本发明所属技术领域中周知的任意形态的处理器而构成。并且,处理器101可以进行对于用于执行根据本发明的实施例的方法的至少一个应用程序或程序的运算。区块链管理装置100可以具有一个以上的处理器。

内存103存储各种数据、命令和/或信息。内存103为了执行根据本发明的实施例的即时交易处理方法而能够从存储器109读取一个以上的程序109a。图8中作为内存103的示例而示出了RAM。

总线105提供区块链管理装置100的构成要素之间的通信功能。总线105可以以地址总线(Address Bus)、数据总线(Data Bus)及控制总线(Control Bus)等多种形态的总线实现。

网络接口107支持区块链管理装置100的有线/无线互联网通信。并且,网络接口107可以支持互联网通信以外的多种通信方式。为此,网络接口107可以包括本发明的技术领域中周知的通信模块而构成。

存储器109可以非临时地存储所述一个以上的程序109a。图8中作为所述一个以上的程序109a的示例而示出了基于区块链的数据处理软件109a。

存储器109可以包括ROM(Read Only Memory)、ERPROM(Erasable Programmable ROM;可擦可编程只读存储器)、EEPROM(Electrically Erasable Programmable ROM;电可擦除可编程只读存储器)、闪存等非易失性存储器、硬盘、可移动磁盘或者本发明所属技术领域中周知的任意形态的可用计算机读取的记录介质而构成。

区块链管理软件109a可以根据本发明的实施例而控制和/或管理基于区块链的数据处理系统的操作。

具体地,基于区块链的数据处理软件109a可以被读取至内存103,从而借助一个以上的处理器101而执行控制区块生成周期一系列的指令(instruction)、控制区块生成顺序的一系列指令、控制区块大小的一系列指令等。

以上,参照图7至图9而说明了作为根据本发明的实施例的基于区块链的数据处理系统的一构成要素的区块链管理装置100。以下,参照图10说明作为所述基于区块链的数据处理系统的另一构成要素的用户终端300。

图10是示出用户终端300的框图。

参照图10,用户终端300可以包括电子钱包310、电子钱包管理部330及交易处理部350。但是,图10中仅示出了与本发明的实施例相关的构成要素。因此,只要是本发明所属技术领域中具有基本知识的技术人员,都可以知道除了图10中示出的构成要素以外还可以包括其他通用的构成要素。并且,图10中示出的区块链管理装置100的各构成要素表示按功能区分的功能要素,至少一个构成要素可以在实际物理环境中以彼此整合的形态实现。

观察各构成要素,电子钱包310管理用户的电子货币。根据本发明的实施例,电子钱包310可以构成为多层结构。对此的说明上面参照图5已进行了说明,因此省略进一步的说明。

电子钱包管理部330响应于用户的请求而生成电子钱包310或管理电子钱包310。具体地,电子钱包管理部330可以响应于用户的电子钱包生成请求而生成图5中示出的多层结构的电子钱包310。

交易处理部350可以响应于用户的交易处理请求而处理对于保管于电子钱包310的电子货币的交易。具体地,交易处理部350可以通过与电子钱包310联动的区块链网络而处理对电子货币进行汇款的用户的交易。

以上说明的图10的各构成要素可以表示软件(Software)或者现场可编程门阵列(Field Programmable Gate Array;FPGA)、专用集成电路(Application-Specific Integrated Circuit;ASIC)等硬件(Hardware)。但是,所述构成要素不限于软件或硬件,可以构成为位于可寻址(Addressing)的存储介质,也可以构成为使一个或以上的处理器执行。在所述构成要素内提供的功能可以通过进一步细分的构成要素而实现,也可以由将多个构成要素整合而执行特定功能的一个构成要素实现。

以上参照图10对作为根据本发明的实施例的基于区块链的数据处理系统的一构成要素的用户终端300进行了说明。以下,参照图11对根据本发明的若干实施例的能够在基于区块链的数据处理系统中执行的即时交易处理方法进行说明。

以下,后述的根据本发明的实施例的即时交易处理方法的各步骤可以由计算装置执行。例如,所述计算装置可以是构成基于区块链的数据处理系统的至少一个计算装置。但是,为了便于说明,可以省略对于包含于所述即时交易处理方法中的各步骤的操作主体的记载。并且,在即时交易处理方法的各步骤可以由搭载于所述至少一个计算装置的处理器执行的运算而实现。

图11是用于说明根据本发明的实施例的基于区块链的即时交易处理方法的图。具体地,图11中示出作为发送者的第一用户向作为接收者的第二用户汇款电子货币(例如,点数)的交易处理过程。

参照图11,多个区块链节点中的第一区块链节点接收将第一用户作为发送者而将第二用户作为接收者的处理对象交易的处理请求(S10)。在此,所述第一区块链节点可以是用户终端,但是在用户终端不构成区块链网络的情况下,可以是从所述用户终端接收交易处理请求的区块链节点。

然后,响应于所述处理对象交易的处理请求而所述第一区块链节点验证所述处理对象交易的有效性(S20)。例如,可以通过发送者的许可验证、余额验证而等验证所述处理对象交易的有效性。如果该步骤(S20)中验证成功,则所述处理对象交易可以记录于临时池(temporary pool)。所述临时池可以被理解为在交易数据记录于区块之前临时保管交易数据的场所。这对于本技术领域的技术人员而言是显然的事项,因此省略进一步的说明。

然后,在所述处理对象交易有效的情况下,所述第一区块链节点立即向作为接收者的第二用户的终端通知对于所述通过验证的处理对象交易的处理完成(S30)。从而,在所述第二用户的终端立即处理交易而能够完成汇款电子货币的处理。

然后,所述第一区块链节点将所述通过验证的处理对象交易传递至所述多个区块链节点中的生成新区块的区块生成节点(S40),所述区块生成节点将所述通过验证的处理对象交易记录于所述新区块(S50),并将所述新区块传播至其他区块链节点(S60)。最终,如果对于所述处理对象交易的数据记录于区块并添加到区块链数据上,则特定区块链节点向所述第二用户的终端通知处理对象交易的确定(S70)。

根据上述的即时交易处理方法,在处理对象交易记录于区块链数据上的特定区块之前,可以在交易当事人的终端立即处理交易。因此,可以大幅提高交易处理的响应速度,并且可以提高基于区块链的服务的用户的满意度。在本实施例中,可以理解为,即时交易处理的可靠性由基于许可的区块链网络体现的区块链网络200而得到保障。

另外,根据上述的即时交易处理方法,在新区块中记录交易数据之前,完成交易处理,因此在作为电子货币的接收者的第二用户向第三用户汇款电子货币的情况下,可能在交易有效性验证步骤S20中产生错误。具体地,在区块链数据上记录所述第二用户所接收的电子货币之前,可能产生所述第二用户请求的交易由于余额不足而无效的问题。

为了解决上述问题,根据本发明的实施例,除了记录于区块链数据的电子货币余额以外,可以在交易有效性验证步骤(S20)中考虑到记录于临时池的用户的电子货币余额而执行对于交易的有效性验证。

即,在上述情况下,以记录于区块链数据上的所述第二用户的电子货币余额以及记录于临时池的所述第二用户的电子货币余额的总和为基础,可以验证所述第二用户所请求的交易的有效性。

以上,参照图11说明了根据本发明的实施例的即时交易处理方法。

以上,参照图3至图11说明的本发明的概念可以在计算机可读介质上体现为计算机可读代码。所述计算机可读介质例如可以是移动式记录介质(CD、DVD、蓝光光盘、USB存储装置、移动硬盘)或者固态记录介质(ROM、RAM、计算机配备型硬盘)。记录于所述计算机可读记录介质中的所述计算机程序可以通过互联网等网络而被传输到另一计算装置,并设置于所述另一计算装置中,据此能够在所述另一计算装置中使用。

在附图中,以特定的顺序图示了操作,然而并不一定要理解为这些操作必须以图示的特定的顺序或按序地执行或者必须将所有的图示的操作全部执行才能得到所需要的结果。在特定情况下,多任务处理(Multitasking)和并行处理可能会更有利。进而,在上文中说明的实施例中,多样的构成之间的分离不能被理解为这样的分离是必要的,应当理解为,所说明的程序组件和系统通常被整合为单个软件产品或者以多个软件产品形式被包装。

以上,参照附图对本发明的实施例进行了说明,但是本发明所属的技术领域中具有普通知识水平的人将理解,本发明可以不改变其技术思想或必要技术特征而实施为其他具体的形态。因此,以上记载的实施例在所有方面均为示例性的,而非限定性的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1