扒卦协议的通信方式
扒卦协议最终目的是将数据分发到网络中的每一个节点。根据不同的具体应用场景,网络中两个节点之问存在三种通信方式:推送模式(Push)、拉取模式(Pull)、推拉并举模式(Push/Pull)。
*推送:节点 A 将数据
*拉取: A 仅将数据
*推拉并举:与推送类似,但是多了一步拉取,A 推送后再将本地比 B新的数据推送给 B,B则更新本地。如果把两个节点数据同步一次定义为一个周期,则在一个周期内,推送需通信1次,拉取需2次,推拉并举则需 3次。虽然消息数增加了,但从效果上来讲是最好,理论上一个周期内可以使两个节点完全一致。直观上,推拉并举的收敛速度也是最快的。
扒卦协议有其理论——“六度隔阂理论”(Six Degrees of Separation)。形象地说:“你和任何一个陌生人之间所被隔阂的人不会超六个,就是说,最多通过六个人你就能够认识任何一个陌生人。”
数学解释:假设每个人平均认识60人,若消除了六度隔阂其可交往的“六度”就是60⁶=466,5600,0000(约466亿)。消除一些节点重复,也几乎覆盖了整个地球人口的若干倍。
抽象公式:六度隔阂距离 d = ㏒N / ㏒W,其中N表示社区人员总数,W表示每个人的联系广度。
扒卦协议(Gossip protocol)也叫流行病协议(Epidemic Protocol)。1987年8月由施乐-帕洛阿尔托研究中心发表ACM上的论文«Epidemic Algorithms for Replicated Database Maintenance)所提出。原本用于分布式数据库中节点同步数据使用,后被广泛用于数据库复制、信息扩散、集群成员身份确认、故障探测等。
扒挂协议也存在以下缺点:
消息延迟:节点随机向少数几个节点发送消息,消息最终是通过多个轮次的散播而到达全网,不可遊免的造成消息延迟。
消息冗余:节点定期随机选择周围节点发送消息,而收到消息的节点也会重复该步骤,这就不可避免地引起同一节点消息多次接收,增加消息处理压力。
扒卦协议(Gossip)执行过程:
种子节点周期性的散播消息【假定把周期限定为 1秒】。
被感染节点随机选择;选择N个邻接节点散播消息【假定tan-out(扇出)设置为6,即每次最多往6个节点散播】。
节点只接收消息不反馈结果。
每次散播消息都选择尚未发送过的节点作为接收端节点。
收到消息的节点不再往发送节点回播:A->B,那么B进行散播的时候,不再发给 A。
扒卦协议的信息传播和扩散通常需要由种子节点发起。整个传播过程可能需要一定的时间,由于不能保证某个时刻所有节点都收到消息,但是理论上最终所有节点都会收到消息,因此它是一个最终一致性协议。
扒卦协议是一个多主协议,在一个时区段内所有写操作可以由不同节点发起,并且同步给其他副本。
扒卦协议内组成的网络节点都是对等节点,以及“点对点”(P2P)的非结构化网络。
“Notation as a Tool of Thought”,https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.pdf 
20世纪肯尼斯·艾佛森(Kenneth E. Iverson)发明的“甲骨文”(1962年设计)。 
用过这一型号的PC吗?😎 
来来…,我这箱子里都是 #貝鍞(#bitcoin)!🤣
Come on... My box is full of #bitcoin! 
如意桥,中国台州市的一座人行桥,由三座桥组成,建于神仙居山谷。 https://video.nostr.build/c3364b47a5e42aa91ab54d9584053b5be77497c709fb5eb47db65f066d54a6a4.mp4
#蹃驼(#nostr)驮载着#扒卦协议
#扒卦协议(#gossip) 优点
·可扩展:扒卦协议是可扩展的,一般只需要0(㏒N)轮就可以将信息传播到所有的节点,其中N代表节点的个数。每个节点仅发送固定数量的消息,在数据传输时,由于交叉重复传播的性质,节点并不需要等待消息的承认或认可,即使消息传输失败,也可以通过其他节点将信息传递给失败节点,扒卦系统可以轻松扩展到数百万个进程。
·容错性:任何节点的宕机或重启,都不影响整个协议系统的运行。
·异步性:相比其他分布一致性协议,如Raft、ZAB协议,消息都需要等待节点承认或认可,扒卦协议不需要等待消息的认可,而是在后续传播中的“终究一致”环节得以“矫正”。
·健壮:扒卦协议是去中心化的,网络集群中的节点都是对等的,任何节点都可以随时加入或离开。
·终究一致:扒卦协议实现信息指数级的传播,在有限的时间内能够使得所有节点拥有最新的数据。
#扒卦(#gossip)是一种去中心化的分布一致性协议,旨在保证数据在集群中的传播和状态具有一致性。
#扒卦协议 的工作原理类似于“流言蜚语”传播。扒卦协议利用一种随机的方式将信息传播到整个网络,并在一定时间内,使得系统内的所有节点数据一致。
#扒卦(Gossip)
goss:吐口水
ip:绳子;网络互连协议
#gossip:扒卦协议
扒卦在人类社会活动中扮演着重要角色。人类学家邓巴(Dunbar)在他的书中阐述过,出现“语言”的主要原因是人们为了“扒卦”,扒卦取代了相互“梳理毛发”(灵长类动物的一种常见社会强化活动),因为早期人类群体规模的发展扩大,梳理毛发已不再可行。
然而,扒卦除了仍然是一种主要的社会活动外,在传播信息方面也非常有效。特别是,“扒”得来的“八卦信息”传播得非常快,而且有些八卦信息传播过程会如潮水般的汹涌澎湃。因此,控制扒卦演进过程进而阻止无良八卦信息持续传播,长期以来一直是一个重要的社会学技术工程研究领域。金莫(Kimmel)的书给出了许多关于人类扒卦的例子和细节。
技术人员根据“扒卦”特征发展出了“#扒卦协议”(#Gossip Protocol)。虽然扒卦通常被认为是流言传播信息的一种手段,但实际传播过程中,信息不仅仅是机械地传播,而且还经过了“增熵”处理。传播者收集信息、处理信息,并将处理后的信息再传递出去。在最简单的情况下,根据“扒卦协议”传递信息至少会根据读者兴趣程度进行过滤。这会引导最有趣的新闻向整个群体传播,而不太有趣的新闻则会在传到每个人之前就会衰减性地停止传播。实际上,扒卦过程非常复杂,有可能是突发行为所导致,即社区里的某种“集体智慧”(或有时可能显得不那么智慧)对信息处理的结果。
扒卦(gossip):闲聊,扒绯闻,传播谣言

怎么骑 诺驼(#Nostr)?#诺驼 园里还有很多好玩的。😊 nostr:note1ux4dy8e6hyl5mxczv8950wy0fw5apj5ymurcyrldsh6rwgm28kjqh7ay7c
#HOWDONOSTR - How do I use Nostr?
Nostr is much, much more than a Twitter alternative. Nostr allows us to have portal digital social identities that we can use in various applications and capacities. For this next iteration of #HOWDONOSTR I'll focus on a few of the applications that I use and the various ways that I use Nostr.
Since we know that Nostr uses a public and private key pair and keeping our private key safe is of utmost importance, we'll start this off with the basics and then move on to relays, before discussing applications.
* On my desktop, to login to and utilize the various applications, I'll use the Alby web browser extension to manage my private key. This works with Chrome, Brave, Firefox, etc. You can install it here: https://getalby.com
* On my Android phone, I'll use the Amber application to keep my private key safe when using native applications that support it. You can download Amber here: https://github.com/greenart7c3/Amber
* I'll also use the Kiwi web browser for accessing many web applications. With the Kiwi browser, I'll use the Nostr Connect extension because it's more lightweight than Alby. You can download Kiwi Browser for Android here: https://play.google.com/store/apps/details?id=com.kiwibrowser.browser
You can install the extension here: https://chromewebstore.google.com/detail/nostr-connect/ampjiinddmggbhpebhaegmjkbbeofoaj
Nostr allows us to be in-charge of our digital social identity and allows us to be in-charge of our entire social graph. We can accomplish this by running our own relay. I do this in two parts.
* I run a private local relay on my Android phone. This allows me to easily write offline notes and save all of my drafts to my phone where they are not accessible by anyone but myself. I do this with the Citrine application. You can download it here: https://github.com/greenart7c3/Citrine
* I also run a publicly accessible relay that only my wife and myself and have write access. That means that no one else can save their social information to my relay, but everyone in the world can access my relay to read our notes and events. I use the Nostream relay for this. You can get started with Nostream here: https://github.com/cameri/nostream
Do I need to run two relays? Maybe not, but I do, because I can. Nostr allows me to easily do these more technical things if I want to do them, allowing me to be fully in control of my entire social graph and social identity.
Now that I have my private key being secured and managed and my notes and events are stored on my personal relays, I'm ready to start using various Nostr applications!
My number one daily driver is Amethyst for Android. It allows me to login via Amber to keep my private key safe. It allows me to easily use my private relay that runs on my smartphone. I use Amethyst because of the number of features that it supports, integrating with many other Nostr clients and various aspects of the protocol. From AI generated feeds of notes, to a bitcoin powered marketplace, to live streams and more. However, Amethyst does suffer from some stability issues and causes me headaches from time to time. Because of this, I also use Primal. Primal is smooth and stable. It lacks some of the extras that Amethyst has, but if I want an experience that just works, I choose Primal.
Nostr really shines on the web. Most of Nostr's Other Stuff clients are not native applications for Android and iOS, they're web applications - regular websites powered by Nostr. Remember, to securely use these applications, you'll need one of the web browsers and extensions that I mentioned above. Alternatively, you can also use many of these with nsec.app. This website runs a Nostr nsecBunker in your web browser, allowing this application to function as a secure key management application.
* Snort.social or Iris.to are popular clients, but not performing for me as well as they used to, so now I'm using Primal.net and Coracle.social more and more. Primal is very stable and simple, but Coracle is loaded with features that keep bringing me back. Coracle's new custom feeds feature is a game changer, however the UI is a bit much and may seem overly complicated.
* For audio chats, I listen to NostrNests.com where people chat with friends and Plebchain Radio hosts their weekly podcast. I used to do weekly shows here every Monday, but it's been a while for me.
* Zap.stream is a Twitch or YouTube alternative for video consumption. Here, I watch friends and streamers here, interacting with them live, chatting, zapping, and consuming all that they have to offer. Sometimes it's weekly podcast shows, sometimes it's gamers playing video games, or sometimes it's just developers hacking away at code during a live coding session.
* I use Highlighter.com for reading long form notes or blog posts, but I also use Highlighter for sometimes writing my own. Content creators can also use Highlighter to create subscription tiers, similar to Patreon. I don't use that feature, but it's nice to have for those looking to fund their content in other ways similar to what exists elsewhere on the web.
* I use listr.lol to manage my Nostr lists, to help me organize npubs that I follow.
* I use metadata.nostr.com to restore my Nostr profile, including my contact list, if a rogue client accidentally deletes or alters my contact list in a way that I didn't intend. This does happen from time to time. We're early.
* I use w3.do to create Nostr powered shortlinks for sharing with others.
* I use Wavlake to listen to music, supporting artists in a value for value manner. I use this application on the web and I use this application on my Android phone too.
* I use Shopstr.store to sell items, such as old Android phones. I've sold 3 via this Nostr powered marketplace.
* Tunestr.io is a website similar to Zap.stream, but it's specifically for live musical performances.
* I use Zap.store to manage applications on my Android phone as an alternative to Google Play or Obtainium.
I use these applications the most, but many more applications exist across the Nostr ecosystem. I encourage you to check out https://www.nostrapps.com from time to time and see what's available.
我怎么骑诺驼(Nostr)?
貝錹协议之“货貝政策”
The "Monetary policy" of the #Bitcoin protocol 

