首页 > 其他分享 >05 BTC-网络

05 BTC-网络

时间:2023-05-02 12:34:04浏览次数:50  
标签:比特 05 网络 交易 BTC 节点

《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click


05 BTC-网络

目录

The BitCoin Network:

application layer:BitCoin Blockchain

network layer:P2P Overlay Network

比特币网络中所有节点都是平等的,不像有的P2P网络中存在所谓的 Super node/master node 。

想要加入比特币网络,首先需要知道一个种子节点(seed node),种子节点会告诉网络中其它节点,节点之间是通过TCP来通讯的,这样有利于穿透防火墙,离开的时候,不需要做任何操作,不用通知其他节点,退出自己的应用程序即可。其余节点没有听到你的消息,过段时间之后,就会把你删掉。


比特币网络的设计原则是简单(simple)、鲁棒(rebust)、而不是高效(efficient)。

simple,rebust,but not efficient

每个节点维护一个邻居节点的集合,消息传播在网络中采取 flooding 的方式,节点第一次听到某个消息的时候,把它传播给自己的邻居节点,同时记录一下,这个消息我已经收到了,下一次收到消息的时候,就不用转发给邻居节点了,邻居节点的选择是随机的,没有考虑底层的拓扑结构(比如,一个在加利福尼亚的节点,它的邻居节点可能是在阿根廷的),这样设计的好处是增强鲁棒性,但是牺牲的是效率(你给身边的人转账,跟你给美国的人转账,速度其实是差不多的)。


比特币系统中,每个节点需要维护一个等待上链的交易的集合。

如果有两笔交易 A—>B、A—>C,花的是同一个币,根据每个节点在网络中位置的不同,有的节点可能先收到A—>B这个交易,有的节点可能先收到A—>C这个交易,如果先收到A—>B交易,再收到A—>C这个交易,则将A—>C交易视为非法,如果收到新的区块链中的交易包含A—>C这笔交易,则也需要将交易池中的A—>B这笔交易从交易池中删除。


越是大的区块,在网络中传播的速度就越慢,比特币有1M字节的限制,按照比特币的网络的设计,区块需要几十秒才能传播到绝大多数节点上。


线上的系统没有办法解决线下的问题。

其实,银行退款也不是通过回滚交易实现的,而是通过产生新的交易。

标签:比特,05,网络,交易,BTC,节点
From: https://www.cnblogs.com/yangyi215/p/17367543.html

相关文章

  • 06 BTC-挖矿难度
    《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click06BTC-挖矿难度目录06BTC-挖矿难度调整目标空间占输出空间的比例,来调整计算难度值。difficulty_1_target:难度目标为1时候的目标阈值,是一个很大的值......
  • 04 BTC-实现
    《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click04BTC-实现目录04BTC-实现比特币系统是transaction-basedledgerUTXO:UpsentTransactionOutputUTXO中的元素需要给出它所在交易的哈希值,以及它是......
  • 01 BTC-密码学原理
    《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click01BTC-密码学原理目录01BTC-密码学原理哈希部分签名部分比特币加密货币(crypto-currency)哈希部分:哈希函数(cryptographichashfunction):抗碰......
  • 02 BTC-数据结构
    《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click02BTC-数据结构目录02BTC-数据结构hashpointerMerkletreehashpointer:不仅可以找到前区块的位置,还能防止前区块是否被篡改。Blockchainisal......
  • 03 BTC-协议
    《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click03BTC-协议目录03BTC-协议数字货币的需要解决的两个主要问题共识机制如果央行(中心化)发行数字货币,使用央行的私钥进行签名,大家交易的时候使用央行......
  • 2023-05-02:如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 。 给你一
    2023-05-02:如果一个正整数每一个数位都是互不相同的,我们称它是特殊整数。给你一个正整数n,请你返回区间[1,n]之间特殊整数的数目。输入:n=20。输出:19。答案2023-05-02:可以通过数字组合和状态压缩的动态规划算法来解决。具体过程如下:1.对于给定的正整数n,求出其位数......
  • COM3504/COM6504 智能网络
    COM3504COM3504/COM6504TheIntelligentWebAssignment2022-2023Deadline:Fri,19May20233pmHandin:zipfileviaBlackboard(seeSection8-Submissions).1.IntroductionThisassignmentwilltestyourabilitytocreateawebapplicationusingthemet......
  • m基于matlab的AODV,leach自组网网络平台仿真,对比吞吐量,端到端时延,丢包率,剩余节点
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要       AODV是一种应用于无线网状网络的路由协议。它源节点需要发送数据时才进行路由发现。当没有数据发送请求时并不执行。在路由发现过程中首先检查路由表中是否存在从源节点到目的......
  • Atcoder Grand Contest 059 E - Grid 3-coloring(转化+思维)
    首先先是一步很猛的操作——将三染色视作构造一个矩阵使得相邻元素相差\(1\)且每个元素\(\bmod3\)的值就等于其颜色。证明是显然的,我们按从上到下从左到右的顺序填数,可以归纳证明,对于一个相邻格子颜色互不相同的矩阵的填数方案,处于斜对角的两个格子上写的数要么差\(2\),要么......
  • 2023年05月编程语言流行度排名
    点击查看最新编程语言流行度排名(每月更新)2023年05月编程语言流行度排名编程语言流行度排名是通过分析在谷歌上搜索语言教程的频率而创建的一门语言教程被搜索的次数越多,大家就会认为该语言越受欢迎。这是一个领先指标。原始数据来自谷歌Trends如果您相信集体智慧,那么流行编程......