比特币是用什么算法
⑴ 比特币的原理
比特币系统是一个基于P2P网络的、开源的、去中心化的货币交易系统。比特币的核心算法和协议都是公开的,具体在其官网及GitHub上可以查看到源码信息系统的每一个节点都可以参与交易、确认其他的交易合法性并将其加入到分布式账本中。基于密码学的基本原理,比特币的交易安全性和用户身份的匿名性可以得到保证。历史上第一个产生的比特币叫做“创始币”于2009年1月3日诞生。
拓展资料:
1、根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。比特币的交易记录公开透明。点对点的传输意味着一个去中心化的支付系统。
2、与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。
3、和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖,不管身处何方,任何人都可以挖掘、购买、出售或收取比特币,并且在交易过程中外人无法辨认用户身份信息。2009年1月5日,不受央行和任何金融机构控制的比特币诞生。比特币是一种数字货币,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造。
4、每当比特币进入主流媒体的视野时,主流媒体总会请一些主流经济学家分析一下比特币。早先,这些分析总是集中在比特币是不是骗局。而现如今的分析总是集中在比特币能否成为未来的主流货币。而这其中争论的焦点又往往集中在比特币的通缩特性上。
5、用户可以买到比特币,同时还可以使用计算机依照算法进行大量的运算来“开采”比特币。在用户“开采”比特币时,需要用电脑搜寻64位的数字就行,然后通过反复解谜密与其他淘金者相互竞争,为比特币网络提供所需的数字,如果用户的电脑成功地创造出一组数字,那么就将会获得25个比特币
⑵ 比特币到底在计算什么
人人富财商院这样告诉你:每一个比特币的节点都会收集所有尚未确认的交易,并将其归集到一个数据块中,这个数据块会和前面一个数据块集成在一起。矿工节点会附加一个随机调整数,并计算前一个数据块的SHA-256哈希运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的哈希值低于某个特定的目标。
由于哈希运算是不可逆的,寻找到符合要求的随机调整数非常困难,需要一个可以预计总数的不断试错过程。这时,工作量证明机制就发挥作用了。当一个节点找到了符合要求的解,那么它就可以向全网广播自己的结果。其他节点就可以接收这个新解出来的数据块,并检验其是否符合规格。如果其他节点通过计算哈希值发现确实满足要求,那么该数据块有效,其他节点就会接受该数据块,并将其附加在自己已有的链条之后。
比特币挖矿采用的是SHA-256哈希值运算,这种算法会进行大量的32位整数循环右移运算
穷举,验证,直到找到某个符合要求的的数据,这个毫无意义的数据就是一块钱了
⑶ 比特币到底是什么
比特币(Bitcoin)是一种基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的虚拟加密货币,由中本聪在2008年提出,2009年诞生。 比特币没有一个集中的发行方,由网络节点的计算生成,可以在任意一台接入互联网的电脑上买卖,并且具有极强的稀缺性。
从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。以钞票来比喻的话,比特币就是钞票的冠字号码,你知道了某张钞票上的冠字号码,你就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有 2100 万个特解,所以比特币的上限就是 2100 万个。
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
货币特征
去中心化:比特币是第一种分布式的虚拟货币,整个网络由用户构成,没有中央银行。去中心化是比特币安全与自由的保证 。
全世界流通:比特币可以在任意一台接入互联网的电脑上管理。不管身处何方,任何人都可以挖掘、购买、出售或收取比特币。
专属所有权:操控比特币需要私钥,它可以被隔离保存在任何存储介质。除了用户自己之外无人可以获取。
低交易费用:可以免费汇出比特币,但最终对每笔交易将收取约1比特分的交易费以确保交易更快执行。
无隐藏成本:作为由A到B的支付手段,比特币没有繁琐的额度与手续限制。知道对方比特币地址就可以进行支付。
跨平台挖掘:用户可以在众多平台上发掘不同硬件的计算能力。
优点
完全去处中心化,没有发行机构,也就不可能操纵发行数量。其发行与流通,是通过开源的p2p算法实现。
匿名、免税、免监管。
健壮性。比特币完全依赖p2p网络,无发行中心,所以外部无法关闭它。比特币价格可能波动、崩盘,多国政府可能宣布它非法,但比特币和比特币庞大的p2p网络不会消失。
无国界、跨境。跨国汇款,会经过层层外汇管制机构,而且交易记录会被多方记录在案。但如果用比特币交易,直接输入数字地址,点一下鼠标,等待p2p网络确认交易后,大量资金就过去了。不经过任何管控机构,也不会留下任何跨境交易记录。
山寨者难于生存。由于比特币算法是完全开源的,谁都可以下载到源码,修改些参数,重新编译下,就能创造一种新的p2p货币。但这些山寨货币很脆弱,极易遭到51%攻击。任何个人或组织,只要控制一种p2p货币网络51%的运算能力,就可以随意操纵交易、币值,这会对p2p货币构成毁灭性打击。很多山寨币,就是死在了这一环节上。而比特币网络已经足够健壮,想要控制比特币网络51%的运算力,所需要的CPU/GPU数量将是一个天文数字。
缺点
交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。
交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。
价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比特币更适合投机,而不是匿名交易。
大众对原理不理解,以及传统金融从业人员的抵制。活跃网民了解p2p网络的原理,知道比特币无法人为操纵和控制。但大众并不理解,很多人甚至无法分清比特币和Q币的区别。“没有发行者”是比特币的优点,但在传统金融从业人员看来,“没有发行者”的货币毫无价值。
⑷ 高中生如何理解比特币加密算法
加密算法是数字货币的基石,比特币的公钥体系采用椭圆曲线算法来保证交易的安全性。这是因为要攻破椭圆曲线加密就要面对离散对数难题,目前为止还没有找到在多项式时间内解决的办法,在算法所用的空间足够大的情况下,被认为是安全的。本文不涉及高深的数学理论,希望高中生都能看懂。
密码学具有久远的历史,几乎人人都可以构造出加解密的方法,比如说简单地循环移位。古老或简单的方法需要保密加密算法和秘钥。但是从历史上长期的攻防斗争来看,基于加密方式的保密并不可靠,同时,长期以来,秘钥的传递也是一个很大的问题,往往面临秘钥泄漏或遭遇中间人攻击的风险。
上世纪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位)就非常安全了。
⑸ 比特币如何算出来的
要想了解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
⑹ 比特币的挖矿到底在计算什么
比特币的挖矿计算其实就是大家一起做数学题,题干是需要被记录的交易,大家通过做题抢夺记账权,抢到的矿工就能获得系统奖励和交易手续费。比特币用的SHA256算法的特点是已知答案验证正确很容易,但是要得到答案非常麻烦,需要一个一个数字去试。最先得到答案的矿工大家就都认可他是抢到了记账权,奖励就归他了。大家继续抢下一题的记账权。简单来说这些计算的意义只在于保证整个系统的稳定安全,并没有更多的意义。
把比特币看作是计算的副产品是不全面的,比特币的产生发行、比特币链上所有的交易流通、比特币系统的稳定性,都是计算的目的,是一体的。当然除了维护这个系统之外,的确并没有产生其他的价值和产物。这也是比特币被指责不环保浪费资源的一个黑点。总的来说,比特币作为一个里程碑式的区块链数字货币,其源于大量的算力投入和用户信任的巨大价值。这一点还是毋庸置疑的。
⑺ 比特币的核心技术包括哪些
比特币的核心技术包括1、非对称加密技术 2、点对点传输技术 3、哈希现金算法机制。
1.非对称加密技术和对称加密技术最大的不同就是有了公钥和私钥之分。非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。公钥是公开的,私钥是保密的。 由于不涉及私钥的传输,整个传输过程就变得安全多了。后来又出现了具备商业实用性的非对称RSA加密算法以及后来的椭圆曲线加密算法(ECC),这些都奠定了加密算法理论的基础,但是美国国家安全局NSA最初认为这些技术对国家安全构成威胁,所以对这些技术进行了严密的监控,知道20世纪90年代末NSA才放弃了对这些技术的监控,这些非对称技术才最终走入了了公众的视野。这项技术对应到比特币场景中就是比特币的地址和私钥。
2.点对点传输技术顾名思义,就是无需中心服务器、个体之间可以相互传输信息的技术,P2P网络的重要目标就是让所有客户端都能提供资源,包括宽带、存储空间和计算能力。 对应到比特币网络中就是利用点对点的技术实现真正的去中心化。
3.哈希现金算法机制就是让那些制造垃圾邮件的人付出相应的代价!发送者需要付出一定的工作量,比如说哈希运算,几秒钟时间对于普通用户不算什么,但对于垃圾邮件的发送者每封邮件都要花几秒钟的时间,这样的成本是没有办法负担的。同时每次运算都会盖上一个独一无二的时间戳,这样就能保证邮件发送方不能重复使用一个运算结果。 对于比特币而言也是同样的道理,如何保证一笔数字货币没有被多次消费(Double Spending),就类似于验证一封邮件没有被多次发送,所以就要保证每一笔交易顺利完成,必须要付出一定的工作量(proof of Work),并且在完成交易时盖上一个时间戳表示交易完成的时间。
⑻ 比特币是什么
比特币的概念。比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在2100万个。
比特币可以用来兑现,可以兑换成大多数国家的货币。使用者可以用比特币购买一些虚拟物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,也可以使用比特币购买现实生活当中的物品。
比特币的产生原理。从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到无限个(其实比特币是有限个)解中的一组。而每一个特解都能解开方程并且是唯一的。[以人民币来比喻的话,比特币就是人民币的序列号,你知道了某张钞票上的序列号,你就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有 2100 万个特解,所以比特币的上限就是 2100 万。
比特币的疯狂涨势。要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。在安装好比特币客户端后,它将会分配一个私有密钥和一个公开密钥。需要备份你包含私有密钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
比特币的货币特征。去中心化:比特币是第一种分布式的虚拟货币,整个网络由用户构成,没有中央银行。去中心化是比特币安全与自由的保证 。
全世界流通:比特币可以在任意一台接入互联网的电脑上管理。不管身处何方,任何人都可以挖掘、购买、出售或收取比特币。
专属所有权:操控比特币需要私钥,它可以被隔离保存在任何存储介质。除了用户自己之外无人可以获取。
低交易费用:可以免费汇出比特币,但最终对每笔交易将收取约1比特分的交易费以确保交易更快执行。
无隐藏成本:作为由A到B的支付手段,比特币没有繁琐的额度与手续限制。知道对方比特币地址就可以进行支付。
跨平台挖掘:用户可以在众多平台上发掘不同硬件的计算能力。
比特币如何用通俗易懂的话表述?访问即刻得到答案网页链接
⑼ 比特币是如何产生的
比特币是依据特定算法,通过大量的计算产生的。它的本质就是一堆复杂算法所生成的特解,而挖比特币的过程就是通过庞大的计算量去不断地寻求这个方程组的特解。
挖比特币都是利用计算机去挖的,下载专用的比特币运算工具就可以进行运算来挖比特币。越专业的设备,能够挖到的几率也就越大,比如国外的BTC Guild矿池就非常有名。至于矿机,就是用来赚取比特币的电脑,只是电脑里安装了专业的挖矿芯片,一台矿机的价格从两三百元到20万元不等。
一.比特币目前的4个用处
1、贵金属:购买白银和黄金有数十家公司可以通过比特币来购买银条和金条,可以在网络上的多个比特币交易所购买,在世界已经很多国家可以支付。相信以后比特币的支付方式更加广泛
2、房地产:购买物业和土地说到购买奢侈品,房地产是另一个完全可以使用加密货币的行业。最近,许多房地产经纪人开始接受比特币付款,甚至还有以比特币为主题的房地产公司。该网站帮助客户将其房屋投放市场并以比特币的价格出售。
3、旅行:预订住宿和门票旅游业是全球增长最快的业务之一,它也是最具创新的行业之一。像CheapAir和Expedia这样的网站都接受酒店,汽车旅馆和旅行的比特币付款,CheapAir甚至为比特币用户提供了专用服务器。除了预订外,您还可以使用多种加密货币为航班付款。去年,英国的航空公司(AlternativeAirlines)与瑞士数字支付公司Utrust合作创建了第一个网站,该网站可让人们以加密货币为自己的航班付款。
4、游戏:装备和升级游戏纵观整个历史,游戏行业一直都高度重视新的前沿技术。还记得80年代末和90年代初的VR热潮吗?因此,该行业会催生接受加密支付和小额支付的公司,这并不令人感到意外。
⑽ 什么是SHA256
SHA 家族
SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于 1993年。然而现在的人们给它取了一个非正式的名称 SHA-0 以避免与它的后继者混淆。两年之后, SHA-1,第一个 SHA 的后继者发布了。 另外还有四种变体,曾经发布以提升输出的范围和变更一些细微设计: SHA-224, SHA-256, SHA-384 和 SHA-512 (这些有时候也被称做 SHA-2)。
SHA-0 和 SHA-1
最初载明的算法于 1993年发布,称做安全散列标准 (Secure Hash Standard),FIPS PUB 180。这个版本现在常被称为 "SHA-0"。它在发布之后很快就被 NSA 撤回,并且以 1995年发布的修订版本 FIPS PUB 180-1 (通常称为 "SHA-1") 取代。根据 NSA 的说法,它修正了一个在原始算法中会降低密码安全性的错误。然而 NSA 并没有提供任何进一步的解释或证明该错误已被修正。1998年,在一次对 SHA-0 的攻击中发现这次攻击并不能适用于 SHA-1 — 我们不知道这是否就是 NSA 所发现的错误,但这或许暗示我们这次修正已经提升了安全性。SHA-1 已经被公众密码社群做了非常严密的检验而还没发现到有不安全的地方,它现在被认为是安全的。
SHA-0 和 SHA-1 会从一个最大 2^64 位元的讯息中产生一串 160 位元的摘要然后以设计 MD4 及 MD5 讯息摘要算法的 MIT 教授 Ronald L. Rivest 类似的原理为基础来加密。
SHA-0 的密码分析
在 CRYPTO 98 上,两位法国研究者展示了一次对 SHA-0 的攻击 (Chabaud and Joux, 1998): 散列碰撞可以复杂到 2^61 时被发现;小于 2^80 是理想的相同大小散列函数。
2004年时,Biham 和 Chen 发现了 SHA-0 的近似碰撞 — 两个讯息可以散列出相同的数值;在这种情况之下,142 和 160 位元是一样的。他们也发现了 SHA-0 在 80 次之后减少到 62 位元的完整碰撞。
2004年8月12日,Joux, Carribault, Lemuet 和 Jalby 宣布了完整 SHA-0 算法的散列碰撞。这是归纳 Chabaud 和 Joux 的攻击所完成的结果。发现这个碰撞要复杂到 2^51, 并且用一台有 256 颗 Itanium2 处理器的超级电脑耗时大约 80,000 CPU 工作时 。
2004年8月17日,在 CRYPTO 2004 的 Rump 会议上,Wang, Feng, Lai, 和 Yu 宣布了攻击 MD5、SHA-0 和其他散列函数的初步结果。他们对 SHA-0 攻击复杂到 2^40,这意味着他们攻击的成果比 Joux 还有其他人所做的更好。该次 Rump 会议的简短摘要可以在 这里找到,而他们在 sci.crypt 的讨论,例如: 这些结果建议计划使用 SHA-1 作为新的密码系统的人需要重新考虑。
更长的变种
NIST 发布了三个额外的 SHA 变体,每个都有更长的讯息摘要。以它们的摘要长度 (以位元计算) 加在原名后面来命名:"SHA-256", "SHA-384" 和 "SHA-512"。它们发布于 2001年的 FIPS PUB 180-2 草稿中,随即通过审查和评论。包含 SHA-1 的 FIPS PUB 180-2,于 2002年以官方标准发布。这些新的散列函数并没有接受像 SHA-1 一样的公众密码社群做详细的检验,所以它们的密码安全性还不被大家广泛的信任。2004年2月,发布了一次 FIPS PUB 180-2 的变更通知,加入了一个额外的变种 "SHA-224",定义了符合双金钥 3DES 所需的金钥长度。
Gilbert 和 Handschuh (2003) 研究了新的变种并且没有发现弱点。
SHAd
SHAd 函数是一个简单的相同 SHA 函数的重述:
SHAd-256(m)=SHA-256(SHA-256(m))。它会克服有关延伸长度攻击的问题。
应用
SHA-1, SHA-224, SHA-256, SHA-384 和 SHA-512 都被需要安全散列算法的美国联邦政府所应用,他们也使用其他的密码算法和协定来保护敏感的未保密资料。FIPS PUB 180-1 也鼓励私人或商业组织使用 SHA-1 加密。Fritz-chip 将很可能使用 SHA-1 散列函数来实现个人电脑上的数位版权管理。
首先推动安全散列算法出版的是已合并的数位签章标准。
SHA 散列函数已被做为 SHACAL 分组密码算法的基础。
SHA-1 的描述
以下是 SHA-1 算法的伪代码:
(Initialize variables:)
a = h0 = 0x67452301
b = h1 = 0xEFCDAB89
c = h2 = 0x98BADCFE
d = h3 = 0x10325476
e = h4 = 0xC3D2E1F0
(Pre-processing:)
paddedmessage = (message) append 1
while length(paddedmessage) mod 512 > 448:
paddedmessage = paddedmessage append 0
paddedmessage = paddedmessage append (length(message) in 64-bit format)
(Process the message in successive 512-bit chunks:)
while 512-bit chunk(s) remain(s):
break the current chunk into sixteen 32-bit words w(i), 0 <= i <= 15
(Extend the sixteen 32-bit words into eighty 32-bit words:)
for i from 16 to 79:
w(i) = (w(i-3) xor w(i-8) xor w(i-14) xor w(i-16)) leftrotate 1
(Main loop:)
for i from 0 to 79:
temp = (a leftrotate 5) + f(b,c,d) + e + k + w(i) (note: all addition is mod 2^32)
where:
(0 <= i <= 19): f(b,c,d) = (b and c) or ((not b) and d), k = 0x5A827999
(20 <= i <= 39): f(b,c,d) = (b xor c xor d), k = 0x6ED9EBA1
(40 <= i <= 59): f(b,c,d) = (b and c) or (b and d) or (c and d), k = 0x8F1BBCDC
(60 <= i <= 79): f(b,c,d) = (b xor c xor d), k = 0xCA62C1D6
e = d
d = c
c = b leftrotate 30
b = a
a = temp
h0 = h0 + a
h1 = h1 + b
h2 = h2 + c
h3 = h3 + d
h4 = h4 + e
digest = hash = h0 append h1 append h2 append h3 append h4
注意:FIPS PUB 180-1 展示的构想,用以下的公式替代可以增进效能:
(0 <= i <= 19): f(b,c,d) = (d xor (b and (c xor d)))
(40 <= i <= 59): f(b,c,d) = (b and c) or (d and (b or c)))