当前位置:首页 > 物联网 > 区块链
[导读] 一、区块链技术 1.什么是区块链? 去中心化的、分布式的、区块化存储的数据库 存储全部账户余额及交易流水的总账本 每个节点有完整的账本数据 账本数据记录了

一、区块链技术

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次哈希!这时要考虑一种情况:如果同时有两个矿工各自得到一个正确答案,并各自生成了一个区块广播出去会发生什么呢?这时候在区块链上同一个位置就有了两个区块,所谓的“分叉”就出现了。分叉是绝对不允许的,所以当矿工发现区块链分叉之后,会选择最长的一条继续计算,短的那条区块链会被丢弃。这里的长短,不是简单意义上的长短,而是工作量证明合计值最大的那个链。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭