Pages:
Author

Topic: Bitcoin 高質技術討論專區 - page 2. (Read 8429 times)

member
Activity: 84
Merit: 10
August 17, 2014, 10:38:35 PM
#73
Quote
社区最近的热门话题:比特儿NXT币被盗事件。
能否请楼主详细解释一下“rollback”(回滚)是怎么回事?比特币历史上发生过的回滚是什么情况?

rollback跟51%的攻击有没有关联呢?我觉得是类似的。Rollback是主动安排的,通知社区并重复同意的,当然也会造成影响;51%攻击是攻击行为,是不可见人的,会让整个社区受到损害。

所以近期BTC下跌,跟大家对此的担心有很大关系。
sr. member
Activity: 476
Merit: 250
August 17, 2014, 09:01:56 PM
#72

規則:

7. 有關山寨幣的技術問題, 如非與Bitcoin直接有關, 可被刪除


社区最近的热门话题:比特儿NXT币被盗事件。
能否请楼主详细解释一下“rollback”(回滚)是怎么回事?比特币历史上发生过的回滚是什么情况?
legendary
Activity: 896
Merit: 1000
August 06, 2014, 01:03:03 PM
#71
精彩的解答,现在我想问:面对量子计算机,比特币系统能否通过升级协议来修复这个先天缺陷来避免危机?或者说这种手术如果进行就足以致命几乎等于重新建造了一种新币? 这个问题社区迟早要面对的,毕竟量子计算机已经可以期望了。
legendary
Activity: 1792
Merit: 1111
August 06, 2014, 12:15:40 PM
#70
最近(又)有人提出量子電腦的問題

据斯诺登透露的文件,美国国家安全局正在一个耗资$79.7M的项目中努力研制量子计算机。
加拿大公司D-Wave声称成功制造出了小型量子计算机,一旦量子计算机出现,比特币将会怎样?

简单的说:
1,挖矿用的SHA256算法是安全的。量子计算机用于挖矿,挖矿难度大幅提高。
2,比特币用的椭圆曲线签名算法(ECDSA)会被破解。通过量子计算机计算,通过公钥可以找到私钥。
一旦你的地址付过款,公钥就公开,此地址的钱就可能被盗。对于使用多地址钱包,每个地址只使用用一次的用户,钱还是安全的。
3,比特币的签名算法将要升级。

一旦量子计算机出现,现在电子商务、网银广泛使用的RSA 签名算法也会被破解,如果你去问银行,“量子计算机出现后,我的网银安全吗?”,银行会说你杞人忧天,但由于椭圆曲线签名算法的破解对比特币影响更为直接,所以比特币社区对量子计算机更为关注。

虽说量子计算机还在科研阶段,D-Wave的量子设备是否能运算真正的量子运算还受学术界质疑,一旦比特币用于存储大额财富,安全至关重要。

量子计算机出现,比特币会面临挑战,但依旧会前行。

建议:大额比特币不要重复使用地址。

本人對這題目了解有限, 不過據本人的理解, 以上所述基本上正確

Bitcoin主要涉及兩大類的密碼技術: 雜湊(Hash), 主要是SHA256及RIPEMD160; 以及ECDSA公鑰系統. 要破解挖礦, 就只需要破解SHA256; 要破解地址, 則要同時破解RIPEMD160, SHA256, 及ECDSA

假如量子電腦(QC)真的成功, 利用Grover's algorithm, 就可以大大縮短碰撞雜湊的時間, 例如160 bit的RIPEMD160, 就會被弱化為只有80 bit的安全性. 然而即使是80 bit的安全性, 仍然是十分安全, 令我們有足夠時間過渡至更強的雜湊算法. 只要把長度倍增至320 bit, 就可擁有和現在的160 bit相同的安全性, 代價只是地址會比現在長一倍. 因此基本上, QC對挖礦的影響基本可以不考慮

QC帶來真正的問題, 是Shor's algorithm容許以極快速度破解ECDSA; 用傳統電腦上萬年也不能從公鑰算出私鑰, 用QC可能以小時甚至分鐘就可以完成 (確實時間我不肯定, 反正是快得不能接受). 雖然如此, 因為Bitcoin地址並非公鑰本身, 而是公鑰的雜湊, 因此只有地址, 就算用QC也是不可能算出私鑰, 所以只作收款, 從未付款的地址仍然是安全的. 曾經付款的地址, 由於付款過程必須公開公鑰, 便會變得不安全了.

如果你真的擔心QC的問題, 從今天開始就不要重覆使用地址. Bitcoin的設計, 本來就不是要重覆使用地址的.

如果QC真的可以以極高速 (秒級) 破解ECDSA, 則單次使用地址也會有問題, 因為在沒確認前就可以被偷了. 這有兩個方法: 中心化的, 由"可信"的礦工處理交易  (http://bitcoinmagazine.com/6021/bitcoin-is-not-quantum-safe-and-how-we-can-fix/), 及本人提出的去中心化的, 稱為Guy Fawkes簽名的方法 ( https://bitcointalksearch.org/topic/the-use-of-guy-fawkes-signature-in-case-of-ecdsa-zero-day-exploits-320634 ).

在ECDSA被破解後, 我們可改用一些QC也不能快速破解的公鑰系統, 例如基於雜湊技術的Lamport簽名. 我有時間會另文再述

(C) jl2012@bitcointalk 2014. CC BY-NC-SA 3.0  http://creativecommons.org/licenses/by-nc-sa/3.0/



https://bitcointalksearch.org/topic/the-use-of-guy-fawkes-signature-in-case-of-ecdsa-zero-day-exploits-320634
legendary
Activity: 1792
Merit: 1111
July 19, 2014, 10:01:13 AM
#69
私钥对公钥不是顺序一一对应,那么就是说算完前2^160个私钥并不能找出所有公钥,因为里面可能会有很多组私钥只对应某些公钥,这我现在理解了。
但是顺序取用私钥和随机生成私钥去碰撞公钥有什么不同吗?概率还是一样的。
为什么这么做是一种最不可取的方法呢?能证明一下吗?
或者说你算一下用随机生成私钥的方法碰撞成功一个地址和循序遍历私钥的方法各会需要多少时间。

而且顺序计算不会发生随机生成私钥有可能把某些私钥重复生成计算的问题,虽说概率很小,但理论上确实会发生。而且随机生成私钥本身也需要代价,虽说代价很小。


顺序遍历是在没有任何其他更好的方法的情况下才采取的方法,只要有其他方法可以解决,就一定不会选择遍历,所以说这是最不可取的方法。

如果没有任何可行的方法,小样本空间下当然选择顺序取样,但如果样本空间大到一定程度,则随机取样更适合。
这是因为你不能假设你可以持续不断地连续取样,除非你能活的足够长(需要远远超过太阳系预计所能存活的时间)。

碰撞目标出现在2^159之后的概率至少有50%,如果顺序取样,那么,至少有50%可能性你算到银河系毁灭也100%碰撞不到。
随机取样就是为了避免出现这种情况而采取的手段。有得必有失,因为无法预估最终结果,所以就要承担一定的(可接受的范围)性能损失。


非常典型的概率謬誤, 就像賭徒以為彩票結果 "1,2,3,4,5,6" 比 "1,14,18,31,34,41" 更難出現, 其實兩者出現的概率完全一樣

無論是順序還是隨機嘗試, 成功的概率都是完全一樣.

单次取样的概率确实是一样的,但如果连续不断地取值,则随机取样有可能取出重复值(好的算法也只能是出现重复值的概率极低而已),因而效率略低于顺序取样。
采取随机取样是因为在有生之年以最大速度所能取到的样本数占总样本的比例仍几乎为0,随机取样能覆盖的的范围会更广一些,所以仍有概率(虽然趋近于0)能取到。而顺序取样一旦选错了初始点,则100%碰撞不到。

我已經講了一次, 這是很初級的概率謬誤. 順序取樣, 也有可能選到極好的初始點, 很快就碰撞成功. 因此很明顯, 無論是隨機取樣還是順序取樣, 所需計算量的期望值是完全一樣.
newbie
Activity: 5
Merit: 0
July 19, 2014, 09:11:01 AM
#68
私钥对公钥不是顺序一一对应,那么就是说算完前2^160个私钥并不能找出所有公钥,因为里面可能会有很多组私钥只对应某些公钥,这我现在理解了。
但是顺序取用私钥和随机生成私钥去碰撞公钥有什么不同吗?概率还是一样的。
为什么这么做是一种最不可取的方法呢?能证明一下吗?
或者说你算一下用随机生成私钥的方法碰撞成功一个地址和循序遍历私钥的方法各会需要多少时间。

而且顺序计算不会发生随机生成私钥有可能把某些私钥重复生成计算的问题,虽说概率很小,但理论上确实会发生。而且随机生成私钥本身也需要代价,虽说代价很小。


顺序遍历是在没有任何其他更好的方法的情况下才采取的方法,只要有其他方法可以解决,就一定不会选择遍历,所以说这是最不可取的方法。

如果没有任何可行的方法,小样本空间下当然选择顺序取样,但如果样本空间大到一定程度,则随机取样更适合。
这是因为你不能假设你可以持续不断地连续取样,除非你能活的足够长(需要远远超过太阳系预计所能存活的时间)。

碰撞目标出现在2^159之后的概率至少有50%,如果顺序取样,那么,至少有50%可能性你算到银河系毁灭也100%碰撞不到。
随机取样就是为了避免出现这种情况而采取的手段。有得必有失,因为无法预估最终结果,所以就要承担一定的(可接受的范围)性能损失。


非常典型的概率謬誤, 就像賭徒以為彩票結果 "1,2,3,4,5,6" 比 "1,14,18,31,34,41" 更難出現, 其實兩者出現的概率完全一樣

無論是順序還是隨機嘗試, 成功的概率都是完全一樣.

单次取样的概率确实是一样的,但如果连续不断地取值,则随机取样有可能取出重复值(好的算法也只能是出现重复值的概率极低而已),因而效率略低于顺序取样。
采取随机取样是因为在有生之年以最大速度所能取到的样本数占总样本的比例仍几乎为0,随机取样能覆盖的的范围会更广一些,所以仍有概率(虽然趋近于0)能取到。而顺序取样一旦选错了初始点,则100%碰撞不到。
legendary
Activity: 1792
Merit: 1111
July 19, 2014, 08:48:15 AM
#67
私钥对公钥不是顺序一一对应,那么就是说算完前2^160个私钥并不能找出所有公钥,因为里面可能会有很多组私钥只对应某些公钥,这我现在理解了。
但是顺序取用私钥和随机生成私钥去碰撞公钥有什么不同吗?概率还是一样的。
为什么这么做是一种最不可取的方法呢?能证明一下吗?
或者说你算一下用随机生成私钥的方法碰撞成功一个地址和循序遍历私钥的方法各会需要多少时间。

而且顺序计算不会发生随机生成私钥有可能把某些私钥重复生成计算的问题,虽说概率很小,但理论上确实会发生。而且随机生成私钥本身也需要代价,虽说代价很小。


顺序遍历是在没有任何其他更好的方法的情况下才采取的方法,只要有其他方法可以解决,就一定不会选择遍历,所以说这是最不可取的方法。

如果没有任何可行的方法,小样本空间下当然选择顺序取样,但如果样本空间大到一定程度,则随机取样更适合。
这是因为你不能假设你可以持续不断地连续取样,除非你能活的足够长(需要远远超过太阳系预计所能存活的时间)。

碰撞目标出现在2^159之后的概率至少有50%,如果顺序取样,那么,至少有50%可能性你算到银河系毁灭也100%碰撞不到。
随机取样就是为了避免出现这种情况而采取的手段。有得必有失,因为无法预估最终结果,所以就要承担一定的(可接受的范围)性能损失。


非常典型的概率謬誤, 就像賭徒以為彩票結果 "1,2,3,4,5,6" 比 "1,14,18,31,34,41" 更難出現, 其實兩者出現的概率完全一樣

無論是順序還是隨機嘗試, 成功的概率都是完全一樣.
newbie
Activity: 5
Merit: 0
July 19, 2014, 08:38:39 AM
#66
私钥对公钥不是顺序一一对应,那么就是说算完前2^160个私钥并不能找出所有公钥,因为里面可能会有很多组私钥只对应某些公钥,这我现在理解了。
但是顺序取用私钥和随机生成私钥去碰撞公钥有什么不同吗?概率还是一样的。
为什么这么做是一种最不可取的方法呢?能证明一下吗?
或者说你算一下用随机生成私钥的方法碰撞成功一个地址和循序遍历私钥的方法各会需要多少时间。

而且顺序计算不会发生随机生成私钥有可能把某些私钥重复生成计算的问题,虽说概率很小,但理论上确实会发生。而且随机生成私钥本身也需要代价,虽说代价很小。


顺序遍历是在没有任何其他更好的方法的情况下才采取的方法,只要有其他方法可以解决,就一定不会选择遍历,所以说这是最不可取的方法。

如果没有任何可行的方法,小样本空间下当然选择顺序取样,但如果样本空间大到一定程度,则随机取样更适合。
这是因为你不能假设你可以持续不断地连续取样,除非你能活的足够长(需要远远超过太阳系预计所能存活的时间)。

碰撞目标出现在2^159之后的概率至少有50%,如果顺序取样,那么,至少有50%可能性你算到银河系毁灭也100%碰撞不到。
随机取样就是为了避免出现这种情况而采取的手段。有得必有失,因为无法预估最终结果,所以就要承担一定的(可接受的范围)性能损失。
hero member
Activity: 854
Merit: 1000
走哪算哪
July 19, 2014, 06:58:05 AM
#65
私钥对公钥不是顺序一一对应,那么就是说算完前2^160个私钥并不能找出所有公钥,因为里面可能会有很多组私钥只对应某些公钥,这我现在理解了。
但是顺序取用私钥和随机生成私钥去碰撞公钥有什么不同吗?概率还是一样的。
为什么这么做是一种最不可取的方法呢?能证明一下吗?
或者说你算一下用随机生成私钥的方法碰撞成功一个地址和循序遍历私钥的方法各会需要多少时间。

而且顺序计算不会发生随机生成私钥有可能把某些私钥重复生成计算的问题,虽说概率很小,但理论上确实会发生。而且随机生成私钥本身也需要代价,虽说代价很小。
newbie
Activity: 5
Merit: 0
July 19, 2014, 05:55:30 AM
#64
按照公钥生成算法,在计算完 RIPEMD-160 哈希值后,有效位已经从256位减少到了160位,实际相当于有损压缩。
假如真有算力能支撑的话,只要顺序取前2^160个私钥进行运算,碰撞出公钥的概率也许会接近100%。
为什么一定要随机生成一个256位的私钥去碰撞呢?碰撞成功的概率会变大吗?
不知道我这么理解对不对?

当然实用地址生成不能这么做,这样别人就太容易循序找出私钥了。

按顺序取是一种最不可行的方法。

RIPEMD160后,碰撞成功几率肯定大了很多。但即使这样,如果按顺序遍历,即使每秒可以運算10^23個私鑰(現有全网總算力的一百萬倍给你一个人用),遍历完也需要大约4.6 × 10^17(46亿亿)年。平均碰撞成功到某一地址大约需23亿亿年。
legendary
Activity: 1792
Merit: 1111
July 19, 2014, 03:31:30 AM
#63
按照公钥生成算法,在计算完 RIPEMD-160 哈希值后,有效位已经从256位减少到了160位,实际相当于有损压缩。
假如真有算力能支撑的话,只要顺序取前2^160个私钥进行运算,碰撞出公钥的概率也许会接近100%。
为什么一定要随机生成一个256位的私钥去碰撞呢?碰撞成功的概率会变大吗?
不知道我这么理解对不对?

当然实用地址生成不能这么做,这样别人就太容易循序找出私钥了。

不對,因為私鈅和地址不是一一對應,一個地址可能有多個私鈅,而且是隨機的
hero member
Activity: 854
Merit: 1000
走哪算哪
July 19, 2014, 03:24:39 AM
#62
按照公钥生成算法,在计算完 RIPEMD-160 哈希值后,有效位已经从256位减少到了160位,实际相当于有损压缩。
假如真有算力能支撑的话,只要顺序取前2^160个私钥进行运算,碰撞出公钥的概率也许会接近100%。
为什么一定要随机生成一个256位的私钥去碰撞呢?碰撞成功的概率会变大吗?
不知道我这么理解对不对?

当然实用地址生成不能这么做,这样别人就太容易循序找出私钥了。
legendary
Activity: 1792
Merit: 1111
July 19, 2014, 03:20:09 AM
#61
有人嘗試計算隨機碰撞Bitcoin地址的概率, 可惜其最重要的計算都是錯誤的
http://8btc.com/thread-6089-1-1.html
https://bitcointalksearch.org/topic/--698601

計算Bitcoin地址, 需要多種運算, 首先是一次ECDSA, 然後是一次SHA256, 最後是一次RIPEMD160. 論計算量, SHA256和RIPEMD160差不多, 但ECDSA卻遠超這兩者. (檢查碼的運算並非必須, 所以不用考慮.)

為方便估計, 我們假設計算一個私鑰需要3倍SHA256的計算量 (這是一個極保守的假設)


计算bitcoin地址的描述不算太准确。

計算Bitcoin地址, 需要多種運算, 首先是生成一个256位的随机数,然后是一次ECC运算计算出公钥, 然后是一次HASH160(一次SHA256+RIPEMD160), 然后是一次HASH256(两次SHA256),最后还有一次Base58编码。

我测试了一下,(CPU 2.6GHz,单线程运算):
按挖矿模式(hash256并比对bits值),计算1000万个HASH256(block_header): 12秒; 计算出10万个地址及其私钥:94秒。

结论:計算一個私鑰对应的地址需要约800倍挖矿的計算量。

地址的校驗碼只是給人看的,可有可無,所以那個HASH256不用考慮
newbie
Activity: 5
Merit: 0
July 19, 2014, 02:22:08 AM
#60
有人嘗試計算隨機碰撞Bitcoin地址的概率, 可惜其最重要的計算都是錯誤的
http://8btc.com/thread-6089-1-1.html
https://bitcointalksearch.org/topic/--698601

計算Bitcoin地址, 需要多種運算, 首先是一次ECDSA, 然後是一次SHA256, 最後是一次RIPEMD160. 論計算量, SHA256和RIPEMD160差不多, 但ECDSA卻遠超這兩者. (檢查碼的運算並非必須, 所以不用考慮.)

為方便估計, 我們假設計算一個私鑰需要3倍SHA256的計算量 (這是一個極保守的假設)


计算bitcoin地址的描述不算太准确。

計算Bitcoin地址, 需要多種運算, 首先是生成一个256位的随机数,然后是一次ECC运算计算出公钥, 然后是一次HASH160(一次SHA256+RIPEMD160), 然后是一次HASH256(两次SHA256),最后还有一次Base58编码。

我测试了一下,(CPU 2.6GHz,单线程运算):
按挖矿模式(hash256并比对bits值),计算1000万个HASH256(block_header): 12秒; 计算出10万个地址及其私钥:94秒。

结论:計算一個私鑰对应的地址需要约800倍挖矿的計算量。
member
Activity: 102
Merit: 10
July 18, 2014, 10:07:18 PM
#59
楼主,您好,请问每个比特币交易的交易号,是不是绝对随机的? 有没有可能计算出来?
hero member
Activity: 854
Merit: 1000
走哪算哪
July 18, 2014, 04:05:23 AM
#58
我没被骗,短期内增长速度确实是接近25%每11天的,你注意这个图是坐标是对数的(修正一下:2013.5.13-2014.7.13间平均11.6天难度平均增长22%,近期难度增幅变小,大约平均每12天难度增幅16%左右)。
我也承认算力不会以这个速度持续增长,所以也说是假设。
摩尔定律主要是考虑单芯片的能力增长,实际如果有应用需求,产量是可以倍增的,并不是算力也一定要20年才能增长100万倍。
但你没考虑算力增长,而且没作说明是没错吧。
从你写的帖子看,我毫不怀疑你的能力和对比特币的热情。
但曲高和寡,这不是推广比特币的好方法。
比特币需要每个有热情的人参与。

不和你斗嘴了。
学习了一下你的技术贴,我还是有收获的!
legendary
Activity: 1792
Merit: 1111
July 18, 2014, 03:47:56 AM
#57


首先声明,比特币目前来看安全性不容质疑。

“因此只要ECDSA, SHA256, 或RIPEMD160不出現漏洞, 要暴力破解一個隨機產生的地址是絕不可能做到的”,既然你很严谨,就不能把“极难做到”说成是“絕不可能做到”。

看似你的假设已经把算力按照目前的100万倍计算算是很极端了,实际按照目前算力增长的幅度大约是每11天25%(挖矿收入计算器上提示的),大约682天之后算力就会增长到目前的100万倍。
1.25^x=1000000, x=62, 62*11天=682天。

10^10秒=115740天=9612个难度增长周期(11天)。
这样算力到那时就会是:1.25^9612=3.155e931。

你再算算317年后概率会有多大?




你肯定是被騙了, 根本沒增長那麼快:

無論如何, 增長還是不少. 但現在能夠有這增長, 只是因為基數太低. 只要ASIC到了20nm以下, 就不可能如此暴漲.

如果按照摩爾定律, 每1.5年增加一倍, 也需要20年才能提升100萬倍. 但這也說明攻擊者必須不停升級硬體, 才有少許成功的希望

還請留意, ECDSA的計算量最少是SHA256的10倍以上 (我手上沒有確實數字), 我現在假設是相同.
hero member
Activity: 854
Merit: 1000
走哪算哪
July 18, 2014, 03:31:07 AM
#56
legendary
Activity: 1792
Merit: 1111
July 18, 2014, 02:35:39 AM
#55
有人嘗試計算隨機碰撞Bitcoin地址的概率, 可惜其最重要的計算都是錯誤的
http://8btc.com/thread-6089-1-1.html
https://bitcointalksearch.org/topic/--698601

計算Bitcoin地址, 需要多種運算, 首先是一次ECDSA, 然後是一次SHA256, 最後是一次RIPEMD160. 論計算量, SHA256和RIPEMD160差不多, 但ECDSA卻遠超這兩者. (檢查碼的運算並非必須, 所以不用考慮.)

為方便估計, 我們假設計算一個私鑰需要3倍SHA256的計算量 (這是一個極保守的假設)

此刻的挖礦總算力約為150,000,000,000,000,000 hash/s, 即1.5*10^17 hash/s. 由於挖礦需要計算兩次SHA256, 也就是每秒運算3*10^17次SHA256. 由於以上假設計算一個私鑰需要3倍SHA256的計算量, 所以以現在挖礦總算力可以每秒運算10^17個私鑰

假設我們擁有現有總算力的一百萬倍, 那代表每秒可以運算10^23個私鑰

假設該系統運行10^10秒, 即317年, 那一共可以運算10^33個私鑰, 即2^110. 相對於總數2^256個私鑰, 2^110仍然是小得可以忽略, 所以可以省去有關修正

現假設我們的目標是FBI擁有144,000BTC的地址: 1FfmbHfnpaZjKFvyi1okTjJJusN455paPH. 在以上條件下, 317年成功的概率是:

1-((1-2^-160)^(10^33))


即6.842*10^-16

在香港, 中六合彩頭獎的概率是1.0737*10^-7; 也就是在317年內成功的機會, 比連中指定兩次六合彩更困難

-----------------------------

現在世上一共有71億人, 即7.1*10^9. 假設每人擁有1,400個有結餘的地址, 則一共有約10^13個地址, 即2^43

在以上條件下, 317年成功的概率是:

1-((1-2^-117)^(10^33))


即0.006.

雖然0.006聽起來很大, 但請留意以上都要基於非常保守的假設, 而且需要連續工作317年, 才有千分之六的可能性成功. 就算成功了, 還有很大機會是找到0.01BTC以下的地址, 投入的資源將遠遠大於可能的得益.

因此只要ECDSA, SHA256, 或RIPEMD160不出現漏洞, 要暴力破解一個隨機產生的地址是絕不可能做到的

(C) jl2012@bitcointalk 2014. CC BY-NC-SA 3.0  http://creativecommons.org/licenses/by-nc-sa/3.0/


sr. member
Activity: 448
Merit: 250
July 17, 2014, 01:12:05 PM
#54
请问您对storj的Proof of storage是否有所了解,如果有,能否简要介绍一下?

看過他們的whitepaper (http://storj.io/paper/storj.pdf), 最重要的創新是"Proof of Resource", 但在whitepaper我只看到概念, 沒看到有實際內容. 至於Storjcoin, 不過是又一種山寨幣, 主要是紀錄檔案位置, Namecoin都可以做到.

我初步的結論是, 如果沒有去中心化的"Proof of Resource"機制, 這東西只有少許創新.

我看不出為何這東西 (在這階段) 價值9800BTC, 當然也有可能會像Dogecoin般毫無創新卻被炒作. 投資這種東西就像賭博, 請注意風險.

它给自己估值9800BTC的原因大概是参照Dropbox吧,因为它相对Dropbox更为高效,而Dropbox有着十亿美元的估值。
Pages:
Jump to: