区块链程序员技术干货

区块链入门实战(二)-核心概念和原理

2018-11-05  本文已影响17人  紫霞等了至尊宝五百年

1 区块链的前世今生

密码朋克





应用场景



2 比特币是什么

2.1 货币历史

2.2 数字货币

2.3 信任从何而来

2.4 去中心化记账系统

比特币的原理

3.1 账本如何验证

原账本



张三自行修改了余额!


3.1.1 直接比较各账本记录


效率太差,不行!

3.1.2 Hash

特点


Hash 账本记录,直接对比摘要信息即可

区块



比特币大约每十分钟记一次账


原 hash值也参与新 hash
核对最后一个区块的摘要信息即可!

4 账户所有权问题

银行系统

银行开户

银行记账


所以银行的安全机制很严格,而比特币与之不同

比特币系统

账号 -> 地址

密钥 -> 私钥

非对称技术加密(交易签名)

谁拥有地址的私钥,就能进行支付
那么如何在不泄露私钥情况下确定对某个地址的私钥

签名(加密过程)

先对原始的交易记录进行 hash 运算,得到摘要信息

使用摘要信息和私钥进行签名运算,得到签名信息


之后,付款的节点就会在整个网络进行广播

广播

内容包括交易的原始信息和签名信息



节点收到广播并且验证通过后对相邻节点再次进行广播

在其他节点收到广播信息之后呢,就开始了验证

验证(解密过程)

补充

无个人信息,确保了个人隐私
银行还有权冻结你的账户


5 为什么记账-挖矿

5.1 为什么记账

5.2 挖矿 - 工作量证明

5.2.1 规则

由于同时大量人记账可能造成记账不一致,所以需要指定规则规范操作


5.2.2 工作量证明


由于看起来 hash 算法其实很简单,为确保规则一执行,必须提高记账难度



规范 hash 值必须有 N 个0,通过不断地尝试的随机值进行操作匹配
现在已经达到18个0规约,难度极大!

5.2.3 交易记录集

5.2.4 工作量分析

6 共识机制

第一个完成工作量证明的节点有优先的记账权
每个矿工都是独立去完成工作量证明的

6.1 两个节点同时完成工作量证明,使用谁的区块呢?

为什么要遵守协议?

累计工作量大的区块链

分叉解决

分叉
长链为主

7 小结



8 知识进阶

上一篇下一篇

猜你喜欢

热点阅读