区块链技术与应用学习笔记(10-11节)——北大肖臻课程

news2024/10/5 19:14:45

目录

10.分岔

①什么是分叉?

②导致分叉的原因?

③在比特币新共识规则发布会会导致什么分叉?

什么是硬分叉?

硬分叉例子?

什么是软分叉?

软分叉和硬分叉区别?

软分叉实例

11.问答

转账交易时候,如果接收者不在线(没有连在比特币网络上)怎么办?

假设某全节点收到某个转账交易,会不会有可能转账交易中收款人地址该全节点从未听过?

如果账户私钥丢失怎么办?

私钥泄露怎么办?

转账写错地址怎么办?

BTC系统挖矿,会不会有矿工“偷”答案?

交易费应该给哪一个矿工?即怎么提前知道哪个矿工会挖到矿。


纯干货学习笔记分享!!!只要你们喜欢,我会继续分享的!话不多说,正文开始👇

10.分岔

①什么是分叉?

分叉指的是,原来的系统中为一条链,但现在分成了两条链。

②导致分叉的原因?

挖矿时两个节点差不多同时挖出矿,都会发布区块(对比特币系统当前状态产生分歧导致的分叉state fork);分叉攻击(forking attack),同样也会导致分叉(人为故意造成delibrate fork);比特币协议改变,在分布式系统中不能保证所有节点同时升级比特币软件导致新旧版本出现差异导致分叉(protocd fork);

③在比特币新共识规则发布会会导致什么分叉?

硬分叉(hard fork)和软分叉(soft fork)

什么是硬分叉?

硬分叉指的是,区块链发生永久性分歧,在新共识规则发布后,部分没有升级的 节点无法验证已经升级的节点生产的区块,通常硬叉就会发生。所以在数字货币 领域,硬分叉往往导致新的币种出现。例如以太坊的硬分叉就导致了 ETH的出现。

硬分叉例子?

比特币区块大小限制(block size limit):1M→4M,出现hard fork后,便变成了 两条平行的链,也就造成了社区分裂。

什么是软分叉?

“软分叉”是指:在新的共识规则发布后,由于软分叉的新规则仍旧符合老的规 则,所以,使用旧版本的节点可以验证使用新版本节点所生产出的区块,使用新 版本的节点也可以验证使用旧版本节点生产出的区块,两种版本可以兼容。

软分叉和硬分叉区别?

使用旧软件的节点能否兼容使用新软件的节点,可以兼容,就是软分叉,不能兼 容就是硬分叉。

软分叉实例

①给某些目前协议中未规定的域赋予新的含义或规则。 铸币交易中CoinBase域。在CoinBase域中写入任何内容都可以,没有任何规定。挖 矿本质是调整block header中的nonce,但其本身只有4个字节,搜索空间太小。所 以实际使用中,将CoinBase域前8个字节作为另一个extra nonce,此时搜索空间从 原本2^32 增长到2^96,调整目前挖矿难度。 CoinBase中并不是只有8个字节,还剩下很多空间。有人便提出将剩下空间其作为 UTXO集合内容组织成merkle tree的根哈希值。算出根哈希值,写入coinbase域, 利用merkle proof验证。

②P2SH:Pay to Script Hash 最初比特币版本中没有该功能,后来通过软分叉方法加入了进去。旧节点验证第一阶段 redeem script,新节点会做第二阶段验证。

11.问答

转账交易时候,如果接收者不在线(没有连在比特币网络上)怎么办?

转账交易只需要在区块链上记录,将某账户比特币转到另一账户,而接收方是否在线并无影响。

假设某全节点收到某个转账交易,会不会有可能转账交易中收款人地址该全节点从未听过?

 可能,因为比特币账户只需要本地产生即可。只有该账户第一次收到钱时,其他节点才能知道该节点的存在。

如果账户私钥丢失怎么办?

没有办法。因为比特币是去中心化货币,没有第三方中心机构可以重置密码,所以账户上的钱也就变成了死钱。通过加密货币交易所(中心化机构),一般需要提供身份证明,如果忘记私钥可以找交易所申请追回私钥。但目前这类货币的交易所,尚且处于缺少监管的状态,并不一定具有可信力。在历史上,有很多次交易所被黑客攻击偷走大量加密货币的事情,Mt. GOX(中文译为:门头沟)事件。此外,也有交易所监守自盗。

私钥泄露怎么办?

尽快将剩余BTC转到其他安全账户上,没有第三方中心机构重置密码或冻结 账户,只能自己对自己负责。

转账写错地址怎么办?

没有办法,比特币无法取消已经发布的交易。如果转入不存在地址,则该部 分比特币便成为了死钱。可以沟通,不一定成功。 补充·从本质上讲,OP_RETURN是一个脚本操作码,是专门被设计出来承 载额外的交易信息的。它的作用就像我们在日常转账过程中的备注信息。

BTC系统挖矿,会不会有矿工“偷”答案?

例如:某个矿工发现其他矿工发布了nonce,收到后验证该区块合法,将该nonce作为自己找到的nonce发布出去。 这是不可能的。发布的区块中包含铸币交易,其收款人地址为挖到矿的矿工地址,如果要偷答案,需要修改该收款地址,而地址改变,铸币交易内容也发生改变,从而引发Merkle Tree根哈希值改变。从而导致原本的nonce作废。也就是说,“偷”答案不会发生。

交易费应该给哪一个矿工?即怎么提前知道哪个矿工会挖到矿。

事先无需知道谁会挖到矿,交易中总输入和总输出差额就是交易费。哪个矿工挖到矿,在打包交易时,可以将这些交易费差额收集起来作为自己获得的交易费。

最后,分享一个学习法,如下图👇

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

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

相关文章

【java数据结构-优先级队列向下调整Topk问题,堆的常用的接口详解】

🌈个人主页:努力学编程’ ⛅个人推荐:基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 …

SpringBoot+MyBatis-Plus+jsqlparser实现多租户功能

前言 多租户技术(multi-tenancy technology)是一种软件架构技术,它允许在单个系统实例上为多个用户或组织提供服务,同时确保这些用户之间数据的隔离性。在多租户架构中,每个租户(可以是个人用户、企业、组…

第三节:多路选择器

1.二选一数据选择器,要求如下: 【注】 always语句块里赋值的变量需要是reg型 module fn_sw(a,b,sel,y); input a,b,sel; output y; assign y (sel0)?(a&b):(a^b); endmodule timescale 1ns/10ps module fn_sw_tb; reg a,b,sel; wire y;fn_sw fn_…

python 编程小技巧:# type: 类型注释语法

# type: 是 Python 3.5 引入的一种类型注释语法,用于在代码中指定变量、函数、方法等对象的类型信息,以便 IDE 和类型检查工具等工具能够更好地理解和分析代码。具体来说,# type: 后面可以跟一个类型注释,用于指定对象的类型&…

github+PicGo+obsidian来作为你的免费高效可靠图床吧

前提 一直以来 博客的图床问题都是个大问题 ,如何找到一个 可靠并且 方便的搭建方式 非常重要 今天介绍一种 githubpicGoobsidian的搭建方式 准备github库 生成个人github token 找到个人 设置 生成一个新token 或者已经有的直接用 新生成的token 需要记录下来 这可能是你最后…

Linux---自定义协议

应用层协议 一、协议定制---以网络计算器为例 网络计算机功能---进行-*/^&|的运算并返回结果 请求和响应的结构体如下 // Protocol.hpp #pragma once #include <iostream> #include <memory> class Request { public:Request(){}Request(int data_x, int da…

详解23种设计模式——单例模式

单例模式 | CoderMast编程桅杆单例模式 单例模式是最常用的设计模式之一&#xff0c;他可以保证在整个应用中&#xff0c;某个类只存在一个实例化对象&#xff0c;即全局使用到该类的只有一个对象&#xff0c;这种模式在需要限制某些类的实例数量时非常有用&#xff0c;通常全局…

不使用加减运算符实现整数加和减

文章目录 进位 进位 加粗 最近想出了不适用运算符实现加与减 首先按位与找出的是需不需要进位 按位与是两边同时为1,则为1,那么如果两边同时为1的话,是不是就该进位?所以我们用按位与来判断是否需要进位 然后再按位异或找出不同的位数 按位异或是两边不相等,也就是1 和 0的时…

LAPGAN浅析

LAPGAN 引言 在原始 GAN和CGAN中&#xff0c;还只能生成 16*16, 28*28, 32*32 这种低像素小尺寸的图片。而LAPGAN首次实现 64*64 的图像生成。与其一下子生成这么大的图像 &#xff08;包含信息量这么多&#xff09;&#xff0c;不如一步步由小到大&#xff0c;这样每一步生成…

【产品经理修炼之道】- B端产品经理之业务系统设计

很多时候&#xff0c;业务系统建设好坏决定了企业的核心竞争力。作为产品经理&#xff0c;如何建设好业务系统这种OLTP类产品&#xff1f;本文从梳理业务流程、参与业务调研和设计业务系统三个步骤&#xff0c;教大家如何做好业务系统建设。 很多人都说设计B端产品最重要的是搞…

线性代数:抽象向量空间

一、说明 有些函数系列极具线性代数的向量特征。这里谈及多项式构成函数的线性代数意义。问题是这个主题能展开多少内涵&#xff1f;请看本文的论述。 二、线性空间和向量 让我先问你一个简单的问题。什么是向量&#xff1f;为了方便起见&#xff0c;二维箭头从根本上说是平…

【UE 材质】水波纹效果

效果 模拟雨水打落在水面上的效果 步骤 1. 下载所需纹理和纹理 纹理2. 新建一个材质&#xff0c;这里命名为“M_WaterRipples” 打开“M_WaterRipples”&#xff0c;添加一个纹理采样节点&#xff0c;纹理使用第一步下载的纹理 将纹理采样节点的R通道连接到基础颜色&#x…

04_Scala网络序列化

文章目录 **1.网络****2. 序列化** 1.网络 Scala进行网络数据交互&#xff0c;使用是Java的IO类 实现案例&#xff1a;客户端连接服务器&#xff0c;向服务器发送数据&#xff1b; 1.创建两个文件&#xff0c;CLIENT&#xff0c;Server obj类型** ** Server端 2.在Server端…

2024中国航空航天暨无人机展诚邀全国相关商协会组团参展

2024中国航空航天暨无人机展诚邀全国相关商协会组团参展 2024中国航空航天暨无人机展览会诚邀全国各关联商会、协会&#xff0c;联盟、各专业会展公司、各级城市政府及关联产业园区、各关联网站报纸杂志及平台等组团参展 主办单位&#xff1a; 中国航空学会 重庆市南岸区人民…

OpenHarmony ArkUI 实战开发—ETS 装饰器解读

前言 最近利用空闲时间在学习华为方舟开发框架&#xff08;简称&#xff1a;ArkUI&#xff09;的ets开发&#xff0c;发现在ets语言中装饰器的有着非常重要的作用&#xff0c;在写每一个自定义组件时都需要用到它&#xff0c;看到装饰器这个字眼&#xff0c;想起之前学过的设计…

偏见将如何扼杀你的人工智能/机器学习策略以及如何应对

任何类型的模型中的“偏差”都描述了模型对提示或输入数据的响应不准确的情况&#xff0c;因为它没有接受足够的高质量、多样化的数据训练来提供准确的响应。一个例子是 苹果的面部识别手机解锁功能对于肤色较深的人来说失败率明显高于肤色较浅的人。 该模型没有接受过足够多的…

分享8款安全监控/日志记录工具

安全监控工具的作用是实时监控和分析系统的安全状态&#xff0c;而日志记录工具的作用主要是记录系统的运行过程及异常信息。 关于安全监控工具&#xff0c;它通过对计算机系统、网络、应用程序和数据进行实时监控和分析&#xff0c;帮助发现和防止安全威胁和攻击。这种监控不…

2024全网最火的接口自动化测试,一看就会

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

2024信息系统、信号处理与通信技术国际会议(ICISPCT2024)

2024信息系统、信号处理与通信技术国际会议&#xff08;ICISPCT2024) 会议简介 2024国际信息系统、信号处理与通信技术大会&#xff08;ICISPCT2024&#xff09;将在青岛隆重开幕。本次会议旨在汇聚全球信息系统、信号处理和通信技术领域的专家学者&#xff0c;共同探索行业…

全网最全的接口测试教程

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 其实我觉得接口测试很简单&#xff0c;比一般的功能测试还简单&…