Pages:
Author

Topic: 比特币简易攻击方案 (Read 3480 times)

newbie
Activity: 14
Merit: 0
August 29, 2013, 10:29:15 AM
#26
1.楼主你好,知道什么是公钥么,公钥就是公开的钥匙,随便任何人都可以获得的钥匙,但是你拿到公钥无用,只有私钥才能完整的操控。
没有私钥,你没有任何用处。你可以把公钥认为是qq号码,私钥认为是密码。这样会好理解点,两个东西没有直接的联系。而发送货币,就需要密码才能发送,没有密码,是不可能发出去的。
而这个密码的强度,很高很高的,要知道就拿现在全网的sha256的算力,30位的纯数字,就要4千万年的时间,何况ecc算法比sha256要复杂多了,而且长度是128字节的255字符。是纯数字的无法估算的倍数(随着位数增长,会越来越恐怖的,就像对折一张纸30次,比喜马拉雅山还高)。
2.而过客户端的这点,本地的blockchain与网络上的blockchain是一模一样的,私钥是存在钱包里的,不是blockchain里的,而对于加密钱包,是无法破解的,哪怕你改源代码也是没用,就像公钥与密钥的关系一样,我源代码公开了,你也是破解不了的。
否则,加密就是无意义的。数学,是很严谨的,如果仅仅是知道源代码就能破解,那还要数学有何用。
对于强度,你可以查阅相关新闻。哪怕FBI,在有源代码,犯人被抓,所有东西全都齐全的情况下,却没有私钥,曾经花上好几年也是破解失败。
唯一的攻击只有两种,一,监听键盘、记录键盘,偷偷的记下拥有者的钱包密码;二,拿把刀逼着拥有者,让他说出密码
3.不是51%的节点,而是51%的算力。需要搞清楚下。
而且51%攻击也只决定了你自己的账户是否可以实现多重账本,对于非你的收款地址,无法进行操作。


比特币地址可以为地球上的每一个沙子都赋予一个id,要破解,难度可想而知。
member
Activity: 60
Merit: 10
http://xingfeng.org
August 29, 2013, 09:49:54 AM
#25
1.楼主你好,知道什么是公钥么,公钥就是公开的钥匙,随便任何人都可以获得的钥匙,但是你拿到公钥无用,只有私钥才能完整的操控。
没有私钥,你没有任何用处。你可以把公钥认为是qq号码,私钥认为是密码。这样会好理解点,两个东西没有直接的联系。而发送货币,就需要密码才能发送,没有密码,是不可能发出去的。
而这个密码的强度,很高很高的,要知道就拿现在全网的sha256的算力,30位的纯数字,就要4千万年的时间,何况ecc算法比sha256要复杂多了,而且长度是128字节的255字符。是纯数字的无法估算的倍数(随着位数增长,会越来越恐怖的,就像对折一张纸30次,比喜马拉雅山还高)。
2.而过客户端的这点,本地的blockchain与网络上的blockchain是一模一样的,私钥是存在钱包里的,不是blockchain里的,而对于加密钱包,是无法破解的,哪怕你改源代码也是没用,就像公钥与密钥的关系一样,我源代码公开了,你也是破解不了的。
否则,加密就是无意义的。数学,是很严谨的,如果仅仅是知道源代码就能破解,那还要数学有何用。
对于强度,你可以查阅相关新闻。哪怕FBI,在有源代码,犯人被抓,所有东西全都齐全的情况下,却没有私钥,曾经花上好几年也是破解失败。
唯一的攻击只有两种,一,监听键盘、记录键盘,偷偷的记下拥有者的钱包密码;二,拿把刀逼着拥有者,让他说出密码
3.不是51%的节点,而是51%的算力。需要搞清楚下。
而且51%攻击也只决定了你自己的账户是否可以实现多重账本,对于非你的收款地址,无法进行操作。
sr. member
Activity: 560
Merit: 250
August 28, 2013, 12:39:09 PM
#24
建议先百度椭圆曲线加密算法
hero member
Activity: 966
Merit: 587
August 28, 2013, 10:21:59 AM
#23
能解决第一个问题,就已经是大神了,不用解决比特币
full member
Activity: 186
Merit: 100
August 28, 2013, 06:33:58 AM
#22
看中本聪的论文(不管是中文还是英文)对普通人来说是有点难度的,建议看看《易懂的比特币机理详解》http://www.btc123.com/data/docs/easy_understood_bitcoin_mechanism.pdf
newbie
Activity: 36
Merit: 0
June 04, 2013, 12:30:13 AM
#21
了解公私钥加密体系就知道这是不可能的了。
sr. member
Activity: 439
Merit: 250
mycoin.bitbank.com
June 03, 2013, 12:47:48 AM
#20
看了老半天,没看懂,老老实实逛论坛去
newbie
Activity: 15
Merit: 0
June 02, 2013, 09:29:48 PM
#19
比特币钱包的安全性是靠公开密钥体制来保护的,你把公开密钥体制給破了,或者你把别人的私钥給偷了,就可以偷别人的钱,在此之前,想别的都是白搭。

跟进公钥加密的数据来协助解开私钥是不可行的,因为公钥就在那里,公开随你看,你自己爱加密多少数据就能加密多少,不会对你破密有帮助。
newbie
Activity: 5
Merit: 0
June 02, 2013, 09:26:22 PM
#18
现在这么大的利益,要是真有简易的攻击方案。

肯定轮不到外行人来想。早被攻破了。

所以,不可能的。
full member
Activity: 167
Merit: 100
June 02, 2013, 08:18:38 PM
#17
我只能说,你的想象力很大胆。
但是推断还是必须以事实为依据进行的,像这样基于自己的想象做出的结论,其实没什么意义。
如果你真的想了解背后的原理,及可能的攻击方法,应该好好找第一手材料研究一下才是。认真看,不是很难懂的。
newbie
Activity: 12
Merit: 0
June 02, 2013, 07:12:47 PM
#16
虽然是非对称性,但相应的私钥也不可能有无限个,我想按这方法,应该是极大数量级的减少,
按上面方法,一次不行,但几次数量级减少之后应该就能算出来了,
比如算出2的N次方个私钥,然后用算出来的私钥对只含数字1的文本文件进行加密,然后用公钥解密,解出来的,又是一次极大数量级的减少。
然后对只含数字2的文本文件进行加密,如此类推,最后剩下的1个私钥,肯定就是真正的私钥了。
不知道数学原理,俺的猜想也许是可笑的。。。

既然密码破解是个难题,51%算力攻击也是很难,
那么用51%节点攻击呢?
如果全网有51%在线节点,都更改了数据,那么是不是就会更改整个系统?


算力难以达到51%,但用虚拟机和肉鸡网络,51%的节点也许可行。
全球的在线节点,假设有10万个,那么只要5万个节点。
加上虚拟机,5万都不需要了。。。
而我估计,现在带数据包的节点,全网在线的估计都不超过一万个。

例如想黑掉某个比特币地址,在数据包里只修改它的公钥,当全网都认定它的公钥为修改后的是真,那么你就可以用相应的私钥拥有它了。
full member
Activity: 167
Merit: 100
June 02, 2013, 05:45:09 PM
#15
不行,这就是sha256等hash算法著名的非对称性。
newbie
Activity: 12
Merit: 0
June 02, 2013, 05:17:24 PM
#14
事情好像变的越来越复杂,已经偏离了对比特币的胡思乱想,又涉及到了加密技术,

刚才找到公共密钥和私人密钥的原理,据说没人能根据公共密钥算出私人密钥,

我就又想到个问题,那能否根据公共密钥和解密后的文件,进行反推算,算出私人密钥呢?

这应该比单纯用公共密钥推算私人密钥更多了些依据吧?

如果说根据公共密钥和解密后的文件,反推算出来的私人密钥有很多个,比如2的N次方个,还是没用,

但我们可以根据反推算出来的私人密钥再对文件进行加密,加密后的文件,再用公共密钥进行解密,能解密的那个,就是真实的私人密钥啦。。。

这个数量级不知道是多少,但肯定会少很多。

菜鸟一个,不爱学习就爱胡思乱想。。。想多了没用,这些问题想不完了。。。

嗯,不想这些了,没事挖点矿去。。。。
full member
Activity: 167
Merit: 100
June 02, 2013, 05:13:31 PM
#13
第二个问题,你要理解时间戳(Time Stamp)的概念。
newbie
Activity: 12
Merit: 0
June 02, 2013, 04:58:28 PM
#12
论文哪看得懂,只是自己没事瞎琢磨。。。

刚才疑问1已经搞明白了,网上查了下,就是公共密钥和私人密钥的问题。。。应该是安全的。

就是发送交易的时候,用私人密钥加密,其它节点用公共密钥解密,这样能确保是原地址发出的交易而不能伪造。

疑问2还没弄明白。。。
full member
Activity: 167
Merit: 100
June 02, 2013, 04:32:24 PM
#11
你的问题都涉及到比特币基本的工作机制。
我有个建议:你可以去网上下载中本聪的论文原文,然后从头到尾细读一遍,遇到不懂的概念,就google弄懂它。
这样读上三四遍,基本可以弄清楚你刚刚提出的几个问题了。
newbie
Activity: 12
Merit: 0
June 02, 2013, 04:23:27 PM
#10
又产生两个疑问:

疑问1: 按上面的想法,既然解密难度很大,那么是否可以绕过软件的权限设置,直接使用某个地址呢?

            这个应该是可以做到的,可以用软件直接使用某个地址进行发送比特币。

        其它节点验证不知道是如何进行的,应该是对交易也有个验证机制吧,其它节点又是如何确认交易信息合法?

        其它节点确认交易信息的合法性的机制,是否可以利用来伪造交易信息?


疑问2:最简单的方法,用两台电脑,同时打开一个密钥,同时发送比特币,这样的交易信息里,含有比特币地址和加密信息,应该是可以的吧。

       这就是有了双重交易的可能性了,系统会只认一个,丢弃一个。

       如果用100台电脑,或者1000台电脑,进行确认伪造,联入比特网,那么全网又是如何确认这1000台是伪造而拒绝交易呢?
newbie
Activity: 12
Merit: 0
June 02, 2013, 03:49:42 PM
#9
又想到个问题,我拥有某个地址的钥匙,在客户端导入密钥,就能使用某个地址,也就是说,软件里面可以自动找到那个地址的锁并进行解密,应该是这个密钥里含有锁的信息吧,这个设计还真是很巧妙。

!!想明白了,自动加密生成的数据块,就是我们的密钥,密钥的一半存在bitcoin-qt的数据链里,然后我们用自己保存的密钥的一半对应去找数据链里的锁,并用另外一半合起来去解密!嗯,我不懂这些数学和加密知识,看了也是白看,不过应该就是这么回事。
newbie
Activity: 12
Merit: 0
June 02, 2013, 03:40:02 PM
#8
原来是这样呀,谢谢你帮我解除了心中的疑惑,非常感谢!专家就是专家!厉害!
full member
Activity: 167
Merit: 100
June 02, 2013, 03:33:58 PM
#7
全网算力算出来的,并不是比特币算法下(sha256等)的密钥,而是算出一个随机值,以该随机值加上此前的散列值,进行散列转换之后得到的散列值,其前面0的数量等于规定的数量。(也就是说难度取决于规定的零的数量。)这个的难度远远低于算出密钥的难度啊。

这个内容,你可以看看hashcash的相关材料就了解了。比特币的技术都不是什么新技术。
Pages:
Jump to: