电子货币管理方法及电子货币系统与流程

文档序号:12366428阅读:780来源:国知局
电子货币管理方法及电子货币系统与流程

本发明涉及一种电子货币管理方法及电子货币系统,尤其涉及一种可动态地调整获选为区块验证者的难度的电子货币管理方法及电子货币系统。



背景技术:

由于近年来网际网络广泛地被大众所使用,通过网际网络以进行交易的电子货币也随之产生。在分散式电子货币系统中,比特币(Bitcoin)是执行最久的一种电子货币,其安全性、稳定性、价值、参与者数量及交易数量都比其他电子货币高出许多。由于比特币是采用密码技术来控制货币的生产及转移,因此比特币也被认为是一种加密电子货币。

区块链(Blockchain)是比特币的一个重要概念。在比特币系统中大约每十分钟会建立一个区块,此区块记录了这十分钟内全球发生的所有交易。由于每个区块都会包含前一个区块的识别码,每个区块都能识别自己的前一个区块,因此从当前区块向前延伸到起始区块,可形成一条完整的区块链,记录了从比特币诞生之后到目前时间点的所有交易。这条区块链在每次增加一个区块后都会进行广播,使得每个参与比特币交易的电脑都会有一分拷贝。通过此高度分散化的存储方法,使得区块链完全遗失或崩解的可能性微乎其微。

由于比特币的运作是基于分散式系统,并不具有一个中央服务器,因此如何产生上述区块是一个重要的课题。比特币的解决方案是通过均匀工作量证明机制(UPW,Uniform Proof of Work)来实现。具体来说,网络上的每一个主机会将上一个区块内容、从广播接收而尚未被列入前区块的交易单、以及一个随机数作为输入值,并利用哈希函数(Hash Function)计算出对应此输入值的哈希值(Hash value)。若计算出的哈希值的前n个位元符合一预设值,则区块由此产生,而此主机就会成为此区块的验证者。验证者会将此区块及随机数广播给其他主机以供验证,上述产生新区块的过程也被称为“挖 矿”。由于挖矿的速度会跟主机的计算能力成正比,因此若网络上存在一个计算能力非常强的主机,这个主机会独占验证者的角色,进而造成双重支付发生的可能性,使得比特币系统的安全性下降。



技术实现要素:

本发明提供一种电子货币管理方法及电子货币系统,其可大幅地降低任一装置成功执行双重支付的机率,进而提升电子货币系统的安全性。

本发明提出一种电子货币管理方法,适用于基于区块链的电子货币网络,其中电子货币网络包括多个节点装置,而所述节点装置包括第一节点装置。上述电子货币管理方法包括下列步骤:首先,由第一节点装置获取区块链中连续的多个前区块;接着,由第一节点装置判断其获选为此些前区块中的区块验证者的次数,并且根据此次数,动态地调整其获选为下一区块的区块验证者的难度。

在本发明的一范例实施例中,上述的难度正比于次数的指数或类指数,其中次数的类指数为次数的阶乘。

在本发明的一范例实施例中,其中当第一节点装置计算出此些前区块中的第一区块的认证值所花费的时间少于其他节点装置所花费的时间时,第一节点装置将获选为第一区块的区块验证者

在本发明的一范例实施例中,上述计算认证值的步骤包括寻找随机数,使得利用此随机数与第一区块的内容计算出的哈希值的多个特定位元为认证值。

在本发明的一范例实施例中,每一上述前区块的区块验证者是唯一。

本发明另提出一种电子货币系统,包括多个节点装置,其可通过点对点方式在电子货币网络中彼此通信,其中每一节点装置都存有区块链,而所述节点装置包括第一节点装置。第一节点装置获取区块链中连续的多个前区块,又判断其获选为此些前区块中的区块验证者的次数,再根据此次数,动态地调整其获选为下一区块的区块验证者的难度。

在本发明的一范例实施例中,上述的难度正比于次数的指数或类指数,其中次数的类指数为次数的阶乘。

在本发明的一范例实施例中,其中当第一节点装置计算出此些前区块中 的第一区块的认证值所花费的时间少于其他节点所花费的时间时,第一节点装置将获选为第一区块的区块验证者。

在本发明的一范例实施例中每一节点装置分别寻找随机数,使得利用此随机数与第一区块的内容计算出的哈希值的多个特定位元为认证值。

在本发明的一范例实施例中,每一上述前区块的区块验证者是唯一。

基于上述,本发明会根据每一节点获选为区块验证者的次数动态调整难度,使其难度与获选次数的指数成正比,以避免单一节点装置独占区块验证者的角色,从而降低双重支付发生的可能性。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1A为根据本发明一范例实施例的电子货币系统的示意图;

图1B为根据本发明一范例实施例的电子货币系统中的节点的方块图;

图2为根据本发明一范例实施例的电子货币系统中的区块链的示意图;

图3为根据本发明一范例实施例的电子货币管理方法的示意图;

图4为根据本发明一范例实施例的电子货币管理方法的流程图。

附图标记说明:

100:电子货币系统;

110、A、B、C、D:节点装置;

111:处理单元;

113:存储单元;

115:通信单元;

120:网际网络;

200、300:区块链;

200a、200b、200c、300a、300b、300c、300d:区块;

210:区块识别码;

230:前区块识别码;

250:随机数;

270:交易单;

S401~S405:电子货币管理方法的流程。

具体实施方式

本发明的部分范例实施例接下来将会配合附图来详细描述,以下的描述所引用的元件符号,当不同附图出现相同的元件符号将视为相同或相似的元件。这些范例实施例只是本发明的一部分,并未揭示所有本发明的可实施方式。更确切的说,这些范例实施例只是本发明的权利要求中的装置与方法的范例。

图1A为根据本发明一范例实施例的电子货币系统的示意图。

请参照图1A,本发明的电子货币系统100包括网际网络120及多个节点装置110。网际网络120可为有线或无线网络,节点装置110可为个人数字助理(Personal Digital Assistant,PDA)手机、智能手机(Smart Phone)、平板电脑(Tablet)、个人电脑(Personal Computer,PC)等可通过有线或无线方式连接网际网络120的电子装置。每一个连接上网际网络120的节点装置都可使用点对点(Peer-to-Peer)的方式与彼此进行通信。

图1B为根据本发明一范例实施例的电子货币系统中的节点装置的方块图。

请参照图1B,本发明的电子货币系统100中的节点装置110至少可包括处理单元111、存储单元113及通信单元115。处理单元130可为中央处理单元(Central Processing Unit,CPU)、微处理器(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似装置。

存储单元113可为随机存取存储器(Random Access Memory,RAM)、唯读存储器(Read-Only Memory,ROM)、快闪存储器(Flash memory)、小型快闪(Compact Flash,CF)记忆卡、安全数字(Secure Digital,SD)记忆卡、微安全数字(Micro SD)记忆卡、记忆棒(Memory Stick,MS)、硬盘(Hard Disk Drive,HDD)或其他类似装置。

通信单元115可为支持电机和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)802.11n/b/g等无线通信标准的无线通信芯片或 是支持有线网络连结的网络卡(例如,超高速以太网络卡)或网络芯片或其他类似装置。

图2为根据本发明一范例实施例的电子货币系统中的区块链的示意图。

请参照图2,本发明的电子货币系统的区块链200可包括区块200a、区块200b、区块200c等。每个区块都包括区块识别码210、前区块识别码230、随机数250及多个交易单270。每个区块都可以通过前区块识别码230来识别自己的前一个区块,因此多个区块可藉此形成一条完整的区块链200。举例来说,区块200b可通过前区块识别码230来识别区块200a为其前区块,而区块200c可通过前区块识别码230来识别区块200b为其前区块。值得注意的是,区块识别码210及前区块识别码230都是以哈希值的形式存储。

比特币的所有交易记录都会存储在由多个区块组成的区块链200中,而区块链200会存储在每一个节点装置110的存储单元113中。在挖矿过程中,每个节点装置110都会计算上一个区块内容的哈希值,通过通信单元115接收从网际网络120广播来的多个交易单270并验证此些交易单270的正确性,同时由处理单元111产生一个长度无限制的随机数250。接着,处理单元111会将上一个区块内容的哈希值、尚未在前区块中出现的交易单270以及随机数250放到哈希函数(例如,SHA256)中,计算出一个长度为256的二进位数值。若节点装置110中的其中一个节点装置(在此定义为“第一节点装置”)比网际网络120上的其他节点装置先计算出的二进位数值的多个特定位元为认证值(例如,此二进位数值的前十个位元都是0),则第一节点装置就会获选为此区块的区块验证者,并将这个新区块连同随机数250广播给网际网络120上的其他节点装置以将此新区块加入现有的区块链200中,同时接收到新区块的节点装置会先验证此新区块的正确性之后才将此新区块加入现有的区块链200中。

在基于比特币中的均匀工作量机制下(Uniform Proof of Work,UPW),计算能力比较强的节点装置将比其他节点装置以更快的速度计算出符合条件的随机数。简单来说,成功作为区块验证者的机率会跟节点装置的计算能力成正比。然而,为了避免计算能力较强的节点装置趋向独占验证的可能性进而成为系统中的攻击者,电子货币系统100是采用动态非线性工作量机制(Non-Uniform and Non-Linear Proof of Work,NNPW)来调整每个节点装置 获选为验证者的难易度。

详细来说,图3为根据本发明一范例实施例的电子货币管理方法的示意图。

请参照图3,A、B、C、D为网际网络120的不同节点装置110。假设在目前的时间点上,区块300a、300b、300c、300d是区块链300中最新产生的四个区块,其中区块300a的区块验证者为C、区块300b及区块300d的区块验证者为A、且区块300c的区块验证者为B,而D并没有在区块300a~300d中成为区块验证者。

在本范例实施例中,每一个节点装置110的存储单元113都会存有一协定(或称为地气协定),使得每一个节点装置110在计算随机数而成为区块验证者的过程中具有不同的难度。具体来说,在挖矿过程中,节点装置110会将上一个区块内容的哈希值、尚未在前区块中出现的交易单270以及随机数250放到哈希函数中,并计算出一个长度为256的二进位数值,若其中一个节点装置最先计算出的二进位数值的多个特定位元为认证值(例如,二进位数值的前10个位元皆为0),则此节点装置将成为新区块的区块验证者。在一范例实施例中,其它节点装置成为区块验证者的难度会随着此特定节点装置在预定数量的前区块中成为区块验证者的次数而动态改变。

举例来说,若上述预定数量的前区块为4,则成为区块验证者的难度可由下列公式求出:f(q)=pq,其中p为常数。在此可假设p=2,而q为节点装置A、B、C、D分别在预定数量的前区块中成为区块验证者的次数。由上述公式可得知,A、B、C、D在前四个区块成为区块验证者的次数分别为2、1、1、0,因此A、B、C、D成为下一个区块的区块验证者的难度可分别设定为4、2、2、1。

值得注意的是,当完成难度的设定后,地气协定会根据难度来动态调整上述二进位数值的多个特定位元的数量。例如,以具有难度1的区块而言,只要能在最快时间找出可使得经哈希后的二进位数值的前10个位元皆为0的随机数就能成为区块验证者;以难度2的区块而言,可设定为在最快时间找出可使得经哈希后的二进位数值的前15个位元皆为0的随机数才能成为区块验证者;以难度4的区块而言,可设定为在最快时间找出可使得经哈希后的二进位数值的前20个位元皆为0才能成为区块验证者。简单来说,地气协定 中所设定的难度会与求出随机数的计算复杂度成正比。

在本发明的另一实施例中,成为区块验证者的难度可由下列公式求出:f(q)=q!,其中q为一节点装置110在在预定数量的前区块中成为区块验证者的次数。由上述公式可得知,A、B、C、D在前四个区块成为区块验证者的次数分别为2、1、1、0,因此A、B、C、D成为下一个区块的区块验证者的难度可分别设定为2、1、1、1。在本发明的又一实施例中,成为区块验证者的难度可为f(q),其中f(q)为符合f(0)=1,f’(q)>0,f”(q)>0的函数。

上述的电子货币管理方法可以图4为根据本发明一范例实施例所示的流程图来进行总结。此流程图适用于电子货币系统中的各个节点装置,然而为了方便说明,以下仅以其中一个节点装置(定义为“第一节点装置”)来描述,其它装置可依此类推。

请参照图4,在步骤S401中,节点装置110中的第一节点装置在网际网络120上进行挖矿时,第一节点装置会获取区块链中连续的多个前区块。在步骤S403中,第一节点装置会判断其获选为此些前区块中的区块验证者的次数。在步骤S405中,第一节点装置将根据上述次数,动态地调整其获选为下一区块的区块验证者的难度。当获选为此些前区块中的区块验证者的次数增加时,难度也会随着次数而指数上升。

综上所述,本发明提出了一种电子货币管理方法及电子货币系统,在节点装置计算随机数产生新区块或是挖矿的过程中,会根据节点装置在多个前区块中成为区块验证者的次数,来动态地调整其成为新区块的区块验证者的难度。如此一来,即使网际网络中存在一个计算能力强大的节点装置,也能避免区块验证者被此节点装置所独占,从而有效地降低双重支付的可能性,以提升此分散式的电子货币系统的安全性。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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