当前位置:首页 » 比特币问答 » 比特币算法破解方法

比特币算法破解方法

发布时间: 2022-09-18 15:06:25

『壹』 比特币如何算出来的

要想了解bitcoin的技术原理,首先需要了解两个重要的密码技术: HASH码:将一个长字符串转换成固定长度的字符串,并且其转换不可逆,即不太可能从HASH码猜出原字符串。bitcoin协议里使用的主要是SHA256。
公钥体系:对应一个公钥和私钥,在应用中自己保留私钥,并公开公钥。当甲向乙传递信息时,可使用甲的私钥加密信息,乙可用甲的公钥进行解密,这样可确保第三方无法冒充甲发送信息;同时,甲向乙传递信息时,用乙的公钥加密后发给乙,乙再用自己的私钥进行解密,这样可确保第三者无法偷听两人之间的通信。最常见的公钥体系为RSA,但bitcoin协议里使用的是lliptic Curve Digital Signature Algorithm。 和现金、银行账户的区别? bitcoin为电子货币,单位为BTC。在这篇文章里也用来指代整个bitcoin系统。 和在银行开立账户一样,bitcoin里的对应概念为地址。每个人都可以有1个或若干个bitcoin地址,该地址用来付账和收钱。每个地址都是一串以1开头的字符串,比如我有两个bitcoin账户,和。一个bitcoin账户由一对公钥和私钥唯一确定,要保存账户,只需要保存好私钥文件即可。 和银行账户不一样的地方在于,银行会保存所有的交易记录和维护各个账户的账面余额,而bitcoin的交易记录则由整个P2P网络通过事先约定的协议共同维护。 我的账户地址里到底有多少钱? 虽然使用bitcoin的软件可以看到当前账户的余额,但和银行不一样,并没有一个地方维护每个地址的账面余额。它只能通过所有历史交易记录去实时推算账户余额。 我如何付账? 当我从地址A向对方的地址B付账时,付账额为e,此时双方将向各个网络节点公告交易信息,告诉地址A向地址B付账,付账额为e。为了防止有第三方伪造该交易信息,该交易信息将使用地址A的私钥进行加密,此时接受到该交易信息的网络节点可以使用地址A的公钥进行验证该交易信息的确由A发出。当然交易软件会帮我们做这些事情,我们只需要在软件中输入相关参数即可。 网络节点后收到交易信息后会做什么? 这个是整个bitcoin系统里最重要的部分,需要详细阐述。为了简单起见,这里只使用目前已经实现的bitcoin协议,在当前版本中,每个网络节点都会通过同步保存所有的交易信息。 历史上发生过的所有交易信息分为两类,一类为"验证过"的交易信息,即已经被验证过的交易信息,它保存在一连串的“blocks”里面。每个"block"的信息为前一个"bock"的ID(每个block的ID为该block的HASH码的HASH码)和新增的交易信息(参见一个实际的block)。另外一类指那些还"未验证"的交易信息,上面刚刚付账的交易信息就属于此类。 当一个网络节点接收到新的未验证的交易信息之后(可能不止一条),由于该节点保存了历史上所有的交易信息,它可以推算中在当时每个地址的账面余额,从而可以推算出该交易信息是否有效,即付款的账户里是否有足够余额。在剔除掉无效的交易信息后,它首先取出最后一个"block"的ID,然后将这些未验证的交易信息和该ID组合在一起,再加上一个验证码,形成一个新的“block”。 上面构建一个新的block需要大量的计算工作,因为它需要计算验证码,使得上面的组合成为一个block,即该block的HASH码的HASH码的前若干位为1。目前需要前13位为1(大致如此,不确定具体方式),此意味着如果通过枚举法生成block的话,平均枚举次数为16^13次。使用CPU资源生成block被称为“挖金矿”,因为生产该block将得到一定的奖励,该奖励信息已经被包含在这个block里面。 当一个网络节点生成一个新的block时,它将广播给其它的网络节点。但这个网络block并不一定会被网络接受,因为有可能有别的网络节点更早生产出了block,只有最早产生的那个block或者后续block最多的那个block有效,其余block不再作为下一个block的初始block。 对方如何确认支付成功? 当该笔支付信息分发到网络节点后,网络节点开始计算该交易是否有效(即账户余额是否足够支付),并试图生成包含该笔交易信息的blocks。当累计有6个blocks(1个直接blocks和5个后续blocks)包含该笔交易信息时,该交易信息被认为“验证过”,从而该交易被正式确认,对方可确认支付成功。 一个可能的问题为,我将地址A里面的余额都支付给地址B,同时又支付给地址C,如果只验证单比交易都是有效的。此时,我的作弊的方式为在真相大白之前产生6个仅包括B的block发给B,以及产生6个仅包含C的block发给C。由于我产生block所需要的CPU时间非常长,与全网络相比,我这样作弊成功的概率微乎其微。 网络节点生产block的动机是什么? 从上面描述可以看出,为了让交易信息有效,需要网络节点生成1个和5个后续block包含该交易信息,并且这样的block生成非常耗费CPU。那怎么样让其它网络节点尽快帮忙生产block呢?答案很简单,协议规定对生产出block的地址奖励BTC,以及交易双方承诺的手续费。目前生产出一个block的奖励为50BTC,未来每隔四年减半,比如2013年到2016年之间奖励为25BTC。 交易是匿名的吗? 是,也不是。所有BITCOIN的交易都是可见的,我们可以查到每个账户的所有交易记录,比如我的。但与银行货币体系不一样的地方在于,每个人的账户本身是匿名的,并且每个人可以开很多个账户。总的说来,所谓的匿名性没有宣称的那么好。 但bitcoin用来做黑市交易的还有一个好处,它无法冻结。即便警方追踪到了某个bitcoin地址,除非根据网络地址追踪到交易所使用的电脑,否则还是毫无办法。 如何保证bitcoin不贬值? 一般来说,在交易活动相当的情况下,货币的价值反比于货币的发行量。不像传统货币市场,央行可以决定货币发行量,bitcoin里没有一个中央的发行机构。只有通过生产block,才能获得一定数量的BTC货币。所以bitcoin货币新增量决定于: 1、生产block的速度:bitcoin的协议里规定了生产block的难度固定在平均2016个每两个星期,大约10分钟生产一个。CPU速度每18个月速度加倍的摩尔定律,并不会加快生产block的速度。 2、生产block的奖励数量:目前每生产一个block奖励50BTC,每四年减半,2013年开始奖励25BTC,2017年开始奖励额为12.5BTC。 综合上面两个因素,bitcoin货币发行速度并不由网络节点中任何单个节点所控制,其协议使得货币的存量是事先已知的,并且最高存量只有2100万BTC

『贰』 比特币最直白的解释是什么

说起比特币相信很多人都不会陌生,但同时大部分人也都并没有接触过这种神秘的货币,网上充斥着各种相关的解释和介绍,但其中包含的大量专业名词和术语都让大众始终无法简单的认知这究竟是怎样一种存在。

简单的描述比特币,这个名词本身其实只是一种代币的名称,就如同人民币美元等一样,只是一种交易时的代币。而它根本上与传统货币的不同在于它不是政府货币机构发行的,它的交易以及创造并不是由相关机构代理,而是由整个网络管理的,整个网络的所有公民作为这种货币交易的监管人和记账人,任何人都可以查询每一笔比特币交易的记录,这就是比特币网络。

而同时每一个网络公民都可以通过特定的算法在计算机上进行计算和解密来破解一部分比特币的交易账目信息并发布到网络上,最终获取相应的比特币奖励,这种循环就构成了比特币的发行和流通。

『叁』 高中生如何理解比特币加密算法

加密算法是数字货币的基石,比特币的公钥体系采用椭圆曲线算法来保证交易的安全性。这是因为要攻破椭圆曲线加密就要面对离散对数难题,目前为止还没有找到在多项式时间内解决的办法,在算法所用的空间足够大的情况下,被认为是安全的。本文不涉及高深的数学理论,希望高中生都能看懂。

密码学具有久远的历史,几乎人人都可以构造出加解密的方法,比如说简单地循环移位。古老或简单的方法需要保密加密算法和秘钥。但是从历史上长期的攻防斗争来看,基于加密方式的保密并不可靠,同时,长期以来,秘钥的传递也是一个很大的问题,往往面临秘钥泄漏或遭遇中间人攻击的风险。

上世纪70年代,密码学迎来了突破。Ralph C. Merkle在1974年首先提出非对称加密的思想,两年以后,Whitfield Diffie和Whitfield Diffie两位学者以单向函数和单向暗门函数为基础提出了具体的思路。随后,大量的研究和算法涌现,其中最为著名的就是RSA算法和一系列的椭圆曲线算法。

无论哪一种算法,都是站在前人的肩膀之上,主要以素数为研究对象的数论的发展,群论和有限域理论为基础。内容加密的秘钥不再需要传递,而是通过运算产生,这样,即使在不安全的网络中进行通信也是安全的。密文的破解依赖于秘钥的破解,但秘钥的破解面临难题,对于RSA算法,这个难题是大数因式分解,对于椭圆曲线算法,这个难题是类离散对数求解。两者在目前都没有多项式时间内的解决办法,也就是说,当位数增多时,难度差不多时指数级上升的。

那么加解密如何在公私钥体系中进行的呢?一句话,通过在一个有限域内的运算进行,这是因为加解密都必须是精确的。一个有限域就是一个具有有限个元素的集合。加密就是在把其中一个元素映射到另一个元素,而解密就是再做一次映射。而有限域的构成与素数的性质有关。

前段时间,黎曼猜想(与素数定理关系密切)被热炒的时候,有一位区块链项目的技术总监说椭圆曲线算法与素数无关,不受黎曼猜想证明的影响,就完全是瞎说了。可见区块链项目内鱼龙混杂,确实需要好好洗洗。

比特币及多数区块链项目采用的公钥体系都是椭圆曲线算法,而非RSA。而介绍椭圆曲线算法之前,了解一下离散对数问题对其安全性的理解很有帮助。

先来看一下 费马小定理

原根 定义:
设(a, p)=1 (a与p互素),满足

的最下正整数 l,叫作a模p的阶,模p阶为(最大值)p-1的整数a叫作模p的原根。

两个定理:

基于此,我们可以看到,{1, 2, 3, … p-1} 就是一个有限域,而且定义运算 gi (mod p), 落在这个有限域内,同时,当i取0~p-2的不同数时,运算结果不同。这和我们在高中学到的求幂基本上是一样的,只不过加了一层求模运算而已。

另一点需要说明的是,g的指数可以不限于0~p-2, 其实可以是所有自然数,但是由于

所以,所有的函数值都是在有限域内,而且是连续循环的。

离散对数定义:
设g为模p的原根,(a,p) = 1,

我们称 i 为a(对于模p的原根g)的指数,表示成:

这里ind 就是 index的前3个字母。
这个定义是不是和log的定义很像?其实这也就是我们高中学到的对数定义的扩展,只不过现在应用到一个有限域上。

但是,这与实数域上的对数计算不同,实数域是一个连续空间,其上的对数计算有公式和规律可循,但往往很难做到精确。我们的加密体系里需要精确,但是在一个有限域上的运算极为困难,当你知道幂值a和对数底g,求其离散对数值i非常困难。

当选择的素数P足够大时,求i在时间上和运算量上变得不可能。因此我们可以说i是不能被计算出来的,也就是说是安全的,不能被破解的。

比特币的椭圆曲线算法具体而言采用的是 secp256k1算法。网上关于椭圆曲线算法的介绍很多,这里不做详细阐述,大家只要知道其实它是一个三次曲线(不是一个椭圆函数),定义如下:

那么这里有参数a, b;取值不同,椭圆曲线也就不同,当然x, y 这里定义在实数域上,在密码体系里是行不通的,真正采用的时候,x, y要定义在一个有限域上,都是自然数,而且小于一个素数P。那么当这个椭圆曲线定义好后,它反应在坐标系中就是一些离散的点,一点也不像曲线。但是,在设定的有限域上,其各种运算是完备的。也就是说,能够通过加密运算找到对应的点,通过解密运算得到加密前的点。

同时,与前面讲到的离散对数问题一样,我们希望在这个椭圆曲线的离散点阵中找到一个有限的子群,其具有我们前面提到的遍历和循环性质。而我们的所有计算将使用这个子群。这样就建立好了我们需要的一个有限域。那么这里就需要子群的阶(一个素数n)和在子群中的基点G(一个坐标,它通过加法运算可以遍历n阶子群)。

根据上面的描述,我们知道椭圆曲线的定义包含一个五元祖(P, a, b, G, n, h);具体的定义和概念如下:

P: 一个大素数,用来定义椭圆曲线的有限域(群)
a, b: 椭圆曲线的参数,定义椭圆曲线函数
G: 循环子群中的基点,运算的基础
n: 循环子群的阶(另一个大素数,< P )
h:子群的相关因子,也即群的阶除以子群的阶的整数部分。

好了,是时候来看一下比特币的椭圆曲线算法是一个怎样的椭圆曲线了。简单地说,就是上述参数取以下值的椭圆曲线:

椭圆曲线定义了加法,其定义是两个点相连,交与图像的第三点的关于x轴的对称点为两个点的和。网上这部分内容已经有很多,这里不就其细节进行阐述。

但细心的同学可能有个疑问,离散对数问题的难题表现在求幂容易,但求其指数非常难,然而,椭圆曲线算法中,没有求幂,只有求乘积。这怎么体现的是离散对数问题呢?

其实,这是一个定义问题,最初椭圆曲线算法定义的时候把这种运算定义为求和,但是,你只要把这种运算定义为求积,整个体系也是没有问题的。而且如果定义为求积,你会发现所有的操作形式上和离散对数问题一致,在有限域的选择的原则上也是一致的。所以,本质上这还是一个离散对数问题。但又不完全是简单的离散对数问题,实际上比一般的离散对数问题要难,因为这里不是简单地求数的离散对数,而是在一个自定义的计算上求类似于离散对数的值。这也是为什么椭圆曲线算法采用比RSA所需要的(一般2048位)少得多的私钥位数(256位)就非常安全了。

『肆』 比特币是什么啊怎样赚取 啊

主要有三种方法:

1. 挖矿:通过投资购买比特币矿机来挖矿获取比特币;
2. 交易:通过比特币交易平台购买比特币;
3. 出售服务或商品: 通过东西市场等商品交易市场来出售商品或服务,来获取比特币。
ps:有些小额的还有些网站送

更多比特币知识请访问我的网站
学习比特币studybtc

『伍』 比特币是可以破解的吗

首先讲一下背景,比特币“账户”的基本原理就是 密钥-公钥-地址,你可以大致理解为“钥匙-箱子-箱子编号”。现在就是要从箱子编号或者箱子入手破解到钥匙。
攻击手段基本上就两种,一种字典攻击所谓脑钱包,另外一种就是暴力破解。
字典攻击就是把常用的密码以及其简单变种,组合作为钥匙一个一个试。只要你的pass phrase不过硬,这种手段攻击成功的可能性很高。所以要用这个的话,需要先普及一下密码学知识,不要以为密码很长再加个&就很安全了。
如果你不是用pass phrase生成的钱包,就只能暴力破解了,相当于枚举所有可能的钥匙,目前来看这个是不可能的,哪怕电子计算机越来越强大。但是,量子计算机理论上是可以做到的,不过不用太担心,真的有这么强大的量子计算机出来的话,不仅仅危及到比特币而已。
同时,比特币还有第二层防护:如果一个地址只接受而还没有输出比特币的话,他的公钥都是保密的,就是说箱子别人都看不到只能看到箱子编号。目前来看从箱子编号反推箱子这个过程连量子计算机也做不到。换句话说,真的有量子计算机的话,比特币还有最后一道防线:把你的钱转移到一个全新的地址就暂时安全了。
最后,前一段时间,Android上的客户端生成的钱包被攻击了,这个是因为底层随机数生成器有bug。其实就是这个函数不随机SecureRandom,Google很快承认并修复了这个问题。这种事情会不会再有也不好说,不过我觉得不用太过担心。

『陆』 黑客为什么没人破解比特币

1、比特币是基于区块链技术的点对点电子现金系统,比特币的总量为2100万枚,一个不会多,一个也不会少,并且在比特币的交易中,会将交易内容广播至全网用户,得到50%以上的认可此笔交易就会被认可,所以就算是黑客修改了自己的账户余额,没有得到全球50%以上的用户认可的话,还是该有多少就是多少枚。
2、区块链网络中的成员节点不依赖于第三方(比如金融机构)来仲裁交易,它们使用一致性协议来来协商账本内容,使用密码哈希算法和数字签名来确保交易的完整性。一致性:能确保共享账本是精确副本,并降低了发生交易欺诈的风险,因为篡改需要同时在许多地方同时执行。
3、密码哈希算法:(比如 SHA256 计算算法)能确保对交易输入的任何改动 — 甚至是最细微的改动 — 都会计算出一个不同的哈希值,表明交易输入可能被损坏。
4、数字签名:确保交易源自发送方(已使用私钥签名)而不是冒名顶替者。去中心化对等区块链网络可阻止任何单个或一组参与者控制底层基础架构或破坏整个系统。网络中的参与者是平等的,都遵守相同的协议。它们可以是个人、国家代表、企业或所有这三种参与者的组合。在其核心,该系统会记录交易的时间顺序,而且所有节点都赞同使用选定的一致性模型的交易的有效性。这会使交易不可逆并被网络中的所有成员接受。
拓展资料:
1.比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。
2.根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。比特币的交易记录公开透明。点对点的传输意味着一个去中心化的支付系统。
3.与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币其总数量非常有限,具有稀缺性。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在2100万个。
4.2021年6月,萨尔瓦多通过了比特币在该国成为法定货币的《萨尔瓦多比特币法》法案。9月7日,比特币正式成为了萨尔瓦多的法定货币,成为世界上第一个赋予数字货币法定地位的国家。
5.2021年9月24日,中国人民银行发布进一步防范和处置虚拟货币交易炒作风险的通知。通知指出,虚拟货币不具有与法定货币等同的法律地位。
6.2021年11月10日,比特币价格再创历史新高,首次逼近6.9万美元/枚。

『柒』 破解一个比特币钱包到底要花多长时间

这要看你破解人的水平如何,能力高的人可能也就几十分钟吧。

『捌』 比特币到底是什么

比特币最早是一种网络虚拟货币,跟腾讯公司的Q币类似,但是已经可以购买现实生活当中的物品。

『玖』 为什么说比特币是不能破解的,用量子计算机也不行

因为加密远比解密代价小
假设以数字+大小写字母(共62种字符)设置密码,某超级计算机1秒能暴力尝试10亿个密码,那么:
破解5位密码需要1秒(62^5=9.2亿),
破解6位密码需要62秒,
破解7位需要1小时,
破解8位需要2.5天,
破解9位需要半年,
破解12位需要10万年(超过人类文明史),
破解15位需要243亿年(超过宇宙年龄)。
15位密码不过比5位密码多输入几位,耗时几秒,却导致解密代价高到了几乎不可能的程度。
量子计算机即使带来一亿倍的破解速度提升,那也不过是抵消了比特币256位私钥长度中的27位而已(2^27=1.3亿)。就算外星人出现,连续发生了数次一亿倍破解速度提升(每次抵消27位私钥长度),比特币也只要简单地把私钥长度升级到512位即可。

『拾』 比特币暴力破解真的存在吗

比特币暴力破解目前是不可能存在的。
经专家研究发现几乎不可能暴力破解比特币私钥,因为比特币采用的加密算法,是非常难破解的。
目前看来,量子计算似乎尚未做出必要的颠覆,以解决比特币的加密问题。

热点内容
mc挖矿危险 发布:2025-02-27 15:42:43 浏览:244
元宇宙与文学的未来 发布:2025-02-27 15:30:39 浏览:29
比特币倒卖犯法吗 发布:2025-02-27 15:30:28 浏览:820
元宇宙公司的跨界融合 发布:2025-02-27 15:21:37 浏览:333
区块链技术如何应用于体育产业 发布:2025-02-27 15:07:35 浏览:46
btc挖矿难度降低 发布:2025-02-27 15:07:22 浏览:585
诈骗比特币无罪 发布:2025-02-27 14:37:36 浏览:694
比特币账户可以锁定 发布:2025-02-27 14:24:33 浏览:732
打比方认识区块链 发布:2025-02-27 14:24:25 浏览:157
tps区块链官网 发布:2025-02-27 13:43:57 浏览:1000