聊聊比特币----比特币地址
⽐特币地址是⼀个标识符(帐号),包含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 (主根地址)

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,「原生」隔离见证地址)
约束和限制
只是介绍性的了解还是不够的 我们如果想使用好这些地址就要了解清楚他们的约束和使用限制,否则可能就会产生真金白银的损失。下边介绍一些市面上常见的准最佳实践:
相关文章:
聊聊比特币----比特币地址
⽐特币地址是⼀个标识符(帐号),包含27-34个字母数字拉丁字符(0,O,I除外)。地址可以以QR码形式表⽰,是匿名的,不包含关于所有者的信息。 地址⽰例:14qViLJfdG…...
(4)【Python数据分析进阶】Machine-Learning模型与算法应用-回归、分类模型汇总
线性回归、逻辑回归算法应用请参考: https://codeknight.blog.csdn.net/article/details/135693621https://codeknight.blog.csdn.net/article/details/135693621本篇主要介绍决策树、随机森林、KNN、SVM、Bayes等有监督算法以及无监督的聚类算法和应用PCA对数据进行降维的算法…...
Python 调用 OpenAI ChatGPT API
一、安装环境1. 安装python环境 $ pip install openai 2. 验证是否安装成功 方法1,bash命令验证 $ pip show openai 方法2,python脚本验证 import openai print(openai.__version__) 3. 找到你的 OpenAI API Key:进入OpenAI官网࿰…...
springboot155基于JAVA语言的在线考试与学习交流网页平台
简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…...
echarts使用之地图(五)
1 基本使用 百度地图 API : 使用百度地图的 api , 它能够在线联网展示地图 , 百度地图需要申请 ak 矢量地图 : 可以离线展示地图 , 需要开发者准备矢量地图数据。本文使用该方式。 json格式的数据如下: 格式参照:GeoJSON <!DOCTYPE html&…...
【已解决】青龙面板依赖安装失败原因
青龙面板必须安装依赖,才可以执行脚本,这是不争的事实。 如果脚本跑不起来,就去看看依赖吧。 NodeJs 依赖如下 axios request canvas cheerio js-base64 dotenv magic tough-cookie ws7.4.3 require requests date-fns ts-md5 typescript j…...
[Python] 什么是KMeans聚类算法以及scikit-learn中的KMeans使用案例
什么是无监督学习? 无监督学习是机器学习中的一种方法,其主要目的是从无标签的数据集中发现隐藏的模式、结构或者规律。在无监督学习中,算法不依赖于任何先验的标签信息,而是根据数据本身的特征和规律进行学习和推断。无监督学习…...
在 iOS 上安装自定企业级应用
了解如何安装您的组织创建的自定应用并为其建立信任。 本文适用于学校、企业或其他组织的系统管理员。 您的组织可以使用 Apple Developer Enterprise Program 创建和分发企业专用的 iOS 应用,以供内部使用。您必须先针对这些应用建立信任后,才能将其打…...
【Linux C | I/O模型】Unix / Linux系统的5种IO模型 | 图文详解
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
C++设计模式-简单工厂模式,工厂方法模式,抽象工厂模式
目录 简单工厂模式,工厂方法模式,抽象工厂模式 附: 简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式:根据字符串参数返回对象。 工厂方法模式:创建一维对象,即一个工厂创建…...
java处理ppt方案详解
需求 需要系统中展示的ppt案例有一个动态展示的效果,也就是要有动画的交互,要求支持浏览器直接打开预览 背景 目前已经实现了前端上传pptx文件,后端解析为png的图片,前端掉接口返回对应的图片,模拟播放ppt的效果 各种尝…...
鸿蒙4.0.0 安装minitouch
鸿蒙4.0.0 安装minitouch ubuntu 系统 minitouch 地址 https://github.com/DeviceFarmer/minitouch 因为 鸿蒙4.0.0 对应安卓12 API版本31 所以启动 minitouch 需要 STFService 地址 https://github.com/openstf/STFService.apk 到release下载最新的STFService.apk &…...
前端excel带样式导出 exceljs 插件的使用
本来用的xlsx和xlsx-style两个插件,过程一步一个坑,到完全能用要消灭好多bug。这时发现了exceljs,真香😀 案例 <!DOCTYPE html> <html><head><meta charset"utf-8" /><meta name"view…...
用GOGS搭建GIT服务器
GOGS官网 Gogs: A painless self-hosted Git service 进入文件所在目录 cd /usr/local/develop 解压文件 tar -xvf gogs_0.13.0_linux_amd64.tar.gz 解压之后 进入gogs 目录 cd gogs 创建几个目录 userdata 存放用户数据 log文件存放进程日志 repositories 仓库根目…...
2024年美赛数学建模E题思路分析 - 财产保险的可持续性
# 1 赛题 问题E:财产保险的可持续性 极端天气事件正成为财产所有者和保险公司面临的危机。“近年来,世界已经遭受了1000多起极端天气事件造成的超过1万亿美元的损失”。[1]2022年,保险业的自然灾害索赔人数“比30年的平均水平增加了115%”。…...
哪种安全数据交换系统,可以满足信创环境要求?
安全数据交换系统是一种专门设计用于在不同网络环境之间安全传输数据的技术解决方案。这类系统确保数据在传输过程中的完整性、机密性和可用性,同时遵守相关的数据保护法规和行业标准。 使用安全数据交换系统的原因主要包括以下几点: 1、数据保护&#…...
OfficeWeb365 Readfile 任意文件读取漏洞
免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…...
机器学习基础、数学统计学概念、模型基础技术名词及相关代码个人举例
1.机器学习基础 (1)机器学习概述 机器学习是一种人工智能(AI)的分支,通过使用统计学和计算机科学的技术,使计算机能够从数据中学习并自动改进性能,而无需进行明确的编程。它涉及构建和训练机器…...
小埋的解密游戏的题解
目录 原题描述: 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 提示 主要思路: 代码实现code: 原题描述: 题目描述 小埋最近在玩一个解密游戏,这个游戏…...
idea常用设置
1、内存优化 根据自己电脑本身的内存,对idea安装包里bin目录下的idea64.exe.vmoptions文件进行修改 -server -Xms256m -Xmx2048m -XX:MaxPermSize1024m -XX:ReservedCodeCacheSize256m -ea -Dsun.io.useCanonCachesfalse -Djava.Net.preferIPv4Stacktrue -Djsse.e…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
