区块链学习笔记:DAY01 区块链的技术原理
其实很早之前就听过区块链,也看过有关区块链的介绍,那个时候的理解主要还是一句话:分布式记账
然后开始关注比特币,听了有几年了,对于其来历、用途其实一直都是一知半解。
这次的课算是第一次以一个学员的身份去听专家从技术原理角度讲解“区块链”,揭开这层神秘的面纱。
老师的讲解也比较通俗易懂,以一个转账的案例,将区块链的几个特性给描述了出来:
1)透明可信
2)防篡改可追溯
3)隐私安全保障
4)系统高可靠
一句话阐述就是:区块链是一种去中心化、去信任化、不可篡改和抵赖的分布式账本技术。
其中涉及到的几个核心底层技术:
1)分布式账本 P2P
区块链的本质是分布式账本,是一个可以在多个站点、不同地理位置或者多个机构组成的网络里实现资产分享的数据库。换句话说,分布式账本由分布在不同地方的多个节点共同完成,并且每个阶段都记录了完整的账目,因此它们都可以参与监督交易的合法性。
2)密码学
哈希算法、公私钥体系、基于PKI的加密、基于PKI的签名
3)共识算法
分布式共识~=系统中多数独立参与者对某个交易/操作的有效性达成一致(包括对双花交易的验证达成一致)
这里提到了公有链、私有链和联盟链
4)智能合约
智能合约是运行在区块链上的,公开的代码逻辑。基于区块链的特点,智能合约的运行结果是可信的,其结果是无法被伪造和篡改的。
感兴趣的可以点击以下链接查看详细的学习课程:
https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP016+Self-paced/courseware/5995fa8ea63c4a269dc822e5c0be2dc9/2b0ea000b0a74b2cb7d2c8627aa0c169/
作者:真爱无敌
区块链学习笔记:DAY01 区块链的技术原理的更多相关文章
- GNU工具链学习笔记
GNU工具链学习笔记 1..so为动态链接库,.a为静态连接库.他们在Linux下按照ELF格式存储.ELF有四种文件类型.可重定位文件(Relocatable file,*.o,*.a),包含代码和 ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
- 并发编程学习笔记(5)----AbstractQueuedSynchronizer(AQS)原理及使用
(一)什么是AQS? 阅读java文档可以知道,AbstractQueuedSynchronizer是实现依赖于先进先出 (FIFO) 等待队列的阻塞锁和相关同步器(信号量.事件,等等)提供一个框架, ...
- Spark学习笔记0——简单了解和技术架构
目录 Spark学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受 ...
- 区块链学习5:智能合约Smart contract原理及发展历程科普知识
☞ ░ 前往老猿Python博文目录 ░ 一.智能合约的定义 通俗来说,智能合约就是一种在计算机系统上,当一定条件满足的情况下可被自动执行的合约,智能合约体现为一段代码及其运行环境.例如银行信用卡的自 ...
- JavaScript原型与原型链学习笔记
一.什么是原型?原型是一个对象,其他对象可以通过它实现属性继承.简单的说就是任何一个对象都可以成为原型 prototype属性: 我们创建的每个函数都有一个prototype属性,这个属性是一个指针, ...
- Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征(中文翻译)
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本.本文从AUTOSAR_EXP_PlatformDesign.pdf开始,一边学习,一边顺带着翻译一 ...
- Qt Creator 源码学习笔记04,多插件实现原理分析
阅读本文大概需要 8 分钟 插件听上去很高大上,实际上就是一个个动态库,动态库在不同平台下后缀名不一样,比如在 Windows下以.dll结尾,Linux 下以.so结尾 开发插件其实就是开发一个动态 ...
- 区块链学习笔记:D03 区块链在各行业领域的应用(一)
今天主要是学习了区块链在金融和供应链领域的应用,重点体现了区块链多方参与.透明可信.防篡改防抵赖的技术优势 区块链的应用场景最早是在金融行业应用较多,后续逐步扩展到传统行业,如:供应链.政务服务.物联 ...
随机推荐
- 阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费
背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝 ...
- Java加密、解密Word文档
对一些重要文档,我们为保证其文档内容不被泄露,常需要对文件进行加密,查看文件时,需要正确输入密码才能打开文件.下面介绍了一种比较简单的方法给Word文件添加密码保护以及如何给已加密的Word文件取消密 ...
- Android DisplayMetrics 获取和屏幕相关的信息
Android源码中是这样来描述DisplayMetrics的. /** * A structure describing general information about a display, s ...
- 使用客户机和主机做DNS服务正向解析及小问题解决
1.下载yum包 命令:yum install bind-chroot 2.更改配置文件 在这里,要了解到主配置文件为: /etc/named.conf 但是,为了避免经常修改主配置文件named ...
- Elasticsearch生产环境遇到的问题以及解决方案
Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务.它是基于Apache Lucene搜索引擎的类库创建的,提供了全文搜索能力.多语言支持.专门的查询语言.支持地理位置服务.基 ...
- canvas画圆环%显示
我: JS代码: function circleProgress(id,value,average){ var canvas = document.getElementById(id); var ...
- Mybatis 关联对象不能输出的解决办法
Mybatis 关联对象不能输出的解决办法 1.如图所示,现在进行查询的时候并没有得到来自另一张表address项 2.我们进行如下配置: (1).在mybatis-config.xml 文件中配置, ...
- 视频抓取利器you-get
本文链接:https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E You-Get 乃一小小哒命令行程序 ...
- vuejs 入门
配置环境教程网上太多了,就不赘述了,建议使用npm 命令行安装,总觉得这个念头不会使用命令行配置环境的就不是一个好的程序员,或者为了方便也可以直接在本地建一个.html文件,然后引用下面的链接即可. ...
- 指定vue的v-model的类型
作为一个菜鸟,兼只会依葫芦画瓢的搬砖it狗,并没有系统学习过vue. 在最近项目中,发现了一个奇怪的问题: 使用vant-ui 的field <van-field v-model="f ...