本文由区块链研习社优质内容计划支持,更多关于区块链的深度好文,请点击「区块链研习社」简书专栏。QYB赞赏地址:Qj8RvYv3cQzomcvE4Mq58kX85vv12uEBbT
今天是《肚财神成长故事365》陪伴您的第22天,每晚20:08,我们不见不散。
Hi!你好!币价下跌肯定让你不爽了。别想那么多了,想一想5年后,10年后,区块链肯定会是一个大的趋势,那么就别纠结了,我们还是安心来学校吧。
你在各种文章中肯定见过有人说SPV轻钱包的安全性不高,那么这是为什么呢?今天我们就来了解一下这个SPV节点。
SPV的英文是Simplified Payment Vertification,也就是简易支付验证的意思。顾名思义,它只能对比特币的交易进行简易的验证。
SPV节点的优点是相当明显的。因为SPV节点只需要下载区块头,而不用下载包含在每个区块中的交易信息。所以,它的大小只有完整区块链的1/1000。但缺点是,SPV节点不能构建所有可用于消费的UTXO的全貌,所以验证起来比较麻烦。
文章中有个例子非常形象:
打个比方来说,每个全节点就像是一个在陌生城市里的游客,他带着一张包含每条街道、每个地址的详细地图。相比之 下,SPV节点就像是这名陌生城市里的游客只知道一条主干道的名字,通过随机询问该城市的陌生人来获取分段道路指示。虽然两种游客都可以通过实地考察来验证一条街是否存在,但没有地图的游客不知道每个小巷中有哪些街道,也不知道附近还有什么其他街道。没有地图的游客在“教堂街23号”的前面,并不知道这个城市里是否还有其他若干条“教堂街 23号”,也不知道面前的这个是否是要找的那个。对他来说,最好的方式就是向足够多的人问路,并且希望其中一部分人不是要试图抢劫他。
所以,在验证的角度上看:全节点靠的是高度,而SPV节点靠的是深度。
关于高度怎么理解呢?比特币从0区块开始,每增加一个区块加1,所以高度也就越来越高。你可以把区块链想象成一座大山,这座山的海拔从0开始,越往上越高。
Pic
全节点可以通过自己的高度来验证一笔交易,而SPV节点只能等待未来的区块的深度来验证,也就是说它需要等未来的6个区块,才能验证这一笔交易是安全的。所以,全节点的验证速度也更快。为了获得验证的区块信息,SPV节点需要发出一条getheader的信息,这就可能导致SPV节点的地址信息被泄露。这是SPV节点最大的安全隐患。
为了缓解这个风险,比特币引入了一个叫Bloom过滤器的机制,不要被概念吓住了,其实bloom就相当于在发送信息的时候采用了暗语。
举个栗子:之前的SPV会问“教堂街23号怎么走?”,现在它会问“附近有带‘堂’字的街吗?”,通过不断去尝试,从而找到这个地方。这样,泄露自身目的的概率就大大降低了。
除了采用Bloom过滤法,SPV节点还可以采用Tor运输和对等认证和加密这两种方法。
- Tor运输相当于用全节点作为基地,来帮助SPV节点掩藏自己的身份,提高安全性;
- 而对等认证和加密就相当于给信息加了密。
这样安全性自然就更高了,当然这带来的必然是效率的降低。但是有什么办法呢?谁让你没有那200G的区块数据呢?总体上,SPV钱包的安全性现在已经很高了,效率也在可以接受的范围之内,所以SPV钱包现在使用的非常广泛。但如果有条件还是建议你下载一个全节点,体验一下也是不错的。
最后,我们来总结一下。今天讲了这些:
- SPV节点只存储区块头,所以数据量比全节点大大降低,可以非常方便的按照在手机、web端等移动设备里面;
- 带来的缺点就是它的验证速度要慢,安全性要低一些;
- 为了解决安全性的问题,比特币系统引入了Bloom过滤器,用概率的方法降低风险,并采用Tor运输和对等认证和加密进一步增强安全性。
希望今天的知识对你有用,期待得到你的反馈。
华山论剑
一日白描
1.读《精通比特币》,50分钟。
2.肚财神成长故事写作,50分钟。
3.交易:买入1000元eos(价格68.18元),1000元gxs(价格21.81元)。用时30分钟。
今天共投入时间约100分钟。总计投入时间50小时10分钟。
image我是肚财神 ,马拉松跑者,一级拆书家,持续践行者,不喧嚣,不固执,不盲从,做人生的智者。欢迎交流,期待和你一起成长。
网友评论