用改进的接合曲线维护加密代币的制作方法

文档序号:33251247发布日期:2023-02-18 02:28阅读:21来源:国知局
用改进的接合曲线维护加密代币的制作方法

1.当前公开的主题涉及用于维护第一类型加密代币的计算机实现的方法、服务器设备、客户端设备和计算机可读介质。


背景技术:

2.分散式交易系统、交易数据库或分布式分类账是计算机网络中引起关于其交易及其序列的共识的任何协议。这样的系统的常见形式基于区块链,并形成许多所谓的加密货币的基础。在加密货币中,密码代币跨多个客户端之上分布。客户端可以在彼此间转移代币,或者向做市商转移代币以及从做市商转移代币。密码术和分布式分类账系统确保转移不能容易地被伪造或拒付。
3.具有安全转移系统允许第一类型的代币兑换成第二类型的代币。通俗地说,第一类型的代币被买入,并且具有作为第二类型的代币的金额的价格。高级加密货币使用一种称为“曲线接合(curved bonding)”的机制,根据所述机制,一种称为接合曲线的函数是通过算法定义的,它取决于当前的代币供应影响货币单位(代币)的价格。
4.在国际专利申请wo 2019/043668 a1中公开了一种用于管理具有“曲线接合”的加密货币的已知方法。在已知方法中,向多个用户提供市场内钱包,该市场内钱包适合于存储在价值上链接到加密货币代币并且需要在数字市场平台上交易的链接数字代币。提供了适合于存储多个加密货币代币的加密货币储备。响应于用户从市场商店购买链接数字代币,链接数字代币被转移到用户的市场内钱包,并且加密货币代币的等值被转移到加密货币储备。响应于用户从用户的市场内钱包中取回多个链接数字代币,从用户的市场内钱包中移除期望数量的链接数字代币,并且将加密货币代币的等值从加密货币储备转移到用户的市场外钱包,市场外钱包适合于在市场平台外部存储加密货币代币。
5.所引用的专利申请的图10示出了图示如何可以应用代币接合的图表。代币接合用于引入基本上彼此相关的代币层次结构。代币接合是代币生成的一种手段,其具有预定义的价格供应关系或曲线。这可以通过智能合约来实现:用户将储备货币存入智能合约地址,并且进而接收到新铸造的代币。存款可以被锁定,以便在稍后的日期返还给代币的卖出者。用户为每个代币支付的价格可以由上述曲线决定。在任何时候,用户都可以能够用他们的铸造代币以相同曲线决定的价格兑换原始的储备货币。卖出和买入曲线可能不同。
6.对于要购买的附加的x个代币,智能合约可以基于现有的流通供应在曲线上查找适当的点,并且确定要为要生成的一捆x个代币而以本地代币支付的金额。可以为卖出代币提供类似的过程,该过程通过从流通中移除代币并沿着接合曲线向后移动总代币供应来销毁这些代币。由于代币可以是100%抵押的,因此系统可以提供所存储的足够的储备货币来补偿卖出的代币。接合曲线被定义为,其中并且;该函数的积分涉及超几何函数的评估,它没有封闭形式并且使用级数近似。


技术实现要素:

7.已知系统的缺点是在智能合约中对接合曲线进行积分是昂贵的操作。由于智能合约的性质,它不适合诸如数学处理之类的复杂处理。例如,诸如在已知系统中定义接合曲线的函数将需要超几何函数的评估。这些被称为是高级数学函数。这样的函数没有已知的封闭形式;它们可以通过评估级数来近似。
8.如所述,智能合约不适合执行诸如级数求和之类的数学计算。在实施例中,智能合约通过多个曲线段来近似接合曲线的期望形状。曲线段联接并且它们一起定义了整个接合曲线。虽然单个多项式不能容易地近似期望的曲线,尤其是在低次和大范围内不能,但是这可以通过联接多个曲线段来进行。例如,可以例如使用参数方程来定义曲线段,使得它具有封闭形式的反导数。例如,该方程可以是具有封闭形式积分的项的总和。这样的项的示例包括:单项式(),其可能地具有整数指数b、可能地具有分数指数b;以及指数函数()。有用的项是常数。例如,尾曲线段可以是常数。如果期望长期收敛,则这样的段是有用的。
9.例如,第二类型加密代币可以兑换成一定金额的新铸造的、即创建的第一类型加密代币,例如,如智能合约创建函数所定义的。所需的第二类型加密代币的金额是通过对如多个曲线段定义的接合曲线进行积分来确定的。同样地,第二类型加密代币可以被转移,作为废止一定金额的先前创建的第一类型加密代币的回报,例如,如智能合约废止函数所定义的。所需的第二类型加密代币的金额是通过对如多个曲线段定义的接合曲线进行积分来确定的。
10.沿着多个曲线段的积分可以涉及沿着相同的曲线段从起始供应到结束供应的积分。该积分也可以是从起始供应到曲线结束,以及从下一个曲线的开始到结束供应;甚至在它们之间可以存在以整体积分的一个或多个曲线段。在实施例中,可以预先计算曲线段的完整积分。
11.例如,代替于使用如已知系统中定义的接合曲线,该曲线可以由多个曲线段近似。可以容易得多地对曲线段积分。例如,可以为其定义封闭形式的被积函数,使得被积函数可以通过替换相关的起点和终点来获得,即当前供应和新供应,或者曲线的起点和相关终点。
12.例如,在实施例中,来自分布式分类账的智能合约将接合曲线定义为曲线段的序列。智能合约的创建或废止函数可以对从当前供应大小开始到新供应大小的接合曲线进行积分,以确定第二类型加密代币的金额。第二类型加密代币可以被转移到与智能合约相关联的池或从与智能合约相关联的池转移,而第一类型加密代币可以被转移给用户或可以被销毁。第一类型代币的当前供应大小可以对应地更新。
13.使用曲线段的优点在于,所述段可以用更简单的函数来参数化,所述更简单的函数例如是诸如多项式和广义多项式之类的具有封闭形式的被积函数的项的总和。这样联接的曲线段可以近似所期望的接合曲线形状,并以低得多的成本计算相同的被积函数值,或与其接近的近似。这使得该配置更好地适合于智能合约支持的计算。
14.另一个优点是接合曲线的形状可以在稍后更新。一种这样做的方式是拟合受制于约束的曲线段。在实施例中,约束对参数施加线性条件,使得可以通过求解线性方程组来执行拟合。例如,约束可以针对曲线之间的连接点,例如,它们连接并且导数相等。约束也可以是一个或多个更高阶导数相等,例如二阶导数。另一个约束可以针对接合曲线的形状,例如,非递减的,例如,在每一处、而且在它是平坦的地方、它向上弯曲的地方等等都具有非负
的一阶导数。最后,重要的考虑是接合曲线之上的积分,从零直到当前供应与池的大小相关,例如储备的第二类型加密代币的钱包。通常,约束是两个金额相等,尽管这不是必需的。
15.例如,在实施例中,接合曲线可以使用三段来定义,例如,使用3次多项式。例如,在实施例中,可以使用四段来定义接合曲线,例如,对于前三段使用3次多项式并且对于最后一段使用常数项。
16.在实施例中,定义了多个接合曲线。特别地,创建函数和废止函数可以使用不同的接合曲线。用于创建的接合曲线应当位于用于废止的曲线之上;也就是说,创建新的第一类型代币需要兑换成至少与废止第一类型代币归还第二类型代币一样多或更多的第二类型代币。例如,第二接合曲线可以依据第二接合曲线来定义,例如,高于或低于它的百分比。例如,第一和第二接合曲线可以根据中间接合曲线定义。
17.约束可以在智能合约中定义。例如,更新函数可以根据智能合约中给定的约束和一个或多个新参数、特别是具有第二类型代币的池的新大小来拟合曲线段。另一方面,约束也可以是可更新的。后者给定了完成进一步简化计算的机会。例如,接合曲线可以用单个段开始,例如由单个方程定义。例如,对于正的但非常小的b,单个方程可以是指数()。该方程定义了一个曲线,该曲线初始是平坦的,但在某个点开始强烈增加。在到达该点之前,接合曲线被更新为新的接合曲线,其中定义了一个或多个附加段,例如,以抑制指数增长。例如,新段可能引起接合曲线变平坦,甚至可能地收敛到某值。
18.另外的方面是一种用于维护第一类型加密代币的方法。该方法的实施例可以作为计算机实现的方法在计算机上实现,或者在专用硬件中实现,或者在两者的组合中实现。该方法的实施例的可执行代码可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上的非暂时性程序代码,用于当所述程序产品在计算机上执行时执行该方法的实施例。
19.在实施例中,计算机程序包括计算机程序代码,当计算机程序在计算机上运行时,该计算机程序代码适于执行该方法的实施例的所有或部分步骤。优选地,计算机程序体现在计算机可读介质上。
20.当前公开主题的另一方面是一种使计算机程序可供下载的方法。
附图说明
21.将参考附图仅以示例的方式描述另外的细节、方面和实施例。各图中的元件是为了简单和清楚而图示的,并且不一定是按比例绘制的。在各图中,与已经描述的元件相对应的元件可以具有相同的附图标记。在附图中,图1a示意性地示出了客户端设备的实施例的示例,图1b示意性地示出了服务器设备的实施例的示例,图1c示意性地示出了密码代币系统的实施例的示例,图2示意性地示出了区块链的实施例的示例,图3a示意性地示出了接合曲线的实施例的示例,图3b示意性地示出了接合曲线的实施例的示例,图3c示意性地示出了接合曲线的实施例的示例,
图3d示意性地示出了更新接合曲线的实施例的示例,图3e示意性地示出了接合曲线的实施例的示例,图4示意性地示出了更新接合曲线的实施例的示例,图5示意性地示出了用于维护第一类型加密代币的方法的实施例的示例,图6示意性地示出了用于维护第一类型加密代币的方法的实施例的示例,图7a示意性地示出了根据实施例的具有包括计算机程序的可写部分的计算机可读介质,图7b示意性地示出了根据实施例的处理器系统的表示。
22.参考符号列表以下参考符号和缩写列表对应于图1a-4、7a、7b,并且被提供用于促进附图的解释,并且不应当被解释为限制权利要求。100加密代币系统110、110.1、110.2客户端设备130处理器系统140存储装置150通信接口160、160.1、160.2服务器设备162数据库170处理器系统180存储装置190通信接口172计算机网络210区块链220智能合约221创建函数222废止函数223更新函数231-234状态241-242加密代币转移301接合曲线311第一类型加密代币的金额312第二类型加密代币的金额313第二类型加密代币的金额314第二类型加密代币的金额x1、x2第一类型加密代币的金额315第一类型加密代币的当前供应330状态信息321-323曲线段参数324-326曲线段参数
331-335曲线段参数1000计算机可读介质1010可写部分1020计算机程序1110(一个或多个)集成电路1120处理单元1122存储器1124专用集成电路1126通信元件1130互连1140处理器系统。
具体实施方式
23.虽然当前公开的主题容许以许多不同形式的实施例,但是在附图中示出了并且将在本文详细描述一个或多个具体实施例,应具有如下理解:本公开将被认为是当前公开的主题的原理的示例,并且不旨在将其限制于所示出和描述的具体实施例。
24.在下文中,为了便于理解,在操作中描述实施例的元素。然而,将清楚的是,相应元素被布置成执行被描述为由它们执行的函数。
25.此外,当前公开的主题不仅仅限于实施例,而且还包括本文描述的或在相互不同的从属权利要求中记载的特征的每种其他组合。
26.图1a示意性地示出了客户端设备110的实施例的示例。图1b示意性地示出了服务器设备160的实施例的示例。
27.例如,服务器设备160可以被配置为维护第一类型加密代币。例如,服务器设备160可以被配置为从区块链获得智能合约,以接收用于创建第一类型的代币的创建请求,或者用于废止第一类型的代币的废止请求,或者用于更新接合曲线的更新请求。例如,服务器设备160可以被配置为从实现这些函数的区块链检索智能合约,并执行智能合约中的对应计算机代码。作为响应,服务器设备160可以在区块链的新区块中包括反映(一个或多个)交易的数据。该信息可以反映交易,从而示出用户获得了代币或者代币被从用户移除,或者反映合约的状态信息,例如,包括新的接合曲线定义或者新的当前供应等。服务器设备有时被称为开采机或开采设备,或铸造机或铸造设备。
28.例如,客户端设备110可以被配置为维护钱包。例如,客户端设备110可以被配置为向服务器设备160发送对第一类型代币的请求,或者废止第一类型代币等。客户端设备110还可以发送更新请求来更新接合曲线。例如,更新请求必须链接到特定的身份,例如,由特定的私钥签名。
29.客户端设备110可以包括处理器系统130、存储装置140和通信接口150。服务器设备160可以包括处理器系统160、存储装置180和通信接口190。存储装置140和180可以是电子存储装置。存储装置可以包括本地存储装置,例如本地硬盘驱动器或电子存储器。存储装置140和180可以包括非本地存储装置,例如云存储装置。在后一种情况下,存储装置140和180可以包括到非本地存储装置的存储接口。
30.客户端设备110和服务器设备160可以是加密代币系统(例如加密代币系统)的一部分。客户端设备110和服务器设备160可以通过计算机网络与其他系统、外部存储装置、输入设备、输出设备和/或一个或多个传感器进行内部通信。计算机网络可以是互联网、内联网、lan、wlan等。计算机网络可以是互联网。该系统包括连接接口,该连接接口被布置成按照需要在系统内或系统外部进行通信。例如,连接接口可以包括连接器——例如有线连接器,例如以太网连接器、光学连接器等,或者无线连接器——例如天线、例如wi-fi、4g或5g天线。
31.通信接口150可以用于发送或接收数字数据,例如请求创建或废止密码代币。通信接口190可以用于发送或接收数字数据,例如请求创建或废止密码代币。通信接口190可以用于与其他服务器设备通信,例如分发区块链的新区块。
32.设备110和160的执行可以在处理器系统中实现,所述处理器系统例如是一个或多个处理器电路、例如微处理器,其示例在本文示出。处理器系统可以包括一个或多个gpu和/或cpu。系统100的设备110和160可以包括可以在不同位置之上分布的多个处理器。例如,设备110和160可以使用云计算。
33.设备110和160可以包括功能单元,所述功能单元可以是处理器系统的功能单元。例如,所示的功能单元可以全部或部分地用存储在设备处(例如存储在设备的电子存储器中)的计算机指令来实现,并且由设备的微处理器可执行。在混合实施例中,功能单元部分地在硬件中实现——例如作为协处理器、例如密码协处理器,并且部分地在设备上存储和执行的软件中实现。
34.图1c示意性地示出了密码代币系统的实施例的示例。系统100包括多个客户端设备;示出了客户端设备110.1和110.2。系统100包括多个服务器设备;示出了服务器设备160.1和160.2。所述设备通过计算机网络172、例如互联网连接。客户端和服务器设备可以是根据实施例那样。客户端设备可以彼此合作来转移第一类型的密码代币。客户端设备可以与服务器设备交互,以例如兑换成第二类型的密码代币而创建或废止第一类型的密码代币。
35.存储装置可以实现为比如闪速存储器的电子存储器,或者比如硬盘的磁存储器,等等。存储装置可以包括一起构成存储装置140、180的多个分立的存储器。存储装置可以包括临时存储器,比如ram。存储装置可以是云存储装置。
36.通常,客户端设备110和服务器设备160各自包括执行存储在系统处的适当软件的微处理器;例如,该软件可能已经被下载和/或存储在对应的存储器中,例如诸如ram的易失性存储器或者诸如闪存的非易失性存储器。替代地,系统可以全部或部分地在可编程逻辑中实现,例如,作为现场可编程门阵列(fpga)。所述系统可以全部或部分地实现为所谓的专用集成电路(asic),例如为其特定用途定制的集成电路(ic)。例如,电路可以用cmos例如使用诸如verilog、vhdl等之类的硬件描述语言来实现。特别地,客户端设备110和服务器设备160可以包括用于密码处理和/或算术处理的电路。
37.处理器电路可以以分布式方式实现,例如作为多个子处理器电路。存储装置可以分布在多个分布式子存储装置之上。部分或全部存储器可以是电子存储器、磁存储器等。例如,存储装置可以具有易失性和非易失性部分。部分存储装置可以是只读的。
38.图2示意性地示出了区块链210的实施例的示例。区块链是分布式分类账的特定示
例,其已经示出在实施例中良好地工作。也可以使用分布式分类账的其他示例。例如,在实施例中,分布式分类账可以是散列图表、缠结或网格。分布式分类账包括彼此链接的多个区块。所述区块可以包括交易数据和元数据。元数据可以包括链接信息和共识机制。主要参考区块链描述了实施例,但是这样的实施例可以被改变以使用另一类型的分布式分类账,特别是基于图表的分类账。
39.区块链210包括多个区块,所述区块在序列中彼此链接。例如,该链接可以包括共识机制。例如,这样的机制可以是工作证明,例如如在比特币中。该机制可以是利害关系的证明。共识机制允许分布式分类账中的分布式信任。在实施例中,可以使用例如如在本领域中已知的其他共识机制。
40.为了帮助讨论,图2示出了区块链中的三个点:对应于三个时刻的点251、252和253。在点251,已经创建了直到区块213的区块,但是还没有创建区块213。在点252,已经创建了直到区块214的区块,但是还没有创建区块214。在点253,已经创建了直到区块215的区块,但是还没有创建区块215。
41.在区块链210中示出了多个区块,在这种情况下是5个区块:区块211、212、213、214和215。可以存在更多或更少的区块。区块可以包括与分布式分类账机制相关的数据,例如共识数据,但也包括其他信息。特别地,区块可以包括交易,其中代币被绑定到例如与客户端的公钥相关、例如如被并入客户端设备中的地址。区块还可以包括其他信息。
42.特别地,区块可以包括智能合约。区块211以智能合约220的形式示出了示例。智能合约通常用计算机语言编写。为智能合约优化的计算机语言的示例是solidity。例如,在实施例中,区块链210可以是以太坊(ethereum)区块链,并且智能合约可以以solidity编写。虽然不要求限制到特定的语言或区块链。例如,以太坊区块链可以如在g. wood的论文“ethereum: a secure decentralised generalised transaction ledger”(例如2021-07-11的伊斯坦布尔版本80085f7)中所描述的那样被使用。
43.在实施例中,区块链210用于创建和废止第一类型的密码代币。通俗地说,创建新的密码代币有时被称为“买入”代币;废止密码代币有时被称为“卖出”代币。
44.智能合约实现多个函数,至少包括创建函数221和废止函数222(也称为卖出函数)。可选地,合约可以实现更新函数223。通俗地说,创建函数也被称为买入函数,并且废止函数222被称为卖出函数。这并不完全准确,因为通常一旦代币被废止它们就不再存在。在废止动作之后,代币的总供应减少了。废止函数也称为销毁函数。
45.服务器执行创建函数,并且作为结果获得新状态。例如,新状态可以反映现在存在(称为供应)的第一类型加密代币的增加的数量。服务器还可以获得指示新密码代币被转移到第一用户的交易,和/或指示第二类型的现有密码代币被从第一用户转移到与智能合约相关联的钱包的交易。智能合约被称为做市商。做市商可以将一定金额的第二类型代币保持储备在例如钱包中。钱包的该部分被称为池或池余额。相同钱包可以用于存放不是池的部分的代币。也可以仅针对池储备该钱包的使用。
46.服务器客户端在区块链上写入,例如,在区块中包括新状态和第一类型的新加密代币,转移的第二类型加密代币被写入这个或另一个区块链上。第一类型的代币和状态也可以放在单独的区块链上。
47.假设第一用户想要买入多个第一类型加密代币。他/她通过客户端设备向服务器
设备发送请求。该请求可以被发送到多个服务器设备。该请求可以包括,例如,

请求金额x的第一类型加密代币

转移第二类型的y个加密代币的指令

要将第一类型加密代币绑定到的地址。
48.例如,考虑正好在创建时钟214之前,在点252发送请求。
49.服务器设备从区块链检索智能合约220。智能合约使用可以更新状态。服务器设备从区块链检索当前状态。区块链210示出了点252之前的状态231和232,使得服务器设备检索状态232。
50.为了确定用于兑换成第一类型密码代币金额(x)的第二类型密码代币金额(y)——通俗地称为价格,智能合约使用接合曲线。智能合约可以包括接合曲线的定义。接合曲线的定义也可能处于一个状态。接合曲线的定义可以是智能合约,直到写入状态中的新定义覆盖它。
51.图3a示意性地示出了接合曲线301的实施例的示例。x轴311上是第一类型加密代币的金额。y轴312上是第二类型加密代币的金额。假设第一类型的代币的供应当前是x1,并且第一用户想要获得(x2-x1)个代币,使得新的供应将变成x2。为了确定要兑换的第二类型代币的金额,对从x1到x2的接合曲线进行积分。注意,x1和x2可以是整数,但这不是必需的。代币也可以以整数代币的分数被创建和废止。写入分类账的新状态可以包括新的代币供应是x2。
52.例如,第一类型的代币可以是根据实施例创建的新类型的代币,例如,以促进需要代币管理的一些新应用。这可以范围从商店到游戏、到服务、到约会应用。第二类型的代币通常是可以数字转移的现有代币。例如,第二类型的代币可以是比特币或以太等。
53.接合曲线通常仅在创建或废止关于做市商的代币时使用。第一类型的代币也可以在二级市场上转移,并且理论上代币可以兑换各方商定的任何事物。然而,由于双方还具有从做市商获得代币或者让做市商废止代币的选项,因此接合曲线将对二级市场具有强烈影响。使用接合曲线的一个动机是避免大幅价格波动。
54.接合曲线可以具有s形或反曲形状,例如,如图3a中所示。当x轴上的供应低时,可以容易地获得代币。当市场成熟时,价格通常收敛到值314。然而,这不是必需的。例如,价格增加可能比图3a的中间部分中平坦得多,而不是收敛。然而,反曲形状不是必须的。例如,接合曲线可以具有向上弯曲的形状。
55.在实施例中,接合曲线由多个曲线段定义。多个段联接并且一起定义接合曲线。这具有不同方程可以用于不同曲线段的优点。如果使用一个函数来定义整个曲线,则这将是适应曲线的期望形状的复杂函数。这样的复杂函数难以积分。
56.另一方面,当使用段时,将沿着定义接合曲线部分的一个或多个段进行积分。
57.智能合约中完成的计算通常非常资源稀缺。在这种情况下,计算被称为“链上”。链上计算是昂贵的,这尤其是因为共识机制可能需要计算重复许多次,以验证分类账。这使得链上计算低效并且昂贵。因此,存在简化计算的期望。使用曲线段允许个体段更简单并且因此更容易积分。
58.曲线段的形状可以由参数定义。例如,它们可以由系数来定义。例如,曲线段可以是多项式曲线。例如,它们可以是低次多项式,例如,最多5次,最多4次,最多3次。在实验中,
发现使用三个曲线段和3次多项式(三次多项式)效果很好。两段或更低次多项式被证明对接合曲线的形状给出太少的控制——例如,一个严格的要求是接合曲线应当是连续的,并且永不减小。对于诸如图3a中所示的接合曲线来说,没有发现具有多于三个段的必要性。在实施例中,段的数量可以更大,以适应更复杂的形状。特别地,在创建智能合约之后,可以增加段的数量。
59.废止函数222以类似的方式工作。假设用户具有第一类型的x2个代币,并且想要废止它们中的(x2-x1)个,他将得到一定金额的第二类型的代币作为响应,这是由接合曲线之上的积分确定的,然而在这种情况下是从x2到x1的积分。
60.在实施例中,创建函数和废止函数使用相同的接合曲线。然而,这不是必须的。在实施例中,创建函数使用创建接合曲线,而废止函数使用废止接合曲线。通常,创建接合曲线严格高于废止曲线。该差异有时被称为买卖差价(buy-sell spread)。具有创建接合曲线和废止接合曲线之间的差异避免了所谓的先跑攻击(front-running attack)。在先跑攻击中,用户利用即将到来但尚未执行的交易的知识,比如创建交易。在即将到来的创建交易之前,攻击者执行其自己的创建交易,并确保他的订单在受到攻击的订单之前执行,即所谓的先跑。在受攻击的订单被执行之后,攻击者废止他的代币,但是由于现在供应更高,因此他将得到比他开始时更多的第二类型代币。
61.使用不同的接合曲线可以用多种方式来适应。例如,智能合约可以定义两个接合曲线:第一和第二接合曲线。这些曲线可以是独立的,并且分别由创建和废止函数调用。如果需要重新拟合这一个或两个曲线,则这可以在第一曲线高于第二曲线的条件下进行。
62.另一个可能性是两个曲线中的一个与另一个相关。例如,用于创建的曲线可能比用于废止的曲线高一定百分比。另一个可能性是这两个曲线都是从中间曲线导出的。例如,第一曲线可以比中间曲线高一定百分比,而第二曲线可以比中间曲线低一定百分比。
63.适应不同曲线的又一方式是在更新用于废止相比于用于创建的供应点之间具有延迟。例如,如果创建了x个代币,则代币的供应立即增加x,供创建函数使用。然而,废止函数继续使用先前的供应,它表示较低的值。例如,假设s1在创建之前供应,并且s2在创建之后供应。则新的创建请求的单价将是,从它们开始积分,直到到达另外的供应点。然而,对于废止,可以使用,其中在某个时间内从1衰减到0。例如,可以例如根据指数衰减函数随时间指数衰减。
64.因此,智能合约220中的创建函数221可以被配置为

对从当前供应到当前供应+ x的接合曲线进行积分,以获得第二类型加密代币的所需金额

将第二类型加密代币转移到与智能合约相关联的池

以x增加当前供应,并将x个第一类型加密代币绑定到地址。
65.因此,区块214可以包括新状态233,例如,包括新供应和(一个或多个)交易241。
66.废止函数可以反过来工作。例如,废止x个第一类型加密代币的请求可以由废止函数222如下实现:

对从当前供应-x到当前供应的接合曲线进行积分,以获得第二类型加密代币的所需金额

将第二类型加密代币从与智能合约相关联的池转移到与用户相关联的地址。

将用户的x个第一类型加密代币标记为无效。

以x减小当前供应。
67.例如,如果在点253接收到废止请求,则区块215可以包括新状态234,例如包括新供应和(一个或多个)交易242。
68.创建或废止函数的结果可以是分别用于第一和第二类型的代币的一个或两个交易,以及新状态。这三个项可以写入在诸如区块链210的区块链上。
69.如果不满足前提条件,则创建和废止函数二者可以拒绝执行创建或废止任务。例如,可用于创建请求的第二类型加密代币的金额应当足够大,例如,至少与积分指示的一样大。例如,池中可用于废止请求的第二类型加密代币的金额应当足够大,例如,至少与积分指示的一样大。第二条件可以通过强制池的大小总是等于从0直到当前供应点的废止接合曲线的积分大小来强制。
70.可以调用更新函数223来改变接合曲线的形状。本文给出了更新函数223的示例。
71.为了完整性起见,图3b示意性地示出了当市场处于其婴儿期时所使用的接合曲线的实施例的示例。示出了三个阶段,有时称为态势(regime)。在第一态势i中,创建第一类型的代币。尽管接合曲线指示第二类型的代币应当兑换成它们,但是为了填充池,在态势i中没有这样做。例如,这些代币可以被用作针对早期投资者、发明者等的激励。在第二阶段或态势ii中,第一类型的代币兑换成第二类型的代币。然而,代替于由接合曲线指示的价格,使用恒定价格313。选择价格,使得在态势ii结束时,池的大小(以第二类型的代币表示)与直到态势ii结束时的接合曲线的积分一样大。例如,态势ii可以用于启动系统。例如,早期投资者可能执行该任务。在态势iii 中,价格遵循如上面指示的接合曲线。如果供应从态势iii下降到态势ii或i的曲线部分,则使用如接合曲线指示的正常价格。各种细化是可能的。例如,系统可以拒绝废止代币,如果这将引起供应下降到一定金额之间的话。可以使用两个接合曲线等。
72.在实施例中,例如在分布式分类账上的状态中,做市商维持第一类型代币的当前供应。例如,图3b在315示出了代币的当前供应。如果创建了第一类型代币,则通过对从点315开始向右的曲线进行积分来获得其所需的第二类型代币的金额;即,随着代币被创建,朝向更高供应。如果第一类型代币被废止,则作为回报提供的第二类型代币的金额通过对从点315开始向左的曲线进行积分来获得;即,随着代币被销毁,朝向更低供应。
73.图3c示意性地示出了接合曲线的实施例的示例。图3c中示出了三个曲线段:段a、b和c。在每个曲线段中,接合曲线由一个或多个参数定义。例如,参数321定义段a,参数322定义段b,并且参数323定义段c。参数321-323可以包括在状态中,尤其是如果接合曲线是可更新的。图3c中还示出了供应330,即当前存在的第一类型代币的金额,例如,成功的创建请求的总和减去成功的废止请求的总和。
74.定义曲线段的一种方便方式是使用多项式。参数321-323可以包括多项式的系数。多项式中的指数是整数。曲线可以由所谓的广义多项式来定义,例如形式的各项之和,其中b可以是非整数,尽管通常是有理数。广义多项式与正则多项式的共同之处在于,它们可以容易地并且以封闭形式积分。多项式可以方便地用贝塞尔样条的形式表述。
75.可能的是例如段a、b和c的各段遵循与态势i、ii和iii相同的划分,但这不是全部
必需的。相反,发现在选择各段开始和结束的地方的灵活性可以允许更好的拟合。例如,段a可以大于态势i,而段b可以小于态势ii。态势iii可以在段c之前开始。开始和结束段的最佳点的地方可以取决于曲线的拟合。
76.图3d示意性地示出了更新接合曲线的实施例的示例。定义了智能合约之后,可能存在可能需要改变接合曲线的几个原因。典型的原因是池中第二类型加密代币的金额改变了,并且不等于由接合曲线的积分所指示的加密代币的金额。
77.例如,在两个接合曲线系统中,例如,其中创建将使做市商获得比废止成本更多的代币,做市商可以逐渐具有比接合曲线的积分所表示的更多的第二类型代币可用。
78.由买卖差价累积的第二类型代币可以由做市商收集,例如,在与池相同的钱包中,或者在单独的钱包中。如果所有或部分附加代币被添加到池,则接合曲线的积分可能低于池中的新金额。
79.在典型的实施例中,池余额总是反映积分值,至少在操作和/或一般交易中一次,例如当在态势iii中时。更新函数可以改变接合曲线,使得新的积分指示例如等于新的池余额。例如,被标记的做市商可以被构造成使得积分值和池余额永远不可能不同;使得因此仅一起更新两者。
80.由买卖差价累积的第二类型代币可以由做市商收集,例如,在与池相同的钱包中。例如,做市商可以具有钱包,其子集保存池余额,这可以确切地反映积分,例如,在系统处于一般操作之后。做市商的钱包的第二子集可以持有另外的值,例如由做市商生成的收入。在这种情况下,钱包的值可能不同于积分和池余额,尽管后两者可能完全平衡。例如,可以通过调用更新函数来进行池余额改变,该更新函数将一起适配池余额和曲线形状,从而将值转移到钱包的池余额部分或从钱包的池余额部分转移值。池余额可以被定义为由接合曲线的积分所指示的金额,例如,从供应零到当前供应的积分。在实施例中,保证钱包中的金额至少与积分指示的一样高。如果使用多个接合曲线,则废止接合曲线可以用于计算池余额。
81.由买卖差价累积的第二类型代币也可以或替代地被单独收集。例如,创建接合曲线可以是废止接合曲线之上的百分比。对于每个创建交易,可以收集盈余。例如,第二池、例如做市商的第二钱包可以收集费用。在某个点,第二池中的费用或其一部分可以被添加到第一池。在这种情况下,池变得比接合曲线的积分所暗示的更大,这可以通过重新拟合接合曲线来校正。
82.图3d中作为实线示出了接合曲线,并且作为虚线示出了更新的曲线。
83.更新接合曲线可以遵循与为初始智能合约选择初始接合曲线相同的过程。在实施例中,选择曲线段的参数表示。例如,段的参数可以是曲线段在哪些供应点之间有效,例如从0到s1、从s1到s2等等,以及定义曲线的方程的系数。约束可以有三种。
84.第一约束可以指示接合曲线是曲线段的联接。例如,这类型的约束包括,一个段的终点应当等于下一个段的起点。通常,还要求直到某一阶的导数相等,例如一阶导数,但也可能是二阶导数,或者甚至可能更高。坚持导数相等将确保各段平滑地链接在一起。
85.第二约束可以指示接合曲线的期望形状,以使曲线适合于接合。例如,接合曲线应当永不减小。可以施加的其他约束是,在第一态势i中的二阶导数应当是正的,而在第三态势iii中它应当是负的。这反映了随着加密货币成熟,价格应当稳定的期望。
86.例如,在实施例中,接合曲线由至少三段定义,初始段(例如,段a)和尾段(例如,段
c)。在初始段和尾段之间可以存在一个或多个连接段(例如,段b)。优点是初始段和尾段可以制成平坦的,而连接段可以用来将这两段平滑地联系在一起。发现仅用两段或仅用二次多项式将两个平坦区域组合在一起是困难的。
87.在实施例中,尾段c具有零次,例如是恒定的。正次数的多项式不能收敛到一个值,具有恒定的尾部避免了该问题。除了单项式之外,还可以通过允许多项式被加数、指数项来获得收敛性。在实施例中,使用至少四个段,其尾段是恒定的。在实施例中,使用至少三个段,其尾段具有指数项。
88.平坦条件也可以是显式的。例如,要求可以是,段a或区域i中的价格增加与例如在区域ii或段b中的另一个价格增加相关。例如,前者可以是后者的比如。
89.注意,如果使用多项式表示,如果多项式具有正次数,则尾段不能严格收敛到一个值,例如值314。这可以通过在大段上选择接近并小于值314的多项式来避免,接受曲线最终将高于任何极限值;尽管实际上这可能不发生。另一个解决方案是允许形式的项的和,可能用于b的非整数值,以及指数项、例如形式的项,典型地用于b的正值。这样的项良好地工作,因为它们具有封闭形式的积分。这类型的扩展多项式对于尾段尤其有用,因为它允许收敛。例如,当x增加时,形式的方程收敛到a。(使用正b和正c)。该方程既是封闭形式的积分,又是封闭形式的导数,从而允许它被拟合。
90.第三约束是池含量应当与接合曲线、特别是废止曲线的积分相关。例如,第二类型代币的金额应当等于或大于接合曲线的积分。例如,第二类型代币的金额应当不小于接合曲线进行积分的百分比。所述百分比可以小于100%。在这种情况下,系统将无法承兑所有可能做出的废止请求。
91.可能存在将想要更新或重新拟合接合曲线的几个原因。例如,通过增加接合曲线低供应值(例如,接近零供应),接合曲线的总体形状变得更平坦。平坦的接合曲线使得在创建第一类型代币时投入的第二类型代币不太可能可以在稍后通过废止第一类型代币来恢复。例如,当池具有足够的大小和/或系统足够成熟时,可以提取第二类型代币。这样的代币可以例如用于支付运行系统的成本。如果池大小减小,则接合曲线可能向下调整。
92.给定新的池大小和多个约束,可以对段进行拟合。如果约束的数量低于参数的数量,则曲线可以被优化,例如针对区域i和iii中的平坦度进行优化。
93.在实施例中,约束对参数施加线性关系。事实上,上面的大多数约束暗示着针对参数的线性关系。优点是拟合或重新拟合(更新)接合曲线包括求解线性方程组。这甚至可以在链上廉价地完成。假设段起点的x坐标是固定的并且不是拟合的,甚至指数项也可以由线性方程拟合。
94.更新的接合曲线具有新的参数。在图3d中,这些被示出为参数324、325和326。碰巧的是,在该示例中参数的数量是相同的,尽管段的数量也可以改变。
95.在实施例中,经更新第二接合曲线直到当前供应大小之上的积分小于或等于池中的第二类型加密代币的金额的约束下,接合曲线、特别是废止接合曲线被更新。在调用更新函数之前,可以通过添加或从池中移除第二类型代币来增加或减小池。
96.更新一个或多个接合曲线可以通过调用更新函数223来发起。出于安全原因,更新函数可能被某些调用者、例如合约的管控者限制。替代地,更新可以自动触发,例如,一旦第
二池超过预定值。
97.可能存在多于一个更新函数。上述更新函数可以用于将接合曲线与池金额相匹配。然而,更新函数也可以用于管控。这可以是不同的函数,例如第二更新函数。例如,可能证明是接合曲线在某些地方太陡或者不够陡。然后可以调用更新函数来更新约束,并重新拟合曲线。
98.更新约束可以用来完全避免不同的态势。例如,初始可以以跨整个供应范围向上弯曲的接合曲线开始,并且然后随着时间推移慢慢向下弯曲高供应态势,以实现例如图3a中所示的反曲形式。
99.例如,可以将向上弯曲特性增加到超过当前交易点,以便增加对抗强力50%攻击的安全性,例如,通过增加必要的资本来从接合曲线买入更大金额的供应。例如,可以减小某些部分中的斜率,以便减小相关的波动性。
100.在供应零附近开始的区域中增加接合曲线,也称为从底层加固(undergirding)。更新动作可以被称为从底层加固接合曲线。在实施例中,接合曲线的定义满足曲率条件,该曲率条件涉及曲线应当为增加的供应提供单调增加的价格(一阶导数》=0 )的事实,同时附加地
·
在向上弯曲态势中,曲线应当严格向上弯曲(例如,二阶导数》 =0,例如,在态势i中)
·
在向下弯曲态势中,曲率应当严格向下弯曲(例如,二阶导数《=0,而一阶导数》=0,例如,在态势iii的全部或部分中)如果期望,则可以定义恒定的尾段。
101.接合曲线可以有利地使用各自具有可适配参数的可适配三次样条段来定义,例如贝塞尔曲线。这允许将约束形式化为清晰且高效可解的封闭形式。
102.使用可适配数量的参数化段——其具有以使得至少存在一阶和二阶导数的形式给定的段(例如三次样条)——允许许多可能性。在实施例中,区域的数量是动态可适配的,例如通过更新函数。如果使用二阶导数为零的形式,例如二次或线性阶多项式,则使接合曲线不太平滑,并允许施加较少的条件。另一方面,这可以通过具有更多段来补偿。实验需要更大数量的段来实现与三次样条相当的结果,这使得该方法最终更复杂。尽管它是可能的实施例。
103.图3e示意性地示出了接合曲线的实施例的示例。图3e中所示的接合曲线被定义为曲线段序列。示出了三个段:、和。可以存在两个段,或者多于三个段。每个段的起点的y坐标标示为p0、p1和p2。注意,pi指示第二类型代币的金额,即使它们在图3e中的x轴上示出亦如此。对应的x坐标的增加标示为和。注意,对应于p0的x坐标为零。
104.在实施例中,曲线段由多项式、例如将x坐标映射到y坐标的多项式来定义。将多项式写成贝塞尔曲线是方便的。有利的选择证明是三次贝塞尔曲线。为了拟合通过连续点pi的三次贝塞尔曲线,可以使用下面的公式。值ai和bi是拟合曲线的辅助。
105.。
106.为了拟合曲线,可以施加各种条件。首先,在连接点处可能需要连续的一阶和二阶导数。考虑到针对t的导数,我们可以有:
107.因此,我们有和
108.在连接点处,这意味着:
109.为了将曲线更新为新的池余额(从底层加固),我们对曲线进行积分。为了以参数形式这样做但是检索正确的区域,我们需要注意替换,其中x是当前供应点。假设x居于xi和x
i+1
之间。
110.。
111.因为在积分期间是常数(不是x的函数),我们可以将其分解出来,因此:因此:
112.对于完整的曲线段积分,我们有并且对于部分积分
113.如果当前供应点居于段i内,则在那里求解部分积分。否则,对于下面的其他段,可以使用不依赖于x而仅依赖于的全积分方程()。
114.图4示意性地示出了更新接合曲线的实施例的示例。用于更新第二接合曲线的第二更新函数包括增加或减小多个曲线段的数量。例如,通过添加另外两个段d和e,从图3a获得图4。新的段也可以具有约束,诸如曲率约束。
115.例如,引入另外的区域或段可以用于以少量的态势和仅向上弯曲的曲线开始,而随后引入过渡态势,使得由此分离的态势可以使用不同的特性/不同的曲率条件(例如,进展到反曲形状或允许子区域的不同弯曲强度)。
116.此外,这里,池余额条件是接合曲线的基本要求。也就是说,直到当前供应的曲线之上的积分应当是相关的,例如,与当前的池大小相等或是其百分比等。
117.图5示意性地示出了用于维护第一类型加密代币的方法500的实施例的示例。方法500是计算机实现的,并且包括:
‑ꢀ
从分布式分类账获得(510)智能合约,所述智能合约实现用于创建加密代币的创建函数,所述智能合约维护指示迄今创建的第一类型加密代币的数量的当前供应大小,以及实现第一接合曲线,所述第一接合曲线被定义为多个曲线段的序列,曲线段连接到后续曲线段,
‑ꢀ
接收(520)用于创建一定金额的第一类型加密代币的创建请求,并且作为响应,执行智能合约的创建函数,执行所述创建函数包括
‑ꢀ
沿着对应的曲线段对从当前供应大小到随着所述金额的第一类型加密代币而增加的当前供应大小的第一接合曲线进行积分(522),以确定第二类型加密代币的金额,
‑ꢀ
将所述金额的第二类型加密代币转移(530)到与智能合约相关联的池,以及
‑ꢀ
以所述金额的第一类型加密代币增加(540)当前供应大小,并转移所述金额的第一类型加密代币。
118.图6示意性地示出了用于维护第一类型加密代币的方法600的实施例的示例。方法600是计算机实现的,并且包括:
‑ꢀ
从分布式分类账获得(610)智能合约,所述智能合约实现用于创建加密代币的创建函数,所述智能合约维护指示迄今创建的第一类型加密代币的数量的当前供应大小,以及实现第一接合曲线,所述第一接合曲线被定义为多个曲线段的序列,曲线段连接到后续曲线段,
‑ꢀ
接收(620)用于废止一定金额的第一类型加密代币的废止请求,并且作为响应,执行智能合约的废止函数,执行废止函数包括
‑ꢀ
沿着对应的曲线段对从当前供应大小到随着所述金额的第一类型加密代币而减少的当前供应大小的第二接合曲线进行积分(622),以确定第二类型加密代币的金额,
‑ꢀ
从与智能合约相关联的池转移(630)所述金额的第二类型加密代币,以及
‑ꢀ
以所述金额的第一类型加密代币减少(640)当前供应大小。
119.方法600可以进一步包括转移销毁第一类型代币,例如将它们标记为无效、将它们转移到做市商钱包等。方法500和600可以组合,例如,用于维护第一类型代币的方法可以包括所述代币的创建和废止二者。
120.例如,所述方法可以是计算机实现的方法。例如,从分布式分类账获得智能合约可以包括例如通过计算机网络或在本地数据库中从分布式分类账检索区块。执行智能合约可以在微处理器上完成。例如,智能合约可以用解释语言编写,该解释语言可以由解释器、虚
拟机等执行。对曲线进行积分可以包括执行计算,例如,在接合曲线的基元或反导数(封闭形式的被积函数)中插入当前供应和新供应。基元可以是封闭形式的,并且可以包括多个基元段。接收创建或废止请求可以通过计算机网络进行。转移第一类型代币或第二类型代币可以包括将转移写入区块中以包含在分布式分类账的区块中。该区块可以包括共识机制,例如工作证明或利害关系证明。
121.对本领域技术人员来说将清楚的是,执行所述方法的许多不同方式是可能的。例如,步骤的次序可以按照所示的次序来执行,但是步骤的次序可以变化或者一些步骤可以并行执行。此外,在步骤之间可以插入其他方法步骤。插入的步骤可以表示诸如本文描述的方法的细化,或者可以与该方法无关。例如,一些步骤可以至少部分地并行执行。此外,在下一个步骤开始之前,给定的步骤可能还没有完全完成。
122.该方法的实施例可以使用软件来执行,该软件包括用于使得处理器系统执行方法500和/或600的指令。软件可以仅包括由系统的特定子实体采取的那些步骤。软件可以存储在诸如硬盘、软盘、存储器、光盘等之类的合适的存储介质中。该软件可以作为信号沿着有线或无线或使用数据网络(例如互联网)发送。可以使该软件可用于下载和/或在服务器上远程使用。该方法的实施例可以使用比特流来执行,该比特流被布置为配置可编程逻辑,例如现场可编程门阵列(fpga),以执行该方法。
123.将领会,当前公开的主题还扩展到计算机程序,特别是载体上或载体中的计算机程序,适于将当前公开的主题付诸实践。该程序可以是源代码、目标代码、代码中间源和目标代码的形式,诸如部分编译的形式,或者是适用于供在实现该方法的实施例中使用的任何其他形式。涉及计算机程序产品的实施例包括对应于所阐述方法中至少一个的每个处理步骤的计算机可执行指令。这些指令可以细分为子程序和/或存储在可以静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一个实施例包括对应于所阐述系统和/或产品中的至少一个的每个设备、单元和/或部分的计算机可执行指令。
124.图7a示出了具有可写部分1010的计算机可读介质1000,以及也具有可写部分的计算机可读介质1001。计算机可读介质1000以光学可读介质的形式示出。计算机可读介质1001以电子存储器的形式示出,在这种情况下是存储卡。根据实施例,计算机可读介质1000和1001可以存储数据1020,其中该数据可以指示指令,该指令当由处理器系统执行时,使得处理器系统执行维护加密代币的方法的实施例。计算机程序1020可以作为物理标记或通过计算机可读介质1000的磁化在计算机可读介质1000上实现。然而,也可以想到任何其他合适的实施例。此外,将领会,尽管计算机可读介质1000在这里被示为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质——诸如硬盘、固态存储器、闪存等,并且可以是不可记录的或可记录的。计算机程序1020包括用于使得处理器系统执行所述方法的指令。
125.图7b示出了根据用于维护加密代币的设备的实施例的处理器系统1140的示意性表示。处理器系统包括一个或多个集成电路1110。图7b中示意性地示出了一个或多个集成电路1110的架构。电路1110包括处理单元1120,例如cpu,用于运行计算机程序组件来执行根据实施例的方法和/或实现其模区块或单元。电路1110包括用于存储程序代码、数据等的存储器1122。存储器1122的一部分可以是只读的。电路1110可以包括通信元件1126,例如天线、连接器或两者,等等。电路1110可以包括专用集成电路1124,用于执行该方法中定义的
部分或全部处理。处理器1120、存储器1122、专用ic 1124和通信元件1126可以经由互连1130(比如总线)彼此连接。处理器系统1110可以被布置用于分别使用天线和/或连接器进行接触和/或无接触通信。
126.例如,在实施例中,处理器系统1140(例如,用于维护加密代币的设备)可以包括处理器电路和存储器电路,该处理器被布置为执行存储在存储器电路中的软件。例如,处理器电路可以是intel core i7处理器、arm cortex-r8等。在实施例中,处理器电路可以是arm cortex m0。存储器电路可以是rom电路或者例如闪存的非易失性存储器。存储器电路可以是易失性存储器,例如sram存储器。在后一种情况下,该设备可以包括被布置用于提供软件的非易失性软件接口,例如硬盘驱动器、网络接口等。
127.应当注意,以上提及的实施例说明而不是限制本发明,并且本领域技术人员将能够设计许多替代的实施例。
128.在权利要求书中,被置于括号之间的任何参考标记不应被解释为限制权利要求。对动词“包括”及其词形变化的使用不排除除了在权利要求中所陈述的那些元素或步骤之外的元素或步骤的存在。在元素之前的冠词“一”或“一个”不排除多个此类元素的存在。诸如
“……
中的至少一个”之类的表述当在元素的列表或组之前时表示从该列表或组中选择全部元素或元素的任何子集。例如,表述“a、b和c中的至少一个”应当被理解为包括仅a、仅b、仅c、a和b两者、a和c两者、b和c两者或者全部a、b和c。当前公开的主题可以借助于包括若干不同元件的硬件、以及借助于合适编程的计算机来被实现。在列举了若干构件的设备权利要求中,这些构件中的若干个可以通过硬件的同一个项目来体现。仅有事实即在相互不同的从属权利要求中记载了某些措施不指示这些措施的组合不能被有利地使用。
129.在权利要求书中,括号中的附图标记指代例示实施例的附图中的参考标记或实施例的公式,因此增加了权利要求的可理解性。这些附图标记不应被解释为限制权利要求。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1