首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >区块链原理说明及其应用场景

区块链原理说明及其应用场景

作者头像
全栈工程师修炼指南
发布于 2022-09-28 12:50:55
发布于 2022-09-28 12:50:55
82500
代码可运行
举报
运行总次数:0
代码可运行

[TOC]

前言简述

区块链技术难点:TPS、延迟时间、容量和带宽、安全等方面。 区块链技术的集成应用在新技术革新和产业变革中起到的重要作用,广泛用于加密货币,食品链安全,知识产权,资产管理等领域,加快推动区块链技术和产业创新发展;

区块链应用
1.比特币-Bitcoin

描述:Bitcoin 是一种虚拟的匿名电子货币或者数字货币,由网络极客中本聪(网名)于2008年11月1日,提出概念(一种去中心化的电子记账系统)和白皮书(比特币一种点对点的电子现金系统),它是区块链实现的具体产物;

Q:什么是区块链? 答:它实际就是一大堆的交易信息;

Q:什么是去中心化的电子记账系统? 答:简单的说就是链中的各个成员都有完整一份电子记账记录,保持区块节链最长的到本地,防止抵赖因为每个人手里都有一份转账记录(由信息广播而来))并且是公开透明的; A <----> B ^ \ ^ | \ | v \ v C <----> D # 一个区块(1M)大小4000条 A --(10 BTC)--> B B --(5 BTC)--> C C --(2 BTC)--> D

挖矿原理: 描述:比特币系统由用户(用户通过密钥控制钱包)、交易(交易都会被广播到整个比特币网络)和矿工(通过竞争计算生成在每个节点达成共识的区块链,区块链是一个分布式的公共权威账簿,包含了比特币网络发生的所有的交易)组成

中本聪把通过消耗CPU的电力和时间来产生比特币,比喻成金矿消耗资源将黄金注入经济。比特币的挖矿与节点软件主要是透过点对点网络、数字签名、交互式证明系统来进行发起零知识证明与验证交易。

实现流程: 实际就是采用一个哈希函数(数字摘要或者散列函数)数学问题,它可以把一个字符串通过一定的运算转换成为一个摘要的形式,通常上述流程称为正算,而一般反向算都比较难比如 x+log2^x+sinx=y我们知道y却很难推算出全部满足条件的x,例如 Sha256(“apple”)=101011010……..10 (256位)它是美国国家安全局发明的一种算法,其中挖矿要计算的也是基于这个SHA256运算;

比如这个区块链已经链接到了某一个位置,从最开始的的一个块开始链接,一直链一直到现在时刻的块信息; 它不但包含交易信息,区块实际上是有一个块的头部加上包含的交易信息;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 -2 -3 - ..... -4  - [头部 + 交易信息]

在接块时候机器需要算一道数学题,即对字符串做两次SHA256散列运算值,首先有一个字符串包含前块的头部,其次是第二个部分就是它现有的这个账单信息,第三部分就是时间戳等等的其他时间,第四部分随机数;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
字符串 = 前块头部信息 + 账单 + 时间 + 随机数
Hash = Sha256(Sha256(字符串)) 
要求:前n位必须是0: 0000000010101010.....1

难度是由前n位为0的确定并且保证每十分钟出一个块然后打包交易信息,例如 (1/2 * 1/2 * 1/2 ... x 1/2 ) = (1/2)^n即n越小难度就越低,n越大难度就越大;

例如: 10000 台矿机而每台矿机的计算能力是14个T每秒1.4 10 ^ 13每秒(1T是10的12次方),那十分钟到底可以算多少次? 答: 这个10分钟应该是600s,然后10000万台挖矿机计算结果是 `1.4 10^13 * 10^4 x 600s = 8 x (10^19),然后假如n为66即概率P=(1/2)^66实际运算的平均次数为2^66大概就是8 x (10^19)`, 此时如果矿机把难度设置成为66时候,第一个能够算出前66位全都是0的人,就成功打包了这个块也成功的挖到这个矿,挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标,您没有办法将自己的运气变好比如第一个算出的数字都满足打包要求,你可以增加矿机来提高概率,这便是比特币挖矿的一些基本实现原理;

问题1:如何记账?为了什么要记录一个跟我无关的条目?打包奖励大约有多少个?

答:BTC的记账奖励分为手续费打包奖励(一个),每十分钟打一个包最开始这一个包会奖励打包者50比特币,过了四年后每打一个包会奖励您25比特币,然后每过四年一个循环将比特币进行减半; 即:每个区块的奖励不是固定不变的 ,每开采210000个区块,大约耗时4年,货币发行速率降低50%。

问题2:以谁为准?什么是挖矿?

答:工作量证明,计算一个无法通过脑子进行运算某个计算只能通过电脑的GPU进行并行运算得出结果,该过程称为挖矿

问题3:如何防伪?

答:常规的身份认证(人脸,签名,指纹),而BTC的身份认证是采用电子签名实现的; > 电子签名: 随机数 --->>> 私钥(保密-加密字符串) --->>> 公钥(公开-解密字符串) --->>> 地址(公开); #实际是一种加密手段 别人转账给您: 你需要将地址告诉他人即可; 您转账给别人: 你需要把公钥和地址一起发送过去; 例如:A转10BTC给B用户 #1.转账:A -- (10 BTC) --> B --(HASH)--> 摘要 --(密钥加密)--> 密码 #2.广播:A 全网广播给 B 用户 10BTC + 公钥 + 密码 | (其它用户采用sha256算法进行计算) | (公钥与密码解密出摘要) 摘 要 VS 摘 要 #3.对比摘要保证了A发给B的消息都是由A进行签发的(而不是伪造的),实际上是利用这哈希运算的来进行电子签名;

问题4:双重支付问题?

答: 当A给B转10BTC然后A根本都没有这10BTC,而A只有10BTC而分别给C/B用户进行转账10BTC,这就导致了双重支付问题的发生,如何解决? #1.余额检查(大概原理) 块1[创世纪] - [块2] - [块3] - [块4](A获得50BTC) - [块5](A支付20BTC) - [块n] # A 用户则剩余撒30BTC #2.此时A转给B用户10BTC的消息将会被网络所接受,但如果A转给B用户60BTC的消息不满足余额检查返回值那么别人会拒绝这条消息所以这条消息不会被确认; #3.何时被确定直到您这条消息别别人接受并且打包到一个新的块里面,所以通过追溯的方式解决余额检查问题; #4.双重支付问题,有可能有的人收到A转账给B的消息也有的人接收到A转账给C的消息,那到底谁转账成功呢? -->> B (A)10 BTC -->> C #5.此时加入分别有甲乙两个分别记录A转账给B/C用户,并分别记录到将要打包的块中,此时有一个幸运儿甲计算出挖矿的数学题,拥有了打包的权利; 块1[创世纪] - [块2] - [块3] - [块4](A获得50BTC) - [块5](A支付20BTC) - [块n-2] - [块n-1](A支付10BTC给B消息将被确认,同时A转账C消息将被抛弃) - [块n] #等待块已经链接到主链上才能保证转账到账

问题5.如何防止篡改问题? 答: (1)满足最长链原则; (2)更改信息它需要对抗所有挖矿机器(计算能力超过世界上其余所有人)将自己的链设置为最长从而让正常正确的信息链被丢弃而接入到被篡改后的链之中(基本不可能实现)此时伪造成功;(3) 一般大交易都需要多等几个块被确认比如等6个块之后我们基本认为没有可能再进行篡改了;

总结:

  • 1.比特币作为一种技术手段是非常新颖并且漂亮的,BTC也没有一个中心发行机构不用担心主权危机,比特币总量固定不会存在滥发的风险;
  • 2.比特币天生具有防伪属性并且可以追溯,同时在进行比特币交易的时候手续费是非常低;
  • 3.比特币指数((BTC/USD) 美元/个))行情:https://finance.sina.com.cn/money/forex/hq/BTCBTCUSD.shtml
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学习笔记 | 什么是比特币?
1.比特币是一种电子货币,数字货币 2.其来自于中本聪《白皮书》 3.去中心化的电子记账系统,每个人的账本都是公开的 4.每个人的消费账本都会广播给其他所有人(billboard),将账单打包成一个块,就是区块,一块大小大约1M,可以存储4000多条记录,区块连接在一起形成区块链 5.以谁为准?
Justlovesmile
2021/12/13
5960
[区块链] 区块链小白菜系列入门知识详解(〇)
概念:Hash是一种将数据映射为固定大小值的算法。它通过一系列计算和转换,生成唯一的hash值。
荷秋
2024/01/19
1.2K0
[区块链] 区块链小白菜系列入门知识详解(〇)
区块链 | 一文了解比特币的挖矿、矿机—《区块链历史链条》3
区块链从15年火到18年,但是你却对区块链一知半解,小编特打造《区块链历史链条》,将抽象的区块链概念由抽象化解释为形象化,供君参考。 21比特币的数字签名 比特币的数字签名,就是只有比特币转账中转出的人才能生成的,一段防伪造的字符串。通过验证该数字串,一方面证明该交易是转出方本人发起的,另一方面证明交易信息在传输中没有被更改。数字签名由数字摘要和非对称加密技术组成。首先通过数字摘要技术把交易信息缩短成固定长度的字符串,然后用自己的私钥对摘要进行加密,形成数字签名。完成后,需要将完整交易信息和
码神联盟
2018/04/03
3.4K0
《区块链:定义未来金融与经济新格局》摘抄笔记第0章 必然的出现第1章 区块链是什么第2章 区块链带来的新机遇第3章 区块链的应用场景第4章 区块链技术原理
前三章是关于区块链的科普文章。最后一章专门涉及技术,最后一章感觉抄了《精通比特币》一书不少内容。 第0章 必然的出现 世界上最早的货币 —— 已知的最早货币:大麦货币。苏美尔人将定量的大麦作为通用单
SeanCheney
2018/04/24
8290
《区块链:定义未来金融与经济新格局》摘抄笔记第0章 必然的出现第1章 区块链是什么第2章 区块链带来的新机遇第3章 区块链的应用场景第4章 区块链技术原理
比特币核心概念及算法
bitcoin项目地址位于github仓库,当前各种“币”,基本都是从抄写bitcoin代码开始起步的。想要深度研究,从看源码开始不可避免。 P2P:电骡、迅雷、BT,在中国网络影视的发展让大家对P2P很熟悉,可能已经没有人记得比特币实际上是第一批P2P的实践者。所有交易记录在全网通过P2P的方式广播,每个人都保存一份完整的交易记录。所以也叫去中心化。 去中心化:bitcoin的去中心化是指的账本去中心化,每个人都拥有完整的交易记录。因此不会出现人为修改某一个账本就导致财产丢失的情况。 在这种模式下,
俺踏月色而来
2018/06/20
1.2K0
区块链技术与应用01 北大肖臻
记录一下课程吧。。还是记录以下要好,否则看完了和没看似的。。。。尴尬。。。。。。Fighting!!!!!!
Daffy
2020/11/10
1.1K0
区块链是什么(上)超通俗的区块链入门干货
区块链是比特币的底层技术,不等同于比特币。有人说比特币就是一场泡沫,甚至放话“比特币是传销”。区块链作为继互联网后的新一波技术浪潮,本身无罪,况且炒币只是区块链里最初级的玩法。读完这篇文章,我们就能弄懂大部分区块链基础知识,从而离保守和狭隘远一点。
互链脉搏
2018/05/18
2.7K0
区块链是什么(上)超通俗的区块链入门干货
区块链前世今生
作者:陶海军,腾讯通讯充值与彩票业务部高级工程师。 引言: 谈起区块链前世今生,我们不得不先说一下比特币。因为比特币和区块链如鱼水之间一样有着太多的关系。 比特币的起源 2008年,一位化名为中
腾讯大讲堂
2017/10/27
2.8K0
区块链前世今生
区块链共识机制
区块链是一种分布式数据库技术,已经在金融、物流、医疗等领域得到广泛应用,其中共识机制是确保区块链安全性和可靠性的关键机制之一,共识机制可以确保所有节点对于区块链上的数据和交易的一致性,从而防止双重支付和其他恶意行为,本文将详细介绍区块链共识机制的原理、分类和应用并探讨当前共识机制面临的挑战和未来的发展方向。
Al1ex
2023/05/26
8300
区块链共识机制
比特币核心技术解读
在上一篇文章《区块链基础知识与关键技术》里对区块链的基础知识和关键技术进行了梳理,而比特币是区块链最典型的应用,本文将对比特币核心技术进行解读,如有错漏,欢迎交流指正。
pseudoyu
2023/04/11
1.1K0
比特币核心技术解读
区块链技术与应用02 北大肖臻
,target越小,挖矿难度越大,挖矿难度跟目标阈值成反比。调整挖矿难度,就是调整整个目标空间在整个输出空间所占的比例。哈希函数 SHA-256 ,整个输出空间大小为 。
Daffy
2020/11/11
1.4K0
1-区块链基础概述
在加密货币应用中,区块链结构的作用就是用作账本,每一个区块都是一页账册,它们相互之间通过哈希值进行连接形成一条完整有序的链表,每个区块的头部哈希是它们的唯一标识。
Ywrby
2022/10/27
1.8K0
1-区块链基础概述
比特币项目
比特币项目是区块链技术第一个大规模的成功应用,并且是首个得到实践检验的数字货币实现,在金融学和信息技术历史上都具有十分重要的意义。 简介 比特币是基于密码学和经济博弈的一种数字货币,也是历史上首个经过
架构师研究会
2018/04/09
2.5K1
比特币项目
区块链共识机制的演进
FLP 不可能原理(FLP impossibility):在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。1985年 FLP 原理实际上说明对于允许节点失效情况下,纯粹异步系统无法确保一致性在有限时间内完成。 科学告诉你什么是不可能的;工程则告诉你,付出一些代价,我可以把它变成可能。
深蓝studyzy
2022/06/16
1.1K0
区块链共识机制的演进
比特币
什么是比特币? 比特币本质是一个记账簿。 它是一个去中心化的网络,每一个节点称为矿工。 记账的方式: 发生比特币交易时,需要加入这个比特币网络,交易双方为比特币网络的节点,例如:A向B转账 这个转账申请加入区块链网络,因为这个网络是由很多节点组成的,需要一半以上的节点的同意,才可以加入网络,也就是51%的节点的同意。好,同意之后,就可以在这个网络记录起来了。 那这个交易记录存放在哪里了,交易记录存放在一个称为区块的地方,这个网络每隔10分钟就会产生一个新的区块,存放这个区块产生时间和上一个区块产生时间内的所有被同意的交易,也就是这10分钟的交易。 问题:如何产生第一个区块
用户2909867
2019/03/29
1.7K0
比特币
区块链 | 比特币如何实现—《区块链历史链条》2
11比特币为什么还没有挖完 比特币系统靠调节难度系数保证比特币不被太快挖完。每10分钟,全网矿工共同计算一道难题,竞争记账权及比特币奖励。如果全网算力不断增长,比特币将很快被挖矿。为了保证比特币稳定在约10分钟挖出一个区块,中本聪设计矿工挖矿获得比特币的难度每过2016个区块(约2周时间)动态调整一次,令调整后的难度使得每生成一个区块的预期时间为10分钟。现在的难度系数约为480PH/s,大约是创世区块的680亿倍,也就是说,以现在的算力,全网矿工需要经过约3000万亿亿次哈希运算才能找到一个符合条件的答案
码神联盟
2018/04/03
3.4K0
【区块链底层】-“激励层-激励机制”
目前对区块链的研究大多是针对共识层(共识算法研究)、合约层(智能和约编写,且大多也是用solidity编写以太坊部署)、加密层(对非对称加密研究偏多),网络层数据层和激励层的研究较少。
帆说区块链
2022/04/27
2.6K0
【区块链底层】-“激励层-激励机制”
6 个重要模块,带你编写一个基于Golang的区块链公链demo!| 博文精选
今天给大家带来的是基于 Golang 编写的区块链公链 demo,也就是模仿比特币的功能所编写的区块链公链demo。主要应用到了密码学,共识算法,对等网络,区块链防篡改结构等相关知识,并把各个知识点结合到一起,编写成了简单完善的可运行公链demo。
区块链大本营
2020/01/21
1.6K0
6 个重要模块,带你编写一个基于Golang的区块链公链demo!| 博文精选
比特币和区块链(3):比特币的共识机制
0 上一篇我们详细介绍了不可篡改的账本区块链的数据结构的实现。其核心技术第一是数字签名,比特币采用的是椭圆曲线数字签名算法。第二是加密级别的哈希,比特币采用的是SHA256。 然而在我们的系统里,依然只有一个寡头负责记账。我们固然不用担心交易记录被伪造,因为有数字签名。我们也不用担心区块被篡改,因为可以通过哈希值校验。但是我们无法防止这个寡头故意不记账或者故意丢区块。所以这个系统是一个人人可以查账,但是大家却必须相信寡头不作恶的系统。 比特币系统显然不会停留在这个设计上。所以寡头需要被取代掉。比特币的做
用户1564362
2018/04/08
1.5K0
比特币和区块链(3):比特币的共识机制
比特币和区块链是什么?看完这篇文章不再懵
实际上全球各种虚拟货币已经超过了1300种,其中市值排名前几名的除了比特币还有下面的这几种虚拟货币。
進无尽
2018/09/12
1.3K0
比特币和区块链是什么?看完这篇文章不再懵
推荐阅读
相关推荐
学习笔记 | 什么是比特币?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档