<rss
      xmlns:atom="http://www.w3.org/2005/Atom"
      xmlns:media="http://search.yahoo.com/mrss/"
      xmlns:content="http://purl.org/rss/1.0/modules/content/"
      xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
      xmlns:dc="http://purl.org/dc/elements/1.1/"
      version="2.0"
    >
      <channel>
        <title><![CDATA[ElectronicMonkey]]></title>
        <description><![CDATA[Author of nostr blogging client: https://flycat.club/ ]]></description>
        <link>https://electronicmonkey.npub.pro/tag/nostr/</link>
        <atom:link href="https://electronicmonkey.npub.pro/tag/nostr/rss/" rel="self" type="application/rss+xml"/>
        <itunes:new-feed-url>https://electronicmonkey.npub.pro/tag/nostr/rss/</itunes:new-feed-url>
        <itunes:author><![CDATA[ElectronicMonkey]]></itunes:author>
        <itunes:subtitle><![CDATA[Author of nostr blogging client: https://flycat.club/ ]]></itunes:subtitle>
        <itunes:type>episodic</itunes:type>
        <itunes:owner>
          <itunes:name><![CDATA[ElectronicMonkey]]></itunes:name>
          <itunes:email><![CDATA[ElectronicMonkey]]></itunes:email>
        </itunes:owner>
            
      <pubDate>Wed, 22 Nov 2023 00:27:03 GMT</pubDate>
      <lastBuildDate>Wed, 22 Nov 2023 00:27:03 GMT</lastBuildDate>
      
      <itunes:image href="https://nostr.build/i/1804.jpeg" />
      <image>
        <title><![CDATA[ElectronicMonkey]]></title>
        <link>https://electronicmonkey.npub.pro/tag/nostr/</link>
        <url>https://nostr.build/i/1804.jpeg</url>
      </image>
      <item>
      <title><![CDATA[Why Nostr is Important: The Freedom from Being Governed by Servers]]></title>
      <description><![CDATA[Rough consensus and running code]]></description>
             <itunes:subtitle><![CDATA[Rough consensus and running code]]></itunes:subtitle>
      <pubDate>Wed, 22 Nov 2023 00:27:03 GMT</pubDate>
      <link>https://electronicmonkey.npub.pro/post/en-why-nostr-is-important/</link>
      <comments>https://electronicmonkey.npub.pro/post/en-why-nostr-is-important/</comments>
      <guid isPermaLink="false">naddr1qqvk2m3dwa58jttwdaehgu3dd9ej66tdwphhyarpde6qygz9cs0jrcw0w906dkw2yzuwqq49wndhhdy7jmhgnq6vvmdv23rt0gpsgqqqw4rs699jau</guid>
      <category>nostr</category>
      
        <media:content url="https://image.nostr.build/c95016d6ff6483745134a612952bee1f8ba9f14af2dab18cbf9120ee521794f9.jpg" medium="image"/>
        <enclosure 
          url="https://image.nostr.build/c95016d6ff6483745134a612952bee1f8ba9f14af2dab18cbf9120ee521794f9.jpg" length="0" 
          type="image/jpeg" 
        />
      <noteId>naddr1qqvk2m3dwa58jttwdaehgu3dd9ej66tdwphhyarpde6qygz9cs0jrcw0w906dkw2yzuwqq49wndhhdy7jmhgnq6vvmdv23rt0gpsgqqqw4rs699jau</noteId>
      <npub>npub1ghzp7g0peac4lfkeegst3cqz546dk7a5n6twazvrf3nd432yddaqa3qtwq</npub>
      <dc:creator><![CDATA[ElectronicMonkey]]></dc:creator>
      <content:encoded><![CDATA[<p>Editor's Note: This is the text from my talk at the #Nostraisa HK event. I didn't prepare a PowerPoint presentation in advance; instead, I wrote this article to share my thoughts on social networks. There is also a <a href="https://flycat.club/post/monkey@flycat.club/why-nostr-is-important">Chinese version</a> of this post.</p>
<p>My name is Digi Monkey, the author of the Nostr client <a href="https://flycat.club">flycat.club</a>. Flycat is a Nostr client that provides Relay Group Switching, long and short-form notes, community features, JoyId login, Metamask login, and more. Today, I'd like to discuss Nostr from my perspective and why it is crucial in cyberspace.</p>
<h2>Back to 1996</h2>
<p>I'd like to start with a quote:</p>
<blockquote>
<p>"We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before."</p>
</blockquote>
<p>Some of you may recognize this quote from the _"Declaration of the Independence of Cyberspace." _It is from an article written by John Perry Barlow on February 8, 1996, published on the internet. In 1996, the internet was still a relatively new concept, and for reference, the Netscape browser was released in 1994. So, the idea of the internet, or cyberspace, was somewhat vague to people at the time. However, as we can see from the Declaration, it depicted an idealized utopian vision of internet communities with a sense of certainty.</p>
<p>In the <em>"Declaration of the Independence of Cyberspace"</em>, <strong>two fundamental ideas were advocated:</strong></p>
<ol>
<li>Cyberspace and the physical world are separate and entirely independent of each other. Cyberspace has no borders, no discrimination, and is immaterial.</li>
<li>Cyberspace does not require governance from the real world. It is not subject to the constraints of mandatory laws but forms its own order and social norms through unwritten "code" (morality, ethics, self-interest, common welfare).</li>
</ol>
<p>Today, we are discussing social networks in a broader sense, referring to this cyberspace, a new digital land where life happens online, a large community where people exchange information and services.</p>
<p>This is essentially the same concept as what was discussed in the Declaration. We can read the original text to see how people envisioned this new entity at the time. Here are some excerpts from the original text:</p>
<p><em>"The cyber world consists of information transmission, relationship interaction, and thought itself... Our world is omnipresent and ethereal, yet it is by no means a world for material entities.</em></p>
<p><em>We are creating a world in which anyone can join, with no privileges or prejudices based on race, economic power, force, or place of birth.</em></p>
<p><em>We are creating a world in which anyone, anywhere, can express their beliefs without fear of being forced into silence or conformity, no matter how strange those beliefs may be.</em></p>
<p><em>The legal concepts and scenarios about property, expression, identity, and migration that you have in the material world do not apply to us. All these concepts are based on material entities, and there are no material entities here.</em></p>
<p><em>Our members have no bodies, so unlike you, we cannot achieve order through material coercion. We believe that our governance will emerge from ethics, enlightened self-interest, and the common welfare. The only law that is universally recognized in our inner cultural world is the "Golden Rule" (Do not do unto others what you would not have them do unto you). We hope to build our unique solutions on this basis."</em></p>
<p><strong>You can see that the vision at that time was very idealized, and the concept of governance was quite vague.</strong> It has evolved significantly from the internet back then to the internet as we know it today, a real and integral part of our daily lives. Many web3/blockchain communities would even argue that the internet took a detour and deviated from its original intent.</p>
<h2>Today's Cyberspace</h2>
<p>The two fundamental ideas mentioned in the "Declaration of Independence" have been violated by the current state of the internet:</p>
<ol>
<li>The internet today is powerful largely because it has become intertwined with reality, no longer separate entities. Many O2O services, such as food delivery, ride-sharing, and accommodations, have seamlessly integrated into people's lives. The internet has infiltrated reality and, in some cases, guides real-life activities. In its early days, the internet was more like a pure new land of ideas, and many optimistically believed it could create a separate, free home for human thought.</li>
<li>This home was supposed to be free from the governance of real-world laws and national governments, fully autonomous. This, too, has been overthrown. Today, various countries actively regulate the internet and enact a variety of telecommunications laws, primarily following the principle of territorial management. For any internet service, the location of its entity, server location, and data storage location correspond to the government and local regulations governing the internet service hosted in those areas.</li>
</ol>
<p>We won't discuss whether these two basic concepts' overthrow is right or wrong. We won't argue whether what the "Declaration of the Independence of Cyberspace" advocates is necessarily correct. We'll only discuss the significant gap between the idealized vision and the reality that has occurred.</p>
<p>I'm interested in how this change occurred. From the perspective of the mainstream narrative, it's a kind of cyberpunk emergence where big corporations, governments, and technological development have become uncontrollable and have created a "high tech, low life" reality.</p>
<p>For example, delivery drivers are like bounty hunters from science fiction novels, hired by a system, surviving under algorithmic management. Many people want to escape, but most of the time, they have to rely on it.</p>
<p>On the purely spiritual level of life, which is closer to the part of life on social networks, people's lives on platforms like Twitter are similar. On Twitter, you have no basic rights, such as ownership of your account. Users only have temporary usage rights, not to mention the right to speak freely. These rights are held by companies like Musk and Twitter.</p>
<p>Another perspective involves a power struggle between humans and machines.</p>
<p>A civilization war between machines and humans.</p>
<p><strong>Here, the machines refer more to servers.</strong> An online service, especially platform-type products, usually consists of two parts: servers and clients. Servers are controlled by private companies or developers and require authorized APIs to access. Clients are the software used by users on their local devices, whether accessed through a browser for the web or a mobile app. Users use clients to access servers, read and write data, perform calculations, and consume services.</p>
<p>Servers hold the most power in this process:</p>
<ol>
<li><strong>Identity (name/identity/account, "who am I, how can I prove I am me") and a byproduct: the relationship chain.</strong><ul>
<li>Identity is what you request from the server, asking for a designation. It will either give it to you or not, and it can also assign your identity to someone else. For example, on Weibo, usernames cannot be duplicated, so who gets the good names? The server decides. Additionally, since servers can decide "who you are" and who your friends are, it's what's often referred to as the social relationship chain, which is also controlled by servers. The most typical example is WeChat, where the address book is one of its most valuable assets.</li>
</ul>
</li>
<li><strong>Data (means of production - where data is stored, who has the right to access, whether data can be forged, ownership, and usage rights)</strong><ul>
<li>Although most data is produced by users, it is stored on servers, and the relationship between who produces the data and whether data can be forged is endorsed by the server. In most cases, you only have usage rights for data you've produced, and ownership belongs to the platform.</li>
</ul>
</li>
<li><strong>Transactions ( relationships of production - who can provide services/consume services, compliance with transaction rules, whether fees are required)</strong><ul>
<li>Rules are written into the server, and servers can change rules at any time because they also have data and rule changes often involve adjustments to data usage and access. Servers can change the rules as they please.</li>
</ul>
</li>
</ol>
<p>We can see that the process by which servers provide services to users is similar to a country's management of its people. When you register for an account on Twitter, it's like registering for an ID with the government, and the police department gives you an identity card number. Your ID is your pass to prove your identity, and with an identity, you can rent a house, produce, and consume within the country. The entire process is often accompanied by social rules like laws and morality that constrain your behavior.</p>
<p>On Twitter, there are similar things like <strong>"terms of service"</strong> , which are analogous to real-world laws. If your account violates certain behaviors, Twitter can revoke your account. However, this online system is much worse than the offline legal system. In the real world, citizens have the right to participate in lawmaking and a system that allows citizens to debate. Online, this is completely lacking, and Twitter has full control.</p>
<p><strong>So, we need to realize that in cyberspace, human rights, in essence, are even more lacking than in the real world.</strong> If people in the real world have advanced to a stage of modern civilization and have established sovereign nations, in cyberspace, we are likely still in the era of slavery or feudalism. Servers are the kings, emperors, and rulers of this space.</p>
<h2>What Role Does Nostr Play in This Change?</h2>
<p><strong>Nostr has a very unique position.</strong> I like to view its position on a spectrum that ranges from centralization to decentralization, with Nostr positioned more towards the right side of the center.</p>
<p><img src="https://image.nostr.build/23739580cbb7d031885757a2e4fa8684dd410f3f8f706b914b8a2f5f6d041e51.jpg" alt="image.png"></p>
<p>In this spectrum, we are actually describing and discussing different types of services provided within cyberspace. It's more about the approach to doing things or the technical architecture choices, and it is not related to political identities in the offline world. <strong>The terms "left" and "right" are merely metaphorical.</strong></p>
<h2>Right Wings (centralization)</h2>
<p>At the extreme end of centralization, most entities operate under the model of maximizing the power of servers, which can be referred to as the "right-wing" or conservative approach. This category consists of:</p>
<ol>
<li>Business companies (mainstream forces, large corporations/startups)</li>
<li>Individuals/small groups (geek self-hosting/indie developers)</li>
<li>Governments (government portals/services provided by social institutions/online government affairs)</li>
</ol>
<p><strong>Right Wings primarily rely on building servers and machines, and our lives are governed by the rules established by these machines.</strong> </p>
<p>It's worth noting that even within the Right Wings category, there are some independent developers who, often in a more artisanal manner, provide unique software and services. However, they still operate within the framework of server power maximization, where a single developer holds authority.</p>
<p>As an example, consider<a href="https://tilde.town/"> https://tilde.town/</a>. This is a community hosted on a Linux server. The founder provides server resources, and individuals can apply to join the community, receiving access credentials to connect to this public server. Once connected, users can write, draw, create things, and share their creations within the community.</p>
<p>This community operates under a model characterized by human governance. The founder manually approves entry applications, and they have the authority to remove users if their behavior is inappropriate. While this community is small and wonderful, it still aligns with the aforementioned centralization model.</p>
<p><img src="https://image.nostr.build/1b0b16ff4d6e6ecbea57021e6d2900fc19cef13c4a8762291c24e1d2d02911bc.jpg" alt="image.png"></p>
<p>Therefore, in many cases, the right-wing approach is also valid. <strong>As long as the residents of a community willingly accept the rule of servers</strong> , and community development proceeds unhindered, there may be no need to replace this centralized model with decentralization entirely. Centralized services have their own legitimate reasons for existence. This is also why I don't necessarily agree with the idea that "<em>blockchain is eating the world</em>".</p>
<h2>Left Wings（decentralization）</h2>
<h3>Left Wings refers to the extreme end of decentralization in its practices. It includes several forms:</h3>
<ol>
<li>P2P networks (volunteer nodes, such as Bittorrent, Tor, SSB).</li>
<li>Blockchain (where code serves as mandatory rules, requiring incentives and consensus).</li>
<li>Free software (does not provide services, open source/donation-based).</li>
</ol>
<p><strong>Left Wings essentially want everyone to run their little homebrew machines and unite all devices under one global cyber law.</strong> This "code of the law" represents the consensus layer in blockchain networks.</p>
<p>Left-wing radicals are currently an influential force. Taking blockchain as an example, how do they operate? Essentially, they aim to create a fair system that everyone can participate in. This system has strict rules, such as a fixed total supply of Bitcoin (21 million) and the requirement for nodes to adhere to the same set of code rules.</p>
<p>The rules governing this code and how it is modified or upgraded are themselves governed by rules. For instance, some blockchains use DAO (Decentralized Autonomous Organization) voting to decide whether a proposal should be included in the consensus rules. In the case of Bitcoin, changes to the system are primarily determined by the adoption and support of mining nodes.</p>
<p>So, blockchain is, in essence, creating a highly idealized system akin to the intricate systems of ancient Greek direct democracy where all citizens actively participate in political life. In contrast, Nostr lacks such grand ambitions. It operates more loosely, defining only a few core rules, while allowing a wide range of other actions. This approach is more aligned with modern liberalism, where there is a clear distinction between personal and political life. Anything outside that line remains free from legal interference and government authority.</p>
<h2>Nostr: A More Pragmatic Middle Way</h2>
<p>Nostr's protocol is minimalist, and its positioning is unique. It doesn't lean left or right but rather adopts a somewhat moderate stance. Let's compare Nostr to conventional approaches in terms of ID (identity), data (production resources), and transactions (production relations).</p>
<p><strong>ID (Identity):</strong> In Nostr, identity is merely a pair of public and private keys, controlled by the user. Servers cannot deprive users of their identity or make them someone else. Only the user can prove that "I am me."</p>
<p><strong>Data (Production Resources):</strong> Nostr defines the format of data (a very simple JSON) and the method of transmission (communication standards between servers and clients).</p>
<ul>
<li>Data Format: All messages must adhere to the same standard, with the most important requirement being that any sent message must be signed.</li>
<li>Data Transmission: Nostr hardcodes the use of WebSocket for server/client communication, defining the basic communication format. Why hardcode? It is a more practical approach for bootstrapping.</li>
</ul>
<p><strong>Transactions (Production Relations):</strong> Nostr can integrate with the Bitcoin Lightning Network, providing the capability for native digital currency payments. However, this is optional. Apart from this, there are no other specific rules. Essentially, it adheres to the principle that if something is not prohibited by law, it is permitted.</p>
<p>In the Nostr ecosystem, servers are referred to as "Relays." User-generated data is temporarily stored on Relays, and because every piece of data is signed, servers cannot forge user data or claim ownership of data produced by users.</p>
<p>Data propagation depends on requests made to a public Relay to obtain a user's data. The same data can be stored on multiple Relays, and a user can request the same data from multiple Relays. This mechanism makes servers (Relays) service providers that users can freely switch between and select. They lose the power to define identity, own data, or dictate transaction rules. Servers become a more simplified role, akin to an API-connected hard drive, and their revenue generation is primarily based on providing this service.</p>
<p>In conclusion, the power of servers (Relays) is diminished, while the rights of clients are amplified. Some might be concerned about clients amassing too much power. However, due to the deconstruction of server power and reduced switching costs for users, this scenario is unlikely to materialize.</p>
<p>Of course, there is a scenario where a client introduces too many services customized beyond the scope of the Nostr protocol under the guise of "caching/optimization." This should still raise concerns, as excessive optimization can limit users to a specific client's services and prevent them from switching to other clients following the Nostr protocol's standards. This situation would be akin to the ecosystem being hijacked by a particular product.</p>
<p>At present, because switching clients incurs almost no costs, the bigger challenge is how client developers can offer products with differentiation (while remaining compatible with the Nostr protocol) and determine viable business models for clients, which seems more complex than exploring Relay business models. However, this falls under a different discussion and will not be addressed here.</p>
<p>On the other hand, I believe that Nostr's relay-client architecture is more aligned with the way human society operates in the real world.</p>
<p><strong>Relay as a Free Cache or Paid Long-Term Storage</strong> :In the Nostr ecosystem, a Relay can be seen as a service for free caching or paid long-term storage (free to cache, pay to save). Many users new to Nostr may ask, "What happens if a Relay goes offline? Do I lose my data?" The answer is yes; your data would indeed be lost. However, this might not be a problem.</p>
<p>Nostr's social network is similar to having a conversation in a physical coffee shop. Free public Relays act as a medium for distributing and caching the messages you send, just like the air carries your spoken words to others in a coffee shop. After the conversation ends, everyone goes home, and the information shared during the conversation dissipates, just like spoken words in the air.</p>
<p>Of course, if you believe that what you're saying is particularly valuable, you can run your own Relay to permanently store these messages. This is akin to people who write diaries to record what they said during a conversation when they return home. However, most people may not keep diaries. If you highly value your data, you can use a paid Relay to have the server store your data long-term. This is similar to renting a storage unit to store your belongings when your home gets too crowded.</p>
<p><strong>Relay as a Localized Autonomous Community:</strong> Present-day social networks are global, and globalization comes with its own set of challenges. The human brain cannot effectively process global information because we have historically lived in small villages with perhaps just a few hundred neighbors. When the internet inundates us with global information, our brains can easily become overwhelmed. As a result, you may feel anxious when scrolling through Twitter, as you need to care about a conflict in one part of the world, a trade war, or a technological standoff elsewhere. The Relay model has the potential to bring us back to a pattern of small localized communities, each acting autonomously. Every Relay is a community advocating local self-governance, and users are free to switch between these communities.</p>
<p>This is why I feel that Nostr is pragmatic. We're taking a step back and abandoning the pursuit of peer-to-peer (P2P) in favor of a social network model based on "polycentric, small-scale community self-governance." Why give up on P2P? Because P2P won't work (in the words of faitjaf, and I largely agree). P2P networks have been around for a while, but we've been unable to make them universally accessible as social network services, and they're often not user-friendly. So, we've shifted our focus to the model of multiple Relays and free switching between Relays, which is more practical and already up and running.</p>
<p>A common misconception is that Nostr is decentralized and censorship-resistance. In reality, each Relay acts as a gate-keeper, and each Relay chooses what data to store, effectively conducting a form of censorship. However, I find this type of censorship acceptable because Relays must bear real-world legal risks. Behind every Relay is a specific individual operating it, expending their resources to provide services. They have the right to choose their users and decide which data to accept. What we don't want is everyone being forced to obey the rules of a single server. Users have the freedom to switch between Relays, and if you disagree with a particular Relay's rules, you're entirely free to disconnect from that Relay and use another.</p>
<p><strong>Now let's take a closer look at what sets Nostr apart.</strong></p>
<h2>The Nostr ecosystem and blockchain have fundamental differences.</h2>
<p>Blockchain is a very expensive and more rigorous system. Its data must go through nodes to achieve eventual consistency. Blockchain can provide trust. For example, if a developer writes a smart contract on the blockchain, they can trust that the contract will produce results consistent with the code. For users, this means that in systems like Bitcoin, they can trust the Bitcoin blockchain to record their holdings accurately. However, this kind of trust is costly and comes at a significant expense. Each Bitcoin mining machine, for instance, pays a cost during proof-of-work (PoW) mining.</p>
<p>In contrast, Nostr is cost-effective because its system is loose. On Nostr, the only guarantee is that every message sent has been signed by an account. Users can trust only a very thin layer of assurance, which is whether the received message genuinely comes from a certain public key. Beyond this assurance, Nostr does not make any guarantees regarding Relay data availability or message order consistency.</p>
<p>However, this flexibility offers significant advantages. Nostr is a very loose and adaptable system, allowing for the spontaneous growth and development of its ecosystem. This level of freedom and flexibility means Nostr can easily connect with other systems and serve as a standard at the DID (Decentralized Identifier) layer, thanks to its simplicity. Unlike other blockchain systems, Nostr doesn't come with the biases of a particular system (e.g., BTC community not accepting the ETH community and vice versa).</p>
<p>In terms of their approach, Nostr and blockchain are fundamentally different. Blockchain systems often require a well-thought-out architectural design in advance, define every aspect of the protocol, envision the behavior of various ecological roles, design intricate economic incentive mechanisms to coordinate these roles, and develop a protocol upgrade mechanism. In contrast, Nostr's approach is to specify only the most critical rules and leave everything else to the ecosystem's own development. For example, how a Relay makes money is not a concern for the core Nostr protocol; it allows people within the ecosystem to experiment and find viable business models. </p>
<p>In summary, blockchain is excellent and may address about 5% of humanity's most crucial issues, such as currency and finance. But blockchain is also expensive, making it unrealistic to expect it to solve the remaining 95% of problems. Furthermore, not all problems require blockchain's heavyweight form of trust. Nostr, on the other hand, may be able to address 80% of these issues, which may only require lightweight trust. The remaining 15% of problems can continue to be addressed with centralized, right-wing approaches.</p>
<p>For me, what makes Nostr most intriguing is not just the protocol itself but the "ecosystem." Regardless of how well-designed a protocol may be, it can never develop and evolve without a community of people surrounding it. Nostr's most valuable asset isn't the protocol itself; it's the community that has gathered around it. Many are Bitcoin maximalists, but there are also many who are not particularly enthusiastic about blockchain technology. If you delve into the development of the Nostr ecosystem, you'll be amazed by the vitality and energy it demonstrates. This vitality aligns cleverly with the principles followed by the group that established standards for the early TCP/IP protocols (IETF):</p>
<ul>
<li>We reject: kings, presidents, and voting.</li>
<li>We believe in: rough consensus and running code.</li>
</ul>
<p>That is, our credo is that we don't let a single individual dictate decisions (a king or president), nor should decisions be made by a vote, nor do we want decisions to be made in a vacuum without practical experience. Instead, we strive to make our decisions by the consent of all participants, though allowing for some dissent (rough consensus), and to have the actual products of engineering (running code) trump theoretical designs.</p>
<p>In the Nostr ecosystem, you can find some similar characteristics:</p>
<ol>
<li>Organization structure: no official organization, light funding by people like Jack</li>
<li>NIPs: loosely join, everything is optional, openly debated, the founder is not afraid of being subjective</li>
<li>Developers ship fast: Everything happens publicly on the Nostr protocol(launch/discussion/feedback/debate)</li>
</ol>
<p>most new things added in the Nostr protocol are done this way: firstly some clients/relays software developers introduce a new feature and then push the feature to public users, users give some feedback, and other developers notice that and start the discussion, some people writing NIPs, have debate on the NIP drafts, and then finally merge the NIPs —— <strong>this is true “rough consensus and running code” looks like.</strong> </p>
<p><strong>Conclusion</strong></p>
<p><strong>In summary, the original vision of cyberspace has diverged from reality.</strong> </p>
<p>Technological advancements, whether from P2P or blockchain's left-wing forces, have prompted people to reconsider their initial notions of cyberspace. At this juncture, Nostr offers a pragmatic and moderate approach, providing an alternative solution. Essentially, Nostr represents a compromise because P2P and blockchain technologies, in terms of usability and cost, can be too cumbersome for many scenarios that only require lightweight trust. Nostr has a unique ecosystem, driven by the pursuit of rough consensus and running code, and its minimalistic protocol allows more room for the ecosystem's organic development. This positions it as a potential nexus for connecting various aspects of the digital world.</p>
<p>This article has covered various fragmented thoughts and ideas. Due to time constraints, many topics couldn't be explored in depth. We look forward to future opportunities to delve deeper into the challenges and opportunities that Nostr faces.</p>
]]></content:encoded>
      <itunes:author><![CDATA[ElectronicMonkey]]></itunes:author>
      <itunes:summary><![CDATA[<p>Editor's Note: This is the text from my talk at the #Nostraisa HK event. I didn't prepare a PowerPoint presentation in advance; instead, I wrote this article to share my thoughts on social networks. There is also a <a href="https://flycat.club/post/monkey@flycat.club/why-nostr-is-important">Chinese version</a> of this post.</p>
<p>My name is Digi Monkey, the author of the Nostr client <a href="https://flycat.club">flycat.club</a>. Flycat is a Nostr client that provides Relay Group Switching, long and short-form notes, community features, JoyId login, Metamask login, and more. Today, I'd like to discuss Nostr from my perspective and why it is crucial in cyberspace.</p>
<h2>Back to 1996</h2>
<p>I'd like to start with a quote:</p>
<blockquote>
<p>"We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before."</p>
</blockquote>
<p>Some of you may recognize this quote from the _"Declaration of the Independence of Cyberspace." _It is from an article written by John Perry Barlow on February 8, 1996, published on the internet. In 1996, the internet was still a relatively new concept, and for reference, the Netscape browser was released in 1994. So, the idea of the internet, or cyberspace, was somewhat vague to people at the time. However, as we can see from the Declaration, it depicted an idealized utopian vision of internet communities with a sense of certainty.</p>
<p>In the <em>"Declaration of the Independence of Cyberspace"</em>, <strong>two fundamental ideas were advocated:</strong></p>
<ol>
<li>Cyberspace and the physical world are separate and entirely independent of each other. Cyberspace has no borders, no discrimination, and is immaterial.</li>
<li>Cyberspace does not require governance from the real world. It is not subject to the constraints of mandatory laws but forms its own order and social norms through unwritten "code" (morality, ethics, self-interest, common welfare).</li>
</ol>
<p>Today, we are discussing social networks in a broader sense, referring to this cyberspace, a new digital land where life happens online, a large community where people exchange information and services.</p>
<p>This is essentially the same concept as what was discussed in the Declaration. We can read the original text to see how people envisioned this new entity at the time. Here are some excerpts from the original text:</p>
<p><em>"The cyber world consists of information transmission, relationship interaction, and thought itself... Our world is omnipresent and ethereal, yet it is by no means a world for material entities.</em></p>
<p><em>We are creating a world in which anyone can join, with no privileges or prejudices based on race, economic power, force, or place of birth.</em></p>
<p><em>We are creating a world in which anyone, anywhere, can express their beliefs without fear of being forced into silence or conformity, no matter how strange those beliefs may be.</em></p>
<p><em>The legal concepts and scenarios about property, expression, identity, and migration that you have in the material world do not apply to us. All these concepts are based on material entities, and there are no material entities here.</em></p>
<p><em>Our members have no bodies, so unlike you, we cannot achieve order through material coercion. We believe that our governance will emerge from ethics, enlightened self-interest, and the common welfare. The only law that is universally recognized in our inner cultural world is the "Golden Rule" (Do not do unto others what you would not have them do unto you). We hope to build our unique solutions on this basis."</em></p>
<p><strong>You can see that the vision at that time was very idealized, and the concept of governance was quite vague.</strong> It has evolved significantly from the internet back then to the internet as we know it today, a real and integral part of our daily lives. Many web3/blockchain communities would even argue that the internet took a detour and deviated from its original intent.</p>
<h2>Today's Cyberspace</h2>
<p>The two fundamental ideas mentioned in the "Declaration of Independence" have been violated by the current state of the internet:</p>
<ol>
<li>The internet today is powerful largely because it has become intertwined with reality, no longer separate entities. Many O2O services, such as food delivery, ride-sharing, and accommodations, have seamlessly integrated into people's lives. The internet has infiltrated reality and, in some cases, guides real-life activities. In its early days, the internet was more like a pure new land of ideas, and many optimistically believed it could create a separate, free home for human thought.</li>
<li>This home was supposed to be free from the governance of real-world laws and national governments, fully autonomous. This, too, has been overthrown. Today, various countries actively regulate the internet and enact a variety of telecommunications laws, primarily following the principle of territorial management. For any internet service, the location of its entity, server location, and data storage location correspond to the government and local regulations governing the internet service hosted in those areas.</li>
</ol>
<p>We won't discuss whether these two basic concepts' overthrow is right or wrong. We won't argue whether what the "Declaration of the Independence of Cyberspace" advocates is necessarily correct. We'll only discuss the significant gap between the idealized vision and the reality that has occurred.</p>
<p>I'm interested in how this change occurred. From the perspective of the mainstream narrative, it's a kind of cyberpunk emergence where big corporations, governments, and technological development have become uncontrollable and have created a "high tech, low life" reality.</p>
<p>For example, delivery drivers are like bounty hunters from science fiction novels, hired by a system, surviving under algorithmic management. Many people want to escape, but most of the time, they have to rely on it.</p>
<p>On the purely spiritual level of life, which is closer to the part of life on social networks, people's lives on platforms like Twitter are similar. On Twitter, you have no basic rights, such as ownership of your account. Users only have temporary usage rights, not to mention the right to speak freely. These rights are held by companies like Musk and Twitter.</p>
<p>Another perspective involves a power struggle between humans and machines.</p>
<p>A civilization war between machines and humans.</p>
<p><strong>Here, the machines refer more to servers.</strong> An online service, especially platform-type products, usually consists of two parts: servers and clients. Servers are controlled by private companies or developers and require authorized APIs to access. Clients are the software used by users on their local devices, whether accessed through a browser for the web or a mobile app. Users use clients to access servers, read and write data, perform calculations, and consume services.</p>
<p>Servers hold the most power in this process:</p>
<ol>
<li><strong>Identity (name/identity/account, "who am I, how can I prove I am me") and a byproduct: the relationship chain.</strong><ul>
<li>Identity is what you request from the server, asking for a designation. It will either give it to you or not, and it can also assign your identity to someone else. For example, on Weibo, usernames cannot be duplicated, so who gets the good names? The server decides. Additionally, since servers can decide "who you are" and who your friends are, it's what's often referred to as the social relationship chain, which is also controlled by servers. The most typical example is WeChat, where the address book is one of its most valuable assets.</li>
</ul>
</li>
<li><strong>Data (means of production - where data is stored, who has the right to access, whether data can be forged, ownership, and usage rights)</strong><ul>
<li>Although most data is produced by users, it is stored on servers, and the relationship between who produces the data and whether data can be forged is endorsed by the server. In most cases, you only have usage rights for data you've produced, and ownership belongs to the platform.</li>
</ul>
</li>
<li><strong>Transactions ( relationships of production - who can provide services/consume services, compliance with transaction rules, whether fees are required)</strong><ul>
<li>Rules are written into the server, and servers can change rules at any time because they also have data and rule changes often involve adjustments to data usage and access. Servers can change the rules as they please.</li>
</ul>
</li>
</ol>
<p>We can see that the process by which servers provide services to users is similar to a country's management of its people. When you register for an account on Twitter, it's like registering for an ID with the government, and the police department gives you an identity card number. Your ID is your pass to prove your identity, and with an identity, you can rent a house, produce, and consume within the country. The entire process is often accompanied by social rules like laws and morality that constrain your behavior.</p>
<p>On Twitter, there are similar things like <strong>"terms of service"</strong> , which are analogous to real-world laws. If your account violates certain behaviors, Twitter can revoke your account. However, this online system is much worse than the offline legal system. In the real world, citizens have the right to participate in lawmaking and a system that allows citizens to debate. Online, this is completely lacking, and Twitter has full control.</p>
<p><strong>So, we need to realize that in cyberspace, human rights, in essence, are even more lacking than in the real world.</strong> If people in the real world have advanced to a stage of modern civilization and have established sovereign nations, in cyberspace, we are likely still in the era of slavery or feudalism. Servers are the kings, emperors, and rulers of this space.</p>
<h2>What Role Does Nostr Play in This Change?</h2>
<p><strong>Nostr has a very unique position.</strong> I like to view its position on a spectrum that ranges from centralization to decentralization, with Nostr positioned more towards the right side of the center.</p>
<p><img src="https://image.nostr.build/23739580cbb7d031885757a2e4fa8684dd410f3f8f706b914b8a2f5f6d041e51.jpg" alt="image.png"></p>
<p>In this spectrum, we are actually describing and discussing different types of services provided within cyberspace. It's more about the approach to doing things or the technical architecture choices, and it is not related to political identities in the offline world. <strong>The terms "left" and "right" are merely metaphorical.</strong></p>
<h2>Right Wings (centralization)</h2>
<p>At the extreme end of centralization, most entities operate under the model of maximizing the power of servers, which can be referred to as the "right-wing" or conservative approach. This category consists of:</p>
<ol>
<li>Business companies (mainstream forces, large corporations/startups)</li>
<li>Individuals/small groups (geek self-hosting/indie developers)</li>
<li>Governments (government portals/services provided by social institutions/online government affairs)</li>
</ol>
<p><strong>Right Wings primarily rely on building servers and machines, and our lives are governed by the rules established by these machines.</strong> </p>
<p>It's worth noting that even within the Right Wings category, there are some independent developers who, often in a more artisanal manner, provide unique software and services. However, they still operate within the framework of server power maximization, where a single developer holds authority.</p>
<p>As an example, consider<a href="https://tilde.town/"> https://tilde.town/</a>. This is a community hosted on a Linux server. The founder provides server resources, and individuals can apply to join the community, receiving access credentials to connect to this public server. Once connected, users can write, draw, create things, and share their creations within the community.</p>
<p>This community operates under a model characterized by human governance. The founder manually approves entry applications, and they have the authority to remove users if their behavior is inappropriate. While this community is small and wonderful, it still aligns with the aforementioned centralization model.</p>
<p><img src="https://image.nostr.build/1b0b16ff4d6e6ecbea57021e6d2900fc19cef13c4a8762291c24e1d2d02911bc.jpg" alt="image.png"></p>
<p>Therefore, in many cases, the right-wing approach is also valid. <strong>As long as the residents of a community willingly accept the rule of servers</strong> , and community development proceeds unhindered, there may be no need to replace this centralized model with decentralization entirely. Centralized services have their own legitimate reasons for existence. This is also why I don't necessarily agree with the idea that "<em>blockchain is eating the world</em>".</p>
<h2>Left Wings（decentralization）</h2>
<h3>Left Wings refers to the extreme end of decentralization in its practices. It includes several forms:</h3>
<ol>
<li>P2P networks (volunteer nodes, such as Bittorrent, Tor, SSB).</li>
<li>Blockchain (where code serves as mandatory rules, requiring incentives and consensus).</li>
<li>Free software (does not provide services, open source/donation-based).</li>
</ol>
<p><strong>Left Wings essentially want everyone to run their little homebrew machines and unite all devices under one global cyber law.</strong> This "code of the law" represents the consensus layer in blockchain networks.</p>
<p>Left-wing radicals are currently an influential force. Taking blockchain as an example, how do they operate? Essentially, they aim to create a fair system that everyone can participate in. This system has strict rules, such as a fixed total supply of Bitcoin (21 million) and the requirement for nodes to adhere to the same set of code rules.</p>
<p>The rules governing this code and how it is modified or upgraded are themselves governed by rules. For instance, some blockchains use DAO (Decentralized Autonomous Organization) voting to decide whether a proposal should be included in the consensus rules. In the case of Bitcoin, changes to the system are primarily determined by the adoption and support of mining nodes.</p>
<p>So, blockchain is, in essence, creating a highly idealized system akin to the intricate systems of ancient Greek direct democracy where all citizens actively participate in political life. In contrast, Nostr lacks such grand ambitions. It operates more loosely, defining only a few core rules, while allowing a wide range of other actions. This approach is more aligned with modern liberalism, where there is a clear distinction between personal and political life. Anything outside that line remains free from legal interference and government authority.</p>
<h2>Nostr: A More Pragmatic Middle Way</h2>
<p>Nostr's protocol is minimalist, and its positioning is unique. It doesn't lean left or right but rather adopts a somewhat moderate stance. Let's compare Nostr to conventional approaches in terms of ID (identity), data (production resources), and transactions (production relations).</p>
<p><strong>ID (Identity):</strong> In Nostr, identity is merely a pair of public and private keys, controlled by the user. Servers cannot deprive users of their identity or make them someone else. Only the user can prove that "I am me."</p>
<p><strong>Data (Production Resources):</strong> Nostr defines the format of data (a very simple JSON) and the method of transmission (communication standards between servers and clients).</p>
<ul>
<li>Data Format: All messages must adhere to the same standard, with the most important requirement being that any sent message must be signed.</li>
<li>Data Transmission: Nostr hardcodes the use of WebSocket for server/client communication, defining the basic communication format. Why hardcode? It is a more practical approach for bootstrapping.</li>
</ul>
<p><strong>Transactions (Production Relations):</strong> Nostr can integrate with the Bitcoin Lightning Network, providing the capability for native digital currency payments. However, this is optional. Apart from this, there are no other specific rules. Essentially, it adheres to the principle that if something is not prohibited by law, it is permitted.</p>
<p>In the Nostr ecosystem, servers are referred to as "Relays." User-generated data is temporarily stored on Relays, and because every piece of data is signed, servers cannot forge user data or claim ownership of data produced by users.</p>
<p>Data propagation depends on requests made to a public Relay to obtain a user's data. The same data can be stored on multiple Relays, and a user can request the same data from multiple Relays. This mechanism makes servers (Relays) service providers that users can freely switch between and select. They lose the power to define identity, own data, or dictate transaction rules. Servers become a more simplified role, akin to an API-connected hard drive, and their revenue generation is primarily based on providing this service.</p>
<p>In conclusion, the power of servers (Relays) is diminished, while the rights of clients are amplified. Some might be concerned about clients amassing too much power. However, due to the deconstruction of server power and reduced switching costs for users, this scenario is unlikely to materialize.</p>
<p>Of course, there is a scenario where a client introduces too many services customized beyond the scope of the Nostr protocol under the guise of "caching/optimization." This should still raise concerns, as excessive optimization can limit users to a specific client's services and prevent them from switching to other clients following the Nostr protocol's standards. This situation would be akin to the ecosystem being hijacked by a particular product.</p>
<p>At present, because switching clients incurs almost no costs, the bigger challenge is how client developers can offer products with differentiation (while remaining compatible with the Nostr protocol) and determine viable business models for clients, which seems more complex than exploring Relay business models. However, this falls under a different discussion and will not be addressed here.</p>
<p>On the other hand, I believe that Nostr's relay-client architecture is more aligned with the way human society operates in the real world.</p>
<p><strong>Relay as a Free Cache or Paid Long-Term Storage</strong> :In the Nostr ecosystem, a Relay can be seen as a service for free caching or paid long-term storage (free to cache, pay to save). Many users new to Nostr may ask, "What happens if a Relay goes offline? Do I lose my data?" The answer is yes; your data would indeed be lost. However, this might not be a problem.</p>
<p>Nostr's social network is similar to having a conversation in a physical coffee shop. Free public Relays act as a medium for distributing and caching the messages you send, just like the air carries your spoken words to others in a coffee shop. After the conversation ends, everyone goes home, and the information shared during the conversation dissipates, just like spoken words in the air.</p>
<p>Of course, if you believe that what you're saying is particularly valuable, you can run your own Relay to permanently store these messages. This is akin to people who write diaries to record what they said during a conversation when they return home. However, most people may not keep diaries. If you highly value your data, you can use a paid Relay to have the server store your data long-term. This is similar to renting a storage unit to store your belongings when your home gets too crowded.</p>
<p><strong>Relay as a Localized Autonomous Community:</strong> Present-day social networks are global, and globalization comes with its own set of challenges. The human brain cannot effectively process global information because we have historically lived in small villages with perhaps just a few hundred neighbors. When the internet inundates us with global information, our brains can easily become overwhelmed. As a result, you may feel anxious when scrolling through Twitter, as you need to care about a conflict in one part of the world, a trade war, or a technological standoff elsewhere. The Relay model has the potential to bring us back to a pattern of small localized communities, each acting autonomously. Every Relay is a community advocating local self-governance, and users are free to switch between these communities.</p>
<p>This is why I feel that Nostr is pragmatic. We're taking a step back and abandoning the pursuit of peer-to-peer (P2P) in favor of a social network model based on "polycentric, small-scale community self-governance." Why give up on P2P? Because P2P won't work (in the words of faitjaf, and I largely agree). P2P networks have been around for a while, but we've been unable to make them universally accessible as social network services, and they're often not user-friendly. So, we've shifted our focus to the model of multiple Relays and free switching between Relays, which is more practical and already up and running.</p>
<p>A common misconception is that Nostr is decentralized and censorship-resistance. In reality, each Relay acts as a gate-keeper, and each Relay chooses what data to store, effectively conducting a form of censorship. However, I find this type of censorship acceptable because Relays must bear real-world legal risks. Behind every Relay is a specific individual operating it, expending their resources to provide services. They have the right to choose their users and decide which data to accept. What we don't want is everyone being forced to obey the rules of a single server. Users have the freedom to switch between Relays, and if you disagree with a particular Relay's rules, you're entirely free to disconnect from that Relay and use another.</p>
<p><strong>Now let's take a closer look at what sets Nostr apart.</strong></p>
<h2>The Nostr ecosystem and blockchain have fundamental differences.</h2>
<p>Blockchain is a very expensive and more rigorous system. Its data must go through nodes to achieve eventual consistency. Blockchain can provide trust. For example, if a developer writes a smart contract on the blockchain, they can trust that the contract will produce results consistent with the code. For users, this means that in systems like Bitcoin, they can trust the Bitcoin blockchain to record their holdings accurately. However, this kind of trust is costly and comes at a significant expense. Each Bitcoin mining machine, for instance, pays a cost during proof-of-work (PoW) mining.</p>
<p>In contrast, Nostr is cost-effective because its system is loose. On Nostr, the only guarantee is that every message sent has been signed by an account. Users can trust only a very thin layer of assurance, which is whether the received message genuinely comes from a certain public key. Beyond this assurance, Nostr does not make any guarantees regarding Relay data availability or message order consistency.</p>
<p>However, this flexibility offers significant advantages. Nostr is a very loose and adaptable system, allowing for the spontaneous growth and development of its ecosystem. This level of freedom and flexibility means Nostr can easily connect with other systems and serve as a standard at the DID (Decentralized Identifier) layer, thanks to its simplicity. Unlike other blockchain systems, Nostr doesn't come with the biases of a particular system (e.g., BTC community not accepting the ETH community and vice versa).</p>
<p>In terms of their approach, Nostr and blockchain are fundamentally different. Blockchain systems often require a well-thought-out architectural design in advance, define every aspect of the protocol, envision the behavior of various ecological roles, design intricate economic incentive mechanisms to coordinate these roles, and develop a protocol upgrade mechanism. In contrast, Nostr's approach is to specify only the most critical rules and leave everything else to the ecosystem's own development. For example, how a Relay makes money is not a concern for the core Nostr protocol; it allows people within the ecosystem to experiment and find viable business models. </p>
<p>In summary, blockchain is excellent and may address about 5% of humanity's most crucial issues, such as currency and finance. But blockchain is also expensive, making it unrealistic to expect it to solve the remaining 95% of problems. Furthermore, not all problems require blockchain's heavyweight form of trust. Nostr, on the other hand, may be able to address 80% of these issues, which may only require lightweight trust. The remaining 15% of problems can continue to be addressed with centralized, right-wing approaches.</p>
<p>For me, what makes Nostr most intriguing is not just the protocol itself but the "ecosystem." Regardless of how well-designed a protocol may be, it can never develop and evolve without a community of people surrounding it. Nostr's most valuable asset isn't the protocol itself; it's the community that has gathered around it. Many are Bitcoin maximalists, but there are also many who are not particularly enthusiastic about blockchain technology. If you delve into the development of the Nostr ecosystem, you'll be amazed by the vitality and energy it demonstrates. This vitality aligns cleverly with the principles followed by the group that established standards for the early TCP/IP protocols (IETF):</p>
<ul>
<li>We reject: kings, presidents, and voting.</li>
<li>We believe in: rough consensus and running code.</li>
</ul>
<p>That is, our credo is that we don't let a single individual dictate decisions (a king or president), nor should decisions be made by a vote, nor do we want decisions to be made in a vacuum without practical experience. Instead, we strive to make our decisions by the consent of all participants, though allowing for some dissent (rough consensus), and to have the actual products of engineering (running code) trump theoretical designs.</p>
<p>In the Nostr ecosystem, you can find some similar characteristics:</p>
<ol>
<li>Organization structure: no official organization, light funding by people like Jack</li>
<li>NIPs: loosely join, everything is optional, openly debated, the founder is not afraid of being subjective</li>
<li>Developers ship fast: Everything happens publicly on the Nostr protocol(launch/discussion/feedback/debate)</li>
</ol>
<p>most new things added in the Nostr protocol are done this way: firstly some clients/relays software developers introduce a new feature and then push the feature to public users, users give some feedback, and other developers notice that and start the discussion, some people writing NIPs, have debate on the NIP drafts, and then finally merge the NIPs —— <strong>this is true “rough consensus and running code” looks like.</strong> </p>
<p><strong>Conclusion</strong></p>
<p><strong>In summary, the original vision of cyberspace has diverged from reality.</strong> </p>
<p>Technological advancements, whether from P2P or blockchain's left-wing forces, have prompted people to reconsider their initial notions of cyberspace. At this juncture, Nostr offers a pragmatic and moderate approach, providing an alternative solution. Essentially, Nostr represents a compromise because P2P and blockchain technologies, in terms of usability and cost, can be too cumbersome for many scenarios that only require lightweight trust. Nostr has a unique ecosystem, driven by the pursuit of rough consensus and running code, and its minimalistic protocol allows more room for the ecosystem's organic development. This positions it as a potential nexus for connecting various aspects of the digital world.</p>
<p>This article has covered various fragmented thoughts and ideas. Due to time constraints, many topics couldn't be explored in depth. We look forward to future opportunities to delve deeper into the challenges and opportunities that Nostr faces.</p>
]]></itunes:summary>
      <itunes:image href="https://image.nostr.build/c95016d6ff6483745134a612952bee1f8ba9f14af2dab18cbf9120ee521794f9.jpg"/>
      </item>
      
      <item>
      <title><![CDATA[为什么 Nostr 很重要：免于被服务器统治的自由]]></title>
      <description><![CDATA[Rough consensus and running code]]></description>
             <itunes:subtitle><![CDATA[Rough consensus and running code]]></itunes:subtitle>
      <pubDate>Tue, 07 Nov 2023 05:08:15 GMT</pubDate>
      <link>https://electronicmonkey.npub.pro/post/why-nostr-is-important/</link>
      <comments>https://electronicmonkey.npub.pro/post/why-nostr-is-important/</comments>
      <guid isPermaLink="false">naddr1qqt8w6re94hx7um5wgkkjuedd9khqmmjw3skuaqzypzug8epu88hzhaxm89zpw8qq2jhfkmmkj0fdm5fsdxxdkk9g34h5qcyqqq823c6n3zew</guid>
      <category>nostr</category>
      
        <media:content url="https://image.nostr.build/e3945ea7d245eff5b2bb970a044f0843dfea8e5c361be0d9b6626fd3733280fb.jpg" medium="image"/>
        <enclosure 
          url="https://image.nostr.build/e3945ea7d245eff5b2bb970a044f0843dfea8e5c361be0d9b6626fd3733280fb.jpg" length="0" 
          type="image/jpeg" 
        />
      <noteId>naddr1qqt8w6re94hx7um5wgkkjuedd9khqmmjw3skuaqzypzug8epu88hzhaxm89zpw8qq2jhfkmmkj0fdm5fsdxxdkk9g34h5qcyqqq823c6n3zew</noteId>
      <npub>npub1ghzp7g0peac4lfkeegst3cqz546dk7a5n6twazvrf3nd432yddaqa3qtwq</npub>
      <dc:creator><![CDATA[ElectronicMonkey]]></dc:creator>
      <content:encoded><![CDATA[<p><em>编者注：这是我在 <a href='/tag/nostrasia/'>#Nostrasia</a> HK 活动上的 talk，事先我没有做 PPT 而是边想边写了一篇这样的稿子，想着如果没有参会的朋友也可以“听到”这次分享。</em></p>
<hr>
<p>感谢 Nostr 让我们有这样一个机会聚在一起，分享一些关于社交网络的想法。我是 Nostr 客户端 <a href="http://flycat.club">flycat.club</a> 的作者 <a href="https://flycat.club/user/monkey@flycat.club">Digi Monkey</a>。flycat 是一个 Nostr 客户端，提供 Relay Group Switching/长文+短文信息流/Community/JoyId登陆/Metamask登陆/等功能。今天想聊聊我眼中的 Nostr，以及为什么它对于赛博空间来说是重要的。</p>
<h2>回到1996</h2>
<p>我想先分享一段话：</p>
<blockquote>
<p>We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before.</p>
</blockquote>
<p>有些朋友可能知道这句话的出处，它摘录于<a href="http://www.ideobook.com/38/declaration-independence-cyberspace/">《赛博空间独立宣言》</a>的结尾，是一个名叫约翰巴洛的人在1996年2月8日发表在互联网上的一篇文章。96年大家可以想象网络还是一个非常新鲜的东西，作为参考，网景浏览器是94年的时候发布的，所以这个时候网络，或者说赛博空间，这样一个概念应该说对当时的人们而言还很模糊，但是我们能看到刚才那篇宣言，其实用了一种很笃定的语气，描绘了一个非常理想化的乌托邦式的关于互联网社区的愿景。</p>
<p>在赛博空间独立宣言这篇文章里，它主张了两条基本的思想：</p>
<p>1、网络空间和肉身是二元的，彼此完全独立。网络空间里没有国界/没有歧视/无物质。</p>
<p>2、网络空间不需要依赖现实世界的治理，不受约束于强制性的法律，而是通过不成文的“法典”（代码/道德/伦理/利己的理念/共同福利）来形成秩序和自己的 social norms。</p>
<p>今天我们聊更多的是广义上的社交网络（social network），就是指的这样一个赛博空间，一块新的数字大陆，整个互联网线上的生活，一个大的社区，人们可以在其中交换信息和服务。</p>
<p>这跟宣言里谈论的是同一个东西。我们可以细细读下原文，看看人们当时怎么期待这样一个新事物。以下是一些原文的摘录：</p>
<blockquote>
<p>网络世界由信息传输、关系互动和思想本身组成……..我们的世界既无所不在，又虚无飘渺，但它绝不是实体所存的世界。</p>
<p>我们正在创造一个世界：在那里，所有的人都可加入，不存在因种族、经济实力、武力或出生地点生产的特权或偏见。</p>
<p>我们正在创造一个世界，在那里，任何人，在任何地方，都可以表达他们的信仰而不用害怕被强迫保持沉默或顺从，不论这种信仰是多么的奇特。</p>
<p>你们关于财产、表达、身份、迁徙的法律概念及其情境对我们均不适用。所有的这些概念都基于物质实体，而我们这里并不存在物质实体。</p>
<p>我们的成员没有躯体，因此，与你们不同，我们不能通过物质强制来获得秩序。我们相信，我们的治理将生成于伦理、开明的利己以及共同福利。我们内部的文化世界所共同认可的惟一法律就是“黄金规则”（己所不欲，勿施于人）。我们希望能够在此基础上构建我们独特的解决办法。</p>
</blockquote>
<p>可以看到，那时候的想象，是非常理想化的。它对治理的设想，也比较模糊。跟今天的网络世界，已经成为我们日常的、现实的网络世界（互联网）相比，是非常不同的，已经分叉了。甚至有很多 web3/blockchain 的社区会说，互联网走了一段弯路，背离了原本的初心。</p>
<h2>今天的赛博世界</h2>
<p>我们上面提到的《独立宣言》里的两条基本思想，现在的互联网都违背了：</p>
<p>1、今天互联网之所以这么强大，很大原因是它和现实缝合了在一起，不是彼此独立的二元关系。例如许多 o2o 服务，外卖、打车、住宿等等，从头到脚全面包围了人们的生活。网络已经入侵了现实，甚至反过来指导现实生活了。而在早期，网络更像是一块纯粹的思想的新大陆。大家很乐观的认为，可以单独为人类的思想创造一个自由的家园。</p>
<p>2、这个家园不受现实法律和国家政府的管理，是纯自治的。今天这一点也被推翻了。今天各个国家都在积极管理网络，出台各种各样的电信法律，主要是遵循属地管理的原则：一项互联网服务，它所属的主体、服务器的所在地、数据存储的所在地，这些地方在哪，哪里的政府和当地法律法规，就会相对应地，对在这些土地上托管的互联网服务进行监管。</p>
<p>这里我们不谈这两点基本观念的被推翻，究竟是对是错。不谈是不是《赛博空间独立宣言》提倡的就一定是对的。我们只说理想中的，跟现实实际发生的，这二者存在了比较大的落差，发生了变化。</p>
<p>我感兴趣的问题是，这个变化是怎样发生的？</p>
<p>1、主流旋律视角来看，是一种赛博朋克的发生，大公司/政府/技术本身的发展，脱缰于人们的控制，创造了“高科技、低生活”（high tech，low life）的现实。</p>
<ul>
<li>例子1，外卖小哥就是科幻小说里的赏金猎人，被某个系统雇佣，在算法的管理下生存，有很多人想要逃出去，但更多时候需要依赖它。</li>
<li>例子2，纯粹精神层面上的生活，更贴近社交网络上的这部分，今天人们在 twitter 上的生活也是如此。你在 twitter 上是没有最基本的权利的，就是账号的所有权，用户只有暂时的使用权，更不用说自由说话的权利，这些都掌握在马斯克和 twitter 这家公司手里。</li>
</ul>
<p>2、另一个视角，我们从机器和人的视角来看，我认为这一场变化也是人和机器之间的权力战争。 </p>
<blockquote>
<p><strong>a civilization war between machines and humans</strong> </p>
</blockquote>
<p>这里的机器，更多指的是服务器。网络上的一项服务，尤其是平台型的产品，通常会由服务器和客户端两部分组成，服务器掌握在私人企业或者开发者手里，需要通过授权的 API 才能访问，客户端则是用户在本地使用的软件，不管是通过浏览器访问 web 还是手机里的一个 app。用户使用客户端，通过授权去向服务器访问，读写一些数据，进行某些计算，消费一项服务。</p>
<p>服务器在这个流程里占据了最大的权力：</p>
<ul>
<li>ID （名字/身份/账号，“我是谁，怎么证明我是我” ，以及一个副产品：关系链</li>
</ul>
<p>身份 ID 是你向服务器请求注册的，请求它给你一个名分。它愿意给你就给你，不愿意给你，也可以把你的身份给另一个人。比如微博的用户名是不可以重复的，那好的名字给谁呢？服务器说了算。同时因为服务器可以决定“你是谁”，你的朋友是谁，也就是所谓的社交关系链，常常作为身份ID的一种副产品，也是被服务器所控制的。最典型的例子就是微信。通讯录是微信最宝贵的资产。</p>
<ul>
<li>数据（生产资料 — 数据放在哪/谁有权利接管/是否可以伪造数据/所有权/使用权属于谁</li>
</ul>
<p>虽然大部分数据是用户生产的，但是数据是存在服务器上的，而且谁生产的数据/是否可以伪造数据，这个关系和保证也是服务器背书的，大部分情况下你对你自己生产的数据只有使用权，所有权是归平台的。</p>
<ul>
<li>交易 （生产关系 — 谁可以提供服务/消费服务，遵守什么样的交易规则/是否需要抽成</li>
</ul>
<p>规则是写在服务器里面的，服务器可以随时更改规则，因为服务器同时拥有了数据，而规则的修改往往涉及到数据的使用/获取需要进行调整，它想怎么改就可以怎么改。</p>
<p><strong>我们可以看到，服务器对用户提供服务的这个过程，很像是一个国家对人的管理。</strong></p>
<p>你在 twitter 上注册账号，相当于你在公安局做了一次户口登记，公安局发给你一串身份证号，你的 ID，然后身份证是你证明自己的通行证，有了身份你才可以在这个国家租房子住、生产、消费。整个过程同时还会伴有法律、道德这样的社会规则对你的行为进行约束。</p>
<p>在 twitter 上也有“用户使用条款”这样类似的东西，类比现实世界里，就相当于是法律。如果你的账号有某些行为不被允许，twitter 就会收回你的账号。但是线上这套东西，跟线下的法律比，实在糟糕很多。国家公民还有权利去参与法律的制定、也有司法/律师这样的制度赋予公民辩论的空间，保证程序正义，但是线上是完全没有的，twitter 完全是自己说了算。</p>
<p>所以我们需要意识到，在赛博空间里的，人的基本权利，所谓“人权”，其实是比现实世界还要欠缺的。如果现实世界中，人们已经是现代文明、步入了主权国家的阶段，那么在赛博空间里，我们大概还处于奴隶制或者封建制的时代。服务器就是那里面的王，君主和皇帝。</p>
<h2>Nostr在这个变化里属于什么角色</h2>
<p>Nostr 有非常特别的定位。我喜欢用这样一个图谱来看待它的定位，从左至右是“中心化”和“去中心化”的两个极端，Nostr 大概处于中间更靠右边一点的位置：</p>
<p><img src="https://image.nostr.build/23739580cbb7d031885757a2e4fa8684dd410f3f8f706b914b8a2f5f6d041e51.jpg" alt="image.png"></p>
<p>注意，在这个图谱里面，我们其实是在描述和谈论赛博空间里提供服务的不同的类型，属于一种做事情的方法，或者说技术架构上的选择，跟线下的政治身份是没有关系的。左翼和右翼只是一种比喻。</p>
<h3>Right Wings（centralization）</h3>
<p>中心化的极端上，大部分使用的就是我们上面说的服务器权力最大化的模式。我们可以给他们打个标签，叫右翼，保守派。他们有以下组成部分：</p>
<ul>
<li>商业公司（主流力量，大公司/创业公司）</li>
<li>个人/小群体（geek self-hosting / indie developer）</li>
<li>政府（政府门户/社会机构提供的服务/政务的线上化）</li>
</ul>
<blockquote>
<p>Right Wings builds a lot of servers, and lots of machines, and we live under the rule of those machines.</p>
</blockquote>
<p>值得注意的是，右翼这里面也有一些比较美好的独立开发者，他们往往以手工业的形式，提供一些比较独特的软件和服务。但是仍然是采用服务器权力最大化的模式，即开发者一个人说了算。</p>
<p>再举一个例子，<np-embed url="https://tilde.town/"><a href="https://tilde.town/">https://tilde.town/</a></np-embed>，这是一个在 Linux 服务器上搭建的社区，发起人提供服务器的资源，你可以向社区申请入驻，得到访问这台公共服务器的 ssh 凭证，从而接入服务器，在上面写东西、画画、make things，整个社区都能互相分享居民们的创造。</p>
<p>这个社区是典型的人治，入驻申请是发起人手动确认的，如果你行为不好，他也可以直接把你踢出去。这个社区现在的人口接近 1000 个人，是非常小且美好的社区，不过它仍然是我们上面说的那种模式。</p>
<p><img src="https://image.nostr.build/1b0b16ff4d6e6ecbea57021e6d2900fc19cef13c4a8762291c24e1d2d02911bc.jpg" alt="image.png"></p>
<p>所以很多时候右翼这种做法，也是合理的。<strong>只要社区的居民本身同意服务器的统治</strong>，社区发展不受阻碍，那么也不一定需要把这种中心化的模式全部替代成去中心化的。中心化服务有它合理存在的一面。这也是为什么我不同意“区块链吃掉一切“的观点。</p>
<h3>Left Wings（decentralization）</h3>
<p>左翼指的是去中心化这个极端上的做法。他们包括以下几种形式：</p>
<ul>
<li>p2p network（志愿节点，Bittorrent/Tor/SSB）</li>
<li>blockchain（代码为强制性的准则，需要激励&amp;共识）</li>
<li>自由软件（不提供服务，开源/捐助）</li>
</ul>
<blockquote>
<p>Left Wings actually wants everybody to run their little homebrew machines, and unit all the devices from people under one global cyber law. That is the code of the law, the so-called consensus layer in the blockchain network.</p>
</blockquote>
<p>左翼激进派也是当前比较重要的一股力量。以区块链为例，左翼是怎么做的呢？基本上它们是希望打造一个公平的、所有人都参与进来的系统，这套系统的规则很严密，比如比特币总量就是2100万个，每挖出一个都需要经过挖坑计算，任何节点都需要遵守同一套代码的规则。</p>
<p>而这套代码的规则怎么修改和升级，又有关于这套规则的修改的规则，比如有的区块链是使用 DAO 来投票，决定一项提议是否能被纳入共识中，成为新的规则。当然比特币可能更多是使用链下治理的方式，每次系统升级可能主要取决于矿工节点的采纳和支持。</p>
<p>所以区块链其实也是在创造一整套非常理想化的系统，这个系统像是古希腊那种全民参与政治生活的非常细致的系统。与之对比，Nostr 并没有这样的雄心壮志，它更多是以一种松散的形式，只规定核心的几条规则，其他的你们爱怎么样怎么样，可能更贴近于现代自由主义，个人生活和政治生活之间有一条明确的线，在这条线之外的，法律完全不需要进行干涉，也无权进行干涉。</p>
<p>我们可以更仔细地看看 Nostr 的区别在哪里。</p>
<h3>Nostr：更务实的中庸之道</h3>
<p>Nostr 的协议是极简的，定位是特别的，它不靠左，也不靠右，选择了一个比较中庸的站位。我们同样从 ID（身份）、数据（生产资料）、交易（生产关系）这三方面进行对比。</p>
<ul>
<li>ID（身份）：只是一对公私钥，用户自己掌控。服务器无法剥夺用户的身份，它无法让“我不是我”，只有“我”能证明“我是我”。</li>
<li>数据（生产资料）：Nostr 定义了数据的格式 （一个非常简单的 JSON）和传播（服务器与客户端之间的通信标准）</li>
</ul>
<ol>
<li>数据的格式：需要遵守同一个标准，其中最重要的规定是发出的任何消息必须要签名。</li>
<li>数据的传播：hardcode 使用 websocket 来进行服务器/客户端的通信，定义了基本的通信格式。why hardcode？更利于 boostrap，务实做法。</li>
</ol>
<ul>
<li>交易（生产关系）：可以嵌入比特币闪电网络，提供原生数字货币的支付能力，但只是一个可选项（非常重要），除此之外没有任何其他规定，法无禁止即可为。</li>
</ul>
<p>服务器在 Nostr 生态被称作 Relay，用户生产的数据只是暂时保管在 Relay 上，而且因为每个数据都有签名，所以服务器无法伪造用户数据，或者剥夺用户生产了某个数据的关系。</p>
<p>数据的传播依赖于向公共 Relay 发起请求获取某一个用户的数据，而一份数据可以存放在多个 Relay 上，一个用户也可以向多个 Relay 请求获取同一份数据。这样的机制导致服务器（Relay）成为了一个用户可以自由切换、自由选择的服务商。它失去了定义身份、掌握数据所有权、制定交易规则的权力，只剩下暂时备份存储数据的功能，更像一块 API 联网的硬盘，只能通过提供这部分服务来收取费用。服务器变成了更单纯的一个角色。</p>
<p><strong>结论：服务器（Relay）的权力被削弱，客户端的权利被放大。</strong></p>
<p>有人会担心，这样客户端的权力又会不会太大？比如出现某个客户端一家独大的场面，锁死了用户，无法退出？答案是不会。因为服务器的权力已经被解构了，用户切换客户端的成本也同样降低了很多，所以这部分是不太需要担心的。</p>
<p>当然，有一种情况是，客户端可能会打着“缓存/优化”的名义，引入了过多超出 Nostr 协议范围内的客户端定制化的服务，这种做法仍然是需要引起警示的。因为一旦这些所谓的优化太多了，那么我们很容易又受限于某个特定客户端的服务的统治，而不是遵循 Nostr 协议的标准，导致无法切换选择其他的客户端。这种情况就是生态被某个产品绑架了。</p>
<p>但就现在而言，因为切换客户端几乎没有成本，更大的难题是客户端的开发者如何提供有差异化（但仍然兼容于 Nostr 协议）的产品，甚至客户端应该如何拥有商业模式，看起来比 Relay 的商业模式更难探索。但这部分属于其他内容，暂且不表。</p>
<p>另一方面来说，我觉得 Nostr 的 relay-client 架构是更贴近现实中人类社会运作的模式。</p>
<ol>
<li><strong>Relay as a free-cache or paid-long-term-storage</strong></li>
</ol>
<p>Relay 在 Nostr 的生态里可以被视为一种免费缓存/付费长期存储的服务（free to cache, pay to save)。很多刚加入 Nostr 的用户会问一个问题，如果 Relay 下线了怎么办，我的数据是不是就丢了？答案是没错，你的数据确实就会丢了。但这可能不是一个问题。</p>
<p>Nostr 的社交网络就像线下你去某家咖啡厅跟人交谈一样，免费的公共 Relay 只是免费帮你缓存一下你发出的数据，它是一种传播的介质，就像咖啡馆的这场对话，声音是通过空气传播一样，Relay 帮你把声音传出去，让参与对话的其他人可以听到你的消息。然后这场交谈结束之后，大家各自回家，这些交谈的信息也就一并消失在空气了。</p>
<p>当然，如果你觉得自己说的话特别有价值，你也可以自己跑一个 Relay 把这些消息永久存储下来，这就像有的人回家了会写一下日记，记录今天自己这场对话里说了什么一样，只是大部分人可能并不会记日记。如果你特别重视自己的数据，也可以使用付费的 Relay，让付费的服务器帮你保存数据。这就像在生活中你家里东西太多了，出去租了一个仓库放自己的东西一样。 </p>
<ol>
<li><strong>Relay as a localized autonomous community</strong></li>
</ol>
<p>现在的社交网络是全球化的，全球化会有全球化的问题。人脑其实无法处理全球化的信息，因为我们长期以来就生活在一个小村庄里，邻居可能就几百人，当网络给了你全球化的信息时，你的大脑很容易处理不过，所以你总是在刷 twitter 的时候感觉焦虑，看到打仗的新闻要关心，那边贸易战、技术卡脖子也要担心。Relay 的模式有机会让我们回归到一个个的小社区的模式。每个 Relay 就是一个社区，推行本地自治，切换 Relay 可以自由切换这些社区。</p>
<p>为什么我感觉 Nostr 是务实的呢，也是这一点。我们其实是在后退一步，放弃 P2P 的追求，转而去寻找“多中心化的、小规模社区自治”的社交网络。为什么放弃 P2P 呢？因为 P2P won't work（这是 faitjaf 的原话，我也很同意）。P2P 网络出现了这么久，我们没有办法让它成为人人可用的社交网络服务，它也确实不好用。所以我们转而去追求多个 Relay、只是自由切换 Relay 的模式，显然它更落地，至少已经可以跑起来了。</p>
<p>很多人的一个误区是认为，Nostr 是去中心化的、没有 censorship，其实每个 Relay 就是一个中心，每个 Relay 选择存放什么样的数据，就是在对数据进行一种审查。但这个审查我认为是可以接受的，因为 Relay 需要承担现实对应的法律风险，Relay 背后有一个具体的人在运营，他在付出自己的成本去提供服务，他有权利选择服务什么样的用户、接受什么样的数据。我们不想要的，只是所有人被迫去服从一个统一的服务器的规则。Relay 可以自由切换，如果你不喜欢某个 Relay 的规则，那你完全可以切掉这个 Relay 去使用其他 Relay。</p>
<h2>Nostr 生态与区块链的区别</h2>
<p>区块链是一个非常昂贵且更加严格的系统。它的数据需要经过节点达成共识，得到最终一致性（eventual consistency）的保证。区块链可以提供信任，比如开发者写了一个智能合约放在链上，他能信任合约跑出来的结果和代码里写的就是一样的，对用户来说，意味着比特币这样的系统，我能相信比特币这条链，它记录我有多少比特币，这一整个账本是可信的。但是这种信任是非常昂贵的，要付出很大的代价，每台比特币矿机在做 POW 挖矿的时候，就是在支付这样的代价。</p>
<p>相反，Nostr 是很便宜的，因为它的系统很松散，我们在 Nostr 上只是保证了每一条发出去的消息都经过了账户的签名，你能得到的只有“接收到的消息是不是真的来自某个公钥”这样一层非常薄的信任。除了这个信任之外，其他 Nostr 都不对你做保证，Relay 数据的可用性、消息顺序的一致性，这些统统不管。</p>
<p>但是相对应带来的好处是，Nostr 非常松散、非常灵活，很多协议不做规定的部分，就是一个生态自发生长、自由发展的空间。这样的自由和灵活度意味着，Nostr 很容易连接其他系统，很容易成为 DID 这一层的标准，因为它足够薄、足够简单。而且它不像其他区块链系统那样，自带某一个系统的偏见（比如BTC社区不会接受ETH社区，ETH社区不会接受BTC社区）。</p>
<p>在做事情的方法上，Nostr 和区块链有本质上的不同。区块链系统往往需要事先有比较缜密的架构设计，规定好协议的边边角角，设想协议中各个生态角色的行为逻辑，设计好的经济激励机制来协调这些不同的生态角色，同时也需要设计一个协议升级的机制。而 Nostr 的做法是，只去制定几条最重要的规则，其他的不管了，让生态自己发展。比如Relay怎么赚钱，这不是 Nostr 核心协议应该关心的问题，让生态里的人自己去折腾，最终可能切实能提供价值的 Relay 才能存活下来，找到真正行得通的商业模式。</p>
<p>总的来说，区块链很棒，区块链也许能解决整个人类社会 5% 的问题。5%非常珍贵的关键的问题，比如货币和金融。但是区块链同时也很昂贵，你很难期盼它继续去解决其他 95% 的问题。而且也并不是所有问题都需要使用区块链这种重量级的信任。作为对比，Nostr 或许能解决其他 80% 的问题，这 80% 的问题可能只需要轻量级的信任，而最后剩余的 15% 则继续保持原有的中心化的、右翼派的做法就行了。</p>
<p>对我来说，Nostr 更有意思的是除了协议之外的部分，也就是“生态”。无论一个协议设计多么精巧，如果没有一群人围绕着它做事，那么这个协议永远无法发展和进化。Nostr 最大的财富不是协议本身，而是围绕协议聚集的这一群人。他们很多是 BTC maxi，但也有很多对区块链不感冒的人。如果你去深入看 Nostr 生态的发展，你会惊讶于它展示出来的生命力与活力，而这种活力在我看来，正好跟当年 TCP/IP 那群人(IETF)制定标准的时候所遵循的原则形成了巧妙的共鸣：</p>
<blockquote>
<p>We reject: kings, presidents and voting.</p>
<p>我们拒绝：国王、总统和投票。</p>
<p>We believe in: rough consensus and running code.</p>
<p>我们相信：大致的共识和运行的代码。</p>
<p>That is, our credo is that we don't let a single individual dictate decisions (a king or president), nor should decisions be made by a vote, nor do we want decisions to be made in a vacuum without practical experience. Instead, we strive to make our decisions by the consent of all participants, though allowing for some dissent (rough consensus), and to have the actual products of engineering (running code) trump theoretical designs.</p>
<p>也就是说，我们的信条是，我们不让一个人（国王或总统）主宰决策，也不应该通过投票做出决策，也不希望决策是在没有实际经验的真空中做出的。相反，我们努力在所有参与者的同意下做出决定，尽管允许一些异议（粗略的共识），并让工程（运行代码）的实际产品胜过理论设计。</p>
</blockquote>
<p>在 Nostr 生态里，有相似的一些特征。</p>
<ol>
<li>Organization structure: no official organization, light funding by people like Jack</li>
<li>NIPs: loosely join, everything is optional, openly debated, the founder is not afraid of being subjective</li>
<li>Developers ship fast: Everything happens publicly on the Nostr protocol(launch/discussion/feedback/debate)</li>
</ol>
<p>most new things added in the Nostr protocol are done this way: firstly some clients/relays software developers introduce a new feature and then push the feature to public users, users give some feedback, and other developers notice that and start the discussion, some people writing NIPs, have debate on the NIP drafts, and then finally merge the NIPs ——<strong>this is true “rough consensus and running code” looks like.</strong> </p>
<h2>总结</h2>
<p>赛博空间最初的想象和现实发生了分叉。而技术的发展，不论是 P2P 还是区块链的左翼力量，让人们试图重新审视最初对赛博空间的想象。这时候 Nostr 以一种务实中庸的定位，给出了不一样的解题思路。本质上 Nostr 是一种退而求其次，因为 P2P/区块链无论在技术的易用性上，还是技术成本上，对许多只需要轻量级信任的场景而言，都过于笨重了。Nostr 有非常独特的生态，追求粗略共识和可以运行的代码，协议本身的极简为生态的自由发展留下了更多空间，使它有可能成为一个连接万物的原点。</p>
<p>这篇文章零零散散，谈了很多零碎的看法。时间有限，许多话题无法展开，期待以后有机会深入聊聊 Nostr 面临的挑战和机遇。</p>
]]></content:encoded>
      <itunes:author><![CDATA[ElectronicMonkey]]></itunes:author>
      <itunes:summary><![CDATA[<p><em>编者注：这是我在 <a href='/tag/nostrasia/'>#Nostrasia</a> HK 活动上的 talk，事先我没有做 PPT 而是边想边写了一篇这样的稿子，想着如果没有参会的朋友也可以“听到”这次分享。</em></p>
<hr>
<p>感谢 Nostr 让我们有这样一个机会聚在一起，分享一些关于社交网络的想法。我是 Nostr 客户端 <a href="http://flycat.club">flycat.club</a> 的作者 <a href="https://flycat.club/user/monkey@flycat.club">Digi Monkey</a>。flycat 是一个 Nostr 客户端，提供 Relay Group Switching/长文+短文信息流/Community/JoyId登陆/Metamask登陆/等功能。今天想聊聊我眼中的 Nostr，以及为什么它对于赛博空间来说是重要的。</p>
<h2>回到1996</h2>
<p>我想先分享一段话：</p>
<blockquote>
<p>We will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before.</p>
</blockquote>
<p>有些朋友可能知道这句话的出处，它摘录于<a href="http://www.ideobook.com/38/declaration-independence-cyberspace/">《赛博空间独立宣言》</a>的结尾，是一个名叫约翰巴洛的人在1996年2月8日发表在互联网上的一篇文章。96年大家可以想象网络还是一个非常新鲜的东西，作为参考，网景浏览器是94年的时候发布的，所以这个时候网络，或者说赛博空间，这样一个概念应该说对当时的人们而言还很模糊，但是我们能看到刚才那篇宣言，其实用了一种很笃定的语气，描绘了一个非常理想化的乌托邦式的关于互联网社区的愿景。</p>
<p>在赛博空间独立宣言这篇文章里，它主张了两条基本的思想：</p>
<p>1、网络空间和肉身是二元的，彼此完全独立。网络空间里没有国界/没有歧视/无物质。</p>
<p>2、网络空间不需要依赖现实世界的治理，不受约束于强制性的法律，而是通过不成文的“法典”（代码/道德/伦理/利己的理念/共同福利）来形成秩序和自己的 social norms。</p>
<p>今天我们聊更多的是广义上的社交网络（social network），就是指的这样一个赛博空间，一块新的数字大陆，整个互联网线上的生活，一个大的社区，人们可以在其中交换信息和服务。</p>
<p>这跟宣言里谈论的是同一个东西。我们可以细细读下原文，看看人们当时怎么期待这样一个新事物。以下是一些原文的摘录：</p>
<blockquote>
<p>网络世界由信息传输、关系互动和思想本身组成……..我们的世界既无所不在，又虚无飘渺，但它绝不是实体所存的世界。</p>
<p>我们正在创造一个世界：在那里，所有的人都可加入，不存在因种族、经济实力、武力或出生地点生产的特权或偏见。</p>
<p>我们正在创造一个世界，在那里，任何人，在任何地方，都可以表达他们的信仰而不用害怕被强迫保持沉默或顺从，不论这种信仰是多么的奇特。</p>
<p>你们关于财产、表达、身份、迁徙的法律概念及其情境对我们均不适用。所有的这些概念都基于物质实体，而我们这里并不存在物质实体。</p>
<p>我们的成员没有躯体，因此，与你们不同，我们不能通过物质强制来获得秩序。我们相信，我们的治理将生成于伦理、开明的利己以及共同福利。我们内部的文化世界所共同认可的惟一法律就是“黄金规则”（己所不欲，勿施于人）。我们希望能够在此基础上构建我们独特的解决办法。</p>
</blockquote>
<p>可以看到，那时候的想象，是非常理想化的。它对治理的设想，也比较模糊。跟今天的网络世界，已经成为我们日常的、现实的网络世界（互联网）相比，是非常不同的，已经分叉了。甚至有很多 web3/blockchain 的社区会说，互联网走了一段弯路，背离了原本的初心。</p>
<h2>今天的赛博世界</h2>
<p>我们上面提到的《独立宣言》里的两条基本思想，现在的互联网都违背了：</p>
<p>1、今天互联网之所以这么强大，很大原因是它和现实缝合了在一起，不是彼此独立的二元关系。例如许多 o2o 服务，外卖、打车、住宿等等，从头到脚全面包围了人们的生活。网络已经入侵了现实，甚至反过来指导现实生活了。而在早期，网络更像是一块纯粹的思想的新大陆。大家很乐观的认为，可以单独为人类的思想创造一个自由的家园。</p>
<p>2、这个家园不受现实法律和国家政府的管理，是纯自治的。今天这一点也被推翻了。今天各个国家都在积极管理网络，出台各种各样的电信法律，主要是遵循属地管理的原则：一项互联网服务，它所属的主体、服务器的所在地、数据存储的所在地，这些地方在哪，哪里的政府和当地法律法规，就会相对应地，对在这些土地上托管的互联网服务进行监管。</p>
<p>这里我们不谈这两点基本观念的被推翻，究竟是对是错。不谈是不是《赛博空间独立宣言》提倡的就一定是对的。我们只说理想中的，跟现实实际发生的，这二者存在了比较大的落差，发生了变化。</p>
<p>我感兴趣的问题是，这个变化是怎样发生的？</p>
<p>1、主流旋律视角来看，是一种赛博朋克的发生，大公司/政府/技术本身的发展，脱缰于人们的控制，创造了“高科技、低生活”（high tech，low life）的现实。</p>
<ul>
<li>例子1，外卖小哥就是科幻小说里的赏金猎人，被某个系统雇佣，在算法的管理下生存，有很多人想要逃出去，但更多时候需要依赖它。</li>
<li>例子2，纯粹精神层面上的生活，更贴近社交网络上的这部分，今天人们在 twitter 上的生活也是如此。你在 twitter 上是没有最基本的权利的，就是账号的所有权，用户只有暂时的使用权，更不用说自由说话的权利，这些都掌握在马斯克和 twitter 这家公司手里。</li>
</ul>
<p>2、另一个视角，我们从机器和人的视角来看，我认为这一场变化也是人和机器之间的权力战争。 </p>
<blockquote>
<p><strong>a civilization war between machines and humans</strong> </p>
</blockquote>
<p>这里的机器，更多指的是服务器。网络上的一项服务，尤其是平台型的产品，通常会由服务器和客户端两部分组成，服务器掌握在私人企业或者开发者手里，需要通过授权的 API 才能访问，客户端则是用户在本地使用的软件，不管是通过浏览器访问 web 还是手机里的一个 app。用户使用客户端，通过授权去向服务器访问，读写一些数据，进行某些计算，消费一项服务。</p>
<p>服务器在这个流程里占据了最大的权力：</p>
<ul>
<li>ID （名字/身份/账号，“我是谁，怎么证明我是我” ，以及一个副产品：关系链</li>
</ul>
<p>身份 ID 是你向服务器请求注册的，请求它给你一个名分。它愿意给你就给你，不愿意给你，也可以把你的身份给另一个人。比如微博的用户名是不可以重复的，那好的名字给谁呢？服务器说了算。同时因为服务器可以决定“你是谁”，你的朋友是谁，也就是所谓的社交关系链，常常作为身份ID的一种副产品，也是被服务器所控制的。最典型的例子就是微信。通讯录是微信最宝贵的资产。</p>
<ul>
<li>数据（生产资料 — 数据放在哪/谁有权利接管/是否可以伪造数据/所有权/使用权属于谁</li>
</ul>
<p>虽然大部分数据是用户生产的，但是数据是存在服务器上的，而且谁生产的数据/是否可以伪造数据，这个关系和保证也是服务器背书的，大部分情况下你对你自己生产的数据只有使用权，所有权是归平台的。</p>
<ul>
<li>交易 （生产关系 — 谁可以提供服务/消费服务，遵守什么样的交易规则/是否需要抽成</li>
</ul>
<p>规则是写在服务器里面的，服务器可以随时更改规则，因为服务器同时拥有了数据，而规则的修改往往涉及到数据的使用/获取需要进行调整，它想怎么改就可以怎么改。</p>
<p><strong>我们可以看到，服务器对用户提供服务的这个过程，很像是一个国家对人的管理。</strong></p>
<p>你在 twitter 上注册账号，相当于你在公安局做了一次户口登记，公安局发给你一串身份证号，你的 ID，然后身份证是你证明自己的通行证，有了身份你才可以在这个国家租房子住、生产、消费。整个过程同时还会伴有法律、道德这样的社会规则对你的行为进行约束。</p>
<p>在 twitter 上也有“用户使用条款”这样类似的东西，类比现实世界里，就相当于是法律。如果你的账号有某些行为不被允许，twitter 就会收回你的账号。但是线上这套东西，跟线下的法律比，实在糟糕很多。国家公民还有权利去参与法律的制定、也有司法/律师这样的制度赋予公民辩论的空间，保证程序正义，但是线上是完全没有的，twitter 完全是自己说了算。</p>
<p>所以我们需要意识到，在赛博空间里的，人的基本权利，所谓“人权”，其实是比现实世界还要欠缺的。如果现实世界中，人们已经是现代文明、步入了主权国家的阶段，那么在赛博空间里，我们大概还处于奴隶制或者封建制的时代。服务器就是那里面的王，君主和皇帝。</p>
<h2>Nostr在这个变化里属于什么角色</h2>
<p>Nostr 有非常特别的定位。我喜欢用这样一个图谱来看待它的定位，从左至右是“中心化”和“去中心化”的两个极端，Nostr 大概处于中间更靠右边一点的位置：</p>
<p><img src="https://image.nostr.build/23739580cbb7d031885757a2e4fa8684dd410f3f8f706b914b8a2f5f6d041e51.jpg" alt="image.png"></p>
<p>注意，在这个图谱里面，我们其实是在描述和谈论赛博空间里提供服务的不同的类型，属于一种做事情的方法，或者说技术架构上的选择，跟线下的政治身份是没有关系的。左翼和右翼只是一种比喻。</p>
<h3>Right Wings（centralization）</h3>
<p>中心化的极端上，大部分使用的就是我们上面说的服务器权力最大化的模式。我们可以给他们打个标签，叫右翼，保守派。他们有以下组成部分：</p>
<ul>
<li>商业公司（主流力量，大公司/创业公司）</li>
<li>个人/小群体（geek self-hosting / indie developer）</li>
<li>政府（政府门户/社会机构提供的服务/政务的线上化）</li>
</ul>
<blockquote>
<p>Right Wings builds a lot of servers, and lots of machines, and we live under the rule of those machines.</p>
</blockquote>
<p>值得注意的是，右翼这里面也有一些比较美好的独立开发者，他们往往以手工业的形式，提供一些比较独特的软件和服务。但是仍然是采用服务器权力最大化的模式，即开发者一个人说了算。</p>
<p>再举一个例子，<np-embed url="https://tilde.town/"><a href="https://tilde.town/">https://tilde.town/</a></np-embed>，这是一个在 Linux 服务器上搭建的社区，发起人提供服务器的资源，你可以向社区申请入驻，得到访问这台公共服务器的 ssh 凭证，从而接入服务器，在上面写东西、画画、make things，整个社区都能互相分享居民们的创造。</p>
<p>这个社区是典型的人治，入驻申请是发起人手动确认的，如果你行为不好，他也可以直接把你踢出去。这个社区现在的人口接近 1000 个人，是非常小且美好的社区，不过它仍然是我们上面说的那种模式。</p>
<p><img src="https://image.nostr.build/1b0b16ff4d6e6ecbea57021e6d2900fc19cef13c4a8762291c24e1d2d02911bc.jpg" alt="image.png"></p>
<p>所以很多时候右翼这种做法，也是合理的。<strong>只要社区的居民本身同意服务器的统治</strong>，社区发展不受阻碍，那么也不一定需要把这种中心化的模式全部替代成去中心化的。中心化服务有它合理存在的一面。这也是为什么我不同意“区块链吃掉一切“的观点。</p>
<h3>Left Wings（decentralization）</h3>
<p>左翼指的是去中心化这个极端上的做法。他们包括以下几种形式：</p>
<ul>
<li>p2p network（志愿节点，Bittorrent/Tor/SSB）</li>
<li>blockchain（代码为强制性的准则，需要激励&amp;共识）</li>
<li>自由软件（不提供服务，开源/捐助）</li>
</ul>
<blockquote>
<p>Left Wings actually wants everybody to run their little homebrew machines, and unit all the devices from people under one global cyber law. That is the code of the law, the so-called consensus layer in the blockchain network.</p>
</blockquote>
<p>左翼激进派也是当前比较重要的一股力量。以区块链为例，左翼是怎么做的呢？基本上它们是希望打造一个公平的、所有人都参与进来的系统，这套系统的规则很严密，比如比特币总量就是2100万个，每挖出一个都需要经过挖坑计算，任何节点都需要遵守同一套代码的规则。</p>
<p>而这套代码的规则怎么修改和升级，又有关于这套规则的修改的规则，比如有的区块链是使用 DAO 来投票，决定一项提议是否能被纳入共识中，成为新的规则。当然比特币可能更多是使用链下治理的方式，每次系统升级可能主要取决于矿工节点的采纳和支持。</p>
<p>所以区块链其实也是在创造一整套非常理想化的系统，这个系统像是古希腊那种全民参与政治生活的非常细致的系统。与之对比，Nostr 并没有这样的雄心壮志，它更多是以一种松散的形式，只规定核心的几条规则，其他的你们爱怎么样怎么样，可能更贴近于现代自由主义，个人生活和政治生活之间有一条明确的线，在这条线之外的，法律完全不需要进行干涉，也无权进行干涉。</p>
<p>我们可以更仔细地看看 Nostr 的区别在哪里。</p>
<h3>Nostr：更务实的中庸之道</h3>
<p>Nostr 的协议是极简的，定位是特别的，它不靠左，也不靠右，选择了一个比较中庸的站位。我们同样从 ID（身份）、数据（生产资料）、交易（生产关系）这三方面进行对比。</p>
<ul>
<li>ID（身份）：只是一对公私钥，用户自己掌控。服务器无法剥夺用户的身份，它无法让“我不是我”，只有“我”能证明“我是我”。</li>
<li>数据（生产资料）：Nostr 定义了数据的格式 （一个非常简单的 JSON）和传播（服务器与客户端之间的通信标准）</li>
</ul>
<ol>
<li>数据的格式：需要遵守同一个标准，其中最重要的规定是发出的任何消息必须要签名。</li>
<li>数据的传播：hardcode 使用 websocket 来进行服务器/客户端的通信，定义了基本的通信格式。why hardcode？更利于 boostrap，务实做法。</li>
</ol>
<ul>
<li>交易（生产关系）：可以嵌入比特币闪电网络，提供原生数字货币的支付能力，但只是一个可选项（非常重要），除此之外没有任何其他规定，法无禁止即可为。</li>
</ul>
<p>服务器在 Nostr 生态被称作 Relay，用户生产的数据只是暂时保管在 Relay 上，而且因为每个数据都有签名，所以服务器无法伪造用户数据，或者剥夺用户生产了某个数据的关系。</p>
<p>数据的传播依赖于向公共 Relay 发起请求获取某一个用户的数据，而一份数据可以存放在多个 Relay 上，一个用户也可以向多个 Relay 请求获取同一份数据。这样的机制导致服务器（Relay）成为了一个用户可以自由切换、自由选择的服务商。它失去了定义身份、掌握数据所有权、制定交易规则的权力，只剩下暂时备份存储数据的功能，更像一块 API 联网的硬盘，只能通过提供这部分服务来收取费用。服务器变成了更单纯的一个角色。</p>
<p><strong>结论：服务器（Relay）的权力被削弱，客户端的权利被放大。</strong></p>
<p>有人会担心，这样客户端的权力又会不会太大？比如出现某个客户端一家独大的场面，锁死了用户，无法退出？答案是不会。因为服务器的权力已经被解构了，用户切换客户端的成本也同样降低了很多，所以这部分是不太需要担心的。</p>
<p>当然，有一种情况是，客户端可能会打着“缓存/优化”的名义，引入了过多超出 Nostr 协议范围内的客户端定制化的服务，这种做法仍然是需要引起警示的。因为一旦这些所谓的优化太多了，那么我们很容易又受限于某个特定客户端的服务的统治，而不是遵循 Nostr 协议的标准，导致无法切换选择其他的客户端。这种情况就是生态被某个产品绑架了。</p>
<p>但就现在而言，因为切换客户端几乎没有成本，更大的难题是客户端的开发者如何提供有差异化（但仍然兼容于 Nostr 协议）的产品，甚至客户端应该如何拥有商业模式，看起来比 Relay 的商业模式更难探索。但这部分属于其他内容，暂且不表。</p>
<p>另一方面来说，我觉得 Nostr 的 relay-client 架构是更贴近现实中人类社会运作的模式。</p>
<ol>
<li><strong>Relay as a free-cache or paid-long-term-storage</strong></li>
</ol>
<p>Relay 在 Nostr 的生态里可以被视为一种免费缓存/付费长期存储的服务（free to cache, pay to save)。很多刚加入 Nostr 的用户会问一个问题，如果 Relay 下线了怎么办，我的数据是不是就丢了？答案是没错，你的数据确实就会丢了。但这可能不是一个问题。</p>
<p>Nostr 的社交网络就像线下你去某家咖啡厅跟人交谈一样，免费的公共 Relay 只是免费帮你缓存一下你发出的数据，它是一种传播的介质，就像咖啡馆的这场对话，声音是通过空气传播一样，Relay 帮你把声音传出去，让参与对话的其他人可以听到你的消息。然后这场交谈结束之后，大家各自回家，这些交谈的信息也就一并消失在空气了。</p>
<p>当然，如果你觉得自己说的话特别有价值，你也可以自己跑一个 Relay 把这些消息永久存储下来，这就像有的人回家了会写一下日记，记录今天自己这场对话里说了什么一样，只是大部分人可能并不会记日记。如果你特别重视自己的数据，也可以使用付费的 Relay，让付费的服务器帮你保存数据。这就像在生活中你家里东西太多了，出去租了一个仓库放自己的东西一样。 </p>
<ol>
<li><strong>Relay as a localized autonomous community</strong></li>
</ol>
<p>现在的社交网络是全球化的，全球化会有全球化的问题。人脑其实无法处理全球化的信息，因为我们长期以来就生活在一个小村庄里，邻居可能就几百人，当网络给了你全球化的信息时，你的大脑很容易处理不过，所以你总是在刷 twitter 的时候感觉焦虑，看到打仗的新闻要关心，那边贸易战、技术卡脖子也要担心。Relay 的模式有机会让我们回归到一个个的小社区的模式。每个 Relay 就是一个社区，推行本地自治，切换 Relay 可以自由切换这些社区。</p>
<p>为什么我感觉 Nostr 是务实的呢，也是这一点。我们其实是在后退一步，放弃 P2P 的追求，转而去寻找“多中心化的、小规模社区自治”的社交网络。为什么放弃 P2P 呢？因为 P2P won't work（这是 faitjaf 的原话，我也很同意）。P2P 网络出现了这么久，我们没有办法让它成为人人可用的社交网络服务，它也确实不好用。所以我们转而去追求多个 Relay、只是自由切换 Relay 的模式，显然它更落地，至少已经可以跑起来了。</p>
<p>很多人的一个误区是认为，Nostr 是去中心化的、没有 censorship，其实每个 Relay 就是一个中心，每个 Relay 选择存放什么样的数据，就是在对数据进行一种审查。但这个审查我认为是可以接受的，因为 Relay 需要承担现实对应的法律风险，Relay 背后有一个具体的人在运营，他在付出自己的成本去提供服务，他有权利选择服务什么样的用户、接受什么样的数据。我们不想要的，只是所有人被迫去服从一个统一的服务器的规则。Relay 可以自由切换，如果你不喜欢某个 Relay 的规则，那你完全可以切掉这个 Relay 去使用其他 Relay。</p>
<h2>Nostr 生态与区块链的区别</h2>
<p>区块链是一个非常昂贵且更加严格的系统。它的数据需要经过节点达成共识，得到最终一致性（eventual consistency）的保证。区块链可以提供信任，比如开发者写了一个智能合约放在链上，他能信任合约跑出来的结果和代码里写的就是一样的，对用户来说，意味着比特币这样的系统，我能相信比特币这条链，它记录我有多少比特币，这一整个账本是可信的。但是这种信任是非常昂贵的，要付出很大的代价，每台比特币矿机在做 POW 挖矿的时候，就是在支付这样的代价。</p>
<p>相反，Nostr 是很便宜的，因为它的系统很松散，我们在 Nostr 上只是保证了每一条发出去的消息都经过了账户的签名，你能得到的只有“接收到的消息是不是真的来自某个公钥”这样一层非常薄的信任。除了这个信任之外，其他 Nostr 都不对你做保证，Relay 数据的可用性、消息顺序的一致性，这些统统不管。</p>
<p>但是相对应带来的好处是，Nostr 非常松散、非常灵活，很多协议不做规定的部分，就是一个生态自发生长、自由发展的空间。这样的自由和灵活度意味着，Nostr 很容易连接其他系统，很容易成为 DID 这一层的标准，因为它足够薄、足够简单。而且它不像其他区块链系统那样，自带某一个系统的偏见（比如BTC社区不会接受ETH社区，ETH社区不会接受BTC社区）。</p>
<p>在做事情的方法上，Nostr 和区块链有本质上的不同。区块链系统往往需要事先有比较缜密的架构设计，规定好协议的边边角角，设想协议中各个生态角色的行为逻辑，设计好的经济激励机制来协调这些不同的生态角色，同时也需要设计一个协议升级的机制。而 Nostr 的做法是，只去制定几条最重要的规则，其他的不管了，让生态自己发展。比如Relay怎么赚钱，这不是 Nostr 核心协议应该关心的问题，让生态里的人自己去折腾，最终可能切实能提供价值的 Relay 才能存活下来，找到真正行得通的商业模式。</p>
<p>总的来说，区块链很棒，区块链也许能解决整个人类社会 5% 的问题。5%非常珍贵的关键的问题，比如货币和金融。但是区块链同时也很昂贵，你很难期盼它继续去解决其他 95% 的问题。而且也并不是所有问题都需要使用区块链这种重量级的信任。作为对比，Nostr 或许能解决其他 80% 的问题，这 80% 的问题可能只需要轻量级的信任，而最后剩余的 15% 则继续保持原有的中心化的、右翼派的做法就行了。</p>
<p>对我来说，Nostr 更有意思的是除了协议之外的部分，也就是“生态”。无论一个协议设计多么精巧，如果没有一群人围绕着它做事，那么这个协议永远无法发展和进化。Nostr 最大的财富不是协议本身，而是围绕协议聚集的这一群人。他们很多是 BTC maxi，但也有很多对区块链不感冒的人。如果你去深入看 Nostr 生态的发展，你会惊讶于它展示出来的生命力与活力，而这种活力在我看来，正好跟当年 TCP/IP 那群人(IETF)制定标准的时候所遵循的原则形成了巧妙的共鸣：</p>
<blockquote>
<p>We reject: kings, presidents and voting.</p>
<p>我们拒绝：国王、总统和投票。</p>
<p>We believe in: rough consensus and running code.</p>
<p>我们相信：大致的共识和运行的代码。</p>
<p>That is, our credo is that we don't let a single individual dictate decisions (a king or president), nor should decisions be made by a vote, nor do we want decisions to be made in a vacuum without practical experience. Instead, we strive to make our decisions by the consent of all participants, though allowing for some dissent (rough consensus), and to have the actual products of engineering (running code) trump theoretical designs.</p>
<p>也就是说，我们的信条是，我们不让一个人（国王或总统）主宰决策，也不应该通过投票做出决策，也不希望决策是在没有实际经验的真空中做出的。相反，我们努力在所有参与者的同意下做出决定，尽管允许一些异议（粗略的共识），并让工程（运行代码）的实际产品胜过理论设计。</p>
</blockquote>
<p>在 Nostr 生态里，有相似的一些特征。</p>
<ol>
<li>Organization structure: no official organization, light funding by people like Jack</li>
<li>NIPs: loosely join, everything is optional, openly debated, the founder is not afraid of being subjective</li>
<li>Developers ship fast: Everything happens publicly on the Nostr protocol(launch/discussion/feedback/debate)</li>
</ol>
<p>most new things added in the Nostr protocol are done this way: firstly some clients/relays software developers introduce a new feature and then push the feature to public users, users give some feedback, and other developers notice that and start the discussion, some people writing NIPs, have debate on the NIP drafts, and then finally merge the NIPs ——<strong>this is true “rough consensus and running code” looks like.</strong> </p>
<h2>总结</h2>
<p>赛博空间最初的想象和现实发生了分叉。而技术的发展，不论是 P2P 还是区块链的左翼力量，让人们试图重新审视最初对赛博空间的想象。这时候 Nostr 以一种务实中庸的定位，给出了不一样的解题思路。本质上 Nostr 是一种退而求其次，因为 P2P/区块链无论在技术的易用性上，还是技术成本上，对许多只需要轻量级信任的场景而言，都过于笨重了。Nostr 有非常独特的生态，追求粗略共识和可以运行的代码，协议本身的极简为生态的自由发展留下了更多空间，使它有可能成为一个连接万物的原点。</p>
<p>这篇文章零零散散，谈了很多零碎的看法。时间有限，许多话题无法展开，期待以后有机会深入聊聊 Nostr 面临的挑战和机遇。</p>
]]></itunes:summary>
      <itunes:image href="https://image.nostr.build/e3945ea7d245eff5b2bb970a044f0843dfea8e5c361be0d9b6626fd3733280fb.jpg"/>
      </item>
      
      <item>
      <title><![CDATA[flycat updates: generate RSS feed for your nip-23 long-form posts]]></title>
      <description><![CDATA[support rss/json/atom feed]]></description>
             <itunes:subtitle><![CDATA[support rss/json/atom feed]]></itunes:subtitle>
      <pubDate>Wed, 12 Apr 2023 11:22:57 GMT</pubDate>
      <link>https://electronicmonkey.npub.pro/post/add-rss-feed/</link>
      <comments>https://electronicmonkey.npub.pro/post/add-rss-feed/</comments>
      <guid isPermaLink="false">naddr1qqxxzery94e8xuedvejk2eqzypzug8epu88hzhaxm89zpw8qq2jhfkmmkj0fdm5fsdxxdkk9g34h5qcyqqq823cr5e8e2</guid>
      <category>flycat</category>
      
        <media:content url="https://nostr.build/i/nostr.build_9d48c823687137853a4a3d76e342308f829999ae612a0421a305bc899b4713ea.png" medium="image"/>
        <enclosure 
          url="https://nostr.build/i/nostr.build_9d48c823687137853a4a3d76e342308f829999ae612a0421a305bc899b4713ea.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqxxzery94e8xuedvejk2eqzypzug8epu88hzhaxm89zpw8qq2jhfkmmkj0fdm5fsdxxdkk9g34h5qcyqqq823cr5e8e2</noteId>
      <npub>npub1ghzp7g0peac4lfkeegst3cqz546dk7a5n6twazvrf3nd432yddaqa3qtwq</npub>
      <dc:creator><![CDATA[ElectronicMonkey]]></dc:creator>
      <content:encoded><![CDATA[<p>Hi guys, <a href="https://flycat.club">flycat</a> just added rss/json/atom feed subscription for your long-form posts. on flycat myblog page, you can see the subscribe buttons. and if you know relays that support RSS I will add it to the select option here to let users have multiple subscription providers. </p>
<p>you can visit the following blogs for an example: <a href="https://flycat.club/blog/45c41f21e1cf715fa6d9ca20b8e002a574db7bb49e96ee89834c66dac5446b7a">ElectronicMonkey's blog</a> or <a href="https://flycat.club/blog/82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2">Jack's Blog</a></p>
<p><img src="https://nostr.build/i/nostr.build_9d48c823687137853a4a3d76e342308f829999ae612a0421a305bc899b4713ea.png" alt=""></p>
<p><img src="https://nostr.build/i/nostr.build_1cb637eb217dd3ccf65389bf6d11878d15483d476d28ce818e78ac92882f6cbc.png" alt=""></p>
]]></content:encoded>
      <itunes:author><![CDATA[ElectronicMonkey]]></itunes:author>
      <itunes:summary><![CDATA[<p>Hi guys, <a href="https://flycat.club">flycat</a> just added rss/json/atom feed subscription for your long-form posts. on flycat myblog page, you can see the subscribe buttons. and if you know relays that support RSS I will add it to the select option here to let users have multiple subscription providers. </p>
<p>you can visit the following blogs for an example: <a href="https://flycat.club/blog/45c41f21e1cf715fa6d9ca20b8e002a574db7bb49e96ee89834c66dac5446b7a">ElectronicMonkey's blog</a> or <a href="https://flycat.club/blog/82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2">Jack's Blog</a></p>
<p><img src="https://nostr.build/i/nostr.build_9d48c823687137853a4a3d76e342308f829999ae612a0421a305bc899b4713ea.png" alt=""></p>
<p><img src="https://nostr.build/i/nostr.build_1cb637eb217dd3ccf65389bf6d11878d15483d476d28ce818e78ac92882f6cbc.png" alt=""></p>
]]></itunes:summary>
      <itunes:image href="https://nostr.build/i/nostr.build_9d48c823687137853a4a3d76e342308f829999ae612a0421a305bc899b4713ea.png"/>
      </item>
      
      <item>
      <title><![CDATA[Flycat updates: share meaningful link for nip-23 blog post]]></title>
      <description><![CDATA[no more tediously long link with 0 metadata]]></description>
             <itunes:subtitle><![CDATA[no more tediously long link with 0 metadata]]></itunes:subtitle>
      <pubDate>Sun, 09 Apr 2023 12:04:56 GMT</pubDate>
      <link>https://electronicmonkey.npub.pro/post/213a705f/</link>
      <comments>https://electronicmonkey.npub.pro/post/213a705f/</comments>
      <guid isPermaLink="false">naddr1qqyryvfnvymnqdtxqgsyt3qly8su7u2l5mvu5g9cuqp22axm0w6fa9hw3xp5cek6c4zxk7srqsqqqa286fke6t</guid>
      <category>flycat</category>
      
        <media:content url="https://nostr.build/i/nostr.build_8e29ccbd5bf67dbe7159359df97e70e0ad0bd6c107e37e1cec676c899805e3df.png" medium="image"/>
        <enclosure 
          url="https://nostr.build/i/nostr.build_8e29ccbd5bf67dbe7159359df97e70e0ad0bd6c107e37e1cec676c899805e3df.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqyryvfnvymnqdtxqgsyt3qly8su7u2l5mvu5g9cuqp22axm0w6fa9hw3xp5cek6c4zxk7srqsqqqa286fke6t</noteId>
      <npub>npub1ghzp7g0peac4lfkeegst3cqz546dk7a5n6twazvrf3nd432yddaqa3qtwq</npub>
      <dc:creator><![CDATA[ElectronicMonkey]]></dc:creator>
      <content:encoded><![CDATA[<p>flycat now supports rendering the metadata for the nip-23 long-form articles on the server side, what this mean is that you should be able to share an informative link(with the correct title and description etc) for your article. for example, since flycat also render such metadata with your links on short notes (event 1), when you share a flycat article link in your short notes on flycat, you can see it with a beautiful preview like the following:</p>
<p><img src="https://nostr.build/i/nostr.build_8e29ccbd5bf67dbe7159359df97e70e0ad0bd6c107e37e1cec676c899805e3df.png" alt="WeChat4c644dc6fa8eaee5ce8a6d147b047bd0.png"></p>
<p>because I don't want flycat to be a property software, I don't want to introduce a database(which makes it harder to deploy and host your own flycat instance) in order to do that. so right now we use a very bad method to achieve this, but I think it will be alright since we will make it better after setting up our own relay(instead of a private database, which means an interoperable way to do things on nostr) or doing some code refactoring.</p>
]]></content:encoded>
      <itunes:author><![CDATA[ElectronicMonkey]]></itunes:author>
      <itunes:summary><![CDATA[<p>flycat now supports rendering the metadata for the nip-23 long-form articles on the server side, what this mean is that you should be able to share an informative link(with the correct title and description etc) for your article. for example, since flycat also render such metadata with your links on short notes (event 1), when you share a flycat article link in your short notes on flycat, you can see it with a beautiful preview like the following:</p>
<p><img src="https://nostr.build/i/nostr.build_8e29ccbd5bf67dbe7159359df97e70e0ad0bd6c107e37e1cec676c899805e3df.png" alt="WeChat4c644dc6fa8eaee5ce8a6d147b047bd0.png"></p>
<p>because I don't want flycat to be a property software, I don't want to introduce a database(which makes it harder to deploy and host your own flycat instance) in order to do that. so right now we use a very bad method to achieve this, but I think it will be alright since we will make it better after setting up our own relay(instead of a private database, which means an interoperable way to do things on nostr) or doing some code refactoring.</p>
]]></itunes:summary>
      <itunes:image href="https://nostr.build/i/nostr.build_8e29ccbd5bf67dbe7159359df97e70e0ad0bd6c107e37e1cec676c899805e3df.png"/>
      </item>
      
      <item>
      <title><![CDATA[Why flycat is experimenting "sign-in with Ethereum" on Nostr]]></title>
      <description><![CDATA[I believe it is worth exploring other blockchain spaces with nostr, demonstrating and telling non-bitcoin people how it feels to have a real social network binding with your crypto wallet.]]></description>
             <itunes:subtitle><![CDATA[I believe it is worth exploring other blockchain spaces with nostr, demonstrating and telling non-bitcoin people how it feels to have a real social network binding with your crypto wallet.]]></itunes:subtitle>
      <pubDate>Wed, 05 Apr 2023 14:03:47 GMT</pubDate>
      <link>https://electronicmonkey.npub.pro/post/why-sign-in-from-eth-wallet/</link>
      <comments>https://electronicmonkey.npub.pro/post/why-sign-in-from-eth-wallet/</comments>
      <guid isPermaLink="false">naddr1qqdhw6re94ekjemw945kuttxwfhk6tt9w35z6ampd3kx2aqzypzug8epu88hzhaxm89zpw8qq2jhfkmmkj0fdm5fsdxxdkk9g34h5qcyqqq823cryck3j</guid>
      <category>flycat</category>
      
        <media:content url="https://nostr.build/i/nostr.build_ab86718b1bec52bda55fa1095572b368b8eed74bc805e396415ac5e55cc92ab4.png" medium="image"/>
        <enclosure 
          url="https://nostr.build/i/nostr.build_ab86718b1bec52bda55fa1095572b368b8eed74bc805e396415ac5e55cc92ab4.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqdhw6re94ekjemw945kuttxwfhk6tt9w35z6ampd3kx2aqzypzug8epu88hzhaxm89zpw8qq2jhfkmmkj0fdm5fsdxxdkk9g34h5qcyqqq823cryck3j</noteId>
      <npub>npub1ghzp7g0peac4lfkeegst3cqz546dk7a5n6twazvrf3nd432yddaqa3qtwq</npub>
      <dc:creator><![CDATA[ElectronicMonkey]]></dc:creator>
      <content:encoded><![CDATA[<p>This might be a very controversial feature to most of the people on nostr but, <a href="https://flycat.club/">flycat</a> is rolling out a new experimental feature that allows users to sign in and use nostr protocol via <a href="https://metamask.io/">Metamask wallet</a> and <a href="https://walletconnect.com/">WalletConnect</a> (both are toolchain from Ethereum and EVM compatible blockchains). You can try it at <np-embed url="https://flycat.club/login"><a href="https://flycat.club/login">https://flycat.club/login</a></np-embed> </p>
<p><img src="https://nostr.build/i/nostr.build_ab86718b1bec52bda55fa1095572b368b8eed74bc805e396415ac5e55cc92ab4.png" alt="image.png"></p>
<p>Since nostr is mostly gathered by Bitcoin folks, most people here might not have a good feeling about Ethereum or any "shitcoin". but I decided to experiment with such a new feature anyway, mainly for two reasons:</p>
<ol>
<li>I find this <a href="https://github.com/nostr-protocol/nips/pull/268">Nip-111</a> solution(which is how this feature works) interesting on an account-control level and couldn't help to get my hands on it</li>
<li>To me, seems it doesn't do any harm to Nostr protocol and the current flycat user experience. if you hate Ethereum or any other shitcoin, you can close the window and abort reading this post now and it makes no difference on using flycat.</li>
</ol>
<p>But the real reason I am experimenting with such a feature comes from one simple fact I believed, that is</p>
<blockquote>
<p>Nostr is the future for social networks and it is how things are supposed to work and do right from the first day of the internet. </p>
</blockquote>
<p>Of course, Bitcoin and the lighting network are the main motivation for building such a protocol at the first stage(which is currently where we are), but nostr is not only meant for Bitcoin people. it is for mainstream users and for people who don't even know about Bitcoin. that's the potential we saw from nostr. </p>
<p>With max simplicity protocol design(literally, there are only three parts of nostr: 1. public key as account id, 2. digitally sign content, and 3. relay-to-client mode), nostr is born to be the ultimate glue layer to connect to everything from centralized services like Twitter and Facebook to decentralized networks like bitcoin and lighting. </p>
<p>From this perspective, I believe it is worth exploring other blockchain spaces with nostr, demonstrating and telling non-bitcoin people how it feels to have a real social network binding with your crypto wallet.</p>
<h2>How it works</h2>
<p>This feature is done following the un-merged proposal <a href="https://github.com/nostr-protocol/nips/pull/268">Nip-111</a>. If you want to know the workflow in detail, it is recommended to read <a href="https://github.com/dostr-eth/nips/blob/ethkeygen/111.md">the post</a> written by the NIP authors. </p>
<p>Here are some simple explanations of how the Nip-111 proposal works:</p>
<p>since the Metamask and Ethereum blockchains use different crypto algorithms to do signings, it is impossible to use your Eth account to sign nostr stuff (unless Metamask and other Eth wallets support the Schnorr and <a href="https://github.com/nostr-protocol/nips/blob/master/07.md">Nip-07</a>). But even if they did and we can, it is also not a wise choice to mix your blockchain key with the Nostr key since there are used for different scenes.</p>
<p>The Nip-111 solves this problem by proposing to generate a nostr sub-account (meaning a brand new key pair). The first step is using your Eth wallets to sign a fixed message to generate a fixed signature, and then take this signature, combined with the user password, to generate a new deterministic nostr private key. </p>
<p>To get this private key, you must be able to sign the message(prove that you are the owner of Eth wallet) and know what the password is(another proof). If the nostr key is exposed to hackers, it doesn't affect your Eth wallet account and your assets like NFTs or ERC20 tokens.</p>
<h2>Risk and Downside</h2>
<p>However, this approach does come with some risks and downside that you probably needs to know before using it. Even a nostr client(like <a href="https://flycat.club/">flycat</a>) doesn't store the generated private key from your Eth account, the Nip-111 required the client to hold your private key in the browser memory. </p>
<p>What this means is that every time you need to do something with write access on your nostr account(or export your private key), the web client will ask your Metamask or WalletConnect to sign a message to generate the private key and then use this private key to do the writing. during this process, the private key is accessible by the web client, which brings two risks:</p>
<ol>
<li>you need to make sure the verify the integrity and authenticity of the web client you are using. Clients like Flycat are open-source and can be checked if it takes your private key somewhere else.</li>
<li>your private key is also exposable to the XSS attack during the generating process. This one is a real issue, and I don't see a clear solution besides making careful choices with which library to use and writing careful code in the web client implementation to upgrade the XSS defense. Considering there are still some people pasting their nostr private key to the web client to use the product, I will say this problem is as bad as that.</li>
</ol>
<h2>Why it is interesting</h2>
<p>I think the Nip-111 is interesting not only because it can get Ethereum people to use nostr, but also because it is a pattern that shows how we can do account abstraction on all the other platforms. Besides Eth, all the other blockchains can create their nostr key using similar patterns. and maybe outside the blockchain space, we can also build it for centralized services to make people migrate to nostr. </p>
<p>Take Twitter for example, we can design a sign-in button that says sign-in with Twitter, and when people click the button, we let users post a private tweet that's only visible to himself/herself on Twitter, we take it with their password to generate a fixed nostr private key and let them start use nostr. after some time, the user might find that the nostr is great and decide to export his nostr private key and use the private key standalone instead of signing via Twitter. </p>
<p>Now you might think, there is a question with the above workflows: since Twitter is centralized, the private tweet is not only readable by the account owner but also by the Twitter company! </p>
<p>Yes, it is. That is why if the user decides to migrate to nostr seriously, he/she should consider generating a new key instead. But this is not a real problem in my opinion, because when you choose to sign in on nostr via Twitter, the implication is that you do understand the trusted scope is narrowed down to Twitter itself. </p>
<p>In another word, it means you choose to trust Twitter for such an operation, so if Twitter leaks your private tweet, it is not the nostr fault. The same thing also applies to Eth wallets. You trust your Metamask or WalletConnect has no backdoor to record and steal your signature.</p>
<h2>Conclusion</h2>
<p>I am really curious about whether Ethereum people will come to use Nostr or not and it depends on how they react to this experimental feature. If they want to taste a little bit of how nostr feels, they might choose to use it at some risk. and then make a new account when they get serious. or migrate to wallets like Alby that support Nip-07. If you have any thoughts, please comment on this post. We appreciate your feedback.</p>
]]></content:encoded>
      <itunes:author><![CDATA[ElectronicMonkey]]></itunes:author>
      <itunes:summary><![CDATA[<p>This might be a very controversial feature to most of the people on nostr but, <a href="https://flycat.club/">flycat</a> is rolling out a new experimental feature that allows users to sign in and use nostr protocol via <a href="https://metamask.io/">Metamask wallet</a> and <a href="https://walletconnect.com/">WalletConnect</a> (both are toolchain from Ethereum and EVM compatible blockchains). You can try it at <np-embed url="https://flycat.club/login"><a href="https://flycat.club/login">https://flycat.club/login</a></np-embed> </p>
<p><img src="https://nostr.build/i/nostr.build_ab86718b1bec52bda55fa1095572b368b8eed74bc805e396415ac5e55cc92ab4.png" alt="image.png"></p>
<p>Since nostr is mostly gathered by Bitcoin folks, most people here might not have a good feeling about Ethereum or any "shitcoin". but I decided to experiment with such a new feature anyway, mainly for two reasons:</p>
<ol>
<li>I find this <a href="https://github.com/nostr-protocol/nips/pull/268">Nip-111</a> solution(which is how this feature works) interesting on an account-control level and couldn't help to get my hands on it</li>
<li>To me, seems it doesn't do any harm to Nostr protocol and the current flycat user experience. if you hate Ethereum or any other shitcoin, you can close the window and abort reading this post now and it makes no difference on using flycat.</li>
</ol>
<p>But the real reason I am experimenting with such a feature comes from one simple fact I believed, that is</p>
<blockquote>
<p>Nostr is the future for social networks and it is how things are supposed to work and do right from the first day of the internet. </p>
</blockquote>
<p>Of course, Bitcoin and the lighting network are the main motivation for building such a protocol at the first stage(which is currently where we are), but nostr is not only meant for Bitcoin people. it is for mainstream users and for people who don't even know about Bitcoin. that's the potential we saw from nostr. </p>
<p>With max simplicity protocol design(literally, there are only three parts of nostr: 1. public key as account id, 2. digitally sign content, and 3. relay-to-client mode), nostr is born to be the ultimate glue layer to connect to everything from centralized services like Twitter and Facebook to decentralized networks like bitcoin and lighting. </p>
<p>From this perspective, I believe it is worth exploring other blockchain spaces with nostr, demonstrating and telling non-bitcoin people how it feels to have a real social network binding with your crypto wallet.</p>
<h2>How it works</h2>
<p>This feature is done following the un-merged proposal <a href="https://github.com/nostr-protocol/nips/pull/268">Nip-111</a>. If you want to know the workflow in detail, it is recommended to read <a href="https://github.com/dostr-eth/nips/blob/ethkeygen/111.md">the post</a> written by the NIP authors. </p>
<p>Here are some simple explanations of how the Nip-111 proposal works:</p>
<p>since the Metamask and Ethereum blockchains use different crypto algorithms to do signings, it is impossible to use your Eth account to sign nostr stuff (unless Metamask and other Eth wallets support the Schnorr and <a href="https://github.com/nostr-protocol/nips/blob/master/07.md">Nip-07</a>). But even if they did and we can, it is also not a wise choice to mix your blockchain key with the Nostr key since there are used for different scenes.</p>
<p>The Nip-111 solves this problem by proposing to generate a nostr sub-account (meaning a brand new key pair). The first step is using your Eth wallets to sign a fixed message to generate a fixed signature, and then take this signature, combined with the user password, to generate a new deterministic nostr private key. </p>
<p>To get this private key, you must be able to sign the message(prove that you are the owner of Eth wallet) and know what the password is(another proof). If the nostr key is exposed to hackers, it doesn't affect your Eth wallet account and your assets like NFTs or ERC20 tokens.</p>
<h2>Risk and Downside</h2>
<p>However, this approach does come with some risks and downside that you probably needs to know before using it. Even a nostr client(like <a href="https://flycat.club/">flycat</a>) doesn't store the generated private key from your Eth account, the Nip-111 required the client to hold your private key in the browser memory. </p>
<p>What this means is that every time you need to do something with write access on your nostr account(or export your private key), the web client will ask your Metamask or WalletConnect to sign a message to generate the private key and then use this private key to do the writing. during this process, the private key is accessible by the web client, which brings two risks:</p>
<ol>
<li>you need to make sure the verify the integrity and authenticity of the web client you are using. Clients like Flycat are open-source and can be checked if it takes your private key somewhere else.</li>
<li>your private key is also exposable to the XSS attack during the generating process. This one is a real issue, and I don't see a clear solution besides making careful choices with which library to use and writing careful code in the web client implementation to upgrade the XSS defense. Considering there are still some people pasting their nostr private key to the web client to use the product, I will say this problem is as bad as that.</li>
</ol>
<h2>Why it is interesting</h2>
<p>I think the Nip-111 is interesting not only because it can get Ethereum people to use nostr, but also because it is a pattern that shows how we can do account abstraction on all the other platforms. Besides Eth, all the other blockchains can create their nostr key using similar patterns. and maybe outside the blockchain space, we can also build it for centralized services to make people migrate to nostr. </p>
<p>Take Twitter for example, we can design a sign-in button that says sign-in with Twitter, and when people click the button, we let users post a private tweet that's only visible to himself/herself on Twitter, we take it with their password to generate a fixed nostr private key and let them start use nostr. after some time, the user might find that the nostr is great and decide to export his nostr private key and use the private key standalone instead of signing via Twitter. </p>
<p>Now you might think, there is a question with the above workflows: since Twitter is centralized, the private tweet is not only readable by the account owner but also by the Twitter company! </p>
<p>Yes, it is. That is why if the user decides to migrate to nostr seriously, he/she should consider generating a new key instead. But this is not a real problem in my opinion, because when you choose to sign in on nostr via Twitter, the implication is that you do understand the trusted scope is narrowed down to Twitter itself. </p>
<p>In another word, it means you choose to trust Twitter for such an operation, so if Twitter leaks your private tweet, it is not the nostr fault. The same thing also applies to Eth wallets. You trust your Metamask or WalletConnect has no backdoor to record and steal your signature.</p>
<h2>Conclusion</h2>
<p>I am really curious about whether Ethereum people will come to use Nostr or not and it depends on how they react to this experimental feature. If they want to taste a little bit of how nostr feels, they might choose to use it at some risk. and then make a new account when they get serious. or migrate to wallets like Alby that support Nip-07. If you have any thoughts, please comment on this post. We appreciate your feedback.</p>
]]></itunes:summary>
      <itunes:image href="https://nostr.build/i/nostr.build_ab86718b1bec52bda55fa1095572b368b8eed74bc805e396415ac5e55cc92ab4.png"/>
      </item>
      
      <item>
      <title><![CDATA[flycat updates: support saving blog draft posts]]></title>
      <description><![CDATA[now you can save local draft posts when blogging on flycat]]></description>
             <itunes:subtitle><![CDATA[now you can save local draft posts when blogging on flycat]]></itunes:subtitle>
      <pubDate>Mon, 03 Apr 2023 05:16:33 GMT</pubDate>
      <link>https://electronicmonkey.npub.pro/post/1bf8acbb/</link>
      <comments>https://electronicmonkey.npub.pro/post/1bf8acbb/</comments>
      <guid isPermaLink="false">naddr1qqyrzcnx8pskxcnzqgsyt3qly8su7u2l5mvu5g9cuqp22axm0w6fa9hw3xp5cek6c4zxk7srqsqqqa28yvmwdw</guid>
      <category>flycat</category>
      
        <media:content url="https://nostr.build/i/nostr.build_df1995b0d5025284a1f6b662b0f0869ce89213563ffc9411f0308c45085cb242.png" medium="image"/>
        <enclosure 
          url="https://nostr.build/i/nostr.build_df1995b0d5025284a1f6b662b0f0869ce89213563ffc9411f0308c45085cb242.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqyrzcnx8pskxcnzqgsyt3qly8su7u2l5mvu5g9cuqp22axm0w6fa9hw3xp5cek6c4zxk7srqsqqqa28yvmwdw</noteId>
      <npub>npub1ghzp7g0peac4lfkeegst3cqz546dk7a5n6twazvrf3nd432yddaqa3qtwq</npub>
      <dc:creator><![CDATA[ElectronicMonkey]]></dc:creator>
      <content:encoded><![CDATA[<p>hello Monday! Today we refactored the writing experience on <a href="https://flycat.club/">flycat.club</a>, now you can save local draft posts when blogging on flycat. </p>
<p>We also adjusted the layout of the editor page so you get less distracted in writing.</p>
<p><img src="https://nostr.build/i/nostr.build_df1995b0d5025284a1f6b662b0f0869ce89213563ffc9411f0308c45085cb242.png" alt="image.png"></p>
<p>some meta datas will be displaying and required you filling only when you try publishing the post.</p>
<p><img src="https://nostr.build/i/nostr.build_4cc72d7febc646c1c8178377c4031b751bfd2169707f973f89dee2f7ecd00488.png" alt="image.png"></p>
<p>you can find your drafts on <code>myBlog</code> page (<np-embed url="https://flycat.club/blog/"><a href="https://flycat.club/blog/">https://flycat.club/blog/</a></np-embed><your public="" key=""> and continue editing it until you are comfortable to publish it.</your></p>
<p><img src="https://nostr.build/i/nostr.build_97f9d3e8b942b36d6ce89c1740fa2eb369471df4ac1f664e034d39a42a8d9328.png" alt="image.png"></p>
<p>As always, we appreciate your feedback. Please don't hesitate to tell me what you think about the updates~</p>
]]></content:encoded>
      <itunes:author><![CDATA[ElectronicMonkey]]></itunes:author>
      <itunes:summary><![CDATA[<p>hello Monday! Today we refactored the writing experience on <a href="https://flycat.club/">flycat.club</a>, now you can save local draft posts when blogging on flycat. </p>
<p>We also adjusted the layout of the editor page so you get less distracted in writing.</p>
<p><img src="https://nostr.build/i/nostr.build_df1995b0d5025284a1f6b662b0f0869ce89213563ffc9411f0308c45085cb242.png" alt="image.png"></p>
<p>some meta datas will be displaying and required you filling only when you try publishing the post.</p>
<p><img src="https://nostr.build/i/nostr.build_4cc72d7febc646c1c8178377c4031b751bfd2169707f973f89dee2f7ecd00488.png" alt="image.png"></p>
<p>you can find your drafts on <code>myBlog</code> page (<np-embed url="https://flycat.club/blog/"><a href="https://flycat.club/blog/">https://flycat.club/blog/</a></np-embed><your public="" key=""> and continue editing it until you are comfortable to publish it.</your></p>
<p><img src="https://nostr.build/i/nostr.build_97f9d3e8b942b36d6ce89c1740fa2eb369471df4ac1f664e034d39a42a8d9328.png" alt="image.png"></p>
<p>As always, we appreciate your feedback. Please don't hesitate to tell me what you think about the updates~</p>
]]></itunes:summary>
      <itunes:image href="https://nostr.build/i/nostr.build_df1995b0d5025284a1f6b662b0f0869ce89213563ffc9411f0308c45085cb242.png"/>
      </item>
      
      </channel>
      </rss>
    