8月27日
关注我们
老关链动
区块链(1.0)是一个根据密码学安全的分布式账本,是一个方便验证,不可篡改的账本。
一般认为与智能合约相结合的区块链为区块链2.0, 如以太坊是典型的区块链2.0
很多人只了解过比特币,不知道区块链,比特币实践是一个运用了区块链技术的运用,只是比特币其时太热,把区块链技术的光芒给掩盖了。区块链才是未来,期望各位开发人员少关心币价,多关心技术。
本文将说明区块链1.0技术是怎么完结的。
哈希函数
在讲区块链记账之前,先说明一下哈希函数。
哈希函数:Hash(原始信息) = 摘要信息
原始信息可以是任意的信息,hash之后会得到一个简短的摘要信息
哈希函数有几个特点:
-同样的原始信息用同一个哈希函数总能得到相同的摘要信息
-原始信息任何微小的变化都会哈希出面目全非的摘要信息
-从摘要信息无法逆向推算出原始信息
举例说明:
Hash(张三借给李四100万,利息1%,1年后还本息 …..) = AC4635D34DEF
账本上记录了AC4635D34DEF这样一条记录。
可以看出哈希函数有4个作用:
简化信息
很好理解,哈希后的信息变短了。
标识信息
可以使用AC4635D34DEF来标识原始信息,摘要信息也称为原始信息的id。
躲藏信息
账本是AC4635D34DEF这样一条记录,原始信息被躲藏。
验证信息
假定李四在还款时欺骗说,张三只借给李四10万,两头可以用AC4635D34DEF来验证原始信息
哈希函数的这4个作用在区块链技术里有广泛的运用。
(哈希函数是一组函数或算法,今后会发文章专门介绍哈希)
区块链记账方法
假定有一个账页序号为0的账页生意记载如下:
记账时间为:2017-10-22 10:22:02
区块链在记账是会把账页信息(包含序号、记账时间、生意记载)作为原始信息进行Hash, 得到一个Hash值,如:787635ACD, 用函数表明为:Hash(序号0、记账时间、生意记载) = 787635ACD
账页信息和Hash值组合在一起就构成了第一个区块。
比特币系统里约10分钟记一次账,即每个区块生成时间大约间隔10分钟
在记第2个账页的时分,会把上一个块的Hash值和其时的账页信息一起作为原始信息进行Hash,即:Hash(上一个Hash值、序号1、记账时间、生意记载) = 456635BCD
这样第2个区块不只包含了本账页信息,还直接的包含了第一个区块的信息。依次按照此方法继续记账,则最新的区块总是直接包含了全部之前的账页信息。
全部这些区块组合起来就形成了区块链,这样的区块链就构成了一个便于验证(只需验证最终一个区块的Hash值就相当于验证了整个账本),不可更改(任何一个生意信息的更改,会让全部之后的区块的Hash值发作改动,这样在验证时就无法经过)的总账本。
还有,部分在区块链傍边的词汇,咱们有必要要了解:
Blockchain(区块链)
去中心化网络,由连续的预定大小(区块)的代码段组成。网络上的全部生意存储在整个网络中存在的公共总账中,这意味着中心服务器不需要授权网络上的生意。
Digital signature(数字签名)
种用于在互联网上辨认单个个人或行为的通用术语。在区块链中,它一般指的是给予特定用户,令牌或生意的仅有标识符。
哈希(Hash)
运用算法为任何数据供应“数字指纹”的做法。在区块链中存储信息时,哈希用于创建一致表格以辨认代码块,方法是将其转换为数字和字母串的固定大小。
有一种爱叫做点赞
领取专属 10元无门槛券
私享最新 技术干货