聊聊比特币----比特币地址

⽐特币地址是⼀个标识符(帐号),包含27-34个字母数字拉丁字符(0,O,I除外)。地址可以以QR码形式表⽰,是匿名的,不包含关于所有者的信息。

地址⽰例:14qViLJfdGaP4EeHnDyJbEGQysnCpcn3eb;
bc1pqe4lwletu54tcrg86xa6shtyh7wazes9ps5u4ddcvzqxn9fzh8ysuxopit

⼤多数⽐特币地址是34个字符。它们由随机数字和⼤写字母及⼩写字母组成,除了⼤写字母“O”,⼤写字母“I”,⼩写字母“l”。数字“0”不⽤于防⽌视觉模糊。某些⽐特币地址可能少于34个字符(少⾄26个)并且仍然有效。相当⼀部分的⽐特币地址只有33个字符,有些地址甚⾄可能更短。每个⽐特币地址代表⼀个数字。这些较短的地址是有效的,因为它们代表偶然发⽣以零开始的数字,并且当零被省略时,编码地址变短。 ⽐特币地址中的⼏个字符被⽤作校验和,以便可以⾃动发现和拒绝印刷错误。校验和还允许⽐特币软件确认33个字符(或更短)的地址实际上是有效的,⽽不仅仅是⼀个缺少字符的地址那么简单。

比特币地址主要分为四种格式:

  • Legacy(P2PKH,「最早的」传统地址)
  • P2SH (Nested SegWit P2SH,「嵌套」隔离见证地址)
  • Native SegWit (Bech32,「原生」隔离见证地址)
  • Taproot (主根地址)

但是本文会将他们按照以下五种去讲解:

  • Legacy(P2PKH,「最早的」传统地址)
  • P2SH (支付脚本哈希地址,「第二早」传统地址)
  • Nested SegWit P2SH (「嵌套」隔离见证地址)
  • Native SegWit (Bech32,「原生」隔离见证地址)
  • Taproot (主根地址)

unisat wallet的四种地址格式

Legacy(P2PKH,「最早的」传统地址):

这类地址是传统比特币地址,也叫遗留地址 或 支付公钥哈希(P2PKH)地址,是最早的比特币地址。P2PKH 是 Pay-To-PubKey-Hash(支付至公钥哈希)的缩写。因为在 2009 年比特币推出时,其生成方式是从公钥/私钥对的生成开始,在当时,这是创建地址的唯一方法。今天,这类型的地址在交易中使用最多的空间,因此也是最昂贵的地址类型。不过这类地址很容易识别,因为这些地址都是以“1”开头的。
示例:1KN6nSiMiSBjLnQhGykGzM831Mni96pE3v
目前大家只会在使用一些与新地址不兼容的旧钱包时才会使用这种类型的地址。

P2SH (支付脚本哈希地址,「第二早」传统地址)

P2SH地址最早在2012年由Gavin Andresen引入比特币协议中。P2SH 是 Pay-to-Script-Hash(支付至脚本哈希)的缩写。它的设计目的是为了支持多重签名(multisig)和其他复杂的脚本类型,提供更高的灵活性和安全性。P2SH地址的格式以"3"开头,并由Base58编码生成。P2SH 地址不直接将公钥哈希存储在地址中,而是存储一个脚本哈希。通过提供与生成脚本对应的解锁脚本,可以花费 P2SH 地址上的比特币。

请注意这里的支持脚本的能力,这是它被设计出来的原因和和下边讲的嵌入隔离见证技术的基础。

P2SH地址的优点在于上边说到的提供了更大的灵活性和安全性。通过使用多重签名脚本,可以实现多个私钥的管理和控制,从而增加了比特币的安全性。此外,P2SH地址还支持其他复杂的脚本类型,如时间锁定脚本(Timelock Script)和跨链原子交换脚本(Atomic Swap Script),为比特币的应用和扩展提供了更多的可能性。

值得注意的是⚠️: 如无特别说明,通常人们提到的P2SH地址并不是这种第二早的传统地址,而是下边那种***Nested SegWit P2SH (P2SH,「嵌套」隔离见证地址)***地址。

在了解隔离见证地址前 ,我们先了解下Segwit隔离见证技术。

比特币隔离见证(Segregated Witness,简称SegWit)是一项比特币协议的升级,旨在解决比特币网络存在的一些扩容和安全性问题,如拥堵和高交易费用。它于2017年8月在比特币网络上激活,并成为比特币的一个重要特性。
隔离见证的主要目标是减少交易数据的大小,并提高比特币网络的扩容能力,同时增强比特币的安全性和功能性。具体而言,隔离见证通过将交易的签名数据(也称为“见证”)从交易数据中分离出来,并将其存储在一个单独的数据结构中,减少了存储在一个比特币块中的数据的大小。这样每个块具有额外的容量来存储更多的交易。也意味着网络可以处理更多的交易,交易确认时间得到降低,并且发送者支付更低的手续费。所以,如果你希望在发送比特币时降低费用,请使用SegWit地址接收。

SegWit地址的另一个主要好处是它们向后兼容,所以可以将SegWit地址的比特币与Legacy 地址的比特币互转

Nested SegWit P2SH (P2SH,「嵌套」隔离见证地址)

这种地址就是上边那种地址,我可以把上边的介绍内容复制粘贴过来,唯一且关键的区别是在这种P2SH中嵌入的脚本是SegWit脚本

我们现在把这“两种”放在一块说:P2SH地址本身并不直接嵌入SegWit功能,它的特长是可以用于封装各种复杂的脚本,而不仅仅是SegWit脚本。
从时间上看,P2SH地址比SegWit地址出现得更早。P2SH地址最早在2012年引入,而SegWit地址是于2017年8月由比特币协议的SegWit升级激活。
但事实上,在SegWit升级激活之前,嵌套了SegWit的P2SH地址就被广泛使用,这可能看起来有些奇怪,你也许会产生这样的疑问:为什么在引入SegWit之前P2SH就已经嵌套了SegWit?这丛时间上来说合理吗?然而,这种设计是为了确保平滑的过渡和向后兼容性。也就是说,事实上在SegWit这一重要升级激活之前的非常早的时间里,SegWit理论就已经被提出并获得认可。
由于SegWit的实施需要对比特币协议进行变更,这可能需要较长的时间和广泛的支持。为了确保兼容性,允许旧版钱包和软件与SegWit地址进行交互,P2SH地址被引入并用于嵌套SegWit。它将SegWit地址作为脚本哈希锁定在P2SH地址中,使它们能够识别和处理这些地址。
这样做的好处是,P2SH地址在旧版钱包和软件中被视为普通的P2SH地址,而不需要对SegWit进行特殊处理。

利用隔离见证节省交易费用,发送到 P2SH 地址比使用旧地址的钱包便宜约 26%

Nested P2SH,获取现有的P2SH地址(以“3”开头),并与SegWit地址一起封装。以此来兼容老版本。但这是某种破解行为,导致SegWit交易需要大约10%的额外空间。这与扩容的目的相矛盾。

随着时间的推移,原生SegWit地址:Native SegWit (Bech32,「原生」隔离见证地址)逐渐得到广泛支持和采用,成为更高效和低费用的选择。

Native SegWit (Bech32,「原生」隔离见证地址)

约束和限制

只是介绍性的了解还是不够的 我们如果想使用好这些地址就要了解清楚他们的约束和使用限制,否则可能就会产生真金白银的损失。下边介绍一些市面上常见的准最佳实践:

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

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

相关文章

【51单片机】开发板和单片机的介绍(2)

前言 大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

[Python] 什么是KMeans聚类算法以及scikit-learn中的KMeans使用案例

什么是无监督学习? 无监督学习是机器学习中的一种方法,其主要目的是从无标签的数据集中发现隐藏的模式、结构或者规律。在无监督学习中,算法不依赖于任何先验的标签信息,而是根据数据本身的特征和规律进行学习和推断。无监督学习…

论文分享:利用对象存储进行高性能数据分析

本次分享的是慕尼黑工业大学(TUM) Dominik Durner,Viktor Leis,和 Thomas Neumann 于 2023 年 7 月发表在 PVLDB(Volume 16 No.11) 的论文: Exploiting Cloud Object Storage for High-Performance Analyt…

PyQT——蓝牙收发数据(上位机案例-小车控制器)

实现功能 由于本人水平有限,仅用了最简单的进行实现,主要功能: 蓝牙设备扫描以及刷新蓝牙连接蓝牙数据发送蓝牙数据接收 页面实现效果 代码目录结构 代码案例 代码已经全部添加注释,故不再做单独解释。 Main.py ble_contr…

大数据信用报告在线查询平台哪个好?

随着大数据技术在金融风控的运用,大数据信用越来越被人熟知,由于线下没有查询大数据信用的地方,想要查询大数据信用报告只有在线上查询,那大数据信用报告在线查询平台哪个好呢?本文贷你一起去了解市面上比较好的三个平台。 大数据…

【Springcloud篇】学习笔记九(十五、十六章):Cloud Alibaba介绍、Nacos服务注册、服务配置中心

第十五章_Cloud Alibaba简介 1.出现SpringCloud Alibaba的原因 SpringCloud Netflix项目进入维护模式 技术的发展 2.SpringCloud Alibaba简介 2.1是什么 2.2能干嘛 2.3去哪下 阿里巴巴中文文档下载网站: spring-cloud-alibaba/README-zh.md at 2022.x alibaba…

学成在线:采用XXL-JOB任务调度方案使用FFmpeg处理视频转码业务

分片技术方案 概述 XXL-JOB并不直接提供数据处理的功能,它只会给所有注册的执行器分配好分片序号,在向执行器下发任务调度的同时携带分片总数和当前分片序号等参数 设计作业分片方案保证多个执行器之间不会查询到重复的任务,保证任务不会重复执行 任…

由于误删了node依赖,导致这后面的一系列操作

文章目录 1. 事发原因:Delete select files2. Delete select files引起的cross-env报错3. cross-env是node_modules的依赖工具4. 那么Delete selected files到底是什么操作5. 重装node_modules依赖包,也报错6. 报错:cb() never called!7. 算了…

JSR303参数校验-SpringMVC

文章目录 JSR303技术标准简介JSR303标准几个具体实现框架validation-apijakarta.validation-apihibernate-validatorspring-boot-starter-validation Spring Validationjavax.validation.constraints包下提供的注解org.hibernate.validator.constraints包扩展的注解校验注解默认…

内衣洗衣机是不是鸡肋?好用的小型洗衣机全自动推荐

随着大家工作的压力越来越大,下了班之后只能想躺平,在洗完澡之后看着还需要手洗的内衣裤真的很头疼。有些小伙伴还有会攒几天再丢进去洗衣机里面一起,而且这样子是非常不好的,用过的内衣裤长时间不清洗容易滋生细菌,而…

无人机遥感技术在地质灾害监测应用分析,多旋翼无人机应急救援技术探讨

地质灾害是指在地球的发展演变过程中, 由各种自然地质作用和人类活动所形成的灾害性地质事件。给人民的生命和财产安全带来严重威胁,因此有必要开展地质灾害预测预报、灾害应急和风险区划 遥感技术的快速发展为我们提供了一种获取实时灾害信息的可靠手段…

陪女朋友学习计算机二级之数据库笛卡尔积和自然连接

数据库中的基本关系运算 交 和数学中的交集类似,但是需要相同的表模式 如果俩个表有相同的关系模式如表1为(ID,姓名,学号)表2为ID,姓名,学号) 表1 表2 交之后就可以变成 并 和数…

水面漂浮物监测识别摄像机

水面漂浮物监测识别摄像机是一种用于监测水域表面上漂浮物的设备,可以帮助环保部门或海洋研究机构快速发现和识别水中的浮游物,有助于保护水质和生态环境。这种摄像机通常具有以下功能和特点: 高分辨率摄像头:配备高清晰度摄像头&…

【数据分享】1929-2023年全球站点的逐日降雪深度数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 之前我们分享过1929-2023年全球气象站点的逐日平均气温数据、逐日最高气温数据…

学习spring第十四天

Spring注解方式整合第三方框架 xml整合MyBatis方式,如下 用注解方式代替xml方式如下 : 在配置类上加上 MapperScan("com.itheima.mapper") MapperScan("com.itheima.mapper") //MyMapperScan 在配置类里写入代码如下 Beanpublic DataSource dataSourc…

风控安全产品系统设计

风控业务架构 我把风控业务架构的分层分为6层,分别是组件层、业务层、决策层、能力层、计算层、可视层。 以下基建为基础安全产品的简称。 组件层 组件层的职责是:数据收集与行为反制。 从接口、设备、行为三个维度进行数据收集,接收决策层的指令进行行为反制。为了保证…

Go语言深度解析:探索 crypto/md5 标准库的强大功能

Go语言深度解析:探索 crypto/md5 标准库的强大功能 引言Go语言和MD5的基础知识MD5算法简介Go语言概述Go中的MD5实现 crypto/md5 库的使用方法基本用法处理大型数据安全注意事项 实际案例分析示例1:文件的MD5校验示例2:网络数据的MD5哈希示例3…

【C++】运算符重载详解

&#x1f497;个人主页&#x1f497; ⭐个人专栏——C学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读 1. 为什么需要运算符重载 2. 运算符重载概念 3. 运算符重载示例 3.1 运算符重载 3.2 >或<运算符 4. 运算符重…

面试数据结构与算法总结分类+leetcode目录【基础版】

&#x1f9e1;&#x1f9e1;&#x1f9e1;算法题目总结&#xff1a; 这里为大家总结数据结构与算法的题库目录&#xff0c;如果已经解释过的题目会标注链接更新&#xff0c;方便查看。 数据结构概览 Array & String 大家对这两类肯定比较清楚的&#xff0c;同时这也是面试…