BTC.com手机客户端

未来币(NXT)货币系统介绍

比特币资讯 发布在 竞争币 2 3256

综述

NXT货币系统的基本构件是“货币”实体(对象):货币有一个唯一的名称、代码(code),而且协议保证了唯一性。货币可以被删除,同时在一定程度上它们的代码可以被重新使用。

整个货币供应量被分为货币单位。货币单位像资产一样在客户端支持十进制。发行的货币单位最大值和NXT相同,也就是说10^9 * 10^8。实际最大单位供应量是由货币发行者设定的。货币发行商是一个发行货币和支付发行费用的账户。发行者负责设定货币特性,同时,在某些配置中能附加控制货币使用情况。类似资产余额,货币单位能在账户之间转移。

货币属性

货币实体支持许多属性。这些属性以不同方式进行混合和匹配来组成币种。之后,币种控制货币的内在运行过程。以下是可用的货币属性列表:

可兑换(EXCHANGEABLE——

货币可以和NXT兑换。货币持有者能发布一个兑换要约(exchange offer),指定货币的买入和卖出汇率,这几乎和银行或货币兑换机构发布他们的汇率相同。每个账户在任何时候只能发布一个兑换要约。兑换要约在失效后有一个过期区块。买家和卖家可以发布兑换请求来匹配已发布的兑换要约。与资产买入/卖出(asset bid/ask order)不同,兑换请求不能保存,它们要么被立即执行(全部或部分),要么永远不能执行。兑换要约和买入/卖出兑换请求相匹配创建了一个交易实体,它代表着对NXT余额相应的货币单位转移,并进行相关账户的余额更新。发布一个offer会立刻减少NXT和发布offer的账户的余额,直至过期。Offer还指定可能比提供的单位数量要大的兑换单位数量的上限。当一个买入兑换请求和一个offer相匹配时,只要没有达到上限,提供给卖出的单位数量就会减少,提供给买入的单位数量就会增加。一旦达到offer的兑换上限,这个offer就不能使用了。

可控制(CONTROLLABLE——

需要通过一个外部实体的适合于货币的货币特性。它表明以下关于货币的限制:(1)只有发行账户能转入或转出货币。(2)只有发行账户能发布兑换要约。发行者账户可以提前发布大量(实际上是无限的)货币单位,之后,向账户中转移单位或交换单位,以此反映发生在外部系统中的实际交易。发行者账户中的大量单位可以用来模拟创建突然出现的货币单位造成的影响,从而支持创建新单位和支付利息等特征。

可预设(RESERVABLE——

货币单位不是立即发行的。相反,货币单位设置了将要发行货币的区块高度及发行每单元货币所需要的NXT的限度。之后,货币“创始人”花费NXT预定货币股份。如果发行每单位货币所需要的NXT数量在达到区块高度前没有预定,那么取消发行,资金返回并减去费用。如果达成预设条件,执行发行,并且根据投资NXT的股份比例在创始人和投资人之间分发货币单位。至于零头会发送给发行者账户。文末可见关于可预定货币的用户方案的讨论。

可索回(CLAIMABLE——

当预设货币时,可预订货币的货币单位之后会被取回,每单元价格达到相同的NXT。以特定价格认领一个货币的能力表明在某些用户想要兑换的价格上有实际限制。但如果只是出于兑换全部供应货币的目的,可预订货币还是可以兑换的,以便于删除该货币。

可挖矿(MINTABLE——

和比特币几乎相同,可以使用工作证明(PoW)来挖矿。与比特币挖矿不同,货币挖矿不确保网络安全(这个NXT做到了)。挖矿是唯一途径–用来创建新的货币单位以及作为在货币发行后增加可用的单位数量。

不可混淆(NON_SHUFFLEABLE——

此特性说明该货币未来不参与混淆(coin shuffling)。默认情况下,货币允许参与混淆(shuffling)。 (译者注:CoinShuffle 是一种混合多账户货币来增加比特币匿名性的技术,防止比特币公开账本里的交易可被追踪。论文发表于http://crypsys.mmci.uni-saarland.de/projects/CoinShuffle/coinshuffle.pdf 

nxt
CoinShuffle 算法简图

NXT使用这技术的具体说明见https://bitbucket.org/JeanLucPicard/nxt/issue/135/coin-shuffling-monetary-system

—— 以上这些属性组合成指定为“货币类型”的整数位掩码。

货币兑换

对于可兑换的货币来说,每个货币持有者的账户可以发布一个兑换要约,指定买入或卖出兑NXT的汇率以及她想要兑换的货币单位数量(不能超过她可用的货币单位和NXT余额)。用户可以看见所有货币兑换要约(在直观上和许可的交易所一样),努力和买入或卖出兑换请求相匹配。一个兑换要约有一个过期高度,同时给可兑换的单位总数量设置上限。当从兑换要约中买入货币单位,卖出的单位数量自动增加,反之亦然。发布者还限制特定兑换要约的货币单位交易总数量。

删除货币

因为可用的货币代码限制至3、4、5个大写字母,货币代码全部可用数量限制在26^3 + 26^4 + 26^5 – 1 = 12355927唯一值(“NXT”代码已被保留),这其中某些代码很可能自己有价值。因此,在特定情况下根据币种删除货币是有可能的。用户可能会用同样的代码、不同的特性来重新发布货币,或者删除货币并发布新货币。为了删除或再发行货币,一个账户必须造出所有货币单位(和基于币种的附加条件应用)。

创建新货币单位

发行货币后创建新货币单位的唯一方式是使用挖矿的工作证明(proof of work minting)。其他创建单位的方法容易受到DoS攻击/或马甲(sock puppets)的影响,因此不被允许。可控制的币种为创建新单位提供部分解决方案,允许货币发行者账户把她的供应作为库存并且只把这个账户之外的单位作为全部货币供应量。这个方法要求用户相信货币发行者能在任何时刻增加货币供应量。

铸币(挖矿)

用户可以发布铸造附加货币单位的铸币请求。每个铸币请求会触发基于提交上去的数据和货币哈希算法的哈希计算。产生的哈希值和 由现有货币难度衍生出的目标值 进行比较。最小、最大货币难度值和铸币算法是指定好的,发行后就不能再更改。铸造第一个单元的预期哈希计算(也就是难度)的数量是2^minDifficulty,而铸造最后一个单元的难度是2^maxDifficulty。难度值 随着 现有单位数量和总供应量之间的比率,从最小到最大线性增长。随着每个货币单位请求铸造的单位数量增加,难度值线性增长,小型铸造者每个请求只能铸造少量单位,而大型铸造者每个请求能铸造非常多的单位。每个铸造请求的单位数量限制在总单位供应量的1/10000。铸币限制在单一铸币交易每区块/账户/货币。货币发行者可以指定最初的单位供应量作为分配给发行者账户的“预铸币”供应量,之后利用货币的可预定性和可兑换性进行众筹。一旦货币被激活,现有供应量(保留供应量)和总供应量之间的差值 就可以被挖矿。NRS提供一个Java基础的参考实例铸币机。实际上,我们期望用户扩大这个铸币机,通过使用Asic或GPU计算出哈希代码,努力达到现有目标。一旦解决一个散列,就能提交一个铸币交易(因而支付费用)。

如果哈希代码确实比目标值小,那么货币单位会分给发送者账户。

点击阅读 铸币参考实例文件

价值储存

可预定性和可索回性的特质的结合可通过冻结NXT给货币分配最初值。一旦货币被激活,被预定的NXT将被冻结(locked,锁定),唯一解冻的方法是通过返回对应的NXT,索回相应的货币单位。这为货币提供了基于冻结NXT余额的价值。

注:冻结的NXT不参与锻造(译者:锻造是NXT的区块增长、同步机制),因此,理论上冻结大量NXT作为价值储存货币是有可能的,但会促使用于确保网络安全的NXT数量减少,我们意识到了这个问题并且将密切监视它。我们不希望这个问题成为今后任何时候的主要问题。

众筹

可预定性和可兑换性的特性的组合能够用于众筹,在这种配置下,被创始人预定的NXT余额不会被冻结。相反,一旦货币被激活,它将被发送至货币发行者账户。发行者可以把这些NXT用作运营,同时,创始人不能要回他们的货币单位,只能在发行兑换要约的基础上进行交易。货币发行者能指定最初供应量作为“预铸币”,而且创始人能得到股份,依据预定供应量(也称“预热”供应量)和最初供应量有所不同。

价格

货币发行费用是基于货币代码长度。

3个字母 – 25000 NXT

4个字母 – 1000 NXT

5个字母 – 40 NXT

不考虑货币代码长度,以不同特性重新发行现有货币需花费40NXT。其它所有货币交易(截至今天)需花费1NXT。

API Documentation

(下面都是API函数名列表,故不翻译)

This section is relevant to API and client developers.

### Transaction APIs ###

(略)

### Query APIs ###

(略)

 

单位转换

货币是用单位测量的,并且像资产一样有小数点。然而,区块链保持货币余额为整数(QNT)。因此,举例来说,某种情况下,货币有2个小数点,客户预定123.45单位。这个单位值提交在API中应为12345。使用NXT余额的API通常应发送以NQT为测量单位的值。

例如:对于一个有两个小数点位置的货币,当提交一个价格为5.6的12.34单位的买入交易请求时,提交给货币购买交易的数值应为:units=1234。也就是说没有小数点或12.34 * 10^2 NQT价格 = 5600000。价格转换给NQT然后被小数点分割或5.6 * 10^8 / 10^2。

为了防止向服务器提交信息时的整数错误,用户界面(UI)强制执行以下规则:货币是否有D十进制位。单位值不能超过1个D十进制位,价格值不能超过8个十进制位。因此,当发行货币时,我们不推荐指定多于4个十进制数字,以防汇率也被分为至少4个十进制数字。

限制条件

此次版本中不支持以下功能(未来可能会支持):

当对比NXT分叉时,买入资产的货币和用支付交易费用的货币单位替代考虑到投入货币的工作量的NXT两者之间的交易。

免责声明

  1. 发行货币前,我们推荐在测试网络上发布具有相同特质和参数的货币,因为除了删除货币这些设置是不能改变的。
  2. 此文件显示的是截至今日的实际代码。

译自:https://bitbucket.org/JeanLucPicard/nxt/issue/205/monetary-system-documenation

译者:Allen

评论:2

您需要登录后才可以回复 登录|注册
    比特头条资讯
    比特头条资讯 700 天前

    未来币(NXT)货币系统详细介绍 NXT货币系统的基本构件是“货币”实体(对象):货币有一个唯一的名称、代码(code),而且协议保证了唯一性。货币可以被删除,同时在一定程度上它们的代码可以被重新使用。更多详情请点击链接| 比特头条 http://t.cn/RZ5ZCOa

    +1
    +1
    我要点评
    傲慢的松岛枫
    傲慢的松岛枫 700 天前

    //@Haibarayy68: @我是歌手 我也这么觉得~

    +1
    +1
    我要点评