比特币底层区块链技术到底是什么?

  一、区块链技术

  1.什么是区块链?

  去中心化的、分布式的、区块化存储的数据库

  存储全部账户余额及交易流水的总账本

  每个节点有完整的账本数据

  账本数据记录了全部的历史交易数据

  交易数据存储在区块上

  每个区块包含前一区块ID及HASH,形成链

  2.区块链基本原理

  如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。

  交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录

  区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识

  链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。

  3.区块链要解决的问题

  如何去中心化地共享数据?

  如何确保账户不被冒用?

  如何确保账户余额足够?

  如何确保交易记录不被篡改?

  谁负责记账?

  怎么保障记账者的可信?

  怎么保障记账者的积极性?

  4.区块链特性

  去中心化

  开放性(没有限制,开源,数据公开)

  去信任(仅信任机器)

  自治性,集体维护

  可靠的数据库(不可更改,永远可访问)

  匿名性,隐私保护

  5.核心技术

  P2P网络、数字签名、区块化数据库,竞争记账权、共识算法、交易回溯。

  二、P2P网络及通信技术(分布式计算网络)

  1.自动发现

  通过种子文件,获取初始节点(地址及端口)

  连接初始节点,获取初始节点知道的Peer

  把自己的地址及端口广播给各个Peer

  接收各个Peer广播的地址信息,构建出网络的全貌或片段

  2. 技术领域

  分布式存储、分布式计算、分布式协同

  组播

  流媒体

  搜索引擎

  3.通信协议

  napster 、Gnutella、eDonkey、 Bittorrent(文件分发协议)

  XMPP、Jabber(即时通信协议)

  Paxos 、Gossip(分布式系统状态同步协议)

  JXTA

  4.使用HASH算法及非对称加密及签名技术

  每个节点、每个人有唯一的一对公钥及私钥

  公钥同时也是每个节点、个人的地址和账号

  私钥是证明”我就是我“的唯一手段

  HASH算法对数据进行规整

  5.算法

  RSA、Elgamal、D-H、ECC

  SHA256、 RIMPED160

  6.通常使用椭圆曲线算法生成密钥对

  比特币密钥长度:256位

  公钥哈希值=RIMPED160(SHA256(公钥))

  比特币地址=1+Base58(0+公钥哈希值+校验码)

  校验码=前四字节(SHA256(SHA256(0+公钥哈希值)))

  7. 加密

  发送方使用接收方的公钥加密数据

  接收方使用本方的私钥解密数据

  通常使用本方面交换对称加密的Key

  8.签名

  发送方使用HASH算法计算数据的HASH值

  发送方使用本方的私钥加密HASH值,得到签名

  接收方使用HASH算法计算数据的HASH值

  接收方使用发送方的公钥解密签名得到发送的HASH值

  比较两个HASH值的一致性

  9.参考

  ElGamal算法,是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数K,在密码中主要应用离散对数问题的几个性质:求解离散对数(可能)是困难的,而其逆运算指数运算可以应用平方-乘的方法有效地计算。也就是说,在适当的群G中,指数函数是单向函数。

  椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。解椭圆曲线上的离散对数问题的最好算法是Pollard rho方法,其时间复杂度为,是完全指数阶的。其中n为等式(2)中m的二进制表示的位数。

  当n=234. 约为2117.需要1.6*1023 MIPS 年的时间。而我们熟知的RSA所利用的是大整数分解的困难问题,目前对于一般情况下的因数分解的最好算法的时间复杂度是子指数阶的,当n=2048时,需要2x1020MIPS年的时间。

  也就是说当RSA的密钥使用2048位时,ECC的密钥使用234位所获得的安全强度还高出许多。它们之间的密钥长度却相差达9倍,当ECC的密钥更大时它们之间差距将更大。更ECC密钥短的优点是非常明显的,随加密强度的提高,密钥长度变化不大。

  DH Diffie-Hellman算法(D-H算法),密钥一致协议,是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。简单的说就是允许两名用户在公开媒体上交换信息以生成”一致”的、可以共享的密钥。

  换句话说,就是由甲方产出一对密钥(公钥、私钥),乙方依照甲方公钥产生乙方密钥对(公钥、私钥)。以此为基线,作为数据传输保密基础,同时双方使用同一种对称加密算法构建本地密钥(SecretKey)对数据加密。

  这样,在互通了本地密钥(SecretKey)算法后,甲乙双方公开自己的公钥,使用对方的公钥和刚才产生的私钥加密数据,同时可以使用对方的公钥和自己的私钥对数据解密。不单单是甲乙双方两方,可以扩展为多方共享数据通讯,这样就完成了网络交互数据的安全通讯!该算法源于中国的同余定理——中国馀数定理。

  三、区块链化数据库

  1.典型特征

  去中心化的、分布式的、区块化存储的数据库

  区块(Header + Body)

  链

  随机数

  时间戳

  包含父区块创建之后、本区块创建之前的全部交易;

  满足某个条件的区块HASH;

  a) SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET  b) Target值由动态的难度系数确定,Target越小,难度越高;  2. 参考  默克尔树是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成。最下面的大量的叶节点包含基础数据,每个中间节点是它的两个子节点的哈希,根节点也是由它的两个子节点的哈希,代表了默克尔树的顶部。默克尔树的目的是允许区块的数据可以零散地传送:节点可以从一个源下载区块头,从另外的源下载与其有关的树的其它部分,而依然能够确认所有的数据都是正确的。  默克尔树协议对比特币的长期持续性可以说是至关重要的。在2014年4月,比特币网络中的一个全节点-存储和处理所有区块的全部数据的节点-需要占用15GB的内存空间,而且还以每个月超过1GB的速度增长。简化支付确认(SPV)协议允许另一种节点存在,这样的节点被成为“轻节点”,它下载区块头,使用区块头确认工作量证明,然后只下载与其交易相关的默克尔树“分支”。这使得轻节点只要下载整个区块链的一小部分,就可以安全地确定任何一笔比特币交易的状态和账户的当前余额。  四、记账权竞争及奖励制度(挖矿)  1.概述  为防止可预期的记账节点被控制或攻击,导致错误记账行为,区块链技术采用竞争记账权的做法:  任何一个节点均可以参与记账,因而记账节点无法预期,也就不容易被控  竞争的过程就是看谁最先计算出满足条件的HASH值  每次计算必须以最后1个有效的区块为起点,必须消耗大量的计算机CPU,增加伪造记账数据的成本  计算的结果必须得到大部分节点的认可(共识算法),才会成为新的区块。实际算法中,如果该区块位于最长的区块链上,则为正式被认可的区块,也即大部分节点认可计算结果,并愿意在该结果下继续计算  这个过程被称为挖矿,或工作量证明(POW)。参与挖矿的节点称为矿工,协同挖矿的矿工联合体称为矿池  a ) 以前1区块为起点,计算满足条件的HASH值;  b ) 将计算的结果广播给其他节点;  c ) 其他节点验证计算结果无误时,认可该结果,并以该结果为起点重新进行计算;  d ) 单位时间内达到共识认可要求时,该区块成为正式认可的区块。  这个过程被称系统为鼓励挖矿的积极性,给予竞争成功的记账节点奖励  a ) 给予每个区块挖矿者直接的“现金”奖励。例如,比特币网络给予25个比特币,以太坊给予5个以太币;  b ) 以太坊:纳入该区块的交易的手续费,由发起节点和记账节点分成(发起75%,记账25%)。  2. 参考  比特币使用的SHA256算法,会有2^256种输出,如果我们进行2^256+1次输入,那么必然会产生一次碰撞;甚至从概率的角度看,进行2^130次输入就会有99%的可能发生一次碰撞。不过我们可以计算一下,假设一台计算机以每秒10000次的速度进行哈希运算,要经过10^27年才能完成2^128次哈希!这时要考虑一种情况:如果同时有两个矿工各自得到一个正确答案,并各自生成了一个区块广播出去会发生什么呢?这时候在区块链上同一个位置就有了两个区块,所谓的“分叉”就出现了。分叉是绝对不允许的,所以当矿工发现区块链分叉之后,会选择最长的一条继续计算,短的那条区块链会被丢弃。这里的长短,不是简单意义上的长短,而是工作量证明合计值最大的那个链。

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/qukuai/150374.html

(0)
句子百科句子百科
上一篇 2022年 12月 28日
下一篇 2022年 12月 28日

相关推荐

  • xmr挖矿(xmr矿好挖吗)

    关于xmr挖矿这个问题很多人都不太了解,下面由句子百科网小编(sws100.com)大唐风水网为大家详细讲解一下,大家来看下。 1.门罗币用什么挖矿?一文读懂XMR挖矿教程门罗币在解决可扩展性问题上可谓是独树一帜,加密货币社区里面有关于门罗币的一个普遍接受的口号,门罗币是口袋里的瑞士银。 2.Randomx算法-门罗币XMR的挖矿新算法 RandomX算法设…

    2023年 3月 31日
  • 区块链最大的软件详情分享!安全的区块链交易平台推荐!

    区块链最大的软件详情分享!安全的区块链交易平台推荐!币圈之家小编  编辑时间:17:00:31   对于区块链玩家们来说,选择一个大的平台,一个有良好信誉度的平台,是可以令自己的在交易、管理自己的数字资产时,都能感受许多实实在在的便利便捷、以及安全安心体验的。那么,大家知道在区块链市场中,最大的软件平台是什么吗?接下来,就由币圈之家的小编…

    2023年 2月 14日
  • bitfinex官网中文版下载_Bitfinex交易所国际版v6.0.25

    bitfinex官网中文版下载是一款非常实用的货币交易平台,在Bitfinex交易所国际版中不仅拥有简单的交易模式,用户在bitfinex官网中文版下载中还可以实时了解到各种最新的货币交易行情,根据最新的币种价格来选择最适合自己的交易方案,轻松赚钱,喜欢的话就来下载使用吧!     注册领取新手礼包!交易手续费返现:20%! 赶紧注册吧!…

    2022年 8月 29日
  • AKRO币会成为下一个百倍币吗?

    AKRO是一个difi概念类项目,之前上线火币有过一波不错的热度,后面开盘即割,3天成交27亿,600%的换手率,套牢了大量的用户,现在落地应用迟迟不能上线,币价又持续暴跌,社区也是一片死寂,没有任何热度可言,后面大概率就是慢慢归零,远离就好。 Akropolis的团队于2017年决定探索金融和社会领域的区块链应用场景。该协议侧重于为非正式储蓄用户提供必要的…

    区块链 2023年 1月 9日
  • FML币什么时候上市的?发行价格多少?

    看该项目的资料以及介绍,FML致力于建立一个可信的真实资产君子之交换网络,让真实的资产可以被可信,安全,高效的登记和流通,实现资产数字化和智能化。 个人对于这么一个定位高大上却没有实际应用的项目不看好,类似的区块链项目也很多,但是没有一个有正经 的落地,绝大部分都是造一个概念然后发币圈钱,而且这个FML也差不多。2019年6月19日发行,几个月还不到就归零了…

    区块链 2023年 3月 31日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信