(untitled)
.zk
um sítio
.zk
início 'Vocês vêem? Vêem a história? Vêem alguma coisa? Me parece que estou tentando lhes contar um sonho -- fazendo uma tentativa inútil, porque nenhum relato de sonho pode transmitir a sensação de sonho, aquela mistura de absurdo, surpresa e espanto numa excitação de revolta tentando se impôr, aquela noção de ser tomado pelo incompreensível que é da própria essência dos sonhos...' Ele ficou em…
The only solution to Nostr spam By spam I mean any undesired, automated or subjectively low-value content. You can also include harassment and other bad things in this category, it doesn't matter. The main feed Nostr doesn't have a problem with spam in your main feed, as you only read notes from people you follow or from relay feeds chosen manually that are likely to not have spam (of course you…
Nostr: a quick introduction, attempt #3 Nostr is a description of a message format called 'event' that is cryptographically signed and the description of public communication interface that can be offered by servers called 'relays'. Armed with such two descriptions anyone can write programs called 'clients' that run on people's computers and can send and receive 'events' to and from the 'relays'.…
Visual depiction of the architecture of 3 different decentralized social networking protocols Fediverse First of all we have Mastodon (I often call it by this name because Mastodon is the de facto controller of the protocol), but a better name would be the Fediverse , which is ugly, but still better than ActivityPub , since 'Activity' depicts a much broader protocol, conceived by the minds of…
The end of NIPs Many a time it has been brought up the fact that the NIPs repository is a central part of the otherwise fully decentralized Nostr protocol and some ideas have been proposed about how we should proceed to decentralize that part of it. Two of the most reasonable approaches were (very simply) (1) for anyone to write their own version of the NIPs anywhere they wanted; and (2) to have a…
How can web apps be independent protocol clients? Nostr is a protocol designed to work with fully independent clients. Each client is meant to talk to multiple standalone servers and act, like a web browser, as a true 'user agent', requesting content that the user wants to read and signing content that the user wants to publish. A fundamental assumption of Nostr is that servers are free to be as…
Nostr is pro-censorship In Keys are meaningless we hopefully made it clear that keys are not central to Nostr's idea, in fact keys are just an unnecessary burden that enables something much more important: relays. The fact that one user, through their client, can reach out to a huge number of these servers hosted anywhere, and that each user can publish their stuff to any of them, from a modest…
Keys are meaningless A common misconception of technologists when they first discover Nostr is to put too much weight on the cryptography and start worshipping the keypairs. Secret keys are just numbers. To some people this will sound amazing, but in fact it is just a little boring. Numbers by themselves don't do anything. A simple computer script can generate a bazillion keys with no effort at…
Redistributing Git with Nostr Every time someone tries to 'decentralize' Git -- like many projects tried in the past to do it with BitTorrent, IPFS, ScuttleButt or custom p2p protocols -- there is always a lurking comment: 'but Git is already distributed!', and then the discussion proceeds to mention some facts about how Git supports multiple remotes and its magic syncing and merging abilities and…
P2Panda and the super-peer curse Recently was suggested to me that https://p2panda.org/ was a great protocol and that maybe Nostr wouldn't be necessary if we could just use that. After making the blind remark that p2p doesn't work I was pointed to https://github.com/p2panda/aquadoggo which acts as a 'node' in some ways similar to a 'relay', and it all looks somewhat well, cool, maybe they're into…
document.characterSet and another meaningless example of flexibility destroying protocols I always knew of at least two standardized ways browsers used to determine the charset of a given webpage document: the Content-Type header and the <meta charset> tag. These are widely understood, teached and documented specs that a lot of developers assume are being followed because they're 'web standards' .…
The case against edits Direct edits are a centralizing force on Nostr, a slippery slope that should not be accepted. Edits are fine in other, more specialized event kinds, but the kind:1 space shouldn't be compromised with such a push towards centralization, because kind:1 is the public square of Nostr, where all focus should be on decentralization and censorship-resistance . Why? Edits introduce…
kind:1 maximalism and the future of other stuff and Nostr decentralization These two problems exist on Nostr today, and they look unrelated at first: People adding more stuff to kind:1 notes, such as making them editable, or adding special corky syntax thas has to be parsed and rendered in complicated UIs; The discovery of 'other stuff' content (i.e. long-form articles, podcasts, calendar events,…
Nostr: a quick introduction, attempt #2 Nostr doesn't subscribe to any ideals of 'free speech' as these belong to the realm of politics and assume a big powerful government that enforces a common ruleupon everybody else. Nostr instead is much simpler, it simply says that servers are private property and establishes a generalized framework for people to connect to all these servers, creating a true…
Why relay hints are important Recently Coracle has removed support for following relay hints in Nostr event references. Supposedly Coracle is now relying only on public key hints and kind:10002 events to determine where to fetch events from a user. That is a catastrophic idea that destroys much of Nostr's flexibility for no gain at all. Someone makes a post inside a community (either a NIP-29…
How to do curation and businesses on Nostr Suppose you want to start a Nostr business. You might be tempted to make a closed platform that reuses Nostr identities and grabs (some) content from the external Nostr network, only to imprison it inside your thing -- and then you're going to run an amazing AI-powered algorithm on that content and 'surface' only the best stuff and people will flock to…
About Nostr, email and subscriptions I check my emails like once or twice a week, always when I am looking for something specific in there. Then I go there and I see a bunch of other stuff I had no idea I was missing. Even many things I wish I had seen before actually. And sometimes people just expect and assume I would have checked emails instantly as they arrived. It's so weird because I'm not…
Censorship-resistant relay discovery in Nostr In Nostr is not decentralized nor censorship-resistant I said Nostr is centralized. Peter Todd thinks it is centralized by design, but I disagree. Nostr wasn't designed to be centralized. The idea was always that clients would follow people in the relays they decided to publish to, even if it was a single-user relay hosted in an island in the middle of…
Nostr is not decentralized nor censorship-resistant nostr:npub1ej493cmun8y9h3082spg5uvt63jgtewneve526g7e2urca2afrxqm3ndrm has been saying this for a long time and all the time I've been thinking he is misunderstanding everything, but I guess a more charitable interpretation is that he is right. Nostr today is indeed centralized. Yesterday I published two harmless notes with the exact same content…
a way to do an open and permissionless mesh network I don't have much experience with that so maybe this is all a stupid nonsense, but I think routing in mesh networks (by which I mean all the software that exists out there for creating smallish mesh networks and the real-world projects that use them and effectively have a community of people that connect to each other in some geographical area or…
Nostr: a quick introduction, attempt #1 Nostr doesn't have a material existence, it is not a website or an app. Nostr is just a description what kind of messages each computer can send to the others and vice-versa. It's a very simple thing, but the fact that such description exists allows different apps to connect to different servers automatically, without people having to talk behind the scenes…
Just malinvestiment Traditionally the Austrian Theory of Business Cycles has been explained and reworked in many ways, but the most widely accepted version (or the closest to the Mises or Hayek views) view is that banks (or the central bank) cause the general interest rate to decline by creation of new money and that prompts entrepreneurs to invest in projects of longer duration. This can be…
GraphQL vs REST Today I saw this: https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs And it reminded me why GraphQL is so much better. It has also reminded me why HTTP is so confusing and awful as a protocol, especially as a protocol for structured data APIs, with all its status codes and headers and bodies and querystrings and content-types -- but let's not talk…
Rust's .into() is a strictly bad thing It just makes the code unreadable for no gain. Instead of defining methods with readable and meaningful names for transforming objects into other objects and calling those, the .into() bad practice just teaches everybody to write .into() everywhere, making the code impossible to read without a superpowered editor -- and sometimes even with it .
The place of Drivechain in Bitcoin's future James O'Beirne wrote this nice little article that contains a bunch of statements that should have been obvious to anyone who thought a little about Bitcoin's future, as they were obvious for Hal Finney in 2009 already. Basically the article says that the Bitcoin blockchain won't scale for the entire world population to use it. It will so much not scale…
Soft-forks on Bitcoin A traditional soft-fork activation plays out like this: someone makes a proposal if half-dozen respected Core developers like that, they implement it and talk about it everybody loves the idea they ship it in Bitcoin Core miners turn it onA traditional soft-fork activation plays out like this: A traditional soft-fork failure plays out like this: someone makes a proposal if…
ZBD Social If you have a closed system, a platform with users inside that login with name and password, it's not hard to introduce 'social network' features into it. It was always the plan at ZEBEDEE to introduce such a thing, but much better than a closed social network just for ZBD users is if one such a thing can plug into the outer world of Nostr. Therefore ZBD Social is both an internal…
A violência é uma forma de comunicação A violência é uma forma de comunicação: um serial killer, um pai que bate no filho, uma briga de torcidas, uma sessão de tortura, uma guerra, um assassinato passional, uma briga de bar. Em todos esses se pode enxergar uma mensagem que está tentando ser transmitida, que não foi compreendida pelo outro lado, que não pôde ser expressa, e, quando o transmissor da…
A response to Achim Warner's 'Drivechain brings politics to miners' article I mean this article: https://achimwarner.medium.com/thoughts-on-drivechain-i-miners-can-do-things-about-which-we-will-argue-whether-it-is-actually-a5c3c022dbd2 There are basically two claims here: 1. Some corporate interests might want to secure sidechains for themselves and thus they will bribe miners to have these…
Things a coalition of evil miners can do on Bitcoin If a miner coalition has 75% of hashrate for 6 months they can steal coins from a Drivechain without any risk, that's what the drivechain haters say. What other evil things can a coalition of 75% hashrate do in 6 months? steal money from all open Lightning nodes on the network by opening channels to them, mining 3 blocks, spending the funds out…
The 'Drivechain will replace altcoins' argument The argument that Drivechain will replace shitcoins is not that people will sell their shitcoins or that the existing shitcoins will instantly vanish. The argument is about a change at the margin that eventually ends up killing the shitcoins or reducing them to their original insignificance. What does 'at the margin' mean? For example, when the price…
Reasons why Lightning is not that great Some Bitcoiners, me included, were fooled by hyperbolic discourse that presented Lightning as some magical scaling solution with no flaws. This is an attempt to list some of the actual flaws uncovered after 5 years of experience. The point of this article is not to say Lightning is a complete worthless piece of crap, but only to highlight the fact that…
Criteria for activating Drivechain on Bitcoin Drivechain is, in essence, just a way to give Bitcoin users the option to deposit their coins in a hashrate escrow. If Bitcoin is about coin ownership, in theory there should be no objection from anyone on users having the option to do that: my keys, my coins etc. In other words: even if you think hashrate escrows are a terrible idea and miners will…
Reasons for miners to not steal See Drivechain for an introduction. Here we'll just have a list of reasons why miners would not steal: they will lose future fees from that specific drivechain: you can discount all future fees and condense them into a single present number in order to do some mathematical calculation. they may lose future fees from all other Drivechains, if the users assume they…
Bluesky is a scam Bluesky advertises itself as an open network, they say people won't lose followers or their identity, they advertise themselves as a protocol ('atproto') and because of that they are tricking a lot of people into using them. These three claims are false. protocolness Bluesky is a company. 'atproto' is the protocol. Supposedly they are two different things, right? Bluesky just…
Using Spacechains and Fedimint to solve scaling What if instead of trying to create complicated 'layer 2' setups involving noveau cryptographic techniques we just did the following: we take that Fedimint source code and remove the 'mint' stuff, and just use their federation stuff secure coins with multisig; then we make a spacechain; and we make the federations issue multisig-btc tokens on it; and…
Thoughts on Nostr key management On Why I don't like NIP-26 as a solution for key management I talked about multiple techniques that could be used to tackle the problem of key management on Nostr. Here are some ideas that work in tandem: NIP-41 (stateless key invalidation) NIP-46 (Nostr Connect) NIP-07 (signer browser extension) Connected hardware signing devices other things like musig or frostr…
Why I don't like NIP-26 as a solution for key management NIP-26 was created out of the needs of the Nostr integration at https://minds.com/ . They wanted Minds users to be able to associate their 'custodial' Nostr key with an external self-owned key. NIP-26 looked like a nice fit for the job, because it would allow supporting clients to associate the two identities statelessly (i.e. by just seeing…
How being 'flexible' can bloat a protocol (A somewhat absurd example, but you'll get the idea) Iimagine some client decides to add support for a variant of nip05 that checks for values at /.well-known/nostr.yaml besides /.well-known/nostr.json. 'Why not?', they think, 'I like YAML more than JSON, this can't hurt anyone'. Then some user makes a nip05 file in YAML and it will work on that client,…
Setting up a handler for nostr: links on your Desktop, even if you don't use a native client This is the most barebones possible, it will just open a web browser at https://nostr.guru/ with the contents of the nostr: link. Create this file at ~/.local/share/applications/nostr-opener.desktop : [Desktop Entry] Exec=/home/youruser/nostr-opener %u Name=Nostr Browser Type=Application…
A vision for content discovery and relay usage for basic social-networking in Nostr Or how to make a basic 'social-networking' application using the Nostr protocol that is safe and promotes decentralization. The basic app views Suppose a basic 'social-networking' app is like Twitter. In that, one has basically 3 views: A home feed that shows all notes from everybody you follow; A profile view from…
The problem with ION ION is a DID method based on a thing called 'Sidetree'. I can't say for sure what is the problem with ION, because I don't understand the design, even though I have read all I could and asked everybody I knew. All available information only touches on the high-level aspects of it (and of course its amazing wonders) and no one has ever bothered to explain the details. I've also…
The problem with DIDs Decentralized Identifiers are supposedly a standard that will allow anyone (or anything) to have an online identity. The DID is a URI like did:<method>:<data> in which <method> determines how to interpret the <data> . The data is generally a public key in some cryptographic system or shitcoin blockchain, or a naked key, or a DNS-backed web address. Some of the DID proponents…
What is better than bounties and grants? The experience with bounties from HRF wasn't great. No one has answered to the calls for implementing what they wanted because the work was too much and the risk of not getting paid very real. The experience with grants in general from Spiral is also not great: many random developers making cool but useless projects, wasted money. The two kinds of…
On Bitcoin Bounties The HRF has awarded two bounties yesterday. The episode exposes some of the problems of the bounties and grants culture that exists on Bitcoin. First, when the bounties were announced, almost an year ago, I felt they were very hard to achieve (and also very useless, but let's set that aside). The first, 'a wallet that integrates bolt12 so it can receive tips noncustodially',…
Hosted Channels vs Fedimint For those who want a comparison, here is the comparison. I'll start by listing how they are similar and then show some advantages of one versus the other and vice-versa. Both are open protocols Anyone can run a hosted channel node or a hosted channel wallet and connect to any other hosted channel node or wallet. Anyone can run a Fedimint federation or any Fedimint…
A flexibilidade da doutrina socialista Os fatos da revolução russa mostram que Lênin e seus amigos bolcheviques não eram só psicopatas assassinos: eles realmente acreditavam que estavam fazendo o certo. Talvez depois de um tempo o foco deles tenha mudado mais para o lado de se preocuparem menos com a vida e o bem-estar dos outros do que com eles mesmos, mas não houve uma mudança fundamental. Ao…
Sol e Terra A Terra não gira em torno do Sol. Tudo depende do ponto de referência e não existe um ponto de referência absoluto. Só é melhor dizer que a Terra gira em torno do Sol porque há outros planetas fazendo movimentos análogos e aí fica mais fácil para todo mundo entender os movimentos tomando o Sol como ponto de referência.
A prediction market as a distributed set of oracle federations See also: Truthcoin as a spacechain . This is not Truthcoin, but hopefully the essence of what makes it good is present here: permissionless, uncensorable prediction markets for fun, profit, making cheap talk expensive and revolutionizing the emergence and diffusion of knowledge in society. The idea The idea is just to reuse Fedimint's…