Bitcoin Forum
November 01, 2024, 01:34:17 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: 比特币简易攻击方案  (Read 3474 times)
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 07:27:59 PM
 #1

51%攻击,难度很大,即使如此难度,btcguild也曾经快要达到这个目标,暂时不讨论量子计算机的出现瞬间攻破btc网络的可能性。

现在我有个想法,每个比特币地址,对应一个密钥。

这个密钥包含了每个比特币地址的信息,我们只要拥有密钥,就能随意在世界上任何一个地方使用这个比特币地址,获取里面的btc。

也就是说,这个密钥是存在btc的数据块里面的。

如果我们可以在btc的数据块里面提取这些密钥,虽然这些密钥大多是加密的,但我们只针对一个密钥进行解密,按现在的算力不是难事吧。

这样,每个密钥都是不安全和轻易破解的,那么btc还有应用的安全性吗?
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 07:31:56 PM
 #2

仔细想了想,我们加密密钥是在本地的,这个加密信息不存在数据块上,数据块上的密钥是不加密的,
那么剩下来的问题就是,可以有办法提取数据块里面的密钥吗?
realdos
Full Member
***
Offline Offline

Activity: 167
Merit: 100


View Profile
June 02, 2013, 07:59:22 PM
 #3

这个做法,大把黑客在做了,目前没有听说随机生成的密钥被破解的,因为破解难度高达2的80次方,整个宇宙的能量都不够用。
现在被破解的大多是设置不合理的脑钱包。
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 08:02:34 PM
 #4

谢谢你的回复,我的疑问是,bitcoin-qt的数据块里,包含了所有信息,有没有办法直接提取密钥?

对加密机制不懂,我想象应该是这样的:

一个地址在数据块里面,会产生一个密钥,这个密钥得用另外一个密钥来验证,就好像是一块玉,折成了2半,你拿另外一半,对上了,就证明你的拥有权。

这另外一半的密钥是用什么算法生成的呢?总有个数学模型吧,那么我们提取数据块里的密钥,按这个数学模型生成你的密钥,不是可以使用了?

如果数学模型是随机的,那么它又是怎么对得上。。。
realdos
Full Member
***
Offline Offline

Activity: 167
Merit: 100


View Profile
June 02, 2013, 08:17:36 PM
 #5

https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses

可以看看这里关于比特币地址的技术说明。
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 08:18:37 PM
Last edit: June 02, 2013, 08:32:20 PM by xiquanpan
 #6

嗯,发发言,就想清楚了,

应该是对这个地址随机生成一个加密数据,这个数据包含一个锁,一个钥匙,钥匙就是我们拥有的密钥,而含在数据块里的是锁。

没有密钥提供的解密信息,这个锁就解不出来,密钥就相当于机器自动生成的一大串密码。

也就是说,保管好我们自己的密钥,是关键的。

但如果泄漏了自己的密钥,无论是否加密,都是容易被破解的,毕竟就象你说的那样,用脑子记住的密码,是很简单的。

先破解了用脑子记住的密码加密的密钥,然后用这密钥去开数据块里的锁,就可以拥有这个地址了。

但是既然全网算力可以,10秒钟到几小时就可以算出一个block,那么这个算力应该也可以在同样的时间里,算出一个锁的密钥吧,毕竟计算机的运算速度发展的很快的。虽然不能一下子算出所有的锁的密钥,但可以一个一个的去算,只要让人感觉到,自己的锁,是可以在几小时就被别人打开的话,那么全网的信任度就会降很低,就好像自己家里的锁,如果没有警察,那么那些门,是很容易打开的。小偷不会一次打开全世界的门,但可以一个一个的去开。
realdos
Full Member
***
Offline Offline

Activity: 167
Merit: 100


View Profile
June 02, 2013, 08:33:58 PM
 #7

全网算力算出来的,并不是比特币算法下(sha256等)的密钥,而是算出一个随机值,以该随机值加上此前的散列值,进行散列转换之后得到的散列值,其前面0的数量等于规定的数量。(也就是说难度取决于规定的零的数量。)这个的难度远远低于算出密钥的难度啊。

这个内容,你可以看看hashcash的相关材料就了解了。比特币的技术都不是什么新技术。
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 08:40:02 PM
 #8

原来是这样呀,谢谢你帮我解除了心中的疑惑,非常感谢!专家就是专家!厉害!
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 08:49:42 PM
 #9

又想到个问题,我拥有某个地址的钥匙,在客户端导入密钥,就能使用某个地址,也就是说,软件里面可以自动找到那个地址的锁并进行解密,应该是这个密钥里含有锁的信息吧,这个设计还真是很巧妙。

!!想明白了,自动加密生成的数据块,就是我们的密钥,密钥的一半存在bitcoin-qt的数据链里,然后我们用自己保存的密钥的一半对应去找数据链里的锁,并用另外一半合起来去解密!嗯,我不懂这些数学和加密知识,看了也是白看,不过应该就是这么回事。
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 09:23:27 PM
 #10

又产生两个疑问:

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

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

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

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


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

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

       如果用100台电脑,或者1000台电脑,进行确认伪造,联入比特网,那么全网又是如何确认这1000台是伪造而拒绝交易呢?
realdos
Full Member
***
Offline Offline

Activity: 167
Merit: 100


View Profile
June 02, 2013, 09:32:24 PM
 #11

你的问题都涉及到比特币基本的工作机制。
我有个建议:你可以去网上下载中本聪的论文原文,然后从头到尾细读一遍,遇到不懂的概念,就google弄懂它。
这样读上三四遍,基本可以弄清楚你刚刚提出的几个问题了。
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 09:58:28 PM
 #12

论文哪看得懂,只是自己没事瞎琢磨。。。

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

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

疑问2还没弄明白。。。
realdos
Full Member
***
Offline Offline

Activity: 167
Merit: 100


View Profile
June 02, 2013, 10:13:31 PM
 #13

第二个问题,你要理解时间戳(Time Stamp)的概念。
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 02, 2013, 10:17:24 PM
Last edit: June 02, 2013, 10:35:58 PM by xiquanpan
 #14

事情好像变的越来越复杂,已经偏离了对比特币的胡思乱想,又涉及到了加密技术,

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

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

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

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

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

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

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

嗯,不想这些了,没事挖点矿去。。。。
realdos
Full Member
***
Offline Offline

Activity: 167
Merit: 100


View Profile
June 02, 2013, 10:45:09 PM
 #15

不行,这就是sha256等hash算法著名的非对称性。
xiquanpan (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
June 03, 2013, 12:12:47 AM
Last edit: June 03, 2013, 12:45:11 AM by xiquanpan
 #16

虽然是非对称性,但相应的私钥也不可能有无限个,我想按这方法,应该是极大数量级的减少,
按上面方法,一次不行,但几次数量级减少之后应该就能算出来了,
比如算出2的N次方个私钥,然后用算出来的私钥对只含数字1的文本文件进行加密,然后用公钥解密,解出来的,又是一次极大数量级的减少。
然后对只含数字2的文本文件进行加密,如此类推,最后剩下的1个私钥,肯定就是真正的私钥了。
不知道数学原理,俺的猜想也许是可笑的。。。

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


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

例如想黑掉某个比特币地址,在数据包里只修改它的公钥,当全网都认定它的公钥为修改后的是真,那么你就可以用相应的私钥拥有它了。
realdos
Full Member
***
Offline Offline

Activity: 167
Merit: 100


View Profile
June 03, 2013, 01:18:38 AM
 #17

我只能说,你的想象力很大胆。
但是推断还是必须以事实为依据进行的,像这样基于自己的想象做出的结论,其实没什么意义。
如果你真的想了解背后的原理,及可能的攻击方法,应该好好找第一手材料研究一下才是。认真看,不是很难懂的。
kensou22
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
June 03, 2013, 02:26:22 AM
Last edit: June 03, 2013, 06:48:09 AM by kensou22
 #18

现在这么大的利益,要是真有简易的攻击方案。

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

所以,不可能的。
wdq4587
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
June 03, 2013, 02:29:48 AM
 #19

比特币钱包的安全性是靠公开密钥体制来保护的,你把公开密钥体制給破了,或者你把别人的私钥給偷了,就可以偷别人的钱,在此之前,想别的都是白搭。

跟进公钥加密的数据来协助解开私钥是不可行的,因为公钥就在那里,公开随你看,你自己爱加密多少数据就能加密多少,不会对你破密有帮助。
myweblife
Sr. Member
****
Offline Offline

Activity: 439
Merit: 250


mycoin.bitbank.com


View Profile
June 03, 2013, 05:47:48 AM
 #20

看了老半天,没看懂,老老实实逛论坛去


           ▄▄▄█████████▄▄▄
       ▄▄██▀▀ █▀█████████████▄
     ▄██▄█▄    ▐██▄███████▀  ▀█▄
   ▄█▀    █  ▄█▀██   ▀          █▄
  ██  ▐█  ███████                ██
 ██       ▐█████                  ██
▐█      ███████   █▄            ▄█░█▌
██▄  ▄▄███████▀         ▄       ▐████
████▄▄▐█▀█████         ▄██ ▄█▄ ██████
▐██████    ▀███▄█     ▄██████▄▐ ▀█▀█▌
 ██████      █████    ███████████▀▐█
  ██████   ▄██████   █▄████████▀  █
   █████  ▄████████▄███████████░▄█
    ▀███ ███████████████████████▀
      ▀███████████████████████▀
          ▀▀▀███████████▀▀▀
━ EXTREMELY
RESOURCE FRIENDLY
.

       ▄██▄
      ██████
     ████████
    ▐████████▌
    ███▀  ▀███
    ███▄  ▄███
    ██████████
    ▐████████▌
     ████████
    ▄████████▄
  ▄████████████▄
 ████████████████
 ▐█▀ ▀██████▀ ▀█▌
      ▄    ▄
      █    █
      ▀█▄▄█▀
        ▀▀
LIGTHNING
FAST
.

             ▄█▄
▄▄▄    ▄▄▄██▀▀▀██▄▄▄    ▄▄▄
██▀▀▀▀▀▀▀▀  ▄▄   ▀▀▀▀▀▀▀▀██
██  ▄▄▄▄▄▄███████▄       ██
██  ████████████▀   ▄██  ██
██  ██████████▀   ▄██▀   ██
██  ████████▀   ▄██▀     ██
██  ██████▀   ▄██▀  ▄██  ██
▐█▌ ▐███▀   ▄██▀  ▄███▀ ▐█▌
 ██  ▀▀   ▄██▀  ▄████▌  ██
  ██    ▄██▀  ▄█████▀  ██
   ██▄  ▀▀  ▄█████▀  ▄██
    ▀██▄   █████▀  ▄██▀
      ▀██▄  ▀▀   ▄██▀
        ▀▀██▄▄▄██▀▀
            ▀▀▀ 
STEALTH
ANONYMOUS
     ▄▄█████████████████▄▄
   ▄███████████████████████▄
 ▄█████▀               ▀█████▄
▐████▀                   ▀████▌
▐████   ▐██████████████▄▄▄███████▄▄
▐████   ▐███████████████████████████▄
▐████   ▐██████▀                ▀█████▄
▐████   ▐█████    ▄▄▄▄▄▄▄▄▄▄▄▄    ▀████▌
▐████   ▐█████▄▄▄██████████████▄   ████▌
▐████    █████████████▀   ██████   ████▌
 █████▄                  ▄██████   ████▌
  ▀█████▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄████████   ████▌
    ▀███████████████████████████   ████▌
       ▀▀████▌   ▀████████████▀    ████▌
          ████▄                  ▄█████
           ▀█████▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█████▀
             ▀█████████████████████▀
                ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
ColossusCoinXT
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
.
Join the COLX community on:
TwitterFacebookTelegram
DiscordReddit Bitcointalk
.
investment&deposit your BTC on bitbankmining BTC on
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!