瑞波币的常见问题

比特币(Bitcoin)一样,Ripple(瑞波)的出现让货币在全球范围内的流通变得更加简单方便了。但不同的是,比特币是一种虚拟货币,而Ripple是一种互联网交易协议,它允许人们用任意一种货币进行支付。例如,甲方可以利用Ripple以美元支付,而乙方则可以通过Ripple直接收取欧元。
位于旧金山的Ripple Labs是一家初创公司,正致力于推动Ripple成为世界范围内各大银行通用的标准交易协议,使货币转账能像发电子邮件那样成本低廉、方便快捷。
为了深入了解Ripple这一全新的支付系统及其对小型企业交易行为的影响,我们采访了Match.com网站的创始人Gary Kremen。他最近成立了企业加速器CrossCoin Ventures,为基于Ripple的初创企业提供指导,并帮助它们在合规调查、客户服务需求等特殊金融事务中进行交涉。


|Q:Ripple的优越性体现在哪些方面?

A:同比特币一样,Ripple也是一种可共享的公共数据库,同时它也是全球性的收支总账。共识机制允许Ripple网络中的所有计算机在几秒钟内自动接受对总账信息的更新,而无需经由*数据交换中心。这种处理速度是Ripple在工程学方面的一次重大突破。它意味着Ripple的交易确认时间仅为3?5秒,而比特币则需要40分钟。

Q:Ripple对小型企业有哪些帮助?
A:它能让小型企业在几秒钟内就能收到客户的汇款,不管这个客户在地球上的什么位置。如今,Ripple只需3天就能完成从消费者的信用卡到一家小型企业的银行户头的转账过程。这种迅速到款的特性对管理企业的每日现金流有很大帮助。
由于Ripple的转账手续费低到可以忽略不计,为了保证竞争力,信用卡公司将有很大可能降低它们的转账手续费,从而使得小型公司在这方面的支出相应减少。信用卡交易费对现在的小型企业来说极不合理。大型企业可以得到更多的优惠,小型企业却难以享受同等的待遇。
如果你拥有的是一家海外业务量较大的小公司,Ripple会给你提供很大的帮助。它能让你仅花5天就能成功转账至国外,且平均每次只需缴纳7%的手续费。Ripple的交易确认时间仅为3?5秒,而且外汇兑换手续费极少,甚至为零。

Q:Ripple有可能得到普遍应用吗?如果可能,会在什么时候实现?

A:加密货币的普及需要时间;它们改变了金融服务的渠道。不过我确实认为存在这种可能性。Ripple Labs目前关注的是该系统的合规性及其在监管机构和银行层面的推广和使用。即使不出两年人们就开始将Ripple应用于日常购物,我也不会感到惊讶。

Q:Ripple运作者的收入从何而来?
A:Ripple是开源系统,而且更近似于是一种公用资源,Ripple Labs并不拥有它,也没有控制它。不过,为了便于操作,该公司确实创造出了瑞波币(XRP)这种Ripple系统独有的加密货币(或称“密码货币”)。在华尔街,人们可以将瑞波币兑换成其他货币并变现,这为市场确定瑞波币的汇率提供了便利。

瑞波币的起始数量为1000亿,并且不会再增加,这一点也与比特币类似。但二者存在本质上的区别,即瑞波币不会像比特币那样可以“挖矿”。Ripple的创始人之一曾经就职于比特币交易平台,他对用来生成比特币的挖矿程序颇有微辞,因此就在设计Ripple系统时舍弃了它。瑞波币的总额就是那么多。至于你想知道的收入问题,我可以告诉你Ripple Labs拥有那些资金的25%,他们把钱都用在了Ripple系统的运作上。

Ripple VS 其它货币
它能完美的支持各种金融支付,并且在不同货币之间畅行无阻。
相比比特币漫长的交易确认时间,Ripple的交易几乎可以在几秒中内确认。同时Ripple完美的继承了比特币的去中心化和认证安全模式,建立在P2P网络上的分布数据库模式很好的保证了整个系统的稳定性。
比起传统的金融网络,Ripple的交易费用几乎没有,每次千分之一美分的费用让你更加轻松的掌控你的资金。


Ripple的优势

瑞波币的常见问题

1.问题

1.1如果有人偷了所有创建者的ripple会怎样?

那样不会毁掉系统吗?

不,实际上没有影响。尽管比尔盖茨拥有更多的钱,但美元对我来说依旧是有用的。Ripple仍将付交易费用。

2.常规

2.1没有一个完整总账,可以进行支付吗?

可以的,你只需要知道你账户现在的***。

2.2一个钱包可以在多台电脑上同时使用吗?

可以的,然而,超支的尝试将会失败。

此外,如果使用这种方法,现有客户端可能会丢失某些注解(annotations)。

2.3如果人们一直通过ripple使用美元,那ripple该怎么办?

为防止垃圾数据,交易要求在ripple内支付一小笔交易费用。

2.4在交易被认定结束之前会有多少时间?

一般情况下,几秒钟。

特殊情况下,比如网络断开,恢复连接后要等几分钟。

当交易发生了特殊情况,客户端会注意到。对于小额交易及处理信任的(交易)来说,不需要等待恢复连接。

2.5如何核实一个交易?

发送者在带有签名的消息中指定一个支付地址。每个交易都有一个哈希,从而通过它去那些具有足够多总账历史的节点查阅交易。总账有足够多的信息核实交易符合支付条款。

2.6如果ripple实验室离开后,ripple会发生什么?

Ripple网络是不依赖于ripple实验室的,可以自我运转。Ripple实验室只是为发展付出代价并推动网络发展。但这个程序离开ripple实验室也很容易运作。Ripple实验室不能控制ripple网络。

2.7是否存在能防止出现网络裂缝(network split)的天然经济力量?

对于任何有机会持续的裂缝,两部分都不得不支持互通性。一般来说,一个联合网络使所有参与者受益。这个问题的答案类似于Gmail不会使邮件协议与其他工具不相兼容的原因。尝试过的网络分支集合被记录在这篇wiki上。

2.8ripple是开源吗?

是的,ripple客户端和服务器都是开源。

2.9ripple是如何处理隐私问题?

匿名并不是ripple的一个设计目标。然而,ripple应当为大部分人提供适当的隐私。

1.与比特币类似:

  • 如果人们不告诉任何人这个地址是他们的,那就不会有人知道这个地址是他们的。
  • 如果你向另一个你控制的地址发送资金,那么你可以否认你控制了它。

2.代理支付:

  • 不久后,就可以设置账户将支付信息发送至网关。通过这种方式发送的支付是不可追踪的,除非发送者、接收者或网关泄露交易。这允许人们掩饰自己的全部支付,并使它们的开销从公众脱离出来。此外,如果需要,执法机关将可以传审网关。

3.装箱支付

  • 在未来,ripple可能支持装箱支付。箱子持有资金,而且能匿名地在钱包间转账。然而,需要汇出时,已有资金必须从箱子中转移至一个常规账户。

2.10谁将运行验证节点?

重度网络用户可能会想要运行自己的跟踪网络的服务器。除非有这样一个活跃用户能和运行服务器的人达成某种服务协议,他们会发现自己只能一点一点获取少量信息,而他们的企业要求大量信息。服务器运行者通常没有向其他人提供ripple网络入口的义务,并且很可能会孤立那些不履行自己职责的人。

如果每个重度网络用户都做好了维持网络的一部分,那么其他也想得到进入网络快捷途径的服务器运营商就会为了共同利益交换信息,服务器到服务器,实现互利双赢。

运行一个验证节点,相比运行一个追踪网络的的服务器,并不要求更多的资源。Ripple协议的设计就是让每个需要追踪网络的有信誉的人也能以几乎零的额外成本或努力来运行一个验证节点。

最终,有某些原因想要支持网络的任何人都可以运行一个验证节点。这样做的人将会成为网络演变过程中唯一有话语权的参与者。验证者投票决定改变网络规则、费用、储备金、新特征及未来可能的网络指令。

以供参考,下面的部分像是运行验证者的候选。

交易依靠网络的人:

  • 网关(Gateways)
  • 商家(Merchants)
  • 套利者(Arbitragers)
  • T+0交易者(Day traders)

想要支持货币选择的人:

  • 数字版权组织(Digital rights groups)
  • *主义组织(Libertarian groups)
  • 个体(Individuals)

想要支持无抵押贷款的人

  • 组织(Organizations)
  • 个体(Individuals)

想要提供公共服务的人

  • 大学(Universities)
  • 任何为开源项目提供主机服务的人

2.11为什么验证服务器不能直接得到回报?

验证服务器不能在算法上决定哪些验证服务器得到回报。验证是一项不要求重要资源的任务。它能以非常低的成本在笔记本电脑的小盒子或后台进程上运转。

任何对网络成功有兴趣的人都可以运行一个验证者。除了发布网络期间,没有理由让任何人运行多重验证者。匿名运行验证者不会收获益处。

想要赞助验证者运行的任何人可以自己掏钱赞助。没有必要向所有其他用户收税,以此来赞助寻租的验证者运行者。

总之,ripple实验室不应赞助运行验证者,因为网络需要脱离ripple实验者的干预而生存下去。尽管ripple实验室在网络成长初期可能会赞助某些验证者。

2.12没有XRP的人如何支付交易?

没有XRP的人不能支付交易。为了创建账户,他们必须让其他人给账户发送XRP。账户创建后,他们才可以开始创建交易。

2.13我的钱包密码可以改变吗?

不能,钱包密码是不能改变的。如果你的钱包密码被盗用,你需要采用以下措施:

  1. 在新钱包中创建新账户
  2. 将资金转移到你的新账户中
  3. 把你所有的信用额度设置为0
  4. 冻结钱包
  5. 将新账户告知你的债权人

2.14一个糟糕的UNL列表有什么影响?

你一定是故意选择拥有一个糟糕的UNL列表的。

然而,如果你这样做了,而且UNL上多数验证者决定欺骗你,那他们会让你相信,他们向你的账号付款了,但事实上并没有。这种情况下,作为交换,你可能会错误地提供某些东西。例如,你可能真的进行了支付,从而造成自己账户的损失。

3.技术问答

3.1双重支付发生的条件是什么?

某些人依赖一个交易结果而该交易后来被判无效,这时就容易发生双重支付。双重支付是一个担忧,因为一个商户不可逆地交付产品,期望交易支付,如果后来丢失依赖的交易资金,那么他可能会遭受损失。Ripple提供特殊的交易确认信息,且不可逆。如果(没有交易确认)提供了指令,而且稍后资金被撤回,那会造成双重支付。

造成双重支付的一个可能原因是Ripple软件中的一个错误。经过特别设计Ripple软件能提供确认信息,保证不可逆的交易,但一些错误或缺陷总有可能造成软件不能按照预期的那样运行。随着Ripple网络逐渐成熟,在不断测试、附加审查源代码及修复错误下,这种可能性越来越小。

在不出现错误的情况下,如果交易通过了服务器确认逻辑而后来无效,那也会发生双重支付。当交易出现在那些通过了总账确认逻辑的总账中,服务器的交易确认逻辑就会确认交易,因此,已充分证实,双重支付要求说服服务器接受后来从公共总账链条中消失的总账。

接受已充分证实的总账的逻辑有两个步骤。第一,作为网络一致共识进程的结果,总账必须上升。也就是说,网络上正在运行的、可靠的验证者中的大多数必须在这个总账上达成一致。第二,在这个特定服务器信息列表上的多数验证者必须证明他们看到信任的绝大多数验证者发现相同的一致性进程并同意总账。

网络层面和个体服务器层面都可以阻止双重支付。个体服务器可以通过精选不太可能串通的验证者来保护自己。随着ripple网络的壮大,作为整体的网络保持由有信誉的个体、阻止和企业组成的验证者集群的多样性,从而防止出现双重支付。

如果是双重支付的受害者,那么每个人都有这件事发生的加密证明,而且知道哪些验证者和运行者辜负了信任。即便现在,ripple网站是安全的,因为所有验证者在ripple网络成功中有共同的利益,而且试图背叛的加密证明将是自杀行为。

3.2分布式交换是如何运作的?

从核心来说,ripple是一个加密保护的分布式数据库。数据库用来储存包含每个人余额和信用额度的总账。总账还能储存其他的条目。

如果一个人有10个比特币,而且他们想以130美元的价格卖掉,那么他们可以在总账挂单一个要约(offer)讲明这个情况。然后任何有意愿的人可以在要约上获得它们。Ripple网络会主持交易,使交易发生。

3.3为什么每个地址有一个***?

这是保证某交易只能被申请一次的最简单的方法,而且能轻易阻止重新回到网络的旧交易。一旦一个账户通过了某个交易***,那这个交易不能再被用于总账或任何后面的总账。

3.4怎样对待无效支付?

交易中超过余额的支付将被忽视或推迟。

不在序列中的支付将被推迟。

3.5ripple能像开放交易一样运作盲签名现金(blinded cash)吗?

不可以,但是,在合约内有关于类似事情的计划。

盲签名现金可以被转账和兑取,其中发行者不知道谁拥有这些现金。

盲签名

在开放交易中,盲签名用作在一群人之间传递的货币,从而让发行者不知道谁是中介商。

发行人提取货币,核实有效,然后发行一个只能由发行者不知道的私钥兑现的新工具。

在一定程度上,ripple和比特币内部都有这种功能。

  • 钱币通过创建新地址重新装配货币。
  • 开放交易与众不同的是不会存储中间交易。
  • 这就是和开放交易相关,没有串通,接下来不会有交易记录。

Ripple公开运行总账,因而任何人都能创建一个记录。为了与开放交易相似,ripple不得不使用一台匿名服务器和一个签名权限。

  • Ripple没有匿名服务器。
  • Ripple有让发行者审查匿名服务器的设备。
  • 可信任权限的引入打破了ripple去中心化的目标。

3.6为什么加密所有连接?

简短答案:是的。

较长答案:http://www.codinghorror.com/blog/2012/02/should-all-web-traffic-be-encrypted.html

3.7 ripple验证者能阻止(block)一个用户吗?

Ripple验证节点能选择继续进行和接受哪些交易。他们可以给任何交易投反对票,但他们必须处理由网络一致性同意的交易。

如果验证者有失公允地阻碍了特定交易,那这将很明显地从他们发送的建议中看出来。如果人们认为这个行为是不公正的,他们可以拿出那些(不公正的)签名建议和其他验证者的签名建议来证明这一点。也就是说,验证者不能秘密做这件事。如果其他人不同意这种行为,他们可以,而且应该停止信任这个验证者。

4.Ripple问题

4.1为什么ripple不容易受到比特币51%的攻击?

比特币依赖比特币矿工分布式计算能力,保护比特币网络的完整性。任何人等同于51%比特币网络计算能力的攻击都容易让比特币受到损害。

相反,ripple利用一致共识来保护ripple网络的完整性。拥有额外的计算能力不会给攻击者提供优势。同样的,ripple不受基于计算能力攻击的影响。

某个人类似的对ripple的攻击可能是控制每个ripple参与者的大多数验证者。当每个ripple参与者选择自己的验证者时,他们可以通过不选择串通的验证者作为大多数而轻易地避免这个问题。

细节:

  • 一旦某次攻击被发现,就会轻易地辨别出谁是串通的验证者。
  • 如果一个人发现验证者有串通行为,他们只需要把验证者从验证者名单上移除。
  • 一次成功的攻击对于攻击者的最大回报就是暂时停止网络。
  • 由于回报非常小,而且每次攻击的难度非常高,所以似乎不会有大规模的人尝试进行攻击。

4.2编译和运行ripple的最低要求是什么?

成功建立ripple的最低系统配置是:

  • 4 GB RAM
  • 16 GB 磁盘空间
  • 1 64-bit CPU

这大概相当于亚马逊EC2上的 m1.medium实例。Ripple将在2GB RAM的环境中运行,但会影响到特定公共总账缓存系统。

4.3ripple自己关闭,原因是什么?

如果你看由ripple生成的debug.log文件,你可能会看到像这样的错误:

2014-Apr-08 02:12:38 Application:FTL Remaining free disk space is less than 512MB

2014-Apr-08 02:12:38 Application:NFO Received shutdown request

这意味着ripple存储公共总账副本的磁盘空间不足,而且自我关闭来保护剩余系统的完整性。你不得不删除公共总账的本地副本,并让节点重新同步(re-sync),或者增加保存总账的磁盘空间(如果使用LVM,可以在非常短暂的宕机时间内相当容易地完成)。按照公共总账增长的速度,你最好计划用最小16GB的磁盘空间来储存总账。

然而,如果你看空闲磁盘空间的数值,你会发现被使用的磁盘空间实际上低于最大值100%。这是EXT的特征吗?更多了解linux文件系统,请点击这里

4.4是否能用root账号运行ripple?

简短答案:不能。

较长答案:不能。在不太可能出现的情况中,ripple里有远程可利用的安全隐患,用root账号运行ripple,意味着有系统损坏的潜在风险。也就是说,攻击者能修改系统任意部分,因为ripple以root特权运行。运行ripple作为服务账户(也就是说没有root特权)将攻击者可能造成的潜在损害降至最低。

为了建立一个ripple服务账户,运行命令sudo useradd -U -m -r -s /dev/null rippled

命令行参数的意义:

  • -U –同时创建一个被称作“rippled”的相匹配的组。
  • -m –如果主目录不存在,创建用户主目录。
  • -r –给新用户一个系统账户,而不是用户账户。这意味着不会创建主目录,UID和GID不会是0(但会比第一个用户账户低)。
  • -s /dev/null –让服务账户默认shell /dev/null,而非shell。

在我们的Debian应用程序中,我们像这样在服务账户环境下开启ripple。

start-stop-daemon --start --quiet --background --make-pidfile /var/run/rippled.pid --exec /usr/local/sbin/rippled --chuid rippled --group rippled – --net --conf /etc/ripple/rippled.cfg

你可以用sudo手动做同样的事情。

sudo -u rippled -g rippled – /usr/local/sbin/rippled --net --conf /etc/ripple/rippled.cfg

此外,除数据库目录外,配置在rippled.cfg中的任何东西都归root拥有。这是为了降低攻击者远程重写文件或重新配置ripple的风险。理论上,攻击者能读取文件,但不能修改它们。

4.5放置ripple相关文件的好地方有哪些?

在内部,我们设置将ripple资源放在UNIX类似的地方:

配置文件:/etc/ripple/rippled.cfg

数据库文件:/var/lib/rippled/db in the subdirectory rocksdb/

4.6我的ripple日志文件(log file)非常大,该怎么办?

默认情况下,ripple被配置为生成调试日志,调试日志非常冗长,而且要求相当多的I/O和CPU时间来写入磁盘。虽然这对调试ripple非常便捷,但在扩展过程(production)中常常出现损害。Ripple拥有的日志级别是:

  • trace
  • debug (default)
  • info
  • warning (preferred)
  • error
  • fatal



我们可以利用JSON-RPC界面,实现不重启ripple就能改变日志配置。像这样:rippled --conf /etc/ripple/rippled.cfg log_level [log level]



配置变化会立刻发生。我们还可以通过编辑rippled.cfg配置文件和在接近结尾处添加如下文本来实现半永久式配置变化。



[rpc_startup]
{ "command" : "log_level", "severity" : "[log level]" }





在两种情况中,[日志级别]的值来自于上面的短列表。



停止ripple,删除日志文件,重启,是安全的。