白话区块链技术-区块链工程师大讲堂

本次大讲堂为清华大学互联网产业研究院制作的公益课程,内容分为八期,每月一期 , 分别从区块链基础,区块链实践,区块链底层主网开发,区块链 android/iOS 开发,前端基于 web3taijs 开发实践,服务端与链交互与安全,如何构造企业级区块链应用,区块链应用实战–存证等

区块链的定义

 区块链是借由密码学串接并保护的串联文字记录又称区块,每一个区块又包含前一个区块的加密散列,时间戳以及交易数据(通常是默克尔树Merkle tree),区块链技术所串接的分布式账本,记录两方有效交易,且可永久查验此交易

区块链的故事

区块链的故事

  1. 每个人的相互转账都会记录在所有人的记账本上,—分布式冗余账本信息
  2. 大家都要通知对方有哪笔账,—广播(P2P)
  3. 每次转账都要检查这个人够不够,–交易执行检查
  4. 每个人记账规则和机制都一样,–共识
  5. 检验规则都一样,会把时间和余额都记录清楚。–验证
  6. 如果有记账不一致,这笔转账其他人会不认可。一账本不可篡改
  7. 为了保证安全性,每一笔账转出都需要输入密码–加密算法
  8. 为了保证一致性,每隔一段时间都会把之前的大家的账Hash做一个总结—出块-防串改

1在区块链代码中对应的是levelDB,每个节点存的数据都是一样的,2是网络p2p network, 3 transaction的check,evm执行前会判断,4共识是consensus,5是交易的validate一般和状态state会关联在一起,6 通过区块头的mpt root可快速验证交易是否被篡改,7加密crypto用的是椭圆曲线,8.在pow挖矿算法中会定期更新挖矿难度。

总结

区块链是一个分布式记系统,这个记账本需要通过分布式网络来传递,里面传递的是数字经济。我们知道支撑区块链技术的系统的不只是这三个方面,整个区块链系统还包含很多,比如加密算法,共识算法、智能合约,等等

区块链系统

想转行的同学可以看下分类,便于找准自己的定位,快速切入。

区块链人才

这是一个联盟链的架构

在这里插入图片描述

区块链运行原理

区块链系统运行的原理–组网
每个节点都要运行一个上面类似的系统,我们称之为主网-底层区块链技术

1、创建创世区块链–每个节点或者每个系统运行的程序一致
2、节点启动–P2P链接(N个节点)
3、组网成功后就会按相同的共识出块。
4、RPC会接受外面的交易,交易进入后会进入txpool进行过滤和验证
5、txpool的交易会被包进区块中。
6、交易执行和验证通过后,区块会被最终上链。

状态根

上图中右侧的余额变化可反应到区块的状态根里面,如果有人恶意修改账本,其他收到这个区块的节点,本地执行交易计算的stateRoot一定和区块中的不一致,会拒绝转发这个区块。

区块链解决的问题

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200706234512512.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0pJWUlMQU5aSE9V,size_16,color_FFFFFF,t_70 区块链跟传统中心化存储的比较

公有链联盟链、私有链间的区别

公有链联盟链、私有链间的区别。

neo老师

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章