05-BTC-网络

这篇具有很好参考价值的文章主要介绍了05-BTC-网络。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

二、比特币网络的设计原则

三、等待上链的交易

总结


前言

    今天看了北大肖臻老师《区块链技术与应用》公开课,有很大收获,在此写博客以做笔记,加深印象,若有不当之处,欢迎斧正。


比特币工作在应用层(Bitcoin Block chain),它的底层网络层是P2P Overlay Network

一、P2P网络

  • 比特币的P2P网络是非常简单的,所有节点都是对等的
  • 如果你要加入到这个网络,首先你得至少知道一个种子节点(seed node),然后你和这个种子节点联系,它会告诉你它所知道的这个网络中的其它节点。
  • 节点之间是通过TCP来通信的,这样有利于穿透防火墙
  • 你离开这个网络时不需要任何操作,不用通知其它节点,直接退出你的应用程序就行,其它节点没有听到你的消息,过一段时间就会把你给删掉

二、比特币网络的设计原则

simple,robust,but not efficient 

  • simple(简单)和robust(稳健)都是比特币的设计原则
  • 每个节点维护一个邻居节点的集合
  • 消息传播在网络中采取flooding的方式,节点第一次听到某个消息时,把它传给所有的邻居节点,同时记录一下这个消息我听到过,避免重复传播
  • 邻居节点的选取是随机的,没有考虑底层的拓扑结构,比如一个在湖南省的节点,它选取的邻居节点可能在阿根廷,这样设计的好处是增强稳健性

三、等待上链的交易

每个节点要维护一个等待上链的交易的集合 

  • 集合中的交易都是等待上链的,第一次听到收到这个交易时,就把这个交易加入到集合中,并且转发这个交易给邻居节点
  •  一个交易上链以后,就把这个交易从集合中剔除
  • 集合中只保存合法的未上链的交易

总结

P2P网络也叫点对点网络文章来源地址https://www.toymoban.com/news/detail-428447.html

到了这里,关于05-BTC-网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 学习目录合集【文章索引】

    前言:本内容为笔者自学笔记内容。 本文中的操作环境:腾讯云服务器:CentOS 7.6 64bit 学习阶段规划: Linux 基本操作【基本命令、vim、makefile使用等】 Linux 系统【进程:概念、控制、通信;IO基础;多线程等】 Linux 网络【网络基础、套接字编程、IO高级等】 学习集: C++ 入门

    2024年02月07日
    浏览(52)
  • FlinkCDC 菜鸟教程-文章目录

    背景篇 环境篇  准备一台已经安装了 Docker 的 Linux 或者 MacOS 电脑。 准备教程所需要的组件 版本对应关系 安装 环境检查 工具篇 flink kibana 概念篇 Docker 介 绍 Docker Compose 介 绍 Kibana介 绍 实践篇 演示: Mysql CDC 导入 Elasticsearch 启动服务 准备数据 在 Flink SQL CLI 中使用 Flink DDL 创建

    2024年02月09日
    浏览(53)
  • Web3中文|Damus核心亮点BTC闪电网络是什么?(附操作指南)

    Nostr协议旗下社交软件Damus最近在Web3.0圈子大火,在推特创始人Jack Dorsey 的推荐下,Damus不足2天就登上美区App Store免费社交App前十排行榜。 Damus一大核心亮点就是其BTC闪电网络功能,当前,Damus 支持的闪电支付平台包括 Strike、Cash App、Muun、Blue Wallet、Wallet of Satoshi、Zebedee、Ze

    2024年02月16日
    浏览(29)
  • 【Java基础学习打卡05】命令提示符

    知道命令提示符是什么,熟练打开命令提示符,熟练使用常用命令,并自行尝试其他命令。本文只是对命令提示符进行简单介绍和使用。 命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。在 Windows 环境下,命

    2024年02月09日
    浏览(45)
  • 【JavaEE基础学习打卡05】JDBC之基本入门就可以了

    📜 本系列教程适用于JavaWeb初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不放弃。坚信量最终引发质变,厚积薄发。 🚀 文中白话居多,尽量以小白视角呈现,帮助大家快速入门。 🎅 我是 蜗牛老师 ,之前网名是 Ongoing蜗牛 ,人如其名,干啥都慢,所以

    2024年02月11日
    浏览(36)
  • 【数据结构】【王道】【数据结构实现】文章目录

    持续更新中。。。 数据结构 链接 顺序表实现及基本操作(可直接运行) 文章链接 无头结点单链表的实现及基本操作(可直接运行) 文章链接 带头结点单链表的实现及基本操作(可直接运行) 文章链接 双链表的实现及基本操作(可直接运行) 文章链接 循环链表的实现及

    2023年04月08日
    浏览(92)
  • vscode 系列文章目录 - ctrl+鼠标左键无效

    vscode 中有时会遇到 “Alt + 鼠标点击” 有效,但 “Ctrl + 鼠标点击” 无效,这时可以通过 Ctrl + , 进行系统配置。 进入VScode的首选项,选择设置(快捷键 Ctrl + , ),输入Go to definition,找到如下两个设置。 Editor: Multi Cursor Modifier 设置成 alt “editor.gotoLocation.multipleDefinitions” 设置

    2024年04月23日
    浏览(54)
  • 【vim 学习系列文章 5 - cscope 过滤掉某些目录】

    上篇文章:【vim 学习系列文章 4 - vim与系统剪切板之间的交互】 下篇文章:【vim 学习系列文章 6 – vim 如何从上次退出的位置打开文件】 第一步 创建自己的 cscope 脚本 ~/.local/bin/cscope.sh ,如下: 我的这个脚本首先去区分当前执行 cscope 命令的目录是 rt-thread 目录还是 linux 目

    2024年02月12日
    浏览(84)
  • 一篇文章带你了解SpringBoot目录结构

    前言 SpringBoot是整合Spring技术栈的一站式框架,是简化Spring技术栈的快速开发脚手架,是一个能够快速构建生产级别的Spring应用的工具。SpringBoot是目前流行的微服务框架,倡导“约定优于配置”,简化Spring项目搭建及开发过程。springboot提供了很多核心的功能,比如自动化配置

    2024年03月25日
    浏览(71)
  • BTC交易费激增,LTC活跃地址数飙升! BRC-20爆火背后,区块链网络经历了什么?

    BRC-20 代币和 Ordinals 协议的日益普及推动了对比特币区块空间的需求,比特币区块链的费用已飙升至两年来的高点。 BRC-20代币标准在 Ordinals 协议上运行。Ordinals 允许用户通过将对数字艺术的引用写入基于比特币的小型交易中,来将数据嵌入比特币区块链。Ordinals最初实现了在

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包