轻钱包
轻钱包(SPV)是“Simplified Payment Verification”(简单支付验证)的缩写。中本聪论文简要地提及了这一概念,指出:不运行完全节点也可验证支付,用户只需要保存所有的block header就可以了。用户虽然不能自己验证交易,但如果能够从区块链的某处找到相符的交易,他就可以知道网络已经认可了这笔交易,而且得到了网络的多少个确认。
按照中本聪的原文,有个细节需要注意,SPV指的是“支付验证“,而不是“交易验证”。这两种验证有很大区别。
“交易验证”非常复杂,涉及到验证是否有足够余额可供支出、是否存在双花、脚本能否通过等等,通常由运行完全节点的矿工来完成。
“支付验证”则比较简单,只判断用于“支付”的那笔交易是否已经被验证过,并得到了多少的算力保护(多少确认数)。
考虑这样一种情况,A收到来自B的一个通知,B声称他已经从某某账户中汇款一定数额的钱给了A。去中心方式下,没有任何人能证明B的可靠。接到这一通知,A如何能判断B所说的是真的呢?
在比特币系统中,这一通知是以一个固定格式的“交易”来实现的,该交易中包含B的汇款账户、B的签名、汇给A的金额以及A的地址。
如果A想本人亲自验证这笔交易,首先,A要遍历区块链账本,定位到B的账户上,这样才能查看B所给的账户上是否曾经有足够的金额;接下来,A要遍历后续的所有账本,看B是否已经支出了这个账户上的钱给别人(是否存在双花欺骗);然后还要验证脚本来判断B是否拥有该账户的支配权。这一过程要求A必须得到完整的区块链才行。
但是,如果A只想知道这笔支付是否已经得到了验证(如果验证了就发货),他可以依赖比特币系统来快速验证。即,检查发生此项支付的那笔交易是否已经收录于区块链中,并得到了多少个确认。
原理:block header中有三个关键字段,一是prev_block_hash(前一区块的hash值,确保了区块链所记录的交易次序);二是bits(当前区块的计算难度), 三是merkle_root_hash(借助merkle tree算法,确保收录与区块中所有交易的真实性)。
验证某个交易是否真实存在时,理论上,用户可以通过以下方式进行验证:
0. 从网络上获取并保存最长链的所有block header至本地;
1. 计算该交易的hash值tx_hash;
2. 定位到包含该tx_hash所在的区块,验证block header是否包含在已知的最长链中;
3. 从区块中获取构建merkle tree所需的hash值;
4. 根据这些hash值计算merkle_root_hash;
5. 若计算结果与block header中的merkle_root_hash相等,则交易真实存在。
6. 根据该block header所处的位置,确定该交易已经得到多少个确认。
优点:极大地节省存储空间。减轻终端用户的负担。无论未来的交易量有多大,block header的大小始终不变,只有80字节。按照每小时6个的出块速度,每年产出52560个区块。当只保存block header时,每年新增的存储需求约为4兆字节,100年后累计的存储需求仅为400兆,即使用户使用的是最低端的设备,正常情况下也完全能够负载。
-
什么是日食攻击?日食攻击是一种攻击去中心化网络的方法,攻击者通过这种方法试图隔离和攻击一个或多个特定用户,而不是攻击整个网络。 在这篇文章中将解释以太坊的一些特性,包括它的叔块机制,如何使它更容易受到这种攻击。 区块链中的数据结构 区块链是一个去...
-
什么是交易广播?交易广播的英文名为Transaction Broadcast,将交易信息在区块链网络中"广播",并由节点验证即确认的过程。 交易确认(Confirmation)表示该笔交易被区块链网络所记录并确认,当交易发生时,记录该笔交易的区块将进行第一次确认,并在该区块之后的链上的...
-
什么是双花攻击?双花攻击是指单个或者多个单位/组织能控制全网51%的算力,从而改变区块链中区块的交易次序的攻击问题。 双花攻击实现原理: 比特币等区块链通过分布式账本实现去中心化,具有公信力和安全性。区块链中的事物需要网络中的大部分节点都认同后,才...
-
什么是燃烧证明?燃烧证明是一种投资于全新的加密货币的方法:为了获得一种新的货币,你必须“烧掉”(摧毁)另一种货币,比如比特币。从理论上讲,这将使每一种新的加密货币价值相当于被摧毁的币的价值,但实际上你不能真的摧毁加密货币,系统需要你把它送到一个会减少...
-
什么是公有链?我们可以把区块链理解为一种分布式账本,区块链中的每个节点负责存储账本数据。根据节点参与区块链的准入机制不同,可以将区块链分为公有链、私有链和联盟链。 公有链公有链是完全开放的,任何人都可以参与进来,在区块链上发送交易和读取存储数...
-
什么是链改?链改是指“区块链改革”或“区块链改造”,即通过区块链技术的应用,对企业自身业务进行改革或改造的行为。随着区块链技术的日益成熟以及数字经济的重要性日益Convex显,链改的重要性愈发受到企业的重视。 链改的发展过程 “区块链改革”“区...
-
什么是智能合约?智能合约最早在1990年代由尼克·萨博提出,是一种旨在以数字化形式制定、传播、验证及执行合同的计算机协议。由于技术限制,其在诞生初期并没有被真正应用。随着区块链技术的出现,智能合约获得了可信的执行环境,两者开始结合应用。 什么是智能...
-
什么是工作量证明?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
-
什么是混币服务?混币(Coin Shuffle) 是一个去中心化的隐私功能,它可以让用户快速高效地与其他用户的资金进行混合,在现有的用户账户和混币后的新账户之间创建随机的映射关系,从而实现完全匿名。该功能是基于TimRuffing在Bitcointalk.org上的描述以及它的学术论...
-
什么是共识算法?共识算法解决的是区块链的信任问题,即通过特定的算法去证明某一节点拥有记账权,从而使得区块网络中的各个节点达成共识。共识算法规定了挖矿的规则。 区块链的去中心化意味着区块网络中每个节点拥有相同的权力,同时区块网络中的信息都是公开...
- 热门词条
-
- 什么是价格条件单? 类似于止盈止损订单,用户只需设置好触发价格...
- 什么是沙盒监管? SandBox监管,指先要划定一个范围,对在“盒子...
- 什么是挖矿难度? 挖矿难度是衡量将信息记录到被称为区块链...
- 什么是公有链? 我们可以把区块链理解为一种分布式账本,区块...
- 什么是安全多方计算? 安全多方计算(英文:Secure Multi-Party Compu...
- 什么是网络钓鱼? 钓鱼式攻击是指企图从电子通讯中,通过伪装...
- 什么是比特币优势指数? 是一种把比特币作为判断加密货币市场的投资...
- 什么是SocialFi? SocialFi 可以理解成为 Social 和 Finan...
- 什么是零和博弈? 零和博弈(zero-sum game),又称零和游戏,与非零...
- 什么是网络层? 网络层作为纽带连接着感知层和应用层,它由...
- 猜你喜欢
-
什么是FLOKI代币?揭秘FLOKI从Meme到加密市场黑马的崛起之路
川沐:币圈大神,千元赚到千万!继欧阳/半神之后,又一实盘高手!高胜率策略大公开,牛市最佳买点策略,绝对可靠的买入卖出规则!
川沐交易笔记:从500U到100万U的交易 完整版下载
PUBG G币详解:储值与免费获取攻略
XAI平台:区块链版Steam与XAI小钥匙的财富机遇
ALEO 新币挖矿详细教程:Windows 系统挖矿,快速入门!
加密货币混币器全解析:工作原理、类型及洗钱监管风险与代表专案
Vegas隧道交易法:基于黄金比例的改良趋势交易策略
手机挖矿轻松赚取比特币、以太坊:BOM项目深度解析
CXT币值得投资吗?CXT币种介绍及其投资价值分析