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

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...