新闻中心

什么是比特币比特币原理详解

发布者:18luck-18新利在线-18luck官方网站 浏览12次 【2020-03-20 04:36:15】

  比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。

  假设现有4个人分别称之为ABCD,他们之间发起了3个交易,A转给B10个比特币,B转给C5个比特币,C转给D2个比特币。如果是传统的记账方式,这些交易会记录在银行的系统中,这些信息由银行来记录,我们相信银行不会随意添加、删除或修改一条交易记录,我们也不会关注到底有哪些交易,我们只关注自己的账户余额。而比特币的记账方式为ABCD每个人保存了这样一份账本,账本上记录了上述交易内容,如果每个人账本实时的一致,ABCD就不再需要银行。

  比特币是这样做的,每当有人发起一笔交易,他就要将一笔交易广播至全网,由全网中的某一个人,把一段时间内的交易打包好记录到一个区块上,再按照顺序把这些区块,一个一个的链接在一起,进而形成了一个链条,这就是所谓的区块链。

  1、我凭什么要参与这个系统,我为什么要动用自己的计算机资源来存储这些信息呢?

  2、以谁的记录为准呢?比如上面的账单顺序,A用户可能是这个顺序,但是B可能顺序不一样,甚至可能B根本就没有接收到C给D转账的这个消息。

  3、比特币如果做到支付功能,保证该是谁的钱就是谁的钱,而且只有其所有者才能花。

  4、如何防伪、防篡改以及双重支付,防伪是验证每条交易的真的是某人发出的,比如B可能杜撰一条消息,说某某给我转了一笔钱,这就是一个假消息,或者B说我给某人转了多少钱,但是实际上他并没有这么多钱,又怎么办。防篡改指的是B可能想从区块链上把自己曾经转给某人钱的记录删掉,这样他的余额就会增加。双重支付是指,B只有10比特币,他同时向C和D转10个比特币,造成双重花费。

  因为记账有奖励,记账有手续费的收益,而且打包区块的人有系统奖励,奖励方案是,每十分钟生成一个区块,每生成一个区块会奖励一定数量的比特币,最开始是50个BTC,过4年会奖励25个BTC,再过4年再减少一半,以此类推。这样比特币的产生会越来越少,越来越趋近于一个最大值,计算公式是:50×6×24×365×4×(1+1/2+1/4+1/8+…)≈2100万,其中最初奖励50个比特币,每小时有6个区块,每天24小时,每年365天,前四年是如此,之后每四年减半。

  此外,记账奖励还有每笔交易的小额手续费,每个交易发起都会附带一定的手续费,这些手续费是给记账的矿工的。

  各个节点通过工作量证明机制来争夺记账权,他们计算一个很复杂的数学题,第一个计算出来的节点就是下一个区块的产生者。这个数学题很难,难到没有一个人能同过脑子算出来,它是基于概率的方法,矿工必须通过遍历、猜测和尝试的办法才能解开这个未知数。那么这个数学难题到底是什么呢?下面详细介绍。

  哈希函数又称为数字摘要或散列函数,它的特点是输入一个字符串,可以生成另外一个字符串,但是如果输入不同,输出的字符串就一定不同,而且通过输出的字符串,不能反推出输入。举个简单的例子,对1-100内的数模10,可以认为是一种哈希方法,比如98%10=8,66%10=6,98和66是输入,模10是哈希函数,8和6是输出,在这个模型中,通过6和8无法推断输入是66和98,因为还可能是56和88等,当然因为这个例子比较简单,所以会出现哈希碰撞,即66和56的结果都是6,输出的结果相同。一个优秀的哈希函数,可以做到输出一定不同,哈希碰撞的概率几乎为0。常见的哈希函数有很多,比如MD系列和SHA系列等,比特币采用的SHA256算法,即输入一个字符串,输出一个256位的二进制数。下面是程序运行的结果。

  通过程序结果可以看出,输入的源信息不同,得到的结果也不同(为了方便,结果用64位16进制表示),即使是orange多了一个句号,也会产生截然不同的结果。同时,通过输出的十六进制字符串,也无法倒推出输入。对于比特币,只要了解SHA256的功能即可,如果感兴趣可以深入了解SHA256的具体算法。需要SHA256的C++源码留言邮箱或私信。

  首先介绍一下比特币每个区块的数据结构,每个区块由区块头和区块体两部分组成。

  区块体中包含了矿工搜集的若干交易信息,图中假设有8个交易被收录在区块中,所有的交易生成一颗默克尔树,默克尔树是一种数据结构,它将叶子节点两两哈希,生成上一层节点,上层节点再哈希,生成上一层,直到最后生成一个树根,称之为默克尔树根,只有树根保留在区块头中,这样可以节省区块头的空间,也便于交易的验证。

  区块头中包含父区块的哈希,版本号,当前时间戳,难度值,随机数和上面提到的默克尔树根。

  假设区块链已经链接到了某个块,有ABCD四个节点已经搜集了前十分钟内全网中的一些交易信息,他们选出其中约4k条交易,打包好,生成默克尔树根,将区块头中的信息,即发区块哈希+版本号+时间戳+难度值+随机数+默克尔树根组成一个字符串str,通过两次哈希函数得出一个256的二进制数,即SHA256(SHA256(str)) = 10010011……共256位,比特币要求,生成的结果,前n位必须是0,n就是难度值,如果现在生成的二进制数不符合要求,就必须改变随机数的值,重新计算,只到算出满足条件的结果为止。假设现在n是5,则生成的二进制数必须是00000……(共256位)。一旦挖矿成功,矿工就可以广播这个消息到全网,其他的矿工就会基于该区块继续挖矿。下一个区块头中的父区块哈希值就是上一个区块生成的00000……这个数。

  解决这个数学难题要靠运气,理论上,运气最好的矿工可能1次哈希就能算出结果,运气差的可能永远都算不出来。但是总体来看,如果一个矿工的算力越大,单位时间内进行的哈希次数就越多,就越可能在短时间内挖矿成功。

  那么n是如何确定的呢?比特币设计者希望,总体上平均每十分钟产生一个区块,总体上来看,挖矿成功的概率为1/2^n。现假设世界上有1W台矿机,每台矿机的算力是14T次/s = 1.4×10^13次/s,单位次/s称之为哈希率,10分钟是600s,所以10分钟可以做8×10^19次哈希运算,从概率角度看,想要挖矿成功需要做2^n次运算,可以列出等式2^n = 8×10^19,可以解出n约为66。所以对于这种方法,我们没有办法使得自己的运气变的更好,只能提高自己的算力,尽快的算出结果。

  另外,需要模拟挖矿过程的C++代码可以回复邮箱,代码可以通过调整难度值,模拟比特币的挖矿算法,控制区块产生的速度。

  身份认证技术在生活中很常见,可以是人脸识别、签字、指纹等,但是这些方法在数字货币领域并不安全,因为它们一旦数字化,都可以通过复制的方法伪造。所以比特币采用了电子签名的方法。

  注册成为比特币用户时,系统会根据随机数生成一个私钥,私钥会生成一个公钥,公钥又会生成一个地址,其中私钥必须保密,可以保存到硬盘里或者记到脑子里,因为这个私钥是使用相应地址上的比特币的唯一标识,一旦丢失,所有的比特币将无法使用。下面介绍具体的转换过程,不感兴趣可以不看,只要知道随机数-》私钥-》公钥-》钱包地址这个过程,其中私钥可以对一串字符进行加密,而公钥可以对其进行解密,这就是非对称加密,这类算法总体上的功能都是一样的,只是具体算法有区别,由于这些算法比较复杂,与SHA265算法一样不多做介绍,感兴趣可以深入了解具体算法,但是对于比特币系统,只要了解其功能即可。典型的算法是RSA,比特币采用椭圆曲线加密算法。

  1、首先使用随机数发生器生成一个私钥,它是一个256位的二进制数。私钥是不能公开的,相当于银行卡的密码。

  2、私钥经过SECP256K1算法生成公钥,SECP256K1是一种椭圆曲线加密算法,功能和RSA算法类似,通过一个已知的私钥,生成一个公钥,但是通过公钥不能反推出私钥。

  3、同SHA256算法一样,RIPEMD160也是一种HASH算法,由公钥可以得到公钥的哈希值,而通过哈希值无法推出公钥。

  4、将一个字节的版本号连接到公钥哈希头部,然后对其进行两次SHA256运算,将结果的前4字节作为公钥哈希的校验值,连接在其尾部。

  所以,通过以上的过程我们可以总结出私钥、公钥、钱包之间的关系如下图。可以看到通过私钥可以推出所有的值,公钥哈希和钱包地址之间可以通过BASE58和BASE58解码算法相互转化。

  了解了公钥、私钥、地址的概念后,防伪验证的过程就很容易理解,当A发起一笔交易后,对消息进行哈希,生成数字摘要,对数字摘要,通过私钥加密,生成一个密码。之后A会广播这个条交易消息、公钥以及密码。收到消息的人首先对交易信息进行哈希生成摘要1,再通过公钥对密码进行解密,生成摘要2,这样,如果两个摘要相同,说明这个消息确实是A发出的。所谓的签名,就是密文。

  余额的概念应该说根深蒂固,余额是伴随着称之为借贷记账法而产生的,也是目前银行普遍采用的方法,将一个人的交易记录统计好后算出一个余额,但是在比特币中没有余额这个概念,因为其采用的是UXTO模型的记账方法。比如A-》B10个比特币,B-》C5个比特币,对于第二笔交易来说,B在发起这笔交易时要注明第一笔交易的信息,这样就可以知道B曾经从A那里收到过10个比特币,说明满足第二笔交易发起的条件。所以比特币中余额的检查是通过追溯的方法。

  上图描述了两笔交易,交易10001中,B向C转了10个比特币,验证这笔交易的过程是:首先将B的签名通过B的公钥解密,然后再和交易的具体内容(B签名左侧)对比,如果相同,说明消息是B发出的,然后再检查10000这个交易是否真的存在以及它的内容的真实性。这两点都满足了,就说明交易10001是可以被接受的,否则拒绝接受。

  实际上,真实的交易比这个复杂的多,因为有可能是多笔交易构成了输入,比如B-》C20个比特币,是由多笔交易A-》B10,D-》B10构成的,则前一笔交易ID就是两个ID,甚至可能更多。这里为了简单描述,只列举一笔交易。

  A同时发了两条消息,同时给B和C转了10个比特币,实际上他只有10个会怎么样?假设D节点先收到了转给B10个BTC,然后收到了转给C10个比特币,通过上面的验证方法,自然会拒绝后面的一个,与此同时,E节点可能先收到了转给C10个BTC,然后收到了转给B10个比特币,他自然会拒绝后者。至于哪一笔交易最终会上链,就要看D和E哪个先解决难题,成功挖矿。

  假设A转给B10个比特币,但是他想把这个信息从区块链上删除,这样大家就都不知道这个事情存在,就可以赖账。

  首先说一下最长链原则,假设某一个区块后面有两个矿工同时挖到了矿,或者由于网络延迟等原因产生了分歧,这时,各个节点先随意根据自己认为对的区块挖矿,只到下一个区块产生,这时会有两条链,但是有一条是长的,比特币规定,以最长的链为准。如果某个节点仍然的固执的以较短的链为准,他就是在和大多数算力作对,这样做的结果是,他挖的块不被大家认可,会浪费时间和算力。

  回到上面的场景,A想赖账,就只能从记录了A-》B10个比特币这个消息的区块的前一个区块开始重新挖矿,造出一个支链来,但是实际上的区块已经前进了很多,他只能不停的追赶,而且在追赶的同时,主链也在前进,他必须以比主链快的速度前进,如果他的算力足够大,理论上通过较长的时间确实可以追赶成功,就实现了对交易信息的篡改。然而其实这几乎是不可能的,因为就算算力再大,平均出块速度也是10分钟,从非技术的角度讲,一个人如果掌握了全网一半以上的算力,他为什么不在主链上继续挖矿呢?一个富可敌国的人应该不会甘愿去做一个小偷吧。

  区块链并不等同于比特币,比特币也不是区块链,区块链只是比特币应用的一种技术,这个技术能给我们带来启发,比特币的伟大之处在于应用了前所未有的区块链技术。区块链技术还能在哪些方面应用还需继续探索。

  比特币是区块链技术最成功的应用,但是比特币本身也有很多问题,它想通过发行货币来挑战主权货币,这个动机有待商榷。此外,由于比特币的匿名性,只需要一个公钥或地址就能进行交易,为黑色产业提供了很好的平台。另外,比特币并不是一个成熟的支付系统,它具有吞吐率低,可拓展性差等缺点。

  人人都懂区块链系列是一套精心录制的一系列针对于零基础朋友,致力于让更多人了解区块链技术,比特币,以太坊,莱特币等数字货币

  正所谓“道路千万条,交规第一条”,出行首先要选择对的路线,也要遵守交规;其次,安全的重要性毋庸置疑,....

  近两年,以比特币为首的虚拟货币蓬勃发展,这从微软、戴尔和Dish等科技巨头开始接受以比特币作为支付方....

  市场对比特币的认识已经几乎同化为数字黄金、储值手段,随着一些第三世界小国宣布将比特币作为资产储备,马....

  科技进步速度超越人的想象。就在几年前,讨论科技创新这一话题时,提及最多的还是移动互联网、云计算、大数....

  对于币圈,国家政策是坚决发对虚拟货币的,唯一的数字货币只有央行数字货币DCEP,包括比特币在内的主流....

  刚刚拉开序幕的2020年,对于区块链行业来说,是重要发展的一年。未来的5-10年,区块链大概率会像曾....

  二是提效率。在跨境支付、全球贸易、物流、供应链、金融、征信等领域,区块链能够快速融合实物流、数据流、....

  而在当前,我国数字经济蓬勃发展,已成为经济高质量发展的重要动力,数据成为关键生产要素。区块链技术支撑....

  区块链技术应用目前仍然处于初步发展阶段,还有很多技术问题有待解决。但随着“互联网+”战略的加快实施,....

  虚拟货币的价格飞涨形成的财富效应,是区块链公司大规模增加的重要推动力量。

  在区块链时代,双方基于链上的信任,直接可在链上进行交易。从合同签定、租金交付、后期续约等都可以基于智....

  区块链技术在近些年逐渐被大家提起,并且随着技术的不断成熟,区块链实际场景落地也日渐成熟的。

  区块链技术本质上解决的核心问题是人与人之间的信任危机问题,目的在于建立一个互信共识的社会机制。

  区块链+茶行业带来的一定是行业的良性发展,拥有区块链技术加持,相信不久就能够成功建立一个茶行业的标准....

  尽管物联网概念非常流行且面向企业,但长期以来一直与可能遭受威胁和网络攻击的脆弱性作斗争。物联网设备日....

  以5G、大数据云计算、人工智能、区块链技术为核心,智能、智慧方式融合发展的会思考的“物联网”,即真正....

  传统市场中的投资者面对信息不透明和价格操控的风险,在理想情况下去中心化金融市场就能提供开放透明的金融....

  区块链形成了以智能合约为基础的经济信任体系,是独立于传统金融体系的新物种。区块链生态中产生了挖矿经济....

  区块链在金融行业的科技化升级中扮演举足轻重的作用。基于区块链技术防篡改、可追溯等特性,百度超级链联合....

  由于默认情况下物联网是分散的,需要处理大量数据,并且需要设备和网络之间的信任,因此这似乎是专为区块链....

  EEA TestNet的推出是我们旅程中的一个重要里程碑,使企业能够提供卓越的客户体验并创建新的创新....

  商业区块链需要与支持比特币和以太坊等网络的原始公共区块链平台截然不同。

  “不可能三角”一词,最早来自金融经济领域,指的是资本自由流动、汇率稳定和货币政策独立性三者不可能兼得....

  区块链的四大核心技术,分别是分布式账本、共识机制、密码学以及智能合约,它们在区块链中分别起到了数据的....

  云算力挖矿平台是指平台商将自建矿场或合作矿场的算力,注入互联网平台出售。云算力挖矿作为一种灵活、高效....

  随着社交媒体的出现,它不仅提供了惊人便利性,还给用户的隐私带来了风险。

  技术上能学习当下比较先进的安全数字钱包,而管理手段则参照传统行业的做法。同时,引进适宜的风险预估机制....

  正值凛冬,感觉已经死掉一个月的加密货币市场”诈尸“了,当然方向是向下。

  路线图中罗列了众多技术目标,但对于大部分用户来说,这些概念太过于抽象。本文将对技术路线图进行进一步解....

  这使企业区块链项目和分布式应用程序(dApps)能够模拟现实世界中的互联网问题,例如在某些司法辖区遇....

  早在2015年,一个偶然的观察者很容易就会认为,几乎疯狂的炒作和媒体的报道意味着区块链已经被用于商业....

  挖矿之所以成为当下最热门的投资方式之一,凭借着比特币以去中心化机构发行、非对称加密算法、2100万枚....

  简单来说,区块链的四大核心技术,分别是分布式账本、共识机制、密码学以及智能合约,它们在区块链中分别起....

  简单地说,区块链是一个数字分类账,它将对数据的访问和控制分配给它的所有成员。它的记录不能以任何方式被....

  尽管经历了过山车般的2019年,但比特币的生态系统却得到了另一种维度的延伸,另一种程度的发展,尤其是....

  在区块链应用落地方面,京东数科创新科技业务部区块链部产品创新负责人张作义指出,京东数科内部一直保持着....

  尽管这一消息,可能令那些希望在美国推出有史以来第一只比特币 ETF 的投资界人士失望,但这一消息并不....

  万众期待的中美第一阶段协议今天终于签署了,这是一个好的开始,现在的全球经济,只有合作才能共赢,这为2....

  而区块链具有的分布式的节点网络、大数据与算法、智能合约等优势,将使得区块链成为支持世界级共识的基础结....

  Conflux将接入去中心化预言机服务提供商Chainlink,与Chainlink共同整合资源。作....

  远的不说,就在2019年,Facebook发生了数据泄露事件,当时有超过5.4亿用户的数据公开暴露在....

  随着信息科技的发展以及移动互联网、可信可控云计算、终端安全存储、区块链等技术的演进,全球范围内支付方....

  Eth2将使用Proof of Stake(权益证明)来维护网络安全,但实行PoS需要每个活跃的参与....

  区块链与交易平台深度融合已是行业当下重点研究课题,区块链技术的成熟应用必将为行业发展带来新动能,实现....

  可有效解决链上信息共享与数据隐私、数据所属权之间的矛盾,在实现链上数据共享的同时,满足业务场景对隐私....

  随着比特币的发展,没有手续费的交易基本不会被矿工打包确认,所以很多比特币客户端、钱包就自定义了手续费....

  在股票,债券和消费品方面,存在着强有力的确定内在价值的框架。AMZN的持有者有权通过股息或股票回购获....

  区块链风险投资基金摩根溪联合创始人Anthony Pompliano在推特上发文表示,有传言称美联储....

  DeFi作为加密货币市场的金融体系,一定程度上对标传统金融体系,虽然身处千亿级乃至万亿级蓝海市场,但....

  近日,工商银行也发布了一款具有专属定制“身份证”的普洱茶,由于运用了具有身份识别、防伪、追溯等基于区....

  2017年年初,央行推动的基于区块链的数字票据交易平台测试成功,随后,央行旗下的数字货币研究所正式挂牌,已经做好了...

  公民需要管辖 所以有了政府 政府需要管辖 所以有了中央。各个省份的政府数据库信息过于冗杂几乎每个政府...

  医疗和教育在人类历史上最重要的两大事业 他们不仅具有终身化的特点 还具有普遍性 在“互联网+”的时代,很多领域已...

  区块链作为新型技术产业的领导者,他非常明确的认识到自己的主攻方向,只要攻克区块链的关键技术 加快推动区块链技术...

  现在 目前来说 保险业的发展面临很多的难点和痛点,道德风险和逆向选择是现在目前来说保险行业最大的困难,中国也面临...

  区块链曾经作为比特币基础研发理念 在2013年渐渐的走入大众视野 但是当时他只是作为比特币的“附属品”出现 2015年区...

  最早出现“区块链”这个概念的是2013年的“比特币”的出现。区块链技术作为构建比特币的最基础的技术 ,实现了记录比...

  区块链对于金融界应用日渐深刻的影响趋势区块链技术简单明了的说,相当于他是一个中心平台 不管任何一方都是作为节点 ...

  [quote]简介: 物联网设备可信上链[/quote] 物联网设备可信上链为物联网设备上链提供可信的、一站式、多层级的安全服...

  每一次,我们都会发现实施技术的新方法,同时充满灵感,但环顾四周,看不到任何实际的变化。谈到使用区块链,我们应该...