Author

Topic: 比特币系统发行的密码学货币是通缩性的货币吗? “ (Read 976 times)

member
Activity: 62
Merit: 10
这个答案是肯定的。
full member
Activity: 147
Merit: 100
是的,计算机的原理不就是很简单吗
hero member
Activity: 529
Merit: 500
数学才能创造世界呢,数学是一切伟大事物兴起的本源
newbie
Activity: 14
Merit: 0
member
Activity: 98
Merit: 10
什么的本质不是数字? Cool
说得好,也问得好。本质即数字
sr. member
Activity: 266
Merit: 250
什么的本质不是数字? Cool
full member
Activity: 518
Merit: 100
我想应该是吧!
full member
Activity: 154
Merit: 100
 前一段时间关于离散对数的破解算法在这篇文章中已经解释得很清楚了(http://www.8btc.com/ecc_dlp),该算法要求小特征有限域F(p ^ n),小特征p<=2,比特币采用的secp256k1曲线中的p = 115792089237316195423570985008687907853269984665640564039457584007908834671663。

(二)PoW机制是否合理

有人质疑PoW毫无用处,白白浪费了电力,是否合理。但PoW最有用的一个关键点就是它本身没有其他任何用处,如果高算力的中心节点高算力者破坏系统,其在算力上的所有投入会100%损失,而如果维护好这一系统,回报又极为丰厚。所以,比特币系统不是不必担心51%攻击,而是当算力投入达到一定规模后,是否有人愿意发起攻击

(三)系统发行的货币总量设为2100万有什么依据吗?

首先,前面提到,一种媒介可以用作货币,需要有一定增量的。

有经济学者看到比特币设置了货币总量的上限,就推断比特币不能作为货币,这种推断是有道理的。因为总量固定,则无新币可发放,这有可能使流动性受到影响,而流动性影响导致的通货紧缩对任何一个经济体都有可能是致命的,比通胀还致命。比如说A想买种子,但手中没有足够的流动资金补充进来,他就无法生产。本来他用将来种出的粮食换得的货币可以向B购买工具,但因为生产停滞,所以无法支付给B货币,而B少了流动资金后,无法购买制造工具的原材料,是其生产停滞,原本B是C的大客户,B没有购买力了,C也受到牵连。这有可能引发蝴蝶效应,导致整个经济体崩溃。所以,很多国家(如美、日、欧盟)对通缩性的害怕比对通胀性大得多。

不过,比特币设置这一上限的方式更像是地球上的黄金储备,不是一开始就全分发出去,而是以逐期递减的方式分发,每一期都有额外的流通货币会发放出来,提供给市场。2100万是最终的累计值。而且,这个2100万是为了读写起来方便,实际数字是2100万*10^8 = 2.1 * 10^15次方,是一个比较大的数字,可用于细分。

总量固定,可以保证该货币有储藏的价值;可细分,因而可以靠市场来调节通缩与通胀。这是模拟黄金的特性。

黄金总量是自然界制定的,不管合不合理,我们也无可奈何。但是,Satoshi是个人,凭什么我们要遵守这个人为限制的总量数字?

因为这个数字实在太巧妙,有着意想不到的应用。(以下内容参考了:http://bitcoinmagazine.com/7781/satoshis-genius-unexpected-ways-in-which-bitcoin-dodged-some-cryptographic-bullet/)

首先,浮点数在计算上会有误差,在交易系统中不应使用浮点数,而是整数。

目前各类计算机系统的内置实现中,最大的整数为64位,也就是说,这个数字最好要小于2^64。

2100000000000000 约等于2的51次方,好像小的太多,但是,很多客户端在实现的可能使用的是jsp或其他脚本语言,在这些脚本语言中,不像C/C++那样区分什么整数、double、float等类型,所有的数都是一个number型。按照IEEE高精度浮点数的标准,一个浮点数中的后52位可以用来存储整数,如果总量设置的不是2100000000000000,而是更大一点,那么,这些客户端在实现时,恐怕不得不使用一些其他数据结构来处理货币金额这一数字,这会严重影响这些最基本运算的计算效率。

2100万×10^8这个数基本上已经够大了,控制总量,总要有个上限。很难推断这个数字在几百年后是否合理,但至少我们知道,这个数字绝不是Satoshi随意一拍脑袋就定下来的,我实在找不出用什么理由认为使用其他数字能更合理。

评论:高人高论, 写得好. 纯粹的货币, 就象结绳记事, 只是一个数字, 代表你从市场可换回商品的比例. 至于作者对通缩的担忧, 在另一篇文章有人已有高论,只要市场流通多种货币, 就不会通缩. 比特币不够用, 计算出汇率, 无限币960亿还不够用?

转自:巴比特

本文固定链接: 三个硬币 | http://www.3-coin.com/2014-05-23/2027/
full member
Activity: 186
Merit: 100
不错!学习了!
full member
Activity: 154
Merit: 100
货币的本质是数字,这在几千年前妇孺皆知!什么使得地球人如此愚蠢,竟然不知道这个基本常识?”

—— chehw,记于公元2014年5月18日 0:58分

引言

顿悟出“货币的本质是数字”,得益于那只“薛定谔的猫”。 前几天“知乎”上看到一个问题:“谁能用一个高中数学考了9分的人能懂的语言给我解释一下薛定谔的猫”。回答众说纷纭,看了下,都不满意,于是给出下面这个答复:

““薛定谔的猫”就是为了让高中数学靠了9分的人看不懂而提出的。这是因为该实验是用反证法来质疑哥本哈根诠释,而哥本哈根诠释则是试图化解小尺度上的量子理学与直观感觉上的矛盾,好让一个高中数学考了9分的人有机会似懂非懂地以为明白了某些问题。”

教科书上说: “货币是固定地用当一般等价物的商品。”由于商品有价值,所以货币似乎也应该有价值。可能很少有人怀疑过这样的定义(我以前也没怀疑过),因为直观上很容易会认为货币是物物交换的一种延伸。成年人往往忘记了怎样接纳新事物,对于未知的东西,他们会试图套用已有的经验和所谓常识来强加解释。与常识不符时,人们往往不是去拓展自己的常识,而是倾向于相信让他们感到大约能理解的某种诠释。把货币视为商品,这样的诠释听起来似乎有一定道理。

然而,历史研究发现,以物易物的方式可能必须要需追溯到约十万年前,目前没有证据说明有任一个社会或经济体曾经用以物易物的方式交易。(参考: Marcel Mauss. The Gift: The Form and Reason for Exchange in Archaic Societies. pp. 36-37.) 在大的流通领域进行直接物物交换不可能实现。道理很简单,因为很难碰到能与自己达成交易的合适人选。这需要协商出一个通用的中间交换品来进行通兑,但找出一个能让大众一致认可的统一价值的中间品简直荒谬,因为不同人对商品的使用价值有不同的认可,凭什么让所有人认可一斤大米可以值五个鸡蛋?

当然,商品交换显然无法避免,人类中的智者们必定会想方设法克服这一难题。衡量商品价值前,需要独立出来一种可用于计量的尺度标准,商品的价值按此标准做量化估计。商品价值是一个计量值。然后选取一个交易群体公认的媒介作为这一计量值的凭证——这就是货币。

货币从无到有,必定要经历一个大多数人的认可,而让大多数人认可,必定有一个大多数人都能理解并认为可行的规则,这需要是一个非常简单的规则,甚至应该是简单到了妇孺皆知的规则,以至于史书上都认为无需记载的规则。

只要规则足够简单,任何时代的人只需摆脱头脑中固化的成规定见的束缚,就必然能知道。

一、货币的本质:

目前已知第一次使用货币一词大约是在公元三千年前(美索不达米亚)。世界上许多不同的文化最后都出现了货币。像希伯来人使用的舍克勒,用大麦来充当货币,很多教材中称之为商品货币。这里的 “商品货币”,又是一个误导,使我们难以理解货币的本质。

形式上看,舍克勒是大麦,大麦有使用价值。但用作货币时,实际起作用的不是大麦能吃的使用价值(有的人根本不吃大麦,物物交换对方肯定会拒收),而是大麦有重量,这是它可以充当货币的关键。 这里的舍克勒是重量单位,货币是一个以舍克勒为单位的数字。

原理:大麦重量可计量。在一定生产力下,大麦的总产量(总重量)在某个时期内基本是一个定值(有上限),每人手中的大麦的重量占总重量的一个比例是一个数字。这个数字决定了持有这个数字的人可能用来换取当期其他所有商品的比例。 这一规则理解起来非常简单,实际应用也不难,所需做的工作就是给每种商品量化出价值(一个数值),然后对应上相应的大麦重量就可以了。

也就是说,商品之所以有了价值,是因为可以用货币去标识。虽然大麦也可以作为商品,予以标值,但它一但作为货币,它本身价值就不复存在,剩下的只有称量出来的重量这一数字有意义。

这意味着,货币实际上是先于商品价值(不是指使用价值)产生的,那么,货币怎么可能有价值?货币的实体只是一个凭证或交换媒介,证明所能换取的其他商品的数额。 很多人可能会倾向于认为一个东西必须有用(本身有价值)才能有用(有价值),实际上,经过抽象出来的无价值才是最大的价值。

货币的本质是数值,是某种价值凭证,本身没有价值。



注:

*顿悟的起因与本文所要讨论的内容没太大关联,但是过程却非常离奇,笔者思虑再三,还是忍不住要把它记录下来,如果读者不感兴趣,可以直接跳过,看下一章节。

一开始,吸引我注意力的不是“薛定谔的猫”,而是“薛定谔的处女”。偶然在网上拜读了一篇以图片格式存储的短文。文章中,在记述相亲的过程时,女方使用了“薛定谔的处女”这一术语。我当时一看,立刻就清楚文章的作者可能被网上流行的关于“薛定谔的猫”的解释所误导,不过,虽然不准确,这个术语我非常欣赏。此外,让我欣赏的还有从整体上的观感,包括字体选择、文字大小、段落间距设置得恰到好处,排版得非常优雅,让人忍不住想作为艺术品来收藏。遗憾的是,当时浏览用的不是自己的个人电脑,而且我手边还有其他工作要处理。

再次拜访时已人去楼空。楼主残忍地抛下这几个字——“嗯。删完了”。见此场景,我简直出离愤怒了!“我一定要得到那张图片!!!”虽然我有txt版的原文,但艺术品收藏者就是这么执着,我必须要得到那张图片!!!。 用了近2个小时的人肉搜索,大有收获——在ins上悄悄地搜刮到了几张作者的个人写真,于是收工。至于最初想找的艺术品么——那已经不重要了,反正我也不是什么艺术品收藏者。

躺着床上开始做思想实验,思考“薛定谔”问题,想着想着,猛然间发现,“薛定谔的猫”这一实验告诉我们不应牵强附会地解释某种直观感觉上的矛盾,因为这会让我们无法真正认识事物的本身。那么,将货币看作是一种本身有价值的商品,是不是一种错误的诠释呢?此时睡意全消,重新审视货币的起源。终于发现教科书上原本被视为真理的那种解释根本禁不起质疑。另外,“浮力”(与该艺术品作者的名字有关),让我想起阿基米德那个实验的缘由。于是知道了黄金为什么可以充当货币。*

二、什么样的媒介可充当货币

大麦货币应该算是一种实验性货币,没多久就消失了。这是因为,一种实物媒介如果可以固定的充当货币,还必须具备以下几个条件:

条件一:不易损耗。大麦需要有措施防止被老鼠偷吃,或是自身发霉变质。
条件二:可细分。 为了能够标识最低价值的商品,必须能细分成相对应的最小计量单位。大麦货币这点可以做到,每粒大麦应该足够小。
条件三:能防伪。 劣质大麦不好分辨,混进点小麦也不一定看得出来。如果多出来的假币换取了商品,则必有部分真币无法兑现。商品流转次数频繁时,这一问题可能不能被及时发现,人们为了减小损失或获取非正当利益,更倾向于使用假币,这就是著名的格雷欣法则——劣币驱逐良币,市场秩序将被扰乱。 格雷欣法则实际上已经可以说明了货币本身无价值。低价值商品如果充当了货币,只要在标识上的数字(如重量)与用高价值商品充当的货币相同,就可以换取同样多的商品。货币所表示的价值与货币所使用媒介自身的价值无关。
条件四:既要有适度增量,又要有总量控制。 适度增量在发展初期往往是必须的,因为货币带动了商品流通的发展,流通商品总量在递增,需要有更多的货币补充进来,价格才能其本恒定。适度增量,大麦勉强可以做到。然而,总量却无法控制,因为年年都会有收成。当流通商品数趋于稳定后,问题来了,随着大麦总量的增加,假设最初1鸡蛋=10舍克勒=1kg大麦,当大麦总量增加了10倍后,1鸡蛋=10kg大麦;总量增加100倍后,1鸡蛋 = 100kg大麦。试想一下,如果为了使用货币进行交换1个鸡蛋,其中的一方需要负重100kg,这种交易方式估计没有人会去施行。 另外,如果能够控制总量,货币就可以有储值的功用。总货币量可预期,持币的比例就可以预期,在未来可换取的商品占总流通商品的比例也可以预期。
条件五:所有权可以明确地转让。 一个数值凭证只能换取一次等值的商品,其所有权将转移到交易的另一方。实体货币无需考虑这一条件,因为这必定实现。但没有实体依托的纯数字不行,一个数字可以copy出n份
如果一种媒介具备了这几个条件,并按一定的规则量化为数字,就可以视为货币。因为它已经可以成为交易媒介、储藏价值和记帐单位的工具,“Any kind of object or verifiable record that fulfills these functions can be considered money.”英文wiki里关于货币的定义中提到上面这一点,中文wiki似乎缺少这一表述。

三、为什么黄金可以充当货币

与自然作物(如大麦)或海洋生物(如贝壳)相比,除了“条件三“(能防伪)这一点还有些难度外,其他条件金属货币很容易满足。在自然界中,金属的总量是基本上是一个定数,同时,由于开采和冶炼的难度,每期的增量也可有比较准确的预期。这样,只要满足了条件三,那么用这种金属来充当货币就是一种可行方案。

但是,造币权无论是中央集权控制,还是私人铸造,“条件三“很难满足,这就出现了著名的格雷欣法则——劣币会驱逐良币。原因是很难制定出一个判别货币真伪又简单易行的规则。以西汉初年的发行的几种铜币为例,效果都不理想,因为盗铸和偷工减料(减轻钱币的重量或降低含铜量)无法控制,影响了人们使用某种货币的信心。

为了防止造假币,历史上出现过两种截然不同的方式: 一种是靠增加铸币工艺难度或法律强制来实现,由中心机构统一发行。法律强制太普遍了,这里就不举例说明;增加工艺难度的例子有古罗马时期由政府发行的边缘带有锯齿刻纹的货币。实际上,中心化发行虽然在一定程度上防止这民间造假,但官方为了获取利益,往往自己会造假。 另一种是公开标准,由民间自由铸币。采用这种方式的是汉文帝。汉文帝登基的第5年(公元前175年),开放了铸币权,中央政府政府会提供「标准货币」的样本让民间遵循,民间可以自由铸造,私人铸币无罪,政府提供配套措施来保障,如「称钱衡」。这是中国货币史上惟一的放铸时代,也是中国历史所罕见“治世”——“文景之治”出现的时代。 (参考:赖建诚:良币驱逐劣币:汉文帝的放铸政策http://www.douban.com/group/topic/42665914/

有一种金属具有天然的防伪性,这使得“反格雷欣法则”成为可能。那就是黄金。因为黄金有着公认的、简单易行的验证真伪的标准——阿基米得浮体原理。初期,黄金可能不太适合作为通用货币,因为开采的数量太少、且新增速度太慢,跟不上流通领域的发展速度。由于可细分度达不到分配要求,历史上出现过金银本位的形式,但这一形式仍被格雷欣法则所支配。

由于黄金很好地满足上面的三个条件,只要储备到了一定数量,就应该可以成为一种理想的货币。到了十九世纪,金本位终于开始盛行。这本是个很好的开端。

四、信用货币和金本位的破灭

金属货币实际上有一个缺陷,那就是自身的重量导致运输不便。

假设A(住在东院)卖给B(住在西院)价值1吨黄金的大米,则B需从西院运输1吨黄金至东院。接下来B又卖给了A价值1吨的棉花,则A又把刚运过来的这1吨黄金原封不动地再运回去,这一运输过程纯属劳民伤财的无用功。 这一缺陷使得发展出信用货币不可避免。(早在宋代,就出现过“交子”这样的银票类凭据)。

实际上,只要明白了货币的本质是数字,那么就会知道,商品交换的过程可以只是数字上的转移,直到一定周期的最终结算前,实体货币根本不必出现。另外,对于货币而言,最重要的因素实际上是总量控制。只要总量可预期,那么持有的数字所代表的价值就可预期。有作用的是这个数字,至于采用什么样的媒介实际已经不太重要。 转化成信用货币,实现起来也很简单。如果当前黄金总量为1吨,通用的货币单位为1kg, 实际上没有必要每次都把金属货币搬来搬去,完全可以发行 1000张纸质凭据,每张凭据上注明为1kg与实际的黄金来对应。只要有公信力的机构或个人保证这张凭据可以随时换回等值的金属货币,那么,在交换中传递纸片比搬运1kg的实物显然轻松得多,于是,信用货币(如银行券、纸币)就产生了,这有助于提高商品交换的效率。

初期,银行发行多少信用货币,自身必须要有相应数量的金属货币作为储备。因为信用货币是银行的一种负债,任何人随时都有权利用纸币向银行要求兑换成实物货币。后来,随着信用货币的流行,银行家们发现自己实际没有必要一定要有那么多的储备,因为外部经济环境良好的时候,很少有人真的去换回贵金属。这样,银行可以虚开一些数字用于放贷,以获取额外的收益。不过,贵金属的总量对信用货币终归还是有一个约束。

然而,不便于运输的另一个后果是,贵金属的流转可以被国家强制力所控制,使其货币功能受限。 一战期间,一些国家为了准备战争,政府支出急剧增加,大量发行银行券,这时银行券兑换黄金越来越困难,这就破坏了黄金自由兑换的原则。同时,商品输出减少,资金外逃严重,引起黄金大量外流;于是各国开始纷纷限制黄金流动,黄金不能在各国间自由转移。维持金币本位制的一些必要条件逐渐遭到破坏,国际货币体系的稳定性也就失去了保证。第一次世界大战爆发后,各国停止银行券兑换黄金并禁止黄金输出。战争期间,各国实行自由浮动的汇率制度,汇价波动剧烈,国际货币体系的稳定性已不复存在。于是金币本位制宣告结束。改良后的金汇本位制也因二战前各个集团间黄金结算壁垒重重而解体。   二战结束后,由于美国基本上占有了大部分黄金储备,所以布雷顿森林体系用美元与黄金固定汇率的方式,改用美元来结算(这也可算是金本位的一种改良形式)。这解决了运输不便带来的限制,但前提是美国经济必须始终保持领先或稳定才行,显然这种前提保证是脆弱的,维持不了多久,到了牙买加体系后,金本位就彻底退出历史舞台。

现如今的信用货币体系实际上是运行在一个总量没有任何外在约束的环境中,也就是说,“条件四”是否生效,靠的是人为控制(货币政策)。

至于“法偿性”、“强制性”,这不是货币的属性,而是某种法币(信用货币)赖以存在的必要条件。因为没有了贵金属实物对总量的控制,持有一个数字在未来究竟能换取多少商品是个未知数。如果一个人持有占总量1/10000的黄金,那么若干年后,他仍可换取占总量1/10000左右的当期流动商品,这是可预期的,故可作为储藏手段来持有。但脱离了金本位后,信用货币的无总量的外在约束,如果中心化机构随便改变这个数字,每个人原本应得的分配比例就会变化(变化为0也有可能),于是“法偿性”出现了,告诉你有法律保证将来的兑付。”强制性“是法币所独有的特性,连信用货币的属性都不是。这意味着,如果商家担心该法币将来可能无法兑现,想拒收都不行。

个人感觉,这一特性比较恶劣,因为原本”法偿性“的义务本该是由中心机构承担的,这对中心机构是一种考验,有助于中心机构整体能力的提高,信用增强。而“强制性”则将兑现的义务转嫁给商家,任何人可以“依法”从其他商家哪里把有可能一文不值的纸币换成财物。(如果没有“强制性”这一规定,金本位虽然交易不方便,但仍有机会生存,因为有不少商家都可以要求以金币结算)

五、比特币系统发行的密码学货币

符合条件一:不易损耗。靠p2p节点来保存Block chain,有足够多的备份
符合条件二:可细分成约2.1 × 10^15 份。
符合条件三:数字签名和HASH算法确保其无法伪造。
符合条件四:既要有适度增量,又要有总量控制。比特币系统在发行算法已做了规定。
符合条件五:所有权可以明确地转让。比特币系统通过时间戳服务来实现。
Satoshi在创立比特币系统时,在发行方式上似乎刻意模仿了黄金的一些特性,如总量控制,开采难度以及分配机制。其中挖矿的收入分配给矿工,等同于淘金者挖出金子自己获得,这相当于开放了私人铸币权。

有人可能觉得这不公平,认为应收回这种权利。实际上,这要么是一种嫉妒,要么是一种贪婪。前者很常见,就不予置评了;后者也有不少案例,比如历史上的集权机构收回铸币权的目的是其本身贪婪到了要把这部分铸币收入也划私有。这是一种统治阶级的思维模式,作为普通民众,支持统治阶级的思维方式来让自己更好地被统治,感觉上这些人似乎欠缺了什么东西。

此外,淘金者获取的财富并不像想象中的那么不合理。由于持有的货币数量仅代表当期(一次)可换取的流通商品份额,而人类社会的生产是一个循环往复,周而复始的过程,流通商品的期数无限递增,淘金者所能换取的商品数只不过是其中某一期的某个比例,是个定数,而总流通的商品累积数量和价值总和则趋近于无穷,这是淘金者提供的黄金所带来的贡献。

六、比特币是否是通缩性的

单位货币代表的平均商品标值 = 当期可流通的商品总标值/可流通的货币总数。

只要明白货币的本质是数字,就会知道,通胀、通缩性取决于上面这个比例关系。

比特币系统提供的密码学货币规定的发行总量,因为持有比例与分配比例可预期,所以使得这种货币具备了“储值手段”这一功能。

而通缩性是基于一种假设,即未来流通商品的价值总量的增幅高于流通货币总量的增幅。

当货币总量固定时,流通货币总量的变化往往在一个可预期范围。中心化机构可以通过变化存款准本金率等方式调节流通货币总量,而去中心化方式则完全靠市场调节。

比特币系统的货币发行方式是去中心化的,因此,通缩性与通胀性是由市场来决定,不是由比特币系统决定。

比特币系统及其发行方式本身与通缩或通胀不相关。

七、比特币系统发行机构的总量设置是否会被人为改变?

如果可以人为改变这一规则,则比特币系统与中心化机构就没太大区别了。 由于比特币系统的实现方式是“去中心化”的,具体来说,是制定并公开了一个公认的规则(数学算法),这一规则已写入到每个客户端,擅自变更规则有如掩耳盗铃,周围人都看得出来,不会予以接受。(在一个交易系统,任何一个人变更规则,其他人都会不接受那个人的交易)。变更规则无法被中心化机构控制,必须要说服绝大多数人同意,并升级各自的客户端才行。规则一旦应用起来,变更规则基本上不可能。如果变更了,说明已得到了绝大多数人的支持(全民公投制),汤武革命,顺乎天而应乎人,规则变更了似乎也没什么坏处。

但是,比特币系统的规则几乎无法变更,带来了一个新问题:如果系统运转起来,那么核心算法将一直保持在系统中,这意味着2008年Satoshi制定的规则几乎无法被更新,当前的核心算法必须极其完美,在未来的几百年中不能出现致命缺陷。

几乎找不到什么人能够预见到几百年后的未来,我们所能做的只能是竭尽全力地寻找算法的缺陷。只要找到一处系统无法修复的明显漏洞,那么就可以对这一系统予以否定。

考察比特币系统的算法很容易,因为比特币系统是本身设计得非常简单。(实际上,正是因为简单,才不容易有漏洞)。不知是运气还是直觉,Satoshi似乎还有意无意的避开了几个他应该不可能知道的漏洞。

(一)真伪性验证算法:

真伪性验证:SHA256算法和ECDSA数字签名验证。目前似乎只有量子计算机出现,才可能对这种公认算法构成威胁。据传说,量子计算机的构想在几十年内就可能变成现实。

用一个大家的认识水平无法辨识真伪的断言来抛出一种致命威胁论,很容易引起恐慌。先不考证这种传说是否真实,这里讨论一下,即使量子计算机真的出现了,能攻击到比特币系统吗?

没有量子算法,量子计算机毫无用处。

量子计算机破解加密算法的概念源自于Shor’s Algorithm的发明,1994年,数学家彼得•秀尔发明了针对整数质因数分解的量子算法,使复杂度降至O((log N))。这意味着一个原本要10亿(2^30)年才破解的问题,有可能只用30年就完成。秀尔算法非常重要,因为它代表使用量子计算机的话,我们可以用来破解已被广泛使用的公开密钥加密方法,也就是RSA加密算法。RSA算法的基础在于假设了我们不能很有效率的分解一个已知的整数。目前,网银中普遍使用的是RSA算法。

Satoshi当然没那么傻,肯定不会使用RSA, 于是他选择了ECC(椭圆曲线加密算法)。但不可思议的是,他没有选择当时流行的如secp256r1这类的伪随机数曲线,而是用了Koblitz curves. 一条非常冷门的椭圆曲线secp256k1,这是一个非常简单的曲线算法,简单到了没法精心构造出一种恶意曲线来降低破解难度。相比之下,secp256r1则有这种可能性,当比特币系统运行了一段时间多以后,有人爆出了NSA可能知道如何在secp256r1中设置后门,比特币很幸运地躲过了这一劫。(因为一旦改算法,以前所有的交易就作废了)。

接下来,在ECDSA签名算法的实现中又爆出一个漏洞,一些java库在实现签名算法时使用了一个固定的参数k,而这个参数本应是个随机数,每次签名不能相同。如果k值同,则用两次签名的结果通过公式可以直接算出私钥。2010年十月份,一个叫FailOverFlow的组织公开了Sony用来对PlayStation 3的签名算法ECSDA的私钥。这次攻击就是因为sony对签名使用了同样的 。Satoshi设计算法时,应该不可能知道这一漏洞,不过他建议了一个每次接受使用新地址的规则,这样,如果按照系统默认的实现方式,每个私钥只签名过一次,即使客户端用的是java库来实现,也不被该漏洞影响。(用c/c++库实现的客户端不受此漏洞影响)

目前,能够破解比特币ECC算法的量子算法目前还不存在,以椭圆曲线的复杂度,能否出现还很难说(不是所有问题都能用量子算法来解的)。 ࠺
Jump to: