清华泰岳区块链-“区块链工程师大讲堂”第二讲:区块链几大模块

2023-11-02 02:30

本文主要是介绍清华泰岳区块链-“区块链工程师大讲堂”第二讲:区块链几大模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

2020年7月6日,“区块链工程师大讲堂”第一期第二讲在腾讯会议上成功举办。“区块链工程师大讲堂”是由哈维社区与清华大学互联网产业研究院携手举办的一个系列分享会。自从去年,我国把区块链纳入为未来的基础设施之一,区块链一直都是火热的话题之一,但是具体什么是区块链,区块链又能给我们带来什么,还是有很多人无法回答出来。区块链工程师大讲堂系列分享会意在提供一个知识分享的平台,邀请行业一线专家,分享区块链相关的知识,让大家去更加地了解区块链。

本期分享会嘉宾是Frank老师,区块链底层高级工程师,P2P通信协议研究专家。他分享的主题是“区块链几大模块”,整个分享分为四个部分:共识,交易,P2P,和区块同步。下面是他分享的精彩回顾,以下:

共识
共识机制是一个群体决策的流程,状态复制机;保证信息的准确性和唯一性和在很短的时间内完成对交易的验证和确认抢夺记账权。其中有两个代表性的例子:PoW和PoS。

PoW是比特币的共识,全称是工作量证明。其运行方式是通过算力(挖矿)不停寻找Nonce做SHA256哈希计算的过程。PoW的特点是难度算法按高度动态调整,维持出块时间不变;优点是难于计算,一旦收到网络上的区块,能快速验证。

PoS是权力证明的简称。在 PoS共识中,任何拥有足够数量的加密货币持有者都可以将一定的加密货币锁定一段时间,从而获取成为验证者并验证交易的权限。将加密货币抵押的验证者在验证系统有效性时,可以获得一定的经济激励。他采用的是经济激励模型,对作恶节点有相应的惩罚以维护全网稳定。

交易
区块链交易具有不可篡改的特性,交易是记账的载体,区块的核心组成部分;交易流程大致为交易里面的字段做SHA3得到txhash,随后 私钥签名txhash获取签名;如果易在传输中篡改, txHash会发生改变,校验签名不会通过,从而保证了整个交易的安全性。

区块链交易中,有一个重要的概念,叫nonce:每笔交易中都必须要一个nonce值,nonce从0开始递增,每发送一笔交易,nonce便加1。nonce值可以有效地避免区块链中重放攻击。重放攻击是指用户交易信息在一条链上再次发送,比如Alice转钱给Bob的交易发出后,Bob可以将这条交易信息重复发送到网络中,如果没有nonce,这笔交易会被当作合法交易。

P2P

P2P(peer-to-peer)网络又称为对等式网络,或者点对点网络。这是一种无中心的服务器、完全由用户群进行交换信息的互联网体系,P2P网络的每一个用户即是一个客户端,同时也具备服务器的功能。在P2P技术之前,我们所有的网络应用都采用C/S或者B/S架构来实现的,然而在之前C/S架构的应用程序中,客户端软件向服务器发出请求,服务器然后对客户端请求做出响应,在这种情况下,如果客户端越多,此时服务器的压力就越大。然而采用P2P技术实现的每台计算机既是客户端,也是服务器,他们的功能都是对等的。对于安装了P2P软件(如迅雷,QQ等)的计算机加入一个共同的P2P网络,网络中的节点之间可以直接进行数据传输和通信。

区块同步
同步前的准备包括:维护对方peer的节点信息如高度,难度;最优链选择;定时同步,高度差达到一定范围 (初始化参数耗时)。同步数据和消息通信包括:下载完整区块还是头体分离 头体分离方便轻节点扩展;批量区块请求 起始高度,请求数量 hash是否匹配;寻找闲置peer,计算rtt往返时延;全同步和快速同步 下载完全区块本地执行和下载receipt状态信息;并行请求串行上链。

这篇关于清华泰岳区块链-“区块链工程师大讲堂”第二讲:区块链几大模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/327457

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础