【什么是区块链】

news2024/11/13 16:48:49

区块链技术简介

  • 前言
  • 一、区块链技术简介
  • 二、区块链的特点
    • 1.去中心化
    • 2.去信任
    • 3.不可篡改和伪造
    • 4.可溯源
    • 5.匿名性
  • 三、区块链用到的技术
    • 1.非对称密码算法
    • 2.哈希函数
    • 3.P2P网络
    • 4.安全多方计算


前言

比特币与区块链的关系:

2008年中本聪(Satoshi Nakamoto)在P2P foundation网站上发布了论文《比特币:一种点对点的电子现金系统》。随后比特币出现在人们的视野中。和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币。比特币是一种数字货币,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造。
比特币的底层技术是区块链技术。比特币通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题。区块链技术实现了挖矿与交易。比特币是基于区块链的一种产品表现。


一、区块链技术简介

区块链技术
上图来自于《高博士区块链观察》
上面这张图可以理解为一个区块链系统。
区块链系统中的每一个节点相当于一个单独的计算机。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。
区块相当于计算机中的存储空间,在区块中存储了一段时间内的交易记录。区块和区块之间通过时间戳和哈希函数来保证节点上存储的数据不可篡改性。
区块链是一个分布式的链接账本。

区块链中的分布式存储是参与的节点各自都有独立的、完整的数据存储。

二、区块链的特点

1.去中心化

区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制。任一节点停止工作都不会影响系统的运行。去中心化是区块链最突出最本质的特征。

2.去信任

在区块链系统中,所以节点通过数字签名进行验证,无第三方认证也可交易。

3.不可篡改和伪造

通过哈希函数来实现数据的不可篡改和伪造,如果数据发生了篡改和伪造可以发现。

4.可溯源

可以从任何一个结点,通过其前后的两个节点将两个区块串联起来。借助区块链的链条找到该数据的前世今生。

5.匿名性

除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。


三、区块链用到的技术

区块链不是一个单项的技术,而是一个集成了多方面研究成果基础之上的综合性技术。主要包括了非对称密码算法、哈希函数、P2P对等网络、共识算法。

1.非对称密码算法

加解密的密钥不同,使用其中一个密钥进行加密,则使用另一个密钥进行解密。公开的密钥称之为公钥,没有公开的密钥为私钥。数字签名使用私钥进行签名,公钥进行验签。
比特币的非对称性加密算法采用的是椭圆曲线加密算法(ECC)。

2.哈希函数

哈希函数可以将任意长度的数据进行加密变成固定的数据长度。
在区块链系统中的数据并不是原始的数据,而是经过处理的数据,数据处理部分使用到了哈希函数,使用哈希函数加密过的数据有很多的优点:

  • 单向性,不能由输出值推出输入值。
  • 经过哈希函数加密后的数据长度是一致的。
  • 抗碰撞性:即使输入值变化很小,输出值会发生很大的变化

3.P2P网络

点对点技术,没有中心服务器。区块链网络的去中心化来自于P2P的组网方式。网络中的每个节点都是对等的。

4.安全多方计算

安全多方计算是解决一组互不信任的参与方之间保护隐私的协同计算问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python中logging日志模块详解

用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所以Python引入了logging模块来…

104.二叉树的最大深度 | 111.二叉树的最小深度

文章目录二叉树的深度104.二叉树的最大深度题目题解111.二叉树的最小深度题目题解二叉树的深度 104.二叉树的最大深度 题目 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。…

Mac终端常用命令

1、打开窗口命令 快速打开:command空格(打开查询),输入ter回车 打开多个窗口:commandN(光标在终端执行此操作) 2、目录操作 命令名 命令功能 备注 cd 打开当前目录 cd dirname pwd 显示…

Java 调用 Cpp 代码简单示例

Java 调用 Cpp 代码 前言:首先说明一下,本篇文章是干嘛的,简单来说就是在 Java 代码里调用 C 代码。但是呢,这里只做一个简单的示例,调用最简单的 C 代码,起到一个抛砖引玉的作用。如有不对之处&#xff0…

选择编码节点的最佳数量和位置研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

[附源码]计算机毕业设计校园招聘微信小程序Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

代码随想录训练营第39天|LeetCode 62.不同路径、63. 不同路径 II

参考 代码随想录 题目一:LeetCode 62.不同路径 相比于之前的爬楼梯,这题变成了二维,对于某个位置[i,j],可以从[i-1,j]或者[i,j-1]走到[i,j],因此在求解思想上其实是类似于爬楼梯的。 确定dp数组及其下标的含义 dp[…

Android Camera性能分析 - 第26讲 DequeueBuffer Latency

本讲是Android Camera性能分析专题的第26讲 ​,我们介绍DequeueBuffer Latency,包括如下内容: DequeueBuffer Latency是什么DequeueBuffer Latency配置DequeeuBuffer Latency实战 视频在线观看: 极客笔记:极客笔记在…

JavaScript正则表达式:正则表达式中的特殊字符

正则表达式的组成 一个正则表达式可以由简单的字符构成,比如 /abc/,也可以是简单和特殊字符的组合,比如 /ab*c/ 。其中特殊字符也被称为元字符,在正则表达式中是具有特殊意义的专用符号,如 ^ 、$ 、 等。 特殊字符非…

logos_HSST简要说明

HSST分为PCS和PMA, TX PCS:8b/10b编码 RX PCS TX PMA RX PMA 含1个HSST,有4个全双工收发LANE。 LINE和PLL的关系 PLL0可以为4个LANE提供时钟,PLL1只能为LANE2&3提供时钟。 PLL VCO 的转出频率范围为 2.125GHz~3.1875GHz。PLL…

【关于Linux中----文件接口、描述符、重定向、系统调用和缓冲区】

文章目录一、C文件接口中的那些事儿二、接口介绍三、文件描述符fd四、重定向五、缓冲区一、C文件接口中的那些事儿 众所周知,Linux是用C语言写成的,那在这篇文章的开头,自然要先对C语言中的文件操作进行一个概括! 写文件&#x…

20221203英语学习

今日新词: lecturer n.讲演者, 讲课者, 讲授者, (尤指英国大学的)讲师 hypothetical adj.假设的, 假定的 rather adv.相当; 宁可, 宁愿; (常用于or后) 更确切些 ring n.戒指, 指环, 环状物; 圆圈; 敲钟, 按铃; 铃声, 钟声 yes adv.(回答…

1.2 Hadoop简介-hadoop-最全最完整的保姆级的java大数据学习资料

文章目录1.2 Hadoop简介1.2.1 什么是Hadoop1.2.2 Hadoop的起源1.2.3 Hadoop的特点1.2.4 Hadoop的发行版本1.2.5 Apache Hadoop版本更迭1.2.6 第六节 Hadoop的优缺点1.2 Hadoop简介 1.2.1 什么是Hadoop ​ Hadoop 是一个适合大数据的分布式存储和计算平台 ​ 如前所述&#x…

html5期末大作业:基于HTML+CSS技术实现——传统手工艺术雕刻网站(3页)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

深度强化学习的组合优化[1] 综述阅读笔记

文章目录前言零、组合优化问题基础1. 定义(1)定义(2)常见问题2. 方法(1)精确方法(2)近似方法(3)深度学习方法3. 文章架构一、概述1. 神经网络(1&a…

【图文教程】若依前后端分离版本-菜单怎么设置

在使用若依前后端分离版本作为基础架构的时候,需要新建菜单怎么操作?本文凯哥将详细讲解怎么添加。 1:登录若依系统后,[系统管理]>>[菜单] 先新建一个一级菜单。可以模仿【系统管理】菜单来创建: 系统菜单&am…

226.翻转二叉树

226.翻转二叉树 题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:root [2,1,3] 输出:[2,3,…

神器必会!特别好使的编辑器Source Insight

已剪辑自: https://mp.weixin.qq.com/s/nA9VJeMjC4gDpDSI8r-2FA “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”&#x…

都2202年了,不会有人还不会发布npm包吧

背景 介绍了axios的二次封装用于支持常规请求及自定义请求,并对同一时间内的相同请求做拦截处理(如果您没有阅读过这篇文章,建议您花费3分钟大致了解)。恰逢最近准备写一个跨框架组件库(工作量很大,前端三…

浏览器存储(webStorage)常用API以及简单使用

前言 最近正值世纪杯期间,不知道大家心目中的球队成绩如何,在此期间我学了浏览器存储(webStorage)以及API,下面就分享给大家 浏览器存储(webStorage) 存储内容不是Vue团队打造的,原本的js中就有,所以可以不适用脚手架编译&…