比特币普通地址、隔离见证(兼容)、隔离见证(原生)、Taproot 地址傻傻分不清楚

我们在使用比特币钱包的时候,可以看到各种地址类型:普通地址、隔离见证(兼容)、隔离见证(原生)、Taproot 地址。

在这里插入图片描述

看得我们一脸懵逼,为什么会有这么多种类型的地址?

它们之间都有什么区别?

接下来我就给你介绍一下。

比特币的地址类型是慢慢发展过来的,刚开始只有普通地址,后来比特币进行了SegWit(隔离见证)升级,所以就发展出来了隔离见证(兼容)和隔离见证(原生)地址。

隔离见证(兼容)地址主要是为了兼容那些不支持隔离见证的老钱包,也就是说那些一直没有升级的老钱包也能使用隔离见证(兼容)地址。

而隔离见证(原生)地址就不兼容老钱包了,只有支持隔离见证的钱包才能使用。

再后来为了提高隐私性、扩展性和效率,特别是在执行复杂交易和智能合约方面的能力,比特币网络又进行了Taproot升级,所以就出现了Taproot地址。

下面我们再来详细看下各个地址的特点:

普通地址(P2PKH)

普通地址,也被称为P2PKH(Pay to Public Key Hash)地址,是比特币最早使用的地址类型。它们以数字“1”开头,例如“1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2”。普通地址的主要特点是直接将比特币发送给一个特定的公钥哈希(即地址),而公钥本身直到交易被广播时才被揭露。这种地址类型的实现原理相对简单,但缺点在于每笔交易都需要公开公钥,从而略微降低了隐私性,并且由于数据结构的限制,增加了交易的大小和费用。

隔离见证地址(SegWit)

为了解决交易可扩展性问题,比特币引入了隔离见证(SegWit)技术。SegWit地址分为兼容模式(P2SH-P2WPKH)和原生模式(P2WPKH)。

兼容模式(P2SH-P2WPKH)

兼容模式地址以数字“3”开头,如“3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy”。它们通过将见证数据(即签名和公钥信息)从交易的传统数据结构中分离出来,来降低每笔交易的大小。

这种方式不仅提高了网络的处理能力,而且向后兼容,通过在P2SH地址中嵌套P2WPKH地址,既兼容了老式钱包,又能利用SegWit带来的优势(如降低交易费用、提高区块链效率),意味着不支持SegWit的钱包和服务也可以使用。

原生模式(P2WPKH)

原生SegWit地址,也称为Bech32地址,以“bc1”开头,如“bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq”。它们完全采用SegWit结构,进一步优化了交易大小和处理速度。相比于兼容模式,原生SegWit地址提供了更好的效率和更低的手续费,但在兼容性方面可能略逊一筹,不支持SegWit的钱包就用不了了。

Taproot地址(P2TR)

Taproot是比特币最新的升级,旨在提高隐私、扩展性和安全性。Taproot地址以“bc1p”开头,通过利用Schnorr签名和Merkle化的脚本树(MAST),它能够提供更高的效率和隐私。这种地址类型能够使复杂的智能合约看起来与普通交易无异,从而增加了链上活动的隐私性。尽管Taproot带来了显著的好处,但其全面采用还需时间,因为它需要钱包和服务提供者的支持。

不同类型的地址之间能互相转账吗?

普通地址、隔离见证(兼容)、隔离见证(原生)、Taproot 地址之间可以互相转账。在比特币网络中,不同类型的地址主要涉及到如何编码和处理交易的细节,但它们都遵循相同的底层比特币协议。

比特币网络根据交易使用的地址类型不同,比特币网络中的节点和矿工会采用不同的处理方法来验证和确认交易。

因此,从任何一种地址类型向另一种类型的地址发送比特币都是可以的,地址类型的不同只是传输的数据格式和方法不同,并不影响发送和接受比特币。

为什么普通比特币地址不能采用SegWit的规则来处理?

普通比特币地址(非SegWit地址)不采用SegWit(隔离见证)的规则来处理,主要基于以下几个原因:

  • 向后兼容性:比特币网络强调向后兼容性,以确保网络的稳定性和旧地址的有效性。比特币是一个去中心化网络,任何改动都需要社区的广泛共识。完全弃用非SegWit地址并强制转向SegWit地址可能会导致未升级钱包的交易被网络拒绝,这会割裂社区,影响现有用户的资金安全。
  • 渐进式升级:比特币采取渐进式的技术升级路径,SegWit的引入就是一个典型例子。通过允许新旧地址类型共存,比特币网络可以确保在引入新技术的同时,不会立即使旧技术过时。这种方法减少了升级对用户的影响,并给予用户和服务提供商时间来适应新技术。
  • 用户选择:不同类型的地址提供了不同的功能和优势。例如,虽然SegWit地址在交易费用和区块链效率方面有优势,但一些用户和服务可能因为特定的兼容性或技术需求而选择继续使用传统地址。提供多种地址类型,允许用户根据自己的需求做出选择。
  • 技术和经济因素:实施SegWit并不仅仅是一个技术升级,它也涉及到经济和政治因素。比如,矿工可能对减少交易费用有所顾虑,因为这直接关系到他们的收入。此外,大规模升级到SegWit也需要广泛的社区支持和足够的技术准备,这需要时间和资源。
  • 兼容性和安全性考虑:任何在比特币网络中推广的新技术都需要经过充分的测试和验证,以确保其不会引入新的安全问题。渐进式地接受新技术,同时保持旧技术的支持,是一种谨慎的做法,可以保障网络的安全性和稳定性。

总的来说,虽然SegWit带来了显著的好处,但在全面采纳之前,比特币社区需要考虑到各种技术、经济和社会因素。通过允许不同类型的地址共存,比特币网络能够提供更广泛的兼容性,同时逐步引导用户和服务提供商向更高效的技术转移。

最后请注意

一个秘钥可以同时生成普通地址、隔离见证(兼容)、隔离见证(原生)、Taproot 地址,但是各地址之间是相互隔离的,就好像你有同一个银行不同的账号,每个账号里的钱是独立的。

如果你把比特币转到你的普通地址里,那么就只能在普通地址里看到你的比特币,其他地址是看不到的。所以你一定要搞清楚,你的比特币是在哪个具体的地址里面。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins集成SonarQube

文章目录 SonarQube端开启权限验证生成Jenkins登录的token Jenkins端安装SonarQube Scanner插件配置SonarQube凭证配置Jenkins的Sonar Qube信息配置SonarQube Scanner 配置项目的SonarScannerJAVA项目C#项目 效果 SonarQube端 开启权限验证 生成Jenkins登录的token 生成后记得…

MySQL通过SQL语句进行递归查询

这里主要是针对于MySQL8.0以下版本,因为MySQL8.0版本出来了一个WITH RECURSIVE函数专门用来进行递归查询的 先看下表格数据,就是很普通的树结构数据,通过parentId关联上下级关系 下面我们先根据上级节点id递归获取所有的下级节点数据&#x…

手机APP测试——如何进行安装、卸载、运行?

手机APP测试——主要针对的是安卓( Android )和苹果IOS两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性、性能等测试,今天先来讲讲如何进行安装、卸载、运行的内容。 一、App安装 1、点击运行APP安装包,检测安装包是否正常; . 2、进入[安装向导]…

关于Python读取Excel表格中的内容

1、准备 首先准备好Excel表,并向里面填充好内容 2、相关算法 import pandas as pd# file_path rE:\data.xlsx # r对路径进行转义,windows需要 file_path rdata.xlsx# 这行代码括号里的head0,表示excel文件中第一行是表头,…

Independent Variable Dependent Variable

自变量(Independent Variable) -----------> 因变量(Dependent Variable) 数据 ----------------------------------------------结果,报告等等

python+requests+pytest+allure自动化测试框架

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 1、核心库 requests request请求 openpyxl excel文件操作 log…

Spring官网中查看MongoDB的API文档的详细步骤

目录 Spring官网中查看MongoDB的API文档的详细步骤1、进入 Spring 官网2、选择 Mongodb的文档介绍3、点击API文档4、进入文档查询页面 Spring官网中查看MongoDB的API文档的详细步骤 1、进入 Spring 官网 首先进入Spring的官网,然后点击【Spring Data】 2、选择 Mon…

Redis 架构深入:主从复制、哨兵到集群

大家好,我是小康,今天我们来聊下 Redis 的几种架构模式,包括主从复制、哨兵和集群模式。 前言: 设想一下,你的咖啡馆在城市中太受欢迎,导致每天都人满为患。为了缓解这种压力,你决定在其他地方…

春招秋招,网申在线测评是以什么作为通过标准?

网申是以什么作为通过标准的? 这个要根据测评内容来区分,通常来测评会包含,三个部分:认知能力测试,职业性格测试,心理健康测试。 1、认知能力测试这个是有分数的,高分优先,很明显…

云服务器实例重启后,各个微服务的接口(涉及mysql操作的)都用不了了

问题描述: 云服务器被黑客植入挖矿。重启云服务器实例后得到解决,接着把docker(zookeeper、redis啥的)还有后端jar包啥的都重启了,然后发现后端接口访问不了,只有不涉及数据库操作的接口正常访问&#xff…

阿里云服务器地域所在城市对照表,北京杭州深圳广州上海

2024年最新阿里云服务器地域分布表,地域指数据中心所在的地理区域,通常按照数据中心所在的城市划分,例如华北2(北京)地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…

js对象 静态方法和实例方法

求下面代码的输出结果: 首先先分析一下上面各函数: Person.say function(){console.log("a")} 第一个say()方法是定义在Person函数身上的,我们如果想使用这个方法,可以通过Person().say()来调用 this.say function()…

Python数据分析实验一:Python数据采集与存储

目录 一、实验目的与要求二、实验过程三、主要程序清单和运行结果1、爬取 “中国南海网” 站点上的相关信息2、爬取天气网站上的北京的历史天气信息 四、程序运行结果五、实验体会 一、实验目的与要求 1、目的: 理解抓取网页数据的一般处理过程;熟悉应用…

Ubuntu上安装任意版本nodejs方法

在Ubuntu中安装指定版本的Node.js,可以使用Node Version Manager (NVM)。以下是安装步骤: 首先,安装NVM。在命令行中输入: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash 这个命令会下载并…

python学习 the fifth day

七、数据容器:dict字典 1.字典的定义 为什么需要字典? 通过key(字典),取到对应的value 字典的key和value可以是任意数据类型(key不可以是字典) 字典的嵌套: #字典的嵌套dictiona…

ubuntu自带屏幕截图功能

目录 简介开始截屏步骤1.打开截屏软件2.选择区域3.截图 快捷键 录屏方法11.开始录屏2.停止录屏 方法2 补充说明 简介 试了好多开源跨平台截图软件,但是在ubuntu上都或多或少存在问题。ubuntu有自带的截图软件。打算把ubuntu自带的截图软件用起来。 顺便说一下我使…

K8s-MySQL主从集群

K8s-MySQL主从集群 引言 该案例代码均可从https://github.com/WeiXiao-Hyy/k8s_example 获取,欢迎Star! 需求 一个“主从复制”的MySQL集群有一个主节点Master有多个从节点Slave从节点需要能水平扩展所以写操作只能在主节点上执行读操作可以在所有节点…

使用 Python 读取 NetCDF 数据

栅格通用数据格式(NetCDF)通常用于存储多维地理数据。这些数据的一些示例包括温度、降水量和风速。NetCDF 中存储的变量通常每天在大片(大陆)区域进行多次测量。由于每天进行多次测量,数据值会快速积累并且变得难以处理。当每个值还分配给一个地理位置时,数据管理会更加复…

Axure基础 各元件的作用及介绍

图像热区 增加按钮或者文本的点击区域,他是透明的,在预览时看不见。 动态面板 用来绘制一下带交互效果的元件,他是动态的,如轮播图,一个动态面板里可以有多个子面板,每一个子面板对应着不同的效果。 他…

学习笔记。。。

1.字符串的拼接 sprintf() 往字符串的前面或中间、后面拼接一个字符串。 strncpy()用来复制字符串的前n个字符 //dest为目标数组,src为源数组,n为要复制的字符个数 char* My_strncpy(char* dest, const char* src, int n)