云享读书会-区块链技术及应用--学习心得
### 区块链定义
狭义上, 区块链是一种以区块为基本单位的链式数据结构, 区块中利用数字摘要对之前的交易历史进行校验, 适合分布式记账场景下防篡改和可扩展性的需求。
广义上, 区块链还指代基于区块链结构实现的分布式记账技术, 包括分布式共识、 隐私与安全保护、 点对点通信技术、 网络协议、 智能合约等。
区块链并不是凭空出现的新技术、而是多种技术在其商业应用场景推动下衍生的产物。
三个基本概念
交易:一次操作记录
区块:记录一段时间内发生的所有交易和状态结果
链:由区块按照发生顺序串联而成、是整个账本状态变化的日志
#### 区块链工作过程
1:用户通过Client发起一项交易。
2:网络中节点把交易请求打包并添加上一个区块头部、组成一个区块结构
3:寻找一个nonce串放到区块
4:找到满足条件的nonce串后进行网络中广播,所有人都更新记录
重点事项:
完成对一批交易的共识(创建合法区块结构)
新的区块添加到链结构上、被网络认可
跟传统的记账技术相比, 基于区块链的分布式账本包括如下特点:
维护一条不断增长的链, 只可能添加记录, 而且记录一旦确认则不可篡改;
非中心化, 或者说多中心化的共识, 无需集中的控制, 实现上尽量分布式;
通过密码学的机制来确保交易无法被抵赖和破坏, 并尽量保护用户信息和记录的隐私性。
#### 技术分类
公有
联盟
私有
大部分的区块链在实现上至少有:
网络层
共识层
智能合约
应用层
#联盟则引入了权限管理机制
使用目的和场景
货币链
产权链
众筹链
通用链
隐私保护
道德问题?
分布式共识
技术问题?
PoW 等基于概率的系列算法理论上允许少于一半的不合作节点,
PBFT 等确定性算法理论上则允许不超过 1/3 的不合作节点
交易性能
性能低---随着参加人数越多、性能会不会越来越低
扩展性
对于比特币和以太坊区块链而言, 网络中每个参与维护的核心节点都要保持一份完整的存储, 并且进行智能合约的处理。 此时, 整个网络的总存储和计算能力, 取决于单个节点的能力。 甚至当网络中节点数过多时, 可能会因为共识延迟而降低整个网络的性能。 尤其在公有网络中, 由于大量低性能处理节点的存在, 问题将更加明显
安全防护
区块链首先要考虑传统的网络安全( 认证、 过滤、 攻防) 、
信息安全( 密码配置、 密钥管理) 、
管理安全( 审计、 风险分析控制) 等问题
明白了比特币与区块链的关系
比特币是通过区块链技术实现的一个开源的项目、是区块链技术的一个代表作品(类似的还有以太坊)
了解比特币的流程及获利的方式
通过工作量证明来计算收益率
目前区块链技术的典型应用场景
物联网
物流
金融
商品溯源
随着大家对食品的要求越来越高、那么商品溯源可能会成为下一个“比特币”
分布式核心技术
这个是最难的、最重要、继续努力学习的地方。。。
最后通过华为云提供BCS服务平台完成了第一个Demo模型、中间也遇到的一点问题
问题1:第一操作时没有把节点"peer"、添加到对应的通道中、导致‘实例化’不可用。
问题2:应用代码中的配置文件“config/huawei.yml”、只修改的路径而没有替换文件名、导致程序执行失败。
希望后面华为云能给大家提供更多的落地最佳实践的分享
- 点赞
- 收藏
- 关注作者
评论(0)