-
@ 6e468422:15deee93
2023-04-04 13:23:19Not too long ago, I tried to paint a picture of what a vision for a value-enabled web could look like. Now, only a couple of months later, all this stuff is being built. On nostr, and on lightning. Orange and purple, a match made in heaven.
It goes without saying that I'm beyond delighted. What a time to be alive!
nostr
Here's the thing that nostr got right, and it's the same thing that Bitcoin got right: information is easy to spread and hard to stifle.[^fn-stifle] Information can be copied quickly and perfectly, which is, I believe, the underlying reason for its desire to be free.
[^fn-stifle]: That's a Satoshi quote, of course: "Bitcoin's solution is to use a peer-to-peer network to check for double-spending. In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle."
Easy to spread, hard to stifle. That's the base reality of the nature of information. As always, the smart thing is to work with nature, not against it.[^1] That's what's beautiful about the orange coin and the purple ostrich: both manage to work with the peculiarities of information, not against them. Both realize that information can and should be copied, as it can be perfectly read and easily spread, always. Both understand that resistance to censorship comes from writing to many places, making the cost of deletion prohibitive.
Information does not just want to be free, it longs to be free. Information expands to fill the available storage space. Information is Rumor's younger, stronger cousin; Information is fleeter of foot, has more eyes, knows more, and understands less than Rumor.
Eric Hughes, A Cypherpunk's Manifesto
Nostr is quickly establishing itself as a base layer for information exchange, one that is identity-native and value-enabled. It is distinctly different from systems that came before it, just like Bitcoin is distinctly different from monies that came before it.
As of today, the focus of nostr is mostly on short text notes, the so-called "type 1" events more commonly known as tweets.[^fn-kinds] However, as you should be aware by now, nostr is way more than just an alternative to twitter. It is a new paradigm. Change the note kind from
1
to30023
and you don't have an alternative to Twitter, but a replacement for Medium, Substack, and all the other long-form platforms. I believe that special-purpose clients that focus on certain content types will emerge over time, just like we have seen the emergence of special-purpose platforms in the Web 2.0 era. This time, however, the network effects are cumulative, not separate. A new paradigm.Let me now turn to one such special-purpose client, a nostr-based reading app.
[^fn-kinds]: Refer to the various NIPs to discover the multitude of event kinds defined by the protocol.
Reading
I'm constantly surprised that, even though most people do read a lot online, very few people seem to have a reading workflow or reading tools.
Why that is is anyone's guess, but maybe the added value of such tools is not readily apparent. You can just read the stuff right there, on the ad-ridden, dead-ugly site, right? Why should you sign up for another site, use another app, or bind yourself to another closed platform?
That's a fair point, but the success of Medium and Substack shows that there is an appetite for clean reading and writing, as well as providing avenues for authors to get paid for their writing (and a willingness of readers to support said authors, just because).
The problem is, of course, that all of these platforms are platforms, which is to say, walled gardens that imprison readers and writers alike. Worse than that: they are fiat platforms, which means that permissionless value-flows are not only absent from their DNA, they are outright impossible.[^2]
Nostr fixes this.
The beauty of nostr is that it is not a platform. It's a protocol, which means that you don't have to sign up for it---you can create an identity yourself. You don't have to ask for permission; you just do, without having to rely on the benevolence of whatever dictator is in charge of the platform right now.
Nostr is not a platform, and yet, powerful tools and services can be built and monetized on top of it. This is good for users, good for service providers, and good for the network(s) at large. Win-win-win.
So what am I talking about, exactly? How can nostr improve everyone's reading (and writing) experience?
Allow me to paint a (rough) picture of what I have in mind. Nostr already supports private and public bookmarks, so let's start from there.
Imagine a special-purpose client that scans all your bookmarks for long-form content.[^fn-urls] Everything that you marked to be read later is shown in an orderly fashion, which is to say searchable, sortable, filterable, and displayed without distractions. Voilà, you have yourself a reading app. That's, in essence, how Pocket, Readwise, and other reading apps work. But all these apps are walled gardens without much interoperability and without direct monetization.
[^fn-urls]: In the nostr world long-form content is simply markdown as defined in NIP-23, but it could also be a link to an article or PDF, which in turn could get converted into markdown and posted as an event to a special relay.
Bitcoin fixes the direct monetization part.[^fn-v4v] Nostr fixes the interoperability part.
[^fn-v4v]: ...because Bitcoin makes V4V practical. (Paywalls are not the way.)
Alright, we got ourselves a boring reading app. Great. Now, imagine that users are able to highlight passages. These highlights, just like bookmarks now, could be private or public. When shared publicly, something interesting emerges: an overlay on existing content, a lens on the written Web. In other words: swarm highlights.
Imagine a visual overlay of all public highlights, automatically shining a light on what the swarm of readers found most useful, insightful, funny, etc.
Further, imagine the possibility of sharing these highlights as a "type 1" event with one click, automatically tagging the highlighter(s)---as well as the author, of course---so that eventual sat-flows can be split and forwarded automatically.
Voilà, you have a system that allows for value to flow back to those who provide it, be it authors, editors, curators, or readers that willingly slog through the information jungle to share and highlight the best stuff (which is a form of curation, of course).
Zaps make nostr a defacto address book[^fn-pp] of payment information, which is to say lightning addresses, as of now. Thanks to nostr wallet connect (among other developments), sending sats ~~will soon be~~ is already as frictionless as leaving a like.
[^fn-pp]: The Yellow Pages are dead, long live The Purple Pages!
Value-for-value and participatory payment flows are something that traditional reading apps desperately lack, be it Pocket, Instapaper, Readwise, or the simple reading mode that is part of every browser.
A neat side-effect of a more structured way to share passages of text is that it enables semi-structured discussions around said passages---which could be another useful overlay inside special-purpose clients, providing context and further insights.[^5]
Further, imagine the option of seamlessly switching from text-on-screen to text-to-speech, allowing the user to stream sats if desired, as Podcasting 2.0 clients already do.[^3]
Imagine user-built curations of the best articles of the week, bundled neatly for your reading pleasure, incentivized by a small value split that allows the curator to participate in the flow of sats.
You get the idea.
I'm sure that the various implementation details will be hashed out, but as I see it, 90% of the stuff is already there. Maybe we'll need another NIP or two, but I don't see a reason why this can't be built---and, more importantly: I don't see a reason why it wouldn't be sustainable for everyone involved.
Most puzzle pieces are already there, and the rest of them can probably be implemented by custom event types. From the point of view of nostr, most everything is an event: bookmarks are events, highlights are events, marking something as read is an event, and sharing an excerpt or a highlight is an event. Public actions are out in the open, private actions are encrypted, the data is not in a silo, and everyone wins. Especially the users, those who are at the edge of the network and usually lose out on the value generated.
In this case, the reading case, the users are mostly "consumers" of content. What changes from the producing perspective, the perspective of the writer?
Writing
Back to the one thing that nostr got right: information is easy to spread but hard to stifle. In addition to that, digital information can be copied perfectly, which is why it shouldn't matter where stuff is published in the first place.
Allow me to repeat this point in all caps, for emphasis: IT SHOULD NOT MATTER WHERE INFORMATION IS PUBLISHED, and, maybe even more importantly, it shouldn't matter if it is published in a hundred different places at once.[^fn-torrents]
What matters is trust and accuracy, which is to say, digital signatures and reputation. To translate this to nostr speak: because every event is signed by default, as long as you trust the person behind the signature, it doesn't matter from which relay the information is fetched.
This is already true (or mostly true) on the regular web. Whether you read the internet archive version of an article or the version that is published by an online magazine, the version on the author's website, or the version read by some guy that has read more about Bitcoin than anyone else you know[^fn-guy]---it's all the same, essentially. What matters is the information itself.
[^fn-guy]: There is only one such guy, as we all know, and it's this Guy: nostr:npub1h8nk2346qezka5cpm8jjh3yl5j88pf4ly2ptu7s6uu55wcfqy0wq36rpev
Practically speaking, the source of truth in a hypernostrized world is---you guessed it---an event. An event signed by the author, which allows for the information to be wrapped in a tamper-proof manner, which in turn allows the information to spread far and wide---without it being hosted in one place.
The first clients that focus on long-form content already exist, and I expect more clients to pop up over time.[^4] As mentioned before, one could easily imagine prism-like value splits seamlessly integrated into these clients, splitting zaps automatically to compensate writers, editors, proofreaders, and illustrators in a V4V fashion. Further, one could imagine various compute-intensive services built into these special-purpose clients, such as GPT Ghostwriters, or writing aids such as Grammarly and the like. All these services could be seamlessly paid for in sats, without the requirement of any sign-ups or the gathering of any user data. That's the beauty of money proper.
Plagiarism is one issue that needs to be dealt with, of course. Humans are greedy, and some humans are assholes. Neither bitcoin nor nostr fixes this. However, while plagiarism detection is not necessarily trivial, it is also not impossible, especially if most texts are published on nostr first. Nostr-based publishing tools allow for OpenTimestamp attestations thanks to NIP-03, which in turn allows for plagiarism detection based on "first seen" lookups.
That's just one way to deal with the problem, of course. In any case, I'm confident that we'll figure it out.
Value
I believe that in the open ~~attention~~ information economy we find ourselves in, value will mostly derive from effective curation, dissemination, and transmission of information, not the exclusive ownership of it.
Although it is still early days, the statistics around Podcasting 2.0 and nostr zaps clearly show that (a) people are willing to monetarily reward content they care about, and (b) the willingness to send sats increases as friction decreases.
The ingenious thing about boostagrams and zaps is that they are direct and visible, which is to say, public and interactive. They are neither regular transactions nor simple donations---they are something else entirely. An unforgable value signal, a special form of gratitude and appreciation.
Contrast that with a link to Paypal or Patreon: impersonal, slow, indirect, and friction-laden. It's the opposite of a super-charged interaction.
While today's information jungle increasingly presents itself in the form of (short) videos and (long-form) audio, I believe that we will see a renaissance of the written word, especially if we manage to move away from an economy built around attention, towards an economy built upon value and insight.
The orange future now has a purple hue, and I believe that it will be as bright as ever. We just have a lot of building to do.
Further Reading
NIPs and Resources
- Nostr Resources
- value4value.info
- nips.be
- NIP-23: Long-form content
- NIP-57: Event-specific zap markers
- NIP-47: Nostr Wallet Connect
- NIP-03: OpenTimestamps attestations for events
Originally published on dergigi.com
[^1]: Paywalls work against this nature, which is why I consider them misguided at best and incredibly retarded at worst.
[^2]: Fiat doesn't work for the value-enabled web, as fiat rails can never be open and permissionless. Digital fiat is never money. It is---and always will be---credit.
[^3]: Whether the recipient is a text-to-speech service provider or a human narrator doesn't even matter too much, sats will flow just the same.
[^4]: BlogStack and Habla being two of them.
[^5]: Use a URI as the discussion base (instead of a highlight), and you got yourself a Disqus in purple feathers!
[^fn-torrents]: That's what torrents got right, and ipfs for that matter.
-
@ 434f9799:2d548c15
2022-07-24 03:49:30看了较多的插画, 对于内容级别模糊认知是一个在整理过程中很大的问题, 频道最常用 R18 来作为情色已否的一个最重要的分界点, 但是这个界限对于我来说依旧是模糊不清的, 现在会考虑的因素包括裸露及接近裸露的程度 / 裸露的内容占比 / 暗示程度.
于是我还是得好好学习一下关于内容分级的一些常识, 这里我能找到的写得最清晰明了的介绍关于内容分级的是 Google Play 的帮助文档和维基百科词条, 不同的国家地区都有不同的分级制度, 因此如果要面向当地的观众(?)那么就得考虑当地的内容分级... 有意思的是现在中国目前游戏(如原神)中使用的内容标识分级神似欧洲的 PEGI. 常用的 "R18" 是来源于日本的内容分级制度, 但目前为止正式的内容分级依旧是经过人工核验, 对于现在机器审查只是为了降低人力成本而使用算法模型构建的一种 "筛子" 毫无人类灵活可变的优点, 但是人类又没有机器那样完全固定的认知, 一张色图看一遍觉得一点都不色情, 但是看了三遍就会觉得很色, 就很神奇. 认知偏差不断地修正我的审美甚至XP.
在 Pixiv 的全年龄向排行榜里面有遇见过那种对于一些刻画特别细致, 形状和颜色都已经在画中了, 但是它依旧是 "全年龄", 在 Pixiv 提供的帮助 "什么是浏览限制" 中囊括了从投稿到用户浏览的内容分级概念 (对于插画这一个特殊的门类 Pixiv 可谓是很具有代表性了), 在里面提到关于 "R18" 的定义是 "与性有关的内容、性行为的刻画、性器官的接触与接合等,使人联想起性行为的事物", 我只想说一句: "那我看什么都有冲动怎么办?" 实在是还不够详细;
往下一级的有 "轻度的性描写" 是介于全年龄和 R18 之间的说大不大说小也不小的一块奇怪区域, 描述也最为详细: "无论年龄、性别,任何会勾起性联想的表现、接吻、拥抱、露出内衣等; 使人联想起性行为前后的表现、表情以及其他隐晦表现; 强调胸部、乳沟、乳头、臀部、两腿间等部位、以及隐约可见这些部位的构图及表现; 穿着极为暴露的服装或泳衣的人物、极为裸露的人物、穿着透明材质服装的人物、让人联想起裸体的人物表现等."
这个区域中作品是所有分级制度中对于情色划分争议最大的地方, 有不少国家和地区的分级制度和观众认识会将它打上 R18 的标签, 况且 Pixiv 这里还仅仅是针对于 "插画" 这一个很小的艺术门类... 很详细, 且这类作品不能用 R18 来形容, 且 Pixiv 也没有单独为这类区分对待, 那种 "三眼色"(?) 的作品也被划进全年龄榜单了...
~~色情真是个可怕的东西~~
-
@ c75622fd:a9b66e1d
2023-03-18 15:09:42[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
[46]
[47]
[48]
[49]
[50]
[51]
[52]
[53]
[54]
[55]
[56]
[57]
[58]
[59]
[60]
[61]
[62]
[63]
[64]
[65]
[66]
[67]
[68]
[69]
[70]
[71]
[72]
[73]
[74]
[75]
[76]
[77]
[78]
[79]
[80]
[81]
[82]
[83]
[84]
-
@ 3bf0c63f:aefa459d
2022-10-29 19:19:00What 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 open-source financial support that have worked so far are:
- Paying people who are already doing useful work so they can continue doing that. That is the experience of some people who are "maintaining" Bitcoin Core, for example, or other open-source projects. You're doing a thing, you've proven yourself valuable and you definitely seem to be interested in that personally such that you don't need a boss telling you what to do, so take the money and just keep doing that.
- Structured open-source initiatives, like the LDK effort. Although LDK is arguably useless, it has a stated goal and that goal is being delivered. I don't have any knowledge about how its development process works, but they have people being paid and "bosses" that direct the work to be done, as any team needs. So it is not the same as an open grant.
The thing that is missing is a way to provide these open loose grants to people that don't require bosses, but also that don't just pick a winner and let them do whatever stupid idea they might have (Spiral grants), and also do not mandate that they do something big before being paid and offers no guarantee of that they will be paid whatsoever.
The solution: smaller flexible bounties in large quantities
My suggestions is: instead of giving 1 bitcoin for a huge very specific project, state some "principles", or "problems", in a loose manner, that you want to see solved. For example, "we, the organization X, wants to see projects that use zero-knowledge proofs to help Bitcoin somehow, because we love zero-knowledge proofs".
Then state that you're going to give 20 grants of 0.05 bitcoins each, at random times, for projects that you see being done that may be on the right track.
That will tilt people that may had a small inclination to work on these problems to actually start doing something, and if they see that what they're doing is being appreciated and awarded with a payment, they will be more incentivized to finish it. There could even be a conditional bounty (like HRF did with Cashu) for finishing the project with certain requirements, but this only works after some structure is already in place for a certain project.
-
@ 3bf0c63f:aefa459d
2022-10-29 13:24:00On 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", could be understood as a bounty for mobile wallets only, in which case the implementation would be hacky, hard and take a lot of time; or it could be understood as being valid for any wallet, in which case it was already implemented in CLN (at the time called "c-lightning"), so the bounty didn't make sense.
The second, a wallet with a noncustodial US dollar balance, is arguably impossible, since there is no way to achieve it without trusted oracles, therefore it is probably invalid. If one assumed that trust was fine, then it was already implemented by StandardSats at the time. It felt it was designed to use some weird construct like DLCs -- and Chris Steward did publish a guide on how to implement a wallet that would be eligible for the bounty using DLCs, therefore the path seemed to be set there, but this would be a very hard and time-intensive thing.
The third, a noncustodial wallet with optional custodial ecash functionality, seemed to be targeting Fedimint directly, which already existed at the time and was about to release exactly these features.
Time passed and apparently no one tried to claim any of these bounties. My explanation is that, at least for 1 and 2, it was so hard to get it done that no one would risk trying and getting rejected. It is better for a programmer to work on something that interests them directly if they're working for free.
For 3 I believe no one even tried anything because the bounty was already set to be given to Fedimint.
Fast-forward to today and bounties 1 and 3 were awarded to two projects that were created by the sole interest of the developers with no attempt to actually claim these bounties -- and indeed, the two winners strictly do not qualify according to the descriptions from last year.
What if someone was working for months on trying to actually fulfill the criteria? That person would be in a very bad shape now, having thrown away all the work. Considering this it was a very good choice for everyone involved to not try to claim any of the bounties.
The winners have merit only in having pursued their own interests and in creating useful programs as the result. I'm sure the bounties do not feel to them like a deserved payment for the specific work they did, but more like a token of recognition for having worked on Bitcoin-related stuff at all, and an incentive to continue to work.
-
@ 3bf0c63f:aefa459d
2022-09-12 02:28:00A 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 codebase to implement federated oracle corporations that will host individual prediction markets inside them.
Pegging in and out of a federation can be done through Lightning gateways, and once inside the federation users can buy and sell shares of individual markets using a native LMSR market-maker.
Then we make a decentralized directory of these bets using something simple like Nostr so everybody can just join any market very easily.
Why?
The premise of this idea is that we can't have a centralized prediction market platform because governments will shut it down, but we can instead have a pseudonymous oracle corporation that also holds the funds being gambled at each time in a multisig Bitcoin wallet and hope for the best.
Each corporation may exist to host a single market and then vanish afterwards -- its members returning later to form a new corporation and host a new market before leaving again.
There is custodial risk, but the fact that the members may accrue reputation as the time passes and that this is not one big giant multisig holding all the funds of everybody but one multisig for each market makes it so this is slightly better.
In any case, no massive amounts are expected to be used in this scheme, which defeats some of the use cases of prediction markets (funding public goods, for example), but since these are so advanced and society is not yet ready for them, we can leave them for later and first just try to get some sports betting working.
This proto-truthcoin implementation should work just well enough to increase the appetite of bitcoiners and society in general for more powerful prediction markets.
Why is this better than DLCs?
Because DLCs have no liquidity. In their current implementations and in all future plans from DLC enthusiasts they don't even have order books. They're not seen very much as general-purpose prediction markets, but mostly as a way to create monetary instruments and derivatives.
They could work as prediction markets, but then they would need order books and order books are terrible for liquidity. LMSR market makers are much better.
But it is custodial!
If you make a public order book tied to known oracles using a DLC the oracle may also be considered custodial since it becomes really easy for him to join multiple trades as a counterpart then lie and steal the money. The bets only really "discreet" if they're illiquid meaningless bets between two guys. If they're happening in a well-known public place they're not discreet anymore.
DLC proponents may say this can be improved by users using multiple oracles and forming effectively a federation between them, but that is hardly different from choosing a reputable oracle corporation in this scheme and trusting that for the life of the bet.
But Hivemind is better!
Yes.
-
@ 3bf0c63f:aefa459d
2022-05-27 14:34:00Formula for making games with satoshis
I think the only way to do in-game sats and make the game more interesting instead of breaking the mechanics is by doing something like
- Asking everybody to pay the same amount to join;
- They get that same amount inside the game as balances;
- They must use these balances to buy items to win the game;
- The money they used becomes available as in-game rewards for other players;
- They must spend some money otherwise they just lose all the time;
- They can't use too much because if they run out of money they are eliminated.
If you think about it, that's how poker mostly works, and it's one of the few games in which paying money to play makes the game more interesting and not less.
In Poker:
- Everybody pays the same amount to join.
- Everybody gets that amount in tokens or whatever, I don't know, this varies;
- Everybody must pay money to bet on each hand;
- The money used on each round is taken by the round winner;
- If you don't bet you can't play the rounds, you're just eliminated;
- If you go all-in all the time like a mad person you'll lose.
In a game like Worms, for example, this could be something like:
- Idem;
- Idem;
- You must use money to buy guns and ammunitions;
- Whatever you spent goes to a pot for the winners or each round -- or maybe it goes to the people that contributed in killing you;
- If you don't buy any guns you're useless;
- If you spend everything on a single gun that's probably unwise.
You can also apply this to games like Counter-Strike or Dota or even Starcraft or Bolo and probably to most games as long as they have a fixed duration with a fixed set of players.
The formula is not static nor a panacea. There is room for creativity on what each player can spend their money in and how the spent money is distributed during the game. Some hard task of balancing and incentivizing is still necessary so the player that starts winning doesn't automatically win for having more money as the game goes on.
-
@ 3bf0c63f:aefa459d
2022-05-10 21:57:00Doing automatic payouts to users on the Lightning Network
No service wants to keep users balances forever or "become a custodian", as that may have some complications dependending on who is doing it.
But the sad truth is that there is no way to do automatic payouts to users on the Lightning Network. So if you're running a marketplace or a game of some kind that takes sats from some users, does something, then sends sats out to other users, you must keep a table with balances for each user.
-- But I can ask for a Lightning Address!
No, you can't, because mobile users of noncustodial wallets do not have those things generally, and that's not the purpose of Lightning Addresses anyway. Well, of course you can, but what I'm trying to say is that you shouldn't, as that is an anti-practice that will cause people to not want to use your service or force them into custodial providers -- which may be ok for them, but may not be.
-- So if I ignore the concerns above I can do this with Lightning Addresses, right?
Not really, because payments can fail. The user might input an invalid Lightning Address, or the Lightning Address may stop working after a while. Or even if it is working and online your payout can still fail for many reason inherent to Lightning.
That means you need to keep a table of balances for your users anyway. It doesn't matter.
Since you are already keeping a table of balances, now it's your chance to bring back the mobile noncustodial wallet users into a greater standard that accomodates everybody: LUD-14.
Wallets can implement LUD-14 support and then be made to withdraw balances from your service automatically every time they're turned on or periodically or upon manual request from the user. That limits the amount of user balance you'll have to keep on your service (but you can also add more rules around that, for example, automatically confiscating balances that stay parked too long, or putting a hard limit on the balance size for each user).
-- But with Lightning Addresses I can do instant payouts!
Yes, you can, but that's why LUD-15 exists: for all custodial providers, noncustodial wallets that rely on some kind of friendly server or coordinator (like Breez, Blixt or Phoenix) or even noncustodial providers running some kind of homemade server, you can dispatch these requests that cause them to withdraw the money automatically, which makes the experience similar to instant payouts -- and better, since then the payment requests can be more meaningful and say they are withdrawals from your service instead of saying that you're donating money to them (which is what most Lightning Address payments really mean).
-
@ be318ab6:dd25a806
2023-04-04 13:10:00Like many other nostr users (nostriches), I pulled the plug on Twitter in March and moved my social media energy entirely to Nostr to give it a proper test. And same as the most, I won't be coming back to Twitter after this. I'll share a few highlights here about my experience.
Motivation
There have been two sets of reasons for me:
Macro ones
-
I'm concerned about the creeping digital tyranny, censorship, and manipulation abilities of the centralized platforms and state actors. Trusting people that these powers won't be misused is naive (especially after living past few years where we've seen globally the state-coordinated attacks on free speech and freedom). Therefore, I'm eager to support and explore any tools that make individuals and their families more resilient to tyranny.
-
Secondly, I love that it's an open-source tech. If there is a reasonable OS alternative to private closed-source ones, I prefer to support it. I see these as impactful charitable gifts that have the compounding utility for the world - especially if they lower the barriers to entry for new subsequent projects, services, and prosperity.
Personal
- I haven't been able to isolate myself from all the artificial politicization and triggering present on Twitter. The site's definition of engagement has been corrupted over the years. And now more than anything, it maximizes the enragement. And even when going there for particular signals (Bitcoin, Macroeconomics, ...), I got served the enraging noise, and it has stolen way too much time from me.
What have I learned after one month on Nostr:
Good (Nostr winning):
- On nostr, you usually don't see what you don't follow. In the future, this may lead to more bubbles and group-think, but it will lead to more politeness, signal, meaningful engagement on your feeds, and true diversity of global thinking.
- People build on Nostr at an amusing speed. I've never seen devs and designers shipping so rapidly. And this makes me want to get involved more actively.
- Zaps are fun. At first. And valuable forever.
- Ex. It's pretty exciting when @Jack Dorsey reposts your stupid meme, and then your wallet phone notifications get instantly showered with sats. Then the fun novelty effect wears off a bit, but the undisputed utility and its incentives stay. People have the extra motivation to share valuable content and replies. opportunity for content creators
Bad (Twitter winning):
- Twitter still has the network effects.
-
Unless you're a bitcoiner or nostr enthusiast, you might struggle to find enough content you care about on Nostr right now. Myself an amateur economist (same as Paul Krugman), I missed the Macroeconomic news and commentary from the folks on the border of FinTwitter-Bitcoin
-
Missing some of the basic functionality
- Search: Twitter search function could be better, but it usually gets me what I need. Nostr search is a terrible experience for now
- Tagging people - it's so cumbersome/impossible to do on the mobile clients I've been using. Either way, many more positives than negatives. I will keep using the combo of both for different use cases now because, in the end of the day, it's just tools.
Hope
Above all pros and cons, there's the vividly expressed hope. There's this universally shared feeling on Nostr that the platform is the new frontier for freedom and happiness, and every day there's a feeling of a Digital Woodstock lived in the 90s Eastern Europe with the vision of almost limitless possibilities. It's a new and exciting world where everyone's white-pilled about the future, and that's why I'm staying.
Tl;dr: @note1akfxxp4k203wq0wz7tpwykapyv2rs0asvd4ka2qws87jvly4v64qu4jtkv
-
-
@ c75622fd:a9b66e1d
2023-04-04 12:22:25my drawing
Zapathon 2023-03-25
community art
-
@ 166737b1:b860d91f
2023-04-04 09:51:26As I delved deeper into the Nostr network protocol, I found myself struggling to navigate the Nostr Implementation Possibilities (NIPs). Each NIP contains a wealth of information, but it's often obfuscated by noise, making it challenging to understand what each one is trying to convey.
For instance, when I tried to figure out what the
"e"
field would do, I went to read through the first document. But instead of finding a straightforward programming guide, I was confronted with blocks of text that read like a nuclear safety manual. It was a frustrating experience, to say the least, highlighted by the fact that the information I needed was buried in the last paragraph, long after its actual use within the same document.To make matters worse, I'm never sure if the NIP I'm looking at is the right one for my problem. And with so many NIPs available, it's difficult to determine which one is relevant. Moreover, searching for information in NIPs is a pain. I often wonder if all the relevant information is contained within a particular NIP or if I should be looking at other NIPs as well.
Furthermore, I find it perplexing that app layer things are being mixed into the "protocol." Why is there a NIP for browser extensions, for example? This NIP, by itself, blocks developers from creating alternative solutions since it's considered canonical. It's worth noting that there is no Ethereum Improvement Proposal (EIP) for
window.ethereum
, yet everything still works perfectly fine.The sheer number of NIPs is already mind-boggling. As of April 2023, there are at least 30 NIPs in the repository, with nondescript filenames like
01.md
only adding to the confusion. There are also 82 open pull requests (PRs), suggesting that people view NIPs more as a validation for their app ideas rather than a base protocol for notes.In conclusion, I believe that if NIPs are necessary for app layer development on the Nostr network protocol, they need to be improved significantly. They need to be clearer, more organized, and easier to navigate. Otherwise, users like me will continue to struggle with them, making it challenging to contribute to the Nostr network protocol's development. One potential solution could be to make them more like traditional programming documentation or create a ChatGPT-like search for NIP content. Since NIPs are describing JSON objects, we could document them as such, making them more accessible to developers and users alike.
-
@ 42f9711f:8239fb2a
2023-04-03 16:59:49Nous avons tendance à faire une nette distinction entre les entreprises purement spéculatives et les investissements véritablement sûrs. Cette distinction n'est qu'une question de degré. Un investissement non-spéculatif, ça n'existe pas. Dans une économie changeante, toute action implique une notion de spéculation. Les investissement peuvent être bons ou mauvais, mais ils sont toujours spéculatifs. Un changement radical de conditions peut par ailleurs rendre mauvais des investissements communément considérés comme étant parfaitement sûrs.
— Ludwig von Mises, L’Action humaine, traité d’économie
Il est courant que des critiques s'interrogent sur la rationalité économique des bitcoiners qui épargnent en bitcoin en affirmant que bitcoin n'est rien d'autre qu'un "actif spéculatif". Cela insinue que bitcoin ne vaut rien et ne dérive sa valeur qu'à travers une série d'arnaques ou de jeux de dupes. Alors que cette attitude arrogante permet aux critiques de se sentir supérieurs et de rejeter bitcoin comme étant une technologie et un actif ne méritant pas leur dignité, un tel language les trahit car leur médisance ne fait que révéler leur incompréhension d'une pensée économique fondamentale. La simple réalité est que toute action et tout actif sont de nature spéculative. La question à se poser n'est donc pas de savoir s'il faut spéculer sur bitcoin mais de réfléchir aux façons de spéculer sur bitcoin.
Action, incertitude et risque
Si l'avenir était parfaitement prévisible, il n'y aurait pas besoin de prendre des décisions économiques. Une décision n'aurait donc aucune capacité à influencer l'avenir, car l'avenir serait déjà prédeterminé. Le fait que les hommes agissent dans le but d'affecter les conditions futures à leur profit suggère que l'avenir est fondamentalement et inévitablement incertain.
L'incertitude existe pour deux raisons. Premièrement, nous n'avons pas assez de connaissances sur les phénomènes naturels de sorte à ce que nous puissions prévoir tout condition naturelle future, et il est probable que nous le puissions jamais. Deuxièmement, les préférences humaines sont sans cesse fluides. Les individus changent la façon dont ils prisent des marchandises d'un moment à l'autre. L'apparition de nouvelles connaissances et expériences influence leur façon de penser aux meilleurs moyens à employer pour atteindre des objectifs données, ou même leur désir d'atteindre certains objectifs.
Comprendre l'incertitude nécessite de la différencier du risque. Dans son ouvrage L’Action humaine, Ludwig von Mises le fait en énumérant différents types de probabilité auxquels les individus font face. Nous n'avons jamais assez de connaissances à notre disposition pour formuler des hypotèses précises sur l'avenir, mais il n'y a pas de moments où nous ne disposons d'aucune connaissance non plus. Ces deux types de probabilité, qu'il nomme probabilité de classe et probabilité de cas, traitent des types de connaissances qui nous font défaut.
Mises définit la probabilité de classe comme suit :
La probabilité de classe signifie : Nous savons ou présupposons savoir, en ce qui concerne un problème donné, tout ce qu'il y a savoir sur le comportement d'une classe d'événements ou de phénomènes ; mais nous ne savons rien d'un événement ou d'un phénomène spécifique, hormis le fait qu'ils appartiennent à cette classe.
Lorsqu'un dé est jeté, nous savons qu'il y a une chance sur six qu'un nombre particulier apparaisse, mais nous savons pas quel nombre exact apparaitra. De la même manière, il est possible de déduire la probabilité d'une maladie à affecter une population, mais il est impossible de savoir à l'avance quelle population sera affectée. Lorsque nous avons à notre disposition assez de connaissances et de certitude pour faire face à une telle classe d'événements, nous avons affaire à un risque. La probabilité de résultats est objective, calculable et prévisible. Nous pouvons nous assurer contre de telles probabilités.
En revanche, ce degré de certitude n'existe pas pour tout événement, il s'agit alors d'une probabilité de cas et d'incertitude.
La probabilité de cas signifie : Nous savons, en ce qui concerne un problème donné, certains des facteurs déterminant le résultat, mais il existe d'autres facteurs déterminants dont nous ne savons rien.
L'action humaine se fonde sur une valeur subjective et qualitative, plutôt que sur des données quantitatives mesurables. Il est donc impossible de calculer différentes probabilités de résultats économiques. Il est possible d'utiliser des facteurs, tels que les préférences passées, pour parvenir à juger les résultats d'une action, mais nous ne pouvons pas utiliser ceux-ci pour déterminer la fréquence de résultats précis. Mises prend l'exemple d'un match de football. Les victoires passées d'une équipe peut nous amener à penser qu'elle continuera à gagner, mais cela ne garantit aucunement la défaite de l'équipe adverse. Si ce fut le cas, le match serait ennuyeux et sans intérêt.
En résumé, le risque se résume à des événements dont la fréquence est calculable et contre lesquels nous pouvons nous assurer. Cependant, la plupart des incertitudes auxquelles sont confrontés les hommes se résume à des événements uniques liés à des circonstances individuelles, et contre lesquels nous ne pouvons donc pas nous assurer. Nous devons utiliser d'autres moyens pour faire face à l'incertitude.
Le pari, l'ingénierie et la spéculation
Mises identifie trois méthodes utilisées pour faire face à l'incertitude : le pari, l'ingénierie et la spéculation.
Le pari est utilisé pour faire face à la probabilité de classe et au risque, et ce en pariant sur des cas individuels.
Le parieur ne sait rien de l'événement duquel le résultat de son pari dépend. Tout ce qu'il sait, c'est la fréquence à laquelle un résultat favorable peut se produire lors d'une telle série d'événements, connaissance en fin de compte inutile pour son projet. Sa seule intention est de s'en remettre au hasard.
Le parieur sait que le résultat d'un jet de dé n'a qu'une chance sur six de se produire, mais il parie que le prochain sera le bon. Du point de vue de l'assuré, s'assurer contre ce risque est un pari, car même s'il paie une prime qui reflète la fréquence qu'un mauvais résultat puisse se produire, celui-ci peut aussi ne jamais se produire, et la prime aura donc été payée pour rien. Chaque jour, des gens prennent le pari qu'ils ne se feront pas percuter par une voiture ou qu'ils ne se feront pas frapper par la foudre. Dans un sens, il est impossible de vivre sa vie sans un élément de hasard (à moins de s'appeler Phil Ivey).
D'autre part, si un individu a les connaissances techniques suffisantes pour faire face aux phénomènes naturels avec confiance, il peut affronter l'avenir via l'ingénierie.
L'ingénieur, en revanche, sait tout ce dont il a besoin pour résoudre un problème de manière satisfaisante par le biais technologique, comme la construction d'une machine. À partir du moment où il est capable d'exercer un contrôle sur des éléments incertains du problème, il tente de les éliminer via des dispositifs de sécurité. L'ingénieur n'a conscience que des problèmes qui peuvent être résolus et des problèmes qui ne peuvent l'être dans l'état actuel des connaissances. Il lui arrive parfois de découvrir lors d'événements indésirables que ses connaissances n'étaient pas aussi vastes qu'il ne le présupposait initialement et qu'il n'a pas réussi à reconnaitre l'indétermination de certains des problèmes qu'il pensait pouvoir contrôler. Il tente alors d'y remédier en améliorant ses connaissances. Évidemment, il ne sera jamais capable d'éliminer complètement l'élément de hasard omniprésent dans la vie humaine. Mais son principe, c'est de fonctionner dans une orbite de certitude. Il vise à être en contrôle total des éléments de son action.
Un cycliste ne sait jamais quand il prendra une gamelle, mais s'il porte un casque conçu par un ingénieur compétent, l'incertitude que son tour à vélo se termine avec une fracture de la tête est réduite de manière significative, lui donnant ainsi plus de certitudes sur sa capacité à arriver à destination en un seul morceau.
En revanche, lorsqu'il s'agit d'évaluer des biens ou marchandises, les hommes n'ont pas d'autres choix que de spéculer :
Dans le monde réel, l'homme qui agit est confronté au fait que d'autres hommes agissent par eux-même, tout comme lui. La nécessité d'ajuster ses actions à celles des autres font de lui un spéculateur pour qui le succès et l'échec dépend de sa capacité relative à comprendre l'avenir. Chaque investissement est une forme de spéculation. Il n’y a dans le cours des événements humains aucune stabilité et donc aucune sécurité.
Les préférences peuvent changer pour une raison quelconque, voire aucune. Un bien qui a de la valeur aujourd'hui n'en aura pas forcément demain, et vice-versa. Les individus traitent ce problème par la spéculation. Ils achètent ou vendent des biens aujourd'hui en fonction des conditions qu'ils prévoient pour le lendemain. Cela étant dit, ces décisions ne sont pas prises dans le vide. Les individus utilisent leurs connaissances sur l'état du marché actuel, ainsi que sur leurs préférences, croyances, actions passées, et autres, pour faire des hypotèses sur l'avenir. Ils organisent leur production en fonction de ces spéculations afin d'arriver au futur qu'ils envisagent et pour en émaner un profit. Cependant, ils en tirent un profit uniquement dans le cas où leur jugement sur les désirs futurs des gens s'avère être correct. Puisque l'avenir est incertain, ils peuvent aussi se tromper en produisant des biens d'une valeur moindre à celle attendue par autrui et finir avec des pertes. Les entrepreneurs ayant le plus de succès sont ceux qui sont le plus adeptes à anticiper la façon dont les gens agiront à l'avenir, tandis que ceux qui en sont incapables prennent le risque de perdre de l'argent et peuvent finir par faire faillite.
Les gains et pertes de chaque acteur commercial, à leur tour, servent d'occasions d'apprentissage pour tous les acteurs du marché en leur signalant comment ajuster leur jugement et l'organisation de leur production afin de mieux anticiper l'avenir et offrir aux individus les marchandises dont ils ont besoin. L'incertitude et la spéculation sont alors au coeur du processus de marché. Il incombe à tout acteur commercial de savoir comment répondre aux signaux du marché, générés par la révélation des préférences et actions individuelles, s'ils souhaitent faire des spéculations rentables et entreprises productives contribuant à un meilleur avenir pour eux-même, comme pour autrui.
Tous les actifs sont spéculatifs
L'avenir est toujours incertain, car il n'y a pas de constance dans l'action humaine. La spéculation est inévitable. Toute action vise à améliorer des conditions futures, mais nous ne pouvons que spéculer sur l'avenir qui nous attend. Les préférences changent, y compris les nôtres. Ce que nous désirons aujourd'hui ou ce que nous pensons que nous désirerons demain, nous n'en voudrons peut être pas lorsque demain arrive.
Cela signifie, strictement parlant, que chaque bien que l'on achète ou que l'on vend est un "actif spéculatif." Bitcoin est de toute évidence un "actif spéculatif", tout comme les crayons, les voitures, et les glaces. Alors que vous achetez une glace à la vanille aujourd'hui, il est possible que plus tard vous en vouliez une au chocolat, ou un même un dessert complètement différent. Vous n'auriez pas pu le savoir à l'avance. Vous pouvez seulement exercer un jugement en vous basant sur le fait que vous désirez habituellement une glace à la vanille.
De plus, si vous spéculer sur un actif (ce que vous faites constamment), vous spéculez également sur tous les autres actifs, car l'achat ou la vente d'un bien nécessite de renoncer à l'achat ou la vente d'un autre bien.
Ceux qui dénigrent les "actifs spéculatifs" ont souvent recours au terme péjoratif de "pari". Rhétoriquement parlant, ce n'est pas une comparaison injuste, mais praxéologiquement parlant, c'est imprécis. Bien qu'un individu puisse spéculer sur un actif après une profonde réflexion (comme un bitcoiner) et qu'un autre le fasse après avoir reçu un "bon tuyau" (comme le téléspectateur moyen de CNBC), tous deux utilisent la connaissance de facteurs d'entrée qui peuvent influer sur le résultat de l'événement.
Gérer des actifs spéculatifs, ce n'est pas faire un pari. Comme indiqué ci-dessus, le pari traite de la probabilité de classe, tandis que la spéculation traite de la probabilité de cas. Lorsqu'un individu prend un pari, il sait tout de la fréquence des événements, mais ces connaissances n'ont aucun impact sur le résultat d'un événement particulier. Lorsque nous spéculons, bien que nous ne connaissions pas tous les facteurs pouvant influer sur le résultat d'un événement, nous en connaissons quelques uns. Vous ne savez peut-être pas si vous choisirez une glace à la vanille, mais vous savez bien ce que vous avez tendance à choisir.
Incertitude et argent
Comme mentionné précédemment, un acteur qui souhaite échapper au risque peut se procurer une assurance pour faire face aux imprévus. Cependant, comme l'incertitude n'est pas prévisible, il n'y a pas d'assurance contre celle-ci. Au lieu de cela, les acteurs se tournent vers un bien spécifique, le bien le plus commercialisable : l'argent.
Dans un article intitulé "‘The Yield From Money Held’ Reconsidered", Hans-Hermann Hoppe écrit :
Face à ce défi des aléas imprévisibles, l'homme en vient à priser des biens en raison de leur degré de commercialisation (plutôt que pour leur valeur d'usage en tant que consommateur ou producteur de biens) et envisage de commercer lorsqu'un bien à acquérir est plus commercialisable que celui à céder, de sorte que sa possession faciliterait l'acquisition future d'autres biens et services directement ou indirectement utiles. C'est-à-dire qu'une demande d'instruments d'échange pourrait émerger, soit, en d'autres termes, une demande de biens prisées en raison de leur qualité marchande ou potentiel de revente.
Il continue :
Parce que l'argent peut être utilisé pour satisfaire instantanément un large éventail de besoins, il offre à son propriétaire la meilleure protection humainement possible contre l'incertitude. En détenant de l'argent, son propriétaire a la satisfaction de pouvoir répondre à un grand nombre d'aléas futurs au fur et à mesure qu'ils surviennent de manière inattendue. Investir dans un solde de trésorerie, c'est investir contre l'aversion (ressentie subjectivement) à l'incertitude. Un solde de trésorerie plus élevé diminue davantage l’aversion à l’incertitude.
Il faut cependant noter que cela n'immunise pas l'argent en lui-même contre l'incertitude et la spéculation. Quiconque obtient de l'argent spécule sur le fait que cette acquisition aura plus de valeur à l'avenir que n'importe quel investissement présent et que le pouvoir d'achat qui en découle sera satisfaisant. Bitcoin est peut-être un actif spéculatif, mais le dollar américain l'est aussi.
Conclusion
Étant donné que tous les actifs sont spéculatifs, y compris l'argent, il nous incombe d'examiner l'activité spéculative en fonctions des connaissances et des jugements employés dans le processus de spéculation, plutôt que de se fermer l'esprit en ayant recours à de la gymnastique linguistique.
Dans le cas de l'argent, il est possible d'évaluer à quel point les caractéristiques d'un bien lui permettent de faire face à différents types d'incertitude, que ce soit par le biais de ses propriétés naturelles ou par le biais de l'ingénierie humaine, de sorte qu'il ait une valeur marchande supérieure à tous les autres biens. Cela ne garantit pas l'adoption de ce bien monétaire, mais cela nous permet de comprendre les raisons de son adoption et d'emettre un jugement sur l'évolution future de son adoption.
Si vous avez apprécié cet article, vous pouvez soutenir Michael Goldstein en devenant un abonné payant de son Substack ou en lui faisant une donation en sats (https://rb.gy/onn4uc)
Article original : https://bitstein.substack.com/p/everyones-a-speculator
Auteur : Michael Goldstein (@bitstein)
Date de parution : 23 janvier 2023
-
@ 42f9711f:8239fb2a
2023-04-03 16:00:08Tribune de Konstantin Rabin, écrivain en finance et en technologie.
Je fais partie de ceux qui ont eu la chance d’avoir découvert Bitcoin il y a plus d’une décennie avant qu’il ne gagne l’attention du grand public. Malheureusement, je fais également partie de ces idiots qui ont vu cette opportunité se profiler, n’y ont pas trop réfléchi et l’ont ignorée.
Au cours de ce petit récit, je voudrais vous faire partager le chemin qui m’a conduit à ignorer à investir dans Bitcoin à trois reprises avant de finalement céder et de devenir un HODLer. Voici donc les leçons cruciales que j’ai tirées de cette expérience et qui valent la peine d’être partagées avec ceux et celles qui doutent encore de BTC.
LE COMMENCEMENT
Étant donné que j’ai commencé mon premier emploi à plein-temps dans le courtage en ligne en 2011, cela ne surprendra personne que j’étais entouré de collègues passionnés par le trading et par tout ce qui touchait aux investissements, à la technologie et au progrès du monde de la finance. En peu de temps, je suis devenu ami avec Edgar. Nous partagions les mêmes centres d’intérêt, principalement les jeux vidéo et notre addiction de longue date à la nicotine. Même si nous travaillions dans différents départements et avions peu d'occasions de collaborer dans le cadre du travail, nous nous contactions l’un l’autre pour prendre des pauses cigarettes. Nous parlions de nos vies, de l’univers et de tout le reste en prenant une bouffée d’air frais et de nicotine.
Un jour de 2012, j’ai envoyé à Edgar un message du type “clope ?” avant de remarquer que son statut Skype contenait une sorte de charabia, comme si un chat avait marché sur son clavier.
Cela ressemblait à quelque chose comme : “1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2.”
Alors que nous fumions, je lui ai demandé, “C’était un chat ou ton compte a-t-il été piraté ?” Il a nié les deux possibilités et s’est lancé dans une longue tirade compliquée sur les addresses Bitcoin et la technologie blockchain.
Edgar m’a expliqué avec passion tout ce qu’il savait sur Bitcoin et son enthousiasme m’a immédiatement contaminé - j’ai donc commencé à m’intéresser au sujet. Faisant partie du monde de la finance, j’étais conscient de toutes les arnaques et produits douteux qui circulaient sur le net et qui, comme e-gold, semblaient similaires aux premiers abords. Néanmoins, plus il m’en parlait, moins Bitcoin semblait être un projet malhonnête. À minima, cela en valait la peine de tenter le coup.
Mon problème majeur était que 2012 était ma pire année en matière de santé financière, et bien que 3 730 218 clés publiques étaient déjà en existence sur le réseau Bitcoin à cette époque, je n’avais aucune économie à dépenser pour aller parier sur une technologie nouvelle qui n’avait pas fait ses preuves et qui promettait de “révolutionner” notre relation à l’argent.
Pour le dire franchement, j’étais vraiment fauché. Si fauché qu’à la fin de chaque mois, mes passages au supermarché se résumaient à devoir choisir entre acheter de la nourriture ou un paquet de cigarettes pour tuer la sensation de faim. Au final, j’en suis venu à la conclusion qu’alors que manger de la viande était considéré comme un luxe, parier sur le futur de jetons numérisés ne s’inscrivait pas dans une logique budgétaire saine. À cette époque, bitcoin s'échangeait pour moins de 10 $
LE DOUTE
Avançons en 2015. Ayant passé plusieurs bonnes années au travail, j’avais cumulé les promotions et dirigeais dorénavant la stratégie et l’exécution marketing dans une des plus importantes start-ups de fintech en Europe. L’environnement professionnel était super. La plupart de mes collègues étaient des développeurs de logiciels invétérés qui travaillaient sans cesse à collecter les données bancaires d’individus sans demander de permissions quelconques aux banques. Le bureau arborait même un bon vieux pavillon noir comme sorte de justification pour le travail qui y était mené. Comme vous pouvez l’imaginer, beaucoup de mes collègues étaient de grands fans de Bitcoin et de tout ce que cela représentait.
Puisque j’avais beaucoup progressé professionnellement, les chiffres indiquant mon salaire avaient gagné en zéro. J’avais enfin la possibilité d’acheter des cigarettes et de la nourriture, tout en ayant suffisement d'argent de côté pour subvenir à des temps difficiles. En travaillant dans ce secteur, je savais mieux que quiconque que laisser mon argent à la banque n’était pas la voie à suivre et je commençais donc à réfléchir à comment investir mon capital, puisque je n’avais aucune intention de le dépenser.
J'entendais souvent mes collègues parler de “Bitcoin” au bureau, mais j’étais encore sceptique quant à s’il s’agissait d’un bon investissement. À l’époque, bitcoin s’échangeait pour environ 250 $ après être tombé du haut de ses 1000 $. J’ai approché la question avec mon cerveau d’investisseur bien conditionné et en ai conclu que bitcoin n’allait probablement jamais recouvrir cette perte et qu’il continuerait de chuter jusqu’à ce qu’il ne reste plus qu’une poignée de geeks invétérés pour s’y intéresser encore.
Je gardais quand même un oeil sur les courbes de dominance de Bitcoin et remarquais que, malgré la chute, sa dominance sur le marché restait sans équivoque, ce qui m’a conduit à conclure qu’il s’agissait de la seule cryptomonnaie ayant réussi à accomplir quelque chose, mais que sans concurrence, elle ne parviendrait jamais à devenir vraiment importante.
“Il me faut un produit de placement plus stable pour mes économies,” disais-je à l’investisseur avisé de mon esprit, et j’ai donc acheté 7 500 $ en lingots d’or. Ayant gardé un oeil sur la hausse continue du cours de l’or depuis la crise économique de 2008, cela me paraissait être l’investissement le plus stable possible.
LE REJET
Faisons un saut en 2018, année durant laquelle tout le monde était fou de crypto. À part bitcoin, de nombreuses autres cryptomonnaies avaient emergé et le boom des ICO (Initial Coin Offering: Offre publique de pièces initiale) battait son plein avec plus de 6,88 milliards $ levés par l’intermédiaire d’ICO au cours du premier trimestre de 2018. Tout le monde, y compris leurs mères, parlait de Bitcoin et de crypto. Une visite chez le coiffeur et vous en entendiez parler, et sur Facebook il était impossible de trouver une page qui n’en faisait pas mention d’une manière ou d’une autre ; même mes parents m’ont donné un coup de fil et m’ont demandé si j’en possédais, me disant que je devais en acheter puisqu’ils avaient entendu dire qu’il était probable que le cours monte.
À cette période, j’offrais des services de marketing en freelance, et les affaires allaient bien puisque les ICO bros dépensaient des sommes folles dans n’importe quel service à condition qu’ils puissent payer en crypto. Même si des stablecoins comme USDT étaient déjà présents depuis longtemps, il était rare que les gens les utilisent dans un contexte transactionnel. Je voyais certains de mes paiements arriver sous forme de BTC dans une fourchette de prix allant de 4 000 $ à 13 000 $ par bitcoin.
C’était à ce moment là que j’ai acquis mon premier bitcoin, mais du fait de la folie complète qui frappait l’univers de la crypto, j’ai décidé de vendre toutes mes unités de BTC le plus vite possible à quelqu’un trouvé sur Local Bitcoins. Durant cette période, la volatilité quotidienne était énorme, et — par sûreté — je me dépêchais de convertir mes bitcoins en cash à chaque paiement le plus vite possible.
L’ACCEPTATION
La mi-2018 fut un point tournant pour moi en matière de carrière. J’avais arrêté de travailler à plein temps pour autrui et avais décidé de me concentrer sur le développement de ma propre entreprise. À ce moment là, j’avais réussi à vendre un de mes projets pour une somme conséquente, ce qui m’a permis d’acquérir le capital initial nécessaire pour démarrer ma nouvelle entreprise, alors que les fonds dormant sur mon compte bancaire me donnaient suffisamment de tranquilité d’esprit pour dormir sur mes deux oreilles pendant que ma nouvelle entreprise prenait forme.
La vie était belle. Je possédais déjà quelques propriétés, je gagnais plus d’argent que je ne pouvais en dépenser et j’avais toutes les opportunités professionnelles que je désirais. Tout allait pour le mieux.
Puis, un jour, j’ai eu une épiphanie. Pourquoi devais-je continuer à convertir mes fonds [en monnaie fiduciaire] ? J’avais suffisamment d’argent à la banque et plein d’autres investissements boursiers. En quoi avoir 10 000 $ de plus en mon nom ferait-il quelconque différence sur mon bien-être personnel ?
J’en suis finalement arrivé à la conclusion que cela ne changerait rien, mais que le fait de ne pas avoir de bitcoin pourrait potentiellement me mener à redevenir pauvre. Que se passerait-il si la monnaie fiduciaire devenait un monopole ? Après tout, je n’ai pas vraiment confiance dans le gouvernement, et les individus que j’ai rencontrés au cours de ma vie qui croyaient en bitcoin étaient ceux auxquels je faisais le plus confiance - bien plus que ceux qui n’utilisaient que la monnaie fiduciaire. En gardant cela à l’esprit, j’ai commencé à accumuler le plus de BTC possible. Mon raisonnement était simple : je me fais payer en BTC et je les garde sans jamais encaisser.
QUELLES LEÇONS EN AI-JE TIRÉES ?
Je ne suis pas en colère contre moi-même du fait de ne pas avoir acquis des bitcoins plus tôt. De façon générale, je suis un homme heureux, et malgré la récente période glaciaire que traverse le monde de la crypto, notamment la débandade de FTX, je reste très optimiste quant à l’avenir du secteur. Je voudrais néanmoins partager avec vous les leçons que j’ai tirées de mon expérience avec BTC.
Leçon 1 : On n’est jamais trop “petit” pour investir
Au début, je pensais que ce serait une bonne idée d'acheter 1000 $ de BTC, mais je n’avais pas les moyens de me le permettre et ai donc laissé l'opportunité m'échapper. En général, si l’occasion se présente, il faut la saisir.
Il ne faut pas non plus investir toute ses économies ou se sentir mal à cause de son investissement, mais n’engager ne serait-ce qu’une fraction de ses revenus ne doît pas devenir une décision difficile à prendre. Aurais-je pu me permettre d'épargner 50 $ en 2012 pour acquérir 5 BTC ? Très probablement, mais rien que l'idée d’investir si peu me gênait.
Leçon 2 : Faire des sacrifices est nécessaire
Il a fallu que j’examine certaines de mes expériences passées pour raconter cette histoire car je voulais que les dates soient correctes. Ce faisant, je suis tombé sur une réservation de chambre d'hôtel pour 100 $ faite en 2012. C'était pour une nuit à l'étranger lors d’un voyage touristique avec ma copine.
Oui, dépenser autant pour une chambre d'hôtel en étant fauché n’est pas une décision très judicieuse. Avec du recul, j’aurais pu éviter ce voyage et investir dans BTC à la place, ou j’aurais pu prendre une réservation moins chère ailleurs et acheter du BTC avec le montant restant.
Il est inutile de regretter les décisions du passé, mais souvenez-vous que de faire un sacrifice de court terme pourrait assurer votre sécurité financière de long terme.
Leçon 3 : Équilibrer son portefeuille d'investissement
Tout livre d'investissement explique que “il ne faut pas mettre tous ses oeufs dans le même panier.” Ce n’est pas nouveau, mais c’est un principe que j’ai complètement negligé en 2015. J’avais suffisamment d'argent à investir et avais la volonté d'acquérir du BTC, mais pour une raison qui m'échappe, j'ai pris la décision de tout investir dans un métal précieux. Si je n’avais investi ne serait-ce que 20% de cette somme dans BTC, mon retour sur investissement aurait été considérablement plus grand.
Leçon 4 : Ne pas pourchasser les prix du passé
Une des raisons pour laquelle j’ai choisi d’investir dans l’or plutôt que dans bitcoin était simplement basée sur la perception que j’achetais de l’or à “un bon prix”. Je tenais compte du fait qu’il m'aurait fallu à ce moment donné payer 25 fois plus pour obtenir la même quantité de bitcoin que trois ans auparavant. Avec du recul, je sais maintenant que le prix du présent est le prix du présent — il ne faut pas rejeter l'idée d’investir dans le présent pour la seule raison que le prix à payer semble élevé par rapport aux années précédentes.
Leçon 5 : Faire partie de l'écosystème
Accepter du BTC en guise de paiement et ne pas y toucher est bien plus facile (mentalement) que d’en acheter contre de la monnaie fiduciaire. Si vous offrez des biens et services, pourquoi ne pas permettre à vos clients de régler les factures en BTC ? Éviter juste de commettre la même erreur que moi et de convertir tous vos BTC en monnaie fiduciaire après acquisition.
Gardez au moins une fraction de votre solde intacte et n’y pensez plus pendant un moment. Cela favorisa le taux adoption et continuera à jouer en votre faveur et en celle de l'ensemble de la communauté sur le long terme.
Article original : https://bitcoinmagazine.com/culture/what-i-learned-from-ignoring-bitcoin
Auteur : Konstantin Rabin (@konstantean)
Date de parution : 7 janvier 2023
-
@ 42f9711f:8239fb2a
2023-04-03 15:56:28Tribune de Jimmy Song, développeur Bitcoin, éducateur, entrepreneur et programmeur fort de 20 ans d'expérience.
Nous avons besoin du travail et le travail a besoin de nous.
Le travail est ce qui permet de transformer un monde rude, brutal et difficile en quelque chose de vivable, plaisant et même profond. C'est par le travail que l'on contribue au développement de notre civilisation, de nos communautés et, bien sûr, de nos familles. Le travail dans un marché normal et fonctionnel génère de la valeur.
Le travail, au sens véritable, représente notre contribution à la civilisation. Le résultat de notre travail est l'empreinte que nous laissons derrière nous. Le travail collectif est ce qui nous permet de construire tout ce qui nous entoure, des édifices dans lesquels nous vivons aux routes sur lesquelles nous nous déplaçons, en passant par les ordinateurs sur lesquels nous tapons, l'électricité que nous utilisons et pratiquement tout le reste.
Néanmoins, cette équation basique — travail productif contre compensation monétaire — ne semble pas fonctionner très bien. On peut en attester au travers des licenciements de masse qui ont actuellement lieu dans tous les secteurs économiques, notamment dans la technologie. Que se passe-t-il exactement ? Comment se fait-il que des dizaines de milliers de personnes se voient perdre leur emploi dans différentes entreprises sans que cela ne semble affecter le fonctionnement des choses ? Que faisaient-ils tous ? Des vidéos stupides sur TikTok ?
Dans cet article, je répondrai à ces questions et imputerai la faute à qui de droit. Comme d'habitude, le coupable est l'argent fiduciaire.
Le travail conduit à la spécialisation
Les marchés fonctionnent car les individus sont prêts à payer pour les biens et services qu'ils convoitent. Quelqu'un paie car le coût — qu'il soit mesuré en prix, qualité, facilité d'obtention ou autre — lui serait plus élevé. La monnaie, c'est-à-dire le moyen d'échange que nous employons au quotidien, nous permet de nous spécialiser et de faire usage de nos meilleures compétences.
Un pêcheur sait comment attraper de larges quantités de poissons, bien plus qu'il ne peut en consommer. Un cordonnier sait comment fabriquer des chaussures, bien plus qu'il n'a besoin d'en porter. Via le commerce, ils ont alors la possibilité d'aiguiser leurs propres compétences pour acquérir les biens qu'ils désirent et dont ils ont besoin. C'est la raison pour laquelle les pêcheurs ne fabriquent pas leurs propres chaussures et les cordonniers ne pêchent pas de poissons.
La civilisation prend forme grâce à cette spécialisation du travail. Dans ce sens, chacun optimise la valeur qu'il génère par unité de temps travaillée tout en minimisant la pénibilité de la tâche. Plus directement, on essaie de faire le plus d'argent possible en faisant ce qui nous déplait le moins.
Ce dernier point est important car il existe des métiers bien rémunérées que les gens ne désirent pas exercer, comme éboueur ou camionneur, et qui bénéficient de taux horaires supérieurs à d'autres activités mais qui sont d'une pénibilité qui en décourage plus d'un. La rémunération du travail augmente en accord avec le degré de pénibilité. De la même manière, les compétences rares sont mieux rémunérées car peu de personnes peuvent exercer les métiers qui les nécessitent. Le travail est comme toute autre marchandise sur le marché, c'est l'utilité de la production qui en découle et sa rareté relative qui déterminent le prix. Les individus qui gagnent le plus d'argent sont ceux qui, en toute logique, font le travail le plus difficile et/ou le moins désirable.
Clairement, quelque chose ne va pas car beaucoup d'emplois bien rémunérés ne sont pas difficiles (travail administratif, groupes de réflexion, etc.) et très convoités (membres de conseil d'administration, banquiers d'investissement, capital-risqueurs). Il y a donc quelque chose dans notre système économique qui ne récompense pas les bons choix.
La monnaie fiduciaire favorise le travail inutile
La monnaie fiduciaire met des bâtons dans les roues d'un marché qui tourne efficacement en introduisant un nouvel acheteur. En fabriquant de la nouvelle monnaie de toute pièce, l'argent fiduciaire permet aux gouvernements de créer des emplois ne générant aucune valeur. C'est ce que l'on appelle des emplois de recherche de rente.
Dans une économie de marché normale, la monnaie sert à compenser toute valeur créée. L'inefficacité y est punie par une baisse, voire une perte de profit. Par conséquent, le travail doit générer de la valeur. Mais dans une économie de monnaie fiduciaire, il existe un nouvel acheteur qui n'est pas sensible aux prix du marché : l'imprimeur d'argent. Généralement, les personnes au pouvoir consomment des biens ostentatoires, achètent du prestige, créent des emplois précaires, distribuent des pots-de-vin à leurs fidèles, etc. Ils génèrent encore moins de valeur que Roger Ver.
Pour les responsables de la planche à billet, le travail ne sert plus à créer de la valeur mais à satisfaire leurs désirs, souvent pour maintenir leur position de pouvoir. En démocracie, les responsables de la planche à billet ont tendance à dépenser dans la création d'emplois aussi inutiles que de creuser des trous pour le simple fait de creuser des trous. En dictature militaire, ces mêmes responsables ont tendance à acheter des votes, des armes et à financer des programmes sociaux. Les emplois sous de tels régimes ne sont souvent qu'une façade servant à occulter le népotisme et la distribution de pots-de-vin. L'argent y est imprimé et utilisé pour maintenir le pouvoir sans créer de valeur pour quiconque.
Dans une économie fiduciaire, lorsque les imprimeurs d'argent deviennent des clients majeurs dans la plupart des secteurs, presque tous les emplois ont vocation à soutirer de la rente. Le travail créant de la valeur se confond avec celui qui n'en crée aucune. Dans la durée, il devient alors difficile de discerner ce qui produit de la valeur de ce qui n'en produit pas, et de discerner ce qui est bénéfique pour la civilisation de ce qui ne l'est pas. La recherche de rente à tout prix se propage telle de la moisissure sur un vieux sandwich.
Par exemple, de nombreuses entreprises ont des départements de ressources humaines spécialisées uniquement dans le respect des questions de conformité professionnelle. Comme dans tout système bureaucratique typique, chaque employé est dans l'obligation d'assister à des formations embarrassantes sur le harcèlement sexuel, les discriminations raciales, les questions acceptables pour les entretiens d'embauche, etc. La plupart n'ont presque aucun lien avec l'industrie dont les employés font partie, mais chaque nouvelle recrue est forcée de perdre son temps précieux sur ce type d'activités. Ces exigences en matière de conformité n'ont pas nécessairement d'implication monétaire, mais elles font perdre beaucoup de temps. De ce fait, le temps de travail est partagé entre tâches productives et improductives. Au cours des 50 dernières années, les tâches improductives ont pris tant d'ampleur que des professions entières n'ont aucune utilité véritable, même dans des sociétés très rentables.
Est-il alors étonnant que des sociétés comme Twitter, Google, Facebook, Microsoft et autres entreprises rentables puissent licencier autant d'employés sans que cela n'affecte leurs opérations ? Les licenciements sont équivalents à de la chimiothérapie ; cela nuit probablement aux sociétés qui en font usage, mais permet aussi de se débarasser d'un cancer sous-jacent.
Friction fiduciaire
La quête permanente de rente ralentit l'économie, de la même manière qu'une crevaison ralentit un véhicule. L'enchevêtrement omniprésent de la monnaie fiduciaire et du monde politique est un des nombreux facteurs contribuant au ralentissement de la productivité, créant un manque à gagner. Le travail que les gens s'efforcent de faire ne consiste pas à créer de la valeur mais à agir comme intermédiaires de transactions de valeur. Ils crèvent des pneus et causent des désagréments majeurs dans l'objectif de vendre plus de pneus.
Par conséquence, il est difficile de générer de la valeur dans une économie fiduciaire, même si la volonté est là. Cette recherche de rente cause de nombreuses fictions qui sont difficiles à surmonter et qui empêche les individus de créer de la valeur. Est-il facile de lancer une entreprise dans la plupart du monde ? Est-il facile d'ouvrir un compte en banque, d'obtenir les permis nécessaires et de se conformer aux règles qui enrichissent les rentiers ? Il ne s'agit pas seulement d'impôts sur l'entreprenariat mais d'impôts sur la civilisation en soi.
Pourquoi est-il alors si difficile d'éliminer cette pratique ? Le problème est que la quête de rente est attractive pour la majorité des gens. La volatilité est bien moindre que celle du marché et les revenus sont en quelque sorte garantis par le gouvernement. Il n'y a pas besoin faire face à des clients difficiles, aux conditions changeantes du marché ou à des concurrents ambitieux. La plupart des gens choisirait volontier de gagner moins d'argent en échange d'une certitude de long terme. En conséquence, même les individus qui génèrent de la valeur ont tendance à rapidement adopter une mentalité de rentier.
La descente vers une mentalité de rentier
Tous les rentiers ne commencent pas de la sorte. Beaucoup adoptent cette mentalité petit à petit sans même s'en rendre compte. On peut remarquer ce phénomène dans certaines des sociétés de technologie à très grand succès au cours des 20 dernières années. Amazon, Facebook et Google étaient de très bons services. Évidemment, une des raisons pour laquelle ces sociétés étaient perçues comme telles est parce qu'elles vendaient leurs biens et services à perte. Dans le cas d'Amazon, l'entreprise perdait de l'argent sur beaucoup de ventes à ses débuts. Facebook et Google offraient leurs services gratuitement. D'ailleurs, cela était possible uniquement en raison des larges sommes d'argent mises à disposition pour les investissements, ce qui est un des effets pervers d'une monnaie fiduciaire inflationniste. Les services fournis étaient donc très bon marché pour les clients.
Mais cela faisait partie de leur stratégie de long terme. Tel un traffiquant de drogue fournissant un premier échantillon gratuit, les utilisateurs sont vite devenus accros. Puis ils ont commencé à vendre des publicités afin de "monétiser" leur public. Monétiser est en fait un euphémisme qui signifie devenir un intermédiaire d'échange pour les utilisateurs. Par conséquent, Amazon, Google et Facebook sont vite devenus des intermédiaires d'échange pour des partis tiers, soit par le biais de publicités ou en devenant des plaformes monopolistiques.
Une fois les utilisateurs séduits, ces entreprises ont également fait en sorte de rendre attractifs les termes pour les vendeurs. La génération de prospects sur Facebook et Google coûtait alors beaucoup moins cher par rapport à ce qui existait auparavant. En peu de temps, les vendeurs étaient devenus accros à ces plateformes et se faisaient exploiter dans un but de monétisation. La disponibilité de l'espace publicitaire était manipulée et les frais d'annonce ne cessaient d'augmenter. Ces plateformes utilisaient de l'argent fiduciaire pour agir comme intermédiaires sur un marché qu'elles controllaient entièrement. À chaque étape, elles s'inséraient dans le processus de création de valeur afin d'en tirer du profit. En d'autres termes, elles sont devenues rentières.
Le pire, c'est que tout était planifié depuis le début. C'est le plan de presque toutes les start-ups depuis des années : attirer un maximum d'utilisateurs et de vendeurs et devenir l'intermédiaire de leurs échanges. Tout financier de capital-risque estime qu'un résultat souhaitable est d'arriver à capturer le maximum de valeur et être capable de défendre ce monopole. Il s'agit de la voie de la profitabilité que toute start-up financée par du capital-risque vise à empreinter, c'est pourquoi le concept de croissance est tant primordial.
Il ne s'agit pas d'un cas isolé depuis 1971. À partir du moment où Richard Nixon a mis fin à l'étalon or, toutes les devises indexées sur le dollar américain sont instantanément devenues des monnaies fiduciaires et les incitations commerciales ont alors changé. La quête de rente est devenue beaucoup plus rentable et— sans surprise — les rentiers ont donc beaucoup augmenté en nombre. Il n'y a dorénavant plus qu'une poignée d'entreprises qui créent énormément de valeur. De nombreuses grandes entreprises dépendent de subventions gouvernementales, de prêts bancaires ou d'une combinaison des deux. De nombreuses entreprises technologiques n'existent que par le biais des financements des capital-risqueurs, c'est-à-dire de prêts bancaires, dans le but de soutirer de la rente. La "fiduciarisation" de l'économie est omniprésente et n'a cessé de croître depuis 50 ans, contaminant même les entreprises les plus productives.
La glorification de la recherche de rente
Pourquoi y a-t-il autant de personnes fraîchement diplomées d'écoles de commerce qui cherchent dorénavant à devenir gestionnaires de fortune ? Car elles imitent les Warren Buffet du monde, une personne qui n'a jamais créé de valeur de toute sa vie et qui n'a fait qu'une chose : gérer l'argent des autres. Il s'agit là du rentier ultime et cela l'a rendu fabuleusement riche. En raison de la suprémacie de l'argent, la quête de rente est devenue une activité prestigieuse. Les héros de cette génération sont des gens comme Warren Buffet et non comme Thomas Edison ou Nikola Tesla, lesquels étaient véritablement productifs.
Heureusement que Bitcoin commence à exposer les rentiers pour ce qu'ils sont vraiment. Les altcoiners s'inscrivent dans la même lignée et ne créent aucune valeur, c'est la raison pour laquelle les Bitcoiners les condamnent si fermement à juste titre. Il n'est pas difficile de détecter ces arnaques qui promettent de l'argent facile en corrompant les individus pour faire la promotion d'altcoins. L'attraction majeure des altcoins est qu'elles permettent à quiconque de devenir rentier en contournant la case école de commerce de renom, sans avoir de réseau politique ni l'approbation des médias. C'est donc de la recherche de rente pour tous, ce qui signifie que personne ne travaille vraiment.
Dans un sens, les altcoins ne sont que l'évolution naturelle de la quête de rente dans un monde dominé par la monnaie fiduciaire. Elles sont complètement improductives et ne disposent d'aucune qualité véritable. La promesse qui en découle est qu'il est possible de faire de l'argent en ne créant aucune valeur. C'est cela qui les rend attractives, mais c'est aussi cela qui est troublant. La plupart des gens peuvent ressentir que rien ne va lorsque des personnes gagnent de l'argent à ne rien faire. Quelque chose ne tourne pas rond et même un enfant de cinq ans est capable de le ressentir. La valeur doit provenir de quelque part et c'est pourquoi il y a toujours une certaine appréhension chez la plupart des altcoiners. Même en période de marché haussier, ils savent que dans une certaine mesure ils jouent avec l'argent du casino qu'ils n'ont pas gagné. En conséquence, de nombreux altcoiners perdent tout leur argent comme des gagnants du loto car ils savent qu'au fond d'eux-même ils ne produisent aucune valeur.
En effet, la valeur extraite de cette activité rentière provient du capital que la civilisation a accumulé sur plusieurs générations. En Occident, la culture de la confiance commence à se désintégrer. La confiance est un bien capital qui prend longtemps à se former. La confiance est la raison pour laquelle on a pu observer un miracle économique au Japon et en Allemagne dans la période d'après-guerre et pas un seul dans le bloc de l'Union soviétique. Abuser de la confiance à des fins de gains monétaires diminue la confiance commune. Ces escroqueries rentières détruisent les semences de la productivité.
La création de valeur
Heureusement que Bitcoin ne permet pas de devenir rentier car il n'existe aucune autorité centrale capable de manipuler le système. Bitcoin accumule du capital car le protocole récompense ceux qui génèrent de la valeur. Le maximalisme toxique dont tout le monde se plaint n'est qu'une réaction contre la mentalité de rentier. Les capital-risqueurs sont des spécialistes de l'extraction de valeur, tout comme les influenceurs. Ce sont des gens qui, lorsqu'ils essaient de soutirer de la valeur aux Bitcoiners, se brûlent à la tâche.
Les entreprises tournant autour de Bitcoin sont plus difficiles à créer car il n'y a pas de place pour la recherche de rente. L'Ethereum Fondation ne vous accordera pas de subventions et les capital-risqueurs de la "crypto" ne vous financeront pas si vous n'avez pas de nouveaux tokens à leur faire promouvoir. C'est cela qui fait la force de ces entreprises et qui les rendent plus intègres, et c'est pourquoi les Bitcoiners sont plus susceptibles de les soutenir. La valeur ajoutée qu'elles apportent est évidente car elles ne dépendent pas de subventionnement en altcoin ou en monnaie fiduciaire.
Bitcoin accumule du capital en favorisant la création de valeur. Et le travail, ça nécessite de faire des efforts, mais ce pas une escroquerie. En d'autres termes, au lieu de devenir des escrocs de la rente, nous pouvons faire en sorte que le travail redevienne honnête.
Rejetez la mentalité de rentier. Soyez productifs.
Article original : https://bitcoinmagazine.com/culture/bitcoin-kills-rent-seeking
Auteur : Jimmy Song (@jimmysong)
Date de parution : 31 janvier 2023
-
@ 42f9711f:8239fb2a
2023-04-03 15:47:50Dans cet article de blog, la chercheuse principale Natalie Smolenski affirme que les monnaies numériques de banques centrales (MNBC) annoncent l'effondrement des institutions démocratiques américaines. Pour distinguer notre économie politique de celle de nos adversaires autoritaires, il faut rejeter les MNBC.
Aujourd'hui, les États-Unis font face à un choix monumental :
Allons-nous préserver notre tradition de liberté et rester une démocratie représentative qui fonctionne ?
Ou resterons-nous sur la voie de l'autoritarisme et de la projection de puissance mondiale qui a caractérisé notre règne en tant qu'empire mondial ?
De nombreux membres de la classe politique voudraient vous faire croire que nous pouvons avoir les deux - qu'il n'y a pas de compromis entre la république et l'empire. C'est peut-être vrai, pendant un temps. Mais ça ne peut pas durer éternellement. Comme tous les compromis, cela est contraint par le fait matériel de la rareté des ressources : il n'y a aucun moyen d'imprimer suffisamment d'argent, de déployer suffisamment de main-d'œuvre, d'acheter ou de fabriquer suffisamment d'armes, de punir suffisamment de crimes et de contrôler suffisamment d'industries productives pour qu'une paix universelle par la domination puisse être appliquée à l'échelle mondiale, pour l'éternité.
Il est parfois facile pour les gouvernements d'ignorer le fait des contraintes matérielles, puisqu'ils disposent du privilège souverain de l'émission de la monnaie, de la fiscalité et du monopole de la violence légitime. Dans le monde des affaires, cependant, la rareté est souvent plus intuitive. Tout PDG semi-compétent sait que le moyen le plus rapide de faire couler son entreprise est de dépasser son budget dans des activités commerciales ou autres initiatives qui font augmenter les coûts sans générer les revenus nécessaires pour couvrir ces coûts dans les délais requis. Une telle entreprise peut être en mesure de survivre à coup d'injections de capital-risque ou d'autres entrées de capitaux si ses membres dirigeants sont particulièrement doués pour « vendre une vision », mais cette vision finit toujours par se heurter à la réalité, ou l'entreprise s'effondre.
Ainsi en est-il des pays et des empires. Lorsque les dettes arrivent à échéance, les actifs sont examinés et certaines choses doivent disparaître. Souvent, les premières choses à disparaître sont les actifs incorporels - une culture de respect, d'autonomie individuelle et de liberté collective. Politiquement, ces choses deviennent très vite « des choses dont nous n'avons plus le luxe de bénéficier ». Mais les ressources matérielles sont également bradées.
L'expansion et la domination impériale ont toujours coûté cher aux habitants de l'empire. Quoi qu'ils puissent gagner en sentiment de fierté nationale et en afflux de ressources à un stade précoce, ils sacrifient leur qualité de vie au fil du temps. Dans le cas des États-Unis, nous avons vu notre secteur industriel (et notre classe moyenne) se vider ; notre monnaie dévaluée (le dollar a perdu 96% de sa valeur depuis son introduction en 1913) ; des générations de jeunes traumatisés par des guerres à l'étranger qu'ils ne peuvent associer à aucune amélioration de leurs perspectives ou de leur niveau de vie ; une forte augmentation de l'accumulation de biens durables et d'actions américaines par des entités étrangères ; et l'érosion de nos traditions et institutions démocratiques. Les taux d'alphabétisation des américains, le revenu médian réel, l'espérance de vie et les résultats en matière de santé stagnent ou diminuent. La confiance dans le gouvernement, y compris dans le processus électoral, est au plus bas, et les discussions de guerre civile sont plus fréquentes sur les forums en ligne et même dans certains médias grand public. Nous sommes en désaccord sur ce qui est vrai, sur ce qui a de la valeur et sur ce que nous devrions faire ensemble en tant que peuple, sur ce que signifie le projet américain.
Ce sont tous des signes de déclin civilisationnel.
L'Empire romain est un exemple historique instructif. Tout en laissant à désirer, son ère républicaine se caractérisa par une véritable gouvernance délibérative des citoyens romains. Au fur et à mesure que l'Empire s'étendait, cependant, Rome faisait face à des contraintes croissantes en matière de ressources qui conduisaient à des conflits civils intérieurs et, au final, à l'exercice de la tyrannie. Ce n'était qu'une question de temps avant que l'Empire ne soit fragmenté en plus petites régions.
Dans le compromis entre république et empire, l'empire est souvent la voie la plus facile à emprunter. Les dirigeants ambitieux et les démagogues populaires croient souvent que la domination est nécessaire pour qu'un pays soit puissant. Nos principaux adversaires dans le monde aujourd'hui – la Russie et la Chine – choisissent la voie de l'empire en temps réel. Par conséquent, « tranquille » n'est pas l'adjectif qu'un observateur avisé utiliserait pour caractériser la situation intérieure de ces pays. Bien que ces gouvernements exercent des contrôles importants et rigoureux sur la presse ainsi que sur leurs populations, ils n'arrivent pas à contenir complètement les récits de pauvreté, de corruption, de protestation et de violations des droits de l'homme qui caractérisent leurs réalités politiques.
C'est en gardant ce contexte à l'esprit que le Bitcoin Policy Institute a publié notre livre blanc, "Pourquoi les États-Unis devraient rejeter les monnaies numériques de banques centrales (MNBC)". Les MNBC ne sont que l'exemple le plus récent du lent resserrement de la corde autour du cou de la république américaine - surveillance et contrôle au nom de la stabilité politique et de la suprémacie américaine sur le monde. Le principe derrière les MNBC est simple : éliminer l'argent liquide, dernier vestige des transactions financières autonomes, et donner à l'État une visibilité totale sur toute l'activité économique à toutes les échelles sociales possibles. En tant que monnaies programmables, les MNBC serviraient d'outil de politique monétaire : taux d'intérêt négatifs, confiscation directe des devises et capacité de contrôler quand, avec qui et combien d'argent n'importe qui effectue des transactions, partout dans le monde.
Tout simplement, l'introduction des MNBC élimine une pierre angulaire des libertés politiques - la liberté de commercer - et présume que les citoyens sont coupables jusqu'à preuve du contraire. Cela renverse la charge de la preuve de l'État à l'individu, aggravant un déséquilibre de pouvoir déjà flagrant.
Pire, la plupart des Américains ignorent complètement ce que sont les MNBC, ou que la décision de les mettre en place ou non est déjà bien engagée sans véritable délibération populaire. C'est un autre signe de l'effondrement des institutions démocratiques. L'avènement imminent des MNBC devrait générer un sentiment d'urgence : c'est un signal d'alarme que la fenêtre pour sauver notre république est en train de se fermer.
En bref, les MNBC ne sont qu'un symptôme de la consolidation du pouvoir étatique au détriment du pouvoir individuel, une tendance mondiale qui s'intensifie au rythme du développement technologique. Pourtant, un système de gouvernement républicain dépend d'individus autonomes – une société civile autonome – pour fonctionner. Au fur et à mesure que les gouvernements augmentent leur contrôle sur la société civile, même si leur justification est que c'est « pour le bien du public », ils détruisent la possibilité d'une autonomie populaire et consolident le système gouvernemental par les élites. Au fil du temps, cela devient un cercle vicieux : un contrôle accru de l'élite devient nécessaire pour appliquer un système de plus en plus obscur à une population récalcitrante et impuissante, dont les voies de contestation et de dissidence se rétrécissent progressivement. Cela crée les conditions de la violence comme seul recours de contestation politique.
En rejetant les MNBC, le gouvernement américain peut déclarer que l'autonomie individuelle est une valeur fondamentale de notre système politique. Mais si nous voulons vraiment redevenir une république, le peuple américain doit faire plus : nous devons révoquer le chèque en blanc que nous avons écrit pour que notre gouvernement fasse la guerre à sa seule discrétion et agisse comme le gendarme du monde. Ce chèque en blanc a accumulé une dette souveraine – à la fois fiscale et morale – qui arrive maintenant à échéance, et c'est le peuple américain qui paie les factures.
Le huitième secrétaire d'État américain et sixième président, John Quincy Adams, a déclaré que l'Amérique « ne va pas à l'étranger à la recherche de monstres à détruire. Elle est la bienveillante de la liberté et de l'indépendance de tous. Elle n'est que la championne et la justicière de la sienne. Elle inspire la cause générale par la contenance de sa voix et la bienveillante sympathie de son exemple. »
En d'autres termes, l'influence la plus puissante que l'Amérique puisse avoir sur le monde est de continuer à être qui nous sommes : en vivant nos valeurs. Dans un passé récent, nous avons sacrifié ces valeurs dans la poursuite de l'empire, au détriment à la fois du peuple américain et du monde. Nous ne pouvons pas simplement inverser le cours - après tout, on ne peut pas changer le passé - mais nous pouvons et devons choisir de devenir meilleurs à l'avenir.
Nous pouvons le faire. Il n'y a jamais d'arrivée définitive au pôle idéal d'une union plus parfaite, il n'y a que sa poursuite de bonne foi. Tant que suffisamment d'Américains sont engagés dans ce projet, nous sommes la république que nous prétendons être.
Article original : https://www.btcpolicy.org/articles/republic-or-empire
Auteur : Natalie Smolenski (@NSmolenski)
Date de parution : 31 janvier 2022
-
@ 42f9711f:8239fb2a
2023-04-03 15:42:50Artur Marion Ceolin est doctorant en économie à l’Université Rey Juan Carlos et boursier d’été à l’Institut Mises en 2022.
J'ai récemment publié un article dans le Mises Wire intitulé « Woke Egalitarianism and the Elites » (lit: L'égalistarianisme woke et les élites) dans lequel je présentais les vrais motifs se cachant derrière l'égalitarianisme woke. L'article décrit également la façon dont les élites tentent de rebâtir la société à travers le prisme du collectivisme. Mais plutôt que de discuter des objectifs du progressisme, il est nécessaire de discuter du fondement intellectuel de ces tentatives. Quelles suppositions et quel cadre intellectuel guident ces actions ?
Le progressisme se fonde sur le manque de respect des individus, de leurs actions et de leur capacité à choisir. En premier lieu, le progressisme groupe les personnes en collectifs selon des critères particuliers (ex: race, genre et orientation sexuelle). De plus, le progressisme homogénéise leurs pensées, leurs valeurs et leurs actions selon ces classifications de groupe. Pour les progressistes, les individus ne peuvent pas échapper à ces classifications.
Cette homogénéisation reflète les opinions progressistes vis-à-vis de l'humanité. Les progressistes comprennent mal l'action humaine et l'individualité de chacun. Ils ne se rendent pas compte que chaque personne est unique et souveraine. De plus, les individus ont la capacité et la liberté de juger en sélectionnant les options qu'ils considèrent comme étant les meilleures et en agissant de la façon qui leur semble la plus appropriée.
Les penseurs autrichiens, dans leurs débats avec les chercheurs objectivistes positivistes, affirment depuis longtemps que les individus ne sont pas des atomes. Les individus ne réagissent pas en fonction de relations causales objectives et probabilistiques qui peuvent être décrites de façon mathématique.
Chaque esprit dispose d'une capacité unique à percevoir et créer des opportunités en agissant selon une échelle de préférences individuelles et la capacité à percevoir la relation entre fins et moyens.
En outre, les individus ne peuvent pas être classés en groupes. Les groupes n'agissent pas. Qu'est-ce qui fait que l'action collective est une composition d'actions individuelles ? Les groupes sont des abstractions créées par l'esprit humain dans le but d'analyser des phénomènes. Mais ceux-ci n'ont pas de fondement ontologique.
Le progressisme ne permet pas non plus de comprendre la façon dont les individus peuvent altérer leurs actions avec le temps. Les individus ne sont pas des machines qui répètent des procédures imposées par quelqu'un ou l'environnement. Les individus font preuve d'autonomie et utilisent leur raisonnement logique pour changer le cours de leurs actions. Par conséquent, ils changent aussi l'histoire.
Les individus ne sont pas programmées pour se comporter d'une manière déterminée. Les individus créent du savoir continuellement. Cette capacité à apprendre est ce qui permet de guider le développement institutionnel. Le mécanisme d'apprentissage par tâtonnements est ce qui a rendu possible le développement d'institutions telles que la monnaie, le droit, le système de prix, etc.
Pour l'élite progressiste, les individus sont « stupides » et se font facilement duper. C'est ainsi que les progressistes expliquent pourquoi certains individus ne soutiennent pas leurs actions : ils manquent de conscience (de classe, de genre, de race, etc.). C'est également ainsi qu'ils justifient leur propre existence : les mouvements progressistes doivent défendre ces groupes. Même si ces groupes ne veulent pas de soutien, ces mouvements doivent exister pour sensibiliser les consciences à l'oppression existente.
Les progressistes ignorent complètement le rôle des individus dans la création de l'histoire. Selon eux, les personnes réagissent comme des atomes. Selon eux, les personnes ne créent rien et ne s'impliquent pas dans le processus d'évolution sociale. Ils ne se rendent pas compte que les hommes ne peuvent pas être façonnés comme de l'argile. Les individus sont uniques, ils disposent de la capacité à décider et à créer. Le monde humain n'est pas acquis mais construit par l'action humaine.
Ce mépris nocif pour l'individu se fonde sur une caractérisation erronée de l'humanité. Le progressisme, c'est le constructivisme. Le constructivisme se fonde sur l'idée que les hommes répondent à des incitations et règles externes. Le constructivisme affirme que la société peut être façonnée du haut vers le bas par de l'ingénierie sociale.
Le constructivisme ne conçoit pas les individus comme agents créatifs qui construisent l'histoire. Il rejette la capacité des êtres humains à développer des institutions qui régulent leur comportement social. Il conçoit les individus comme des jouets avec lesquels les régulateurs et ingénieurs sociaux peuvent s'amuser.
L'humanité est en train de traverser une nouvelle tentative socialiste visant à détruire la civilisation occidentale. Au XXème siècle, ils ont utilisé les « prolétaires » ; ils utilisent dorénavant les « minorités ». Combattre ces tentatives requiert une défense structurée de la liberté et créativité humaines.
Voici la place que tient l'école autrichienne, avec sa compréhension de la subjectivité humaine. C'est la raison pour laquelle nous devons diffuser l'école autrichienne à travers le monde. L'humanité a besoin d'idée qui renforcent l'autonomie individuelle et le respect de leur liberté, de sorte qu'il devienne possible de défier le progressisme et ses conséquences maléfiques.
Article original : https://mises.org/es/wire/la-economia-austriaca-se-opone-al-colectivismo-del-pensamiento-progresista
Auteur : Artur Marion Ceolin (@artceolin)
Date de parution : 3 mars 2023
-
@ 42f9711f:8239fb2a
2023-04-03 15:37:06Le fardeau économique de l'inflation continue de ravager les économies du monde entier. Des États-Unis au Royaume-Uni, en passant par la zone Euro, les gens se rendent compte que l'argent dans leur portefeuille et sur leur compte bancaire ne leur permet pas d'acheter autant que les mois précédents. Comme pour tout problème, tout le monde est à la recherche de trois choses : des stratégies, des solutions et des boucs émissaires.
Un des boucs émissaires sur lequel la faute est régulièrement rejetée est le bénéfice des entreprises. Les entreprises sont accusées d'augmenter leurs prix, ce qui crée de l'inflation - ou du moins y contribue - et nous apprauvrit donc tous. Ces prix plus élevés gonflent leur marge bénéficiaire et les entreprises se rient de nous, plébéiens impuissants. La solution à leur imprudente avidité ? Restreindre les prix que les entreprises imposent ou les profits qu'elles amassent.
Cette opinion n'est pas limitée à la personne moyenne. L'Institut de politique économique (IPE), un groupe de réflexion à but non lucratif, affirme que les profits contribuent à l'inflation de manière "disproportionnée". Bloomberg rapporte que les bénéfices d'entreprise ont atteint leurs plus hauts taux depuis les années 1950, et la Réserve fédérale de New York a même publié un rapport sur la question. Comme ces écrits le montrent, cette opinion est partagée par des institutions sérieuses et semble être étayée par des données empiriques.
Néanmois, les bénéfices d'entreprise ne sont pas la cause de l'inflation. Il est facile de le démontrer en réfléchissant un instant aux conséquences de la montée des prix pour une entreprise. Des prix plus élevées signifient que les consommateurs ont moins d'argent dans la poche après avoir payé pour un bien ou un service. Cela signifie par ailleurs qu'ils ont moins d'argent à dépenser pour acheter d'autres biens ou services. Cependant, en période inflationniste, les prix de tous les biens et services augmentent.
Si les consommateurs ont moins d'argent à dépenser en raison d'une montée des prix, comment cela est-il possible ? L'augmentation d'un seul prix signifie qu'il y a moins d'argent à dépenser, mais une hausse générale des prix nécessite plus d'argent à dépenser ! L'augmentation des prix par les entreprises peut expliquer la montée de prix uniques, mais elle ne peut pas expliquer une hausse générale des prix qui caractérise l'inflation.
Si la cause de l'inflation ne peut pas être attribuée à l'avarice des hommes d'affaire, à quoi donc peut-elle être attribuée ? La seule chose capable d'engendrer une hausse générale des prix dans une économie est une augmentation de la masse monétaire. Comme indiqué ci-dessus, une hausse générale des prix nécessite qu'il y ait plus d'argent à dépenser. La seule façon d'y parvenir est d'avoir plus d'argent en circulation. Une augmentation de la masse monétaire signifie que les individus ont plus d'argent à dépenser qu'auparavant, et ils choisissent donc de dépenser cet excédent d'argent. Les entreprises perçoivent une augmentation de la demande et élèvent leurs prix en fonction de celle-ci. Lorsque de plus en plus d'entreprises perçoivent une augmentation de la demande, les prix augmentent partout en conséquence - c'est ce qu'on appelle l'inflation.
Cela décharge les entreprises toute responsabilité concernant l'inflation, mais comment peut-on alors expliquer le lien entre inflation et profits ? Après tout, il semble y avoir une corrélation entre les deux, aussi infime soit elle. Est-ce une coïncidence ou existe-t-il une autre cause pouvant expliquer ce lien positif entre les deux ?
La raison qui explique une hausse des profits en période inflationniste est simple : tous les prix n'augmentent pas en même temps au même endroit. Lorsque de l'argent nouveau entre en circulation, il se retrouve tout d'abord entre les mains d'individus soigneusement sélectionnés. Les premiers à recevoir l'argent fraîchement émis le dépensent, plaçant ainsi le nouvel argent dans les mains d'autres individus qui le dépensent à leur tour, etc. Le fait que ces bénéficiaires détiennent cet argent nouvellement créé en premier signifie qu'ils ont plus de revenus qu'ils n'en auraient eu autrement et peuvent désormais acquérir plus de biens. Ces biens qu'ils acquièrent verront leur prix augmenter, les biens que les seconds bénéficiaires acquièrent avec ce nouvel argent verront également leur prix augmenter et ainsi de suite au fur et à mesure que cet argent ruisselle dans l'économie, poussant ainsi tous les prix à la hausse.
Si tous les prix n'augmentent pas d'un coup, lesquels ont le plus de chance d'augmenter en premier ? Parce que la majorité de ce nouvel argent sera dépensé dans les biens de consommation et les services (contrairement aux entreprises qui l'utilisent pour couvrir leurs coûts), l'augmentation des prix affectera tout d'abord les biens de consommation déjà disponibles sur le marché. Au fur et à mesure que les entreprises répondent à la hausse des prix, il y a une augmentation de la demande des moyens de production pour fabriquer ces biens, ce qui engendre par la suite une hausse du prix de ces mêmes biens. Toutefois, les entreprises ne répondent pas à cette demande instantanément, il y a donc un délai entre la hausse du prix des biens de consommation déjà disponibles et celle des biens produits par les entreprises en réponse à la hausse de la demande.
Que se passe-t-il lorsque le prix des biens d'une entreprise augmentent mais que leurs coûts de production ne changent pas ? Les bénéfices totaux augmentent. Ce n'est pas parce que les entreprises forcent les consommateurs à payer plus cher ou utilisent l'inflation comme excuse pour faire payer les consommateurs toujours plus, mais parce que l'inflation a poussé les prix de certains biens à la hausse avant d'autres, ce qui résulte en une plus grande rentabilité pour les entreprises sur le court terme.
Cette rentrée d'argent imprévue est clairement avantageuse pour les entreprises, mais elle peut également être dangereuse. L'inflation a pour effet de fausser les calculs et d'induire les hommes d'affaires en erreur en leur faisant croire qu'ils sont plus riches qu'ils ne le sont réellement. Ludwig von Mises a abordé ce phénomène dans "L'Action humaine, traité d'économie" :
"Ce serait une erreur sérieuse de négliger le fait que l'inflation génère également des forces qui poussent à la consommation de capital. Une de ses conséquences est qu'elle fausse les comptes et les calculs économiques. Elle produit le phénomène de profits imaginaires ou d'apparence. Si les quotas de dévalorisation annuelle sont déterminés de manière telle qu'ils ne tiennent que peu du compte que le coût de remplacement des équipements usés sera plus élevé que leur coût d'achat initial, ils sont alors insuffisants. Si en vendant des stocks et des produits la différence entre le prix d'acquisition et le prix de vente est enregistrée comme étant positive, l'erreur est la même... [Les hommes d'affaires] pensent avoir de la chance et se sentent alors d'humeur généreuse, ils dépensent et profitent de la vie. Ils embellissent leur maison, font construire de nouvelles demeures et soutiennent le secteur du divertissement. En dépensant leurs profits apparents, le résultat fantaisiste de calculs faussés, ils consomment du capital."
La conséquence de cela est qu'une fois que la réalité s'installe et que les hommes d'affaires se rendent compte que leurs profits n'étaient qu'illusoires, il est déjà trop tard. Ils ont consommé bien au-delà de leurs moyens et sont en conséquence moins riches qu'auparavant. Ainsi, même si l'inflation leur a permis de bénéficier d'une aubaine temporaire, cela peut finir par leur nuire bien plus que cela ne les a aidés.
Doit-on imputer la faute aux entreprises pour l'inflation ? Pas du tout. Une entreprise ne peut pas manipuler les prix selon son bon vouloir, elle ne peut que fixer un prix que le marché est prêt à payer. À la place, la faute ne peut être imputée qu'à l'entité qui contrôle la masse monétaire : la Réserve fédérale. Toute l'agitation et l'amertume accumulées au cours des deux dernières années en raison de sa mauvaise gestion monétaire ne devraient qu'être exclusivement dirigées contre elle.
Pour détruire une mauvaise herbe, il faut la déraciner. Les racines des troubles monétaires contemporains pointent toutes vers cette institution gangrénée qu'est la banque centrale. Si l'on désire une solution permanente au problème de l'inflation, c'est le contrôle de la masse monétaire par l'État qu'il faut déraciner une fois pour toute.
Article original : https://mises.org/wire/profits-do-not-cause-inflation-no-matter-what-progressives-claim
Auteur : J.W. Rich (@thejwrich)
Date de parution : 10 octobre 2022
-
@ 45c41f21:c5446b7a
2023-04-03 05:16:33hello Monday! Today we refactored the writing experience on flycat.club, now you can save local draft posts when blogging on flycat.
We also adjusted the layout of the editor page so you get less distracted in writing.
some meta datas will be displaying and required you filling only when you try publishing the post.
you can find your drafts on
myBlog
page (https://flycat.club/blog/and continue editing it until you are comfortable to publish it. As always, we appreciate your feedback. Please don't hesitate to tell me what you think about the updates~
-
@ 00000000:6a5fcbfa
2023-04-03 02:42:39Amo volver a escribir. Y que volver a escribir sea parte de NOSTR. I'm back bitches! Ya lo verán. Quizá en este perfil o quizá en otro, pero la adrenalina y felicidad de volver escribir.
-
@ 7fa56f5d:751ac194
2023-04-01 22:35:30Table of content
Long-form note
You can link to a long-form note by using its
naddr
identifier:naddr1qqgkcmmwvukkvmmjd5kkxmmww3jkuaqzypl62m6ad932k83u6sjwwkxrqq4cve0hkrvdem5la83g34m4rtqegqcyqqq823ccxjlgq
nostr:naddr1qqgkcmmwvukkvmmjd5kkxmmww3jkuaqzypl62m6ad932k83u6sjwwkxrqq4cve0hkrvdem5la83g34m4rtqegqcyqqq823ccxjlgq
Note
Notes can be linked by pasting their
note
identifier:note1069cr5elneqvv4yfhqgafh4k3mwgz75emat7vqk5j9dhmjlxlq4qa60tcj
nostr:nevent1qqs8azup6vleusxx2jymsyw5m6mgahyp02va74lxqt2fzkmae0n0s2spqymq4uph68
Or better, using
nevent
which includes relay information:nevent1qqsf2q8wd4e3kpek0ml0pnfw2sl779wc4pec73v9s6tdyw9wtsme9vgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3samnwvaz7tmjv4kxz7fwwdhx7un59eek7cmfv9kqyhwn2c
nostr:nevent1qqsf2q8wd4e3kpek0ml0pnfw2sl779wc4pec73v9s6tdyw9wtsme9vgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3samnwvaz7tmjv4kxz7fwwdhx7un59eek7cmfv9kqyhwn2c
Profile
You can mention someone by pasting an npub.
npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg
nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg
The
nprofile
entity contains a user pubkey and a list of relays and allows you to embed profiles in notes.nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gpp4mhxue69uhhytnc9e3k7mgpz4mhxue69uhkg6nzv9ejuumpv34kytnrdaksjlyr9p
nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gpp4mhxue69uhhytnc9e3k7mgpz4mhxue69uhkg6nzv9ejuumpv34kytnrdaksjlyr9p
Relay
Relays can be linked to with the
nrelay
identifiernrelay1qqxhwumn8ghj7mn0wvhxcmmvxgjuum
nostr:nrelay1qqxhwumn8ghj7mn0wvhxcmmvxgjuum
Badges
Badges can be referenced by their
naddr
identifer:nostr:naddr1qq8rzmfdwdshguedd9khqctrwspzqf8r0s09kryt4rw7ya2tel7x8ddjn8uqvnu0hy5teuc4h8zfvhemqvzqqqr48y6aua72
Happy writing 📝
-
@ f5c22b18:344c21fc
2023-04-01 06:06:37Hello World
$\sum_{i=1}^n i = \frac{n(n+1)}{2}$
-
@ 616d8460:26020116
2023-03-31 22:00:45{ "p": "ordtime", "op": "cart & yuve", "time": "XVI BC, "ampm": "Jupiter" } v2
-
@ f8838597:7ad3e77a
2023-03-31 14:06:32将来的に見失わないようにメモ
https://nostr.build/i/nostr.build_fabdb45fffe5499738572bf03f482aaed9993e0ab4f97777a7a42424c6dfd708.jpg
https://nostr.build/i/nostr.build_70e391103f75c9ebdaac5b786a8c5a2892ab42f8be0768fcd9c2d28736765ea2.jpg
https://nostr.build/i/nostr.build_edfc33e7fbf20c41e47e569f7a3a916b96bd834e11bc6287d8eaa530154e4358.jpg
https://nostr.build/i/nostr.build_658295acf79765a7d5edee76a82954d82bbdc664dc7efe9accda34689f63c328.jpg
https://nostr.build/i/nostr.build_64d83ff2fc2e2a7053fa4d57f59b73fa1aefa0e32488f6585da7b57b5c5692b3.jpg
https://nostr.build/i/nostr.build_2e1e39ebbe00b52627b449b1fecb0d2fec96e1a7d6d37c2df4e5691450c5d910.jpg
https://nostr.build/i/nostr.build_139ada396e81ec159aab620336c021177aaaf0e4c1f46554346272120fa90798.jpg
https://nostr.build/i/nostr.build_4611af28662d86b211d0ed4d731683cf2c26374394c5f7c5718402986ff824a2.webp
https://nostr.build/i/nostr.build_be07ecea47ad60b8bbf00802c4f62e027014d38b67433dc178d8d7be4badd369.jpg
https://nostr.build/i/nostr.build_14fda45e0240365461f653b22ec586aa4d027ee839565bf96c2436e8a955fa77.jpeg
https://nostr.build/i/nostr.build_1ae37276b6cc13b28c852b1d9b438c0245b37ea1135c70bbaf4488430b22b3c8.jpeg
https://nostr.build/i/nostr.build_4a3535e194cedbd9e24860ec87e8976b12483cc237df67427ecd1a4240db3b1f.jpeg
https://nostr.build/i/nostr.build_00c335feb7850bd93fd8e54ce88e83ed7406beb1b1af62e13aec22782f56a3a9.jpeg
https://nostr.build/i/nostr.build_df40e04056a4032bce5c431044253fed1914f748715207f689655bcf0c08c843.jpeg
https://nostr.build/i/nostr.build_a0f86414c512c9350f57d3702efa7b8ba33ce8eefa615228fae64bdd7c7d6fff.jpeg
https://nostr.build/i/nostr.build_095b1bc9524846c40c645b48b1a4b5aa44932edd75de69735fa0b6a582f17083.jpeg
https://nostr.build/i/nostr.build_4503d6ec0900427778783287224a9a6e6ff89d3e36466f31a59b49aac6b70569.jpeg
https://nostr.build/i/nostr.build_ee24b7197db41043ab0971efa3dc9282728063008d5f1e2bd993d63b18002ef0.webp
https://nostr.build/i/nostr.build_869e3ea8a9a92e1f41a1dee2f1f62b811148687c76536d671ca22fa385078ffe.jpg
https://nostr.build/i/nostr.build_28b4d26f6725064dd5de4449f47aa5e4fde9666ee7c6a93e70ab4e53fbd8a459.webp
https://nostr.build/i/nostr.build_3e15710084c33365256c793fcd9933bacf55d2537eb46404af2d86bff9b4d515.webp
https://nostr.build/av/nostr.build_fc335a12024522c38f9f978c865c892ed148ca05e9276aa347d50d7aba84c161.mp4
https://nostr.build/av/nostr.build_e5a3e4b0006d314cf63bc2a4255b465bf68e9385a0916e62866189d548b4b02a.mp4 https://nostr.build/i/nostr.build_5736ffa235ea49869e7be569c3332031b0077bf501cbca0adef7712c8ef64709.webp
https://nostr.build/i/nostr.build_831e4c6f9e40aa106acb45b3d29251add9a7f10966961b3d4805e508098aa0fb.webp
https://s3.arkjp.net/misskey/09b8125f-d530-4d65-a11a-a87458156013.jpg
https://nostr.build/i/nostr.build_597f18e5dd42e11e4bf6713530573b6ae03d9b675be9ae1016d55af9814a0094.jpg
https://nostr.build/i/nostr.build_fea927158f4e6689463ea15fd19be8f5c313c5849d126f53a94e778b37b248b3.png
https://nostr.build/i/nostr.build_bffdcd571ece89d8deebec32da5654f89533f4d4e9dd3349d36575dc5410a75e.jpg
-
@ 97c70a44:ad98e322
2023-03-29 19:56:16Proof-of-work (POW) is not new to Nostr. Because the protocol is "Bitcoin-adjacent", there is a general familiarity with one of the precursor technologies to Bitcoin, Hashcash, invented by Adam Back in 1997. Some users have mined keys with a certain number of leading zeroes, or with the first few letters of their handle in order to demonstrate skin-in-the-game, and there have even been some nips merged which take advantage of proof-of-work.
This blog post won't be new to people who have given much thought to the merits of Hashcash and proof of work, but I only recently discovered the benefits of POW against micropayments in some situations, and thought would be interesting to try to articulate.
POW vs Micropayments
The basic idea behind using proof-of-work in a social protocol is that having work embedded in pubkeys (or event ids) demonstrates that the person publishing the information has spent a certain amount of processing power mining the information, and therefore has invested more into producing the content that would otherwise be evident.
There is, however, another way to prove your work: micropayments. Bitcoin, being the best money, is directly based on proof of work, and so payments made using Bitcoin are a way of borrowing the proof of work already invested in minting the coins. But any token that has recognized value will also work (with less fidelity) to store your labor for later use; that's just how money works.
It's exchange of value all the way down
The advantage of using payments instead of direct computational proof of work is because the work stored in a medium of exchange is re-usable. When you buy something, the merchant isn't simply interested in having you prove you worked for your bread, they want to prove they worked to provide you that bread when they go on to make their own purchase. This is because a purchase is a "value exchange" - there is someone providing their own work in exchange for yours.
In theory, this is always true - there really is no free lunch. This is the case even for the most negligible use cases of proof of work, for example when mining an event id to get past spam filters. Someone somewhere is checking that zero, hosting, and transmitting that content, and wouldn't it be nice if they (or the final recipient of the note) could be compensated by receiving the value that you had to expend anyway? That way, you could simultaneously boost your reach and pay people to read your content!
For this reason, I used to be against POW in any amount. Direct computational work is always wasted. That's a lot of work being destroyed instead of being used to support the people running the infrastructure. And I still think payments should be preferred wherever possible. For example, one possible alternative to proof-of-work for getting past a spam filter would be to pay relays directly, and then have those relays publish an additional proof of your payment, similar to a zap note. The relays receiving your content would be paid directly, and the proof of payment would function as proof of work for all subsequent relays (or clients) receiving the event.
Nanopayments
Of course, this only works if the price tag of publishing content is significant enough to justify the extra coordination, storage, and transmission of the payment proofs. Payments also don't make sense if there is no clear recipient, if the recipient is not yet known, or if they introduce an unacceptable amount of required trust. This is where proof-of-work shines - not as a substitute for micropayments, but as a trustless, coordination-free substitute for nanopayments, which I'll define as "any payment that costs more to process that the value it is being exchanged for". In Bitcoin-land, UTXOs that can't be included in a transaction without costing more than they yield are known as "dust".
Nonopayments never make economic sense. The most obvious being as a substitute for very small amounts of work, e.g. a single leading zero on an event id. How many fractions of a satoshi would mining one digit cost? Another nanopayment that is less obvious would be payments for very long-lived value, for example to verify a public key. In this case, even though the work isn't re-usable, it continues to have utility as long as the key is in use.
Resource Auctions
To tie all this together, let's think about what filtering spam actually is. The problem with spam is that it unproductively consumes valuable resources - both computational and social - that legitimate content should consume instead. In other words, there is a limited amount of organic engagement available for content to attract, and spam undercuts legitimate content's bid for engagement by virtue of its lower cost to produce.
The traditional solution for solving contention over a limited resource is an auction. Each interested party makes a bid, and the highest bidder wins. The problem with auctions is that they require coordination to choose a winner, and participants usually have a clear idea of what the ultimate value of the good being sold actually is. This difficulty in both assessing and facilitating a transfer of value makes the advantages of payments irrelevant, leaving the only goal of the auction to impose a cost on all actors in order to reduce spam's cost advantage to a lower multiple. So, instead of spam being thousands of times cheaper to produce than legitimate content (1 minute of your time to compose a note at $30/hr is 50 cents!), it becomes only a few times cheaper. So even though POW is an inferior way to transfer value, its trustless nature makes it the best option in this case.
Conclusion
That's not to say there aren't better ways to do moderation, just that direct payments to cover resource consumption aren't the correct solution. I personally think web-of-trust is the best baseline for eliminating spam, but it does need a complement in order to introduce newcomers to the network, or promote content to interested users. This can take the form of proof-of-work for lower-stakes cases, or payments as a way of borrowing reputation from someone already established in the network for cases where the goal is not to avoid spam, but to leverage reputation external to the social graph embedded in Nostr.
Distributed moderation and content recommendations is something I'm really interested in, so expect to see more thoughts on that topic from me in the future.
-
@ 97c70a44:ad98e322
2023-03-29 19:55:14"What is Nostr?" is a hard question to answer. But an even more difficult one is "what should Nostr be?" Set aside the fact that "other stuff" is making up an ever-growing share of Nostr applications, even the social media use case on its own is a fractal of a problem.
What's encouraging though, is that despite the complexity of "social media", there is a surprising level of consensus on what needs to be done - within the Nostr developer community, differences are characterized more by emphasis than by direction.
Staying on mission
Instead of focusing on "problems to be solved" within the current system (e.g. content monetization or data harvesting), people who "get" nostr have made its core principles their own. Because these principles radically differ from the way things are done in centralized systems, they spawn a complex system of new affordances and limitations.
If I had to sum up what the core principle of Nostr is, I would say "individual sovereignty". Nostr is a social experiment that asks people to take responsibility for what they say (and sell, host, publish, promote). This topic has been explored ad nauseum by better writers than I using Bitcoin as a vehicle, so I'll avoid re-treading the same ground if I can, except to point out that the two key design decisions of the Nostr protocol, self-custody of keys and hosting spread across multiple relays, simultaneously entrust control to users and revoke certain entitlements users are accustomed to.
It's well- (maybe even over-) understood what the risks and benefits are of holding your own keys. And being able to either select or host your own relays, each with different purposes and characteristics, gives individuals a level of control over his own publishing platform precedented only by the World Wide Web itself.
Lies they tell
But there are a lot of things users lose when moving away from a centralized platform. The ability to edit, delete, block, and promote content are not what I'm talking about - the guarantees for being able to do these things on Nostr are weaker, but as long as someone can take a screenshot of your Tweet, or block Google's ads, or log in with a different account, the affordances provided by centralized platforms are conveniences at best, and illusory at worst - that is, unless we go full digital panopticon, with universal biometric authentication and DRM for our brains.
What is more interesting to me is how centralized social media platforms lie about what they essentially are. Twitter's motto is "what’s happening", and their about page features a tweet encouraging others to "Speak the truth, even if your voice shakes." And yet over the last several years they have censored real news, promoted propaganda, and shadow banned those whose "voice shakes". Musk's desperate claims that "we'll stop, I promise" don't negate the fact that Twitter retains control over users' speech in a way that is inherently in conflict with their stated mission.
This is true even of non-political speech, because it is in Twitter's interest to promote content that drives engagement, because engagement is what in turn drives advertising profits. This undermines their claim of user enfranchisement - they exercise partiality in choosing whose voice gets a megaphone.
Users of Nostr know the feeling of this weight being lifted. Nostr is anything but polished, but that's part of the charm - you know there is no one scanning your content, deciding who sees what and with what "added context". Many users including myself have experienced a 10x or more increase in engagement, despite a much smaller number of people on the platform. This is of course likely due not only to the lack of an algorithm, but also to the lack of celebrities, which tend to absorb attention, leaving little for the rest of us. But for now, Nostr is for the plebs.
Cutting the Gordian Knot
And I hope, and have reason, that it will continue to be so. When I spoke to my pastor prior to moving to Austin to work on Coracle full-time, I asked him what problems related to social media he would like to see solved. He said that he would like to see a solution that puts users in control of their algorithm, and allows individuals to broadcast their content to as wide an audience as possible.
There is a contradiction here, and the claim that it can be solved is one of the main lies that centralized platforms like to tell. You are free to broadcast your data as widely as you want, but no one is obligated to read it. Twitter tries to square the circle by artificially reversing this trade-off, resulting in a system where "you can't broadcast your data unless we want to force people to read it." But even they can't give their users control while simultaneously taking it away.
There is a path forward though, and now we finally get to the point of this post. Nostr is so revolutionary because it puts "digital localism" within reach. I had better define my terms here, since "digital localism" is used to describe a lot of dystopian ideas I'm not very excited about. What I mean by the term is something like "social relevance". Contra the egalitarians, there are real differences that exist to set groups of people apart. Things like topical interest, physical geography, professional network, religious belief, and yes, ethnicity and sex.
What is a community anyway
The fact that digital "communties" exist is something that to their credit Mastodon recognized, and sought to accommodate. But they missed the fact that humanity is partitioned into a nearly infinite number of overlapping sub-groups based on a nearly infinite number of dimensions. Yes, maybe I should be friends with you because you also like cats, but let's refine this further, do you think cilantro tastes like soap, are you a member of the Church of Satan, are you Italian, have you been reading Hayak lately, do you like watching Hallmark movies, English, do you speak it? Partitioning people into groups based on a single dimension is an exercise in futility, and is the reason Mastodon instances are either ghost towns or home to millions of users.
By allowing users to download/host their own data and join as many and whichever relays they choose based on arbitrary criteria, people are now able to co-locate in digital space, and interact with each instance in a different way. This is why I'm not excited about tools that spray your data to as many relays as possible. This only serves to maintain the illusion that replicating all content across every instance can scale, and it can't.
Instead, relays should differentiate, both in terms of function and membership. In the future (and even now) there will be closed archival relays that scrape the network and provide a backup of user data for a fee; public-read, private-write relays that allow members to participate in an exclusive group with greater reach; private-read, private-write closed community relays; public "town square" relays, paid relays that provide indexes, full-text search, or content recommendations for the wider network (or a relevant subset of it); and relays that provide oracles for data external to nostr. The ability of users to pick and choose which relays to connect to (and to multiplex those connections through yet another proxy/aggregator relay) allows them to define their own low-granularity social graph, refining it further with follows, mutes, and other "algorithmic" tools.
The same is true of client implementations. Many people building social media platforms want to "fix Twitter". But that vision of digital society is amazingly narrow (luckily, Nostr developers don't seem to suffer from the same kind of myopia). Most people I know don't have Twitter accounts, or use them. For them, Twitter is about as relevant to their lives as CNN. Instead, they use private Facebook groups to arrange babysitters for their kids, or Cragislist to buy and sell local goods. They use Google maps to find reviews for nearby businesses, and the church email list to keep up with prayer requests. They subscribe to newsletters their friends publish, and spend their days at work sending memes over Slack. The common theme here is that all these platforms connect "us" with "mine", not with "them". And yes, journalism and topical interest ala Reddit is a part of this, but for normal people, a vanishingly small part. But let's stop squawking about "echo chambers".
And Nostr, despite its limitations, can be applied to every use case enumerated above. In so doing, it will free regular people from the constraining force of opinionated, artificial, centralized communication platforms, and allow them to build a digital social network that complements real life.
Conclusion
The driving force, for me, is not to erase our differences and create an egalitarian utopia, or stick it to big tech, or to make money, but to see the people I love, who belong to me, and to whom I belong, flourish by being connected with the people who belong to them, and to whom they belong. The resulting network will be characterized by high trust and high cohesion, laying a solid foundation for content and ideas to efficiently propagate across the distributed social graph, similar to how the lightning network routes transactions. But the key to making this work is to rise to the occasion, and take back our digital sovereignty by making it as easy for the average person to navigate the digital social landscape as they do in real life.
-
@ 97c70a44:ad98e322
2023-03-29 19:52:47Nostr is an amazingly versatile protocol, and has huge potential to solve a number of real world problems. But it isn't a silver bullet, and I think it'll be interesting to watch as the Nostr ecosystem develops and discovers problems that Nostr can't solve, and which complementary technologies fill those gaps.
For the record, I have no problem with people building crazy things on Nostr - hackers are going to hack, and it's more important to stretch the protocol than to nitpick. But I'm going to nitpick anyway.
You may already be familiar with the CAP theorem. If not, it's the idea that any distributed data store can only provide two of the three following guarantees:
- Consistency - every read receives the most recent write or an error.
- Availability - every request receives a (non-error) response, without the guarantee that it contains the most recent write.
- Partition tolerance - the system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.
The Nostr protocol describes a distributed system that stores data, and this distributed database is no exception to these rules. I'll give you three guesses which guarantee Nostr doesn't provide, and the first two don't count.
In case you need a hint though, it's consistency. Nostr optimizes for censorship resistance (availability) and redundancy (partition tolerance) at the expense of consistency.
We've already seen this problem pop up in a number of places, particularly with contact and relay lists. And that's despite an exceptionally low level of contention over the data - only a handful of different devices or clients run by a single person are touching the data.
This extreme trade-off works great for certain use cases, social media being the most evident. There are very few times when you would need to know all the replies or reactions to a given nost (although you might find it difficult to trust poll results as anything other than a random sample or respondents).
This trade-off becomes more problematic any time there is contention over whatever the Nostr event is meant to represent. In other words, if something needs to be "locked", you need consistency, and therefore you're going to find it very hard to do over Nostr.
One example is marketplaces. Nostr can be a great way to publish an ecommerce listing, but actually brokering the sale in such a way that two people don't end up paying for a single item will require more back and forth to manually confirm a transaction than alternative database models might require.
Another is source control. As I understand it Jack hasn't proposed implementing git on Nostr, just an issue tracking and pull request system. But the lack of consistency at the datbase level remains a serious problem for coming to consensus on changes, fetching the latest state of the repository, or avoiding duplicate work.
There is one way to sidestep this limitation though, even staying within the Nostr protocol. By trading availability and partition tolerance away, you can gain some level of consistency. The Nostr network as a whole is a single database with availability and consistency, but select a single relay and you get a single database with different characteristics. What's even more cool is that this single database, depending on implementation, can exhibit any combination of CAP guarantees. A postgres-backed relay will work differently than one backed by DynamoDB.
The implicit tradeoff here is of course one of trust - you're now entrusting all your data to a single service provider, just like we conventionally do today. But one further tactic can mitigate this risk. If your application can be broken down into multiple chunks, each of which must be internally consistent, but which don't need to coordinate with each other, you can store each chunk on a different relay. This gives you availability and partition tolerance for your use case as a whole, but consistency for each chunk.
This creates a possible solution to the two examples above. Instead of trying to broker all transactions on many relays simultaneously, or brokering all transactions on a single, centralized relay, you can broker each transaction on a different relay. If a relay then goes down, or censors you, they can take some listings with them, but not all your listings. In practice, trading a little bit of censorship resistance for good consistency guarantees can be a good trade.
Likewise, a repository might be stored on a single relay, with backups, and each pull request or issue can live on a separate relay. If a relay takes down a PR, only that PR is lost, not the entire repository. Of course, having some archival relays in the mix as well makes sense for this use case because it's so long-lived.
I think thinking of Nostr as a database is fascinating. And because databases are so well-understood, hopefully this paradigm can be helpful for continuing to develop an understanding of what Nostr is good for - and what it's not.
-
@ 45c41f21:c5446b7a
2023-03-29 12:48:28VoiceGPT is a little toy I made in very short time to allow myself to talk to chatGPT using my voice. the main purpose is to practice and learn to speak English with Mr.robot and its mystery accent.
The app is very simple, it takes your voice input and converts it to texts and then sends the texts to chatGPT and gets answers back, and turns that answer into voice in reverse. For simplicity and maintainability, I do not use any external TTS service which normally requires you to pay to use, instead, I use web-native API to do the text-voice converting. it is free so I can get this web app hosted forever. also, the sound of the web-native API speaker is more obviously a robot, which is more of my preferred. I find the accent very cyberpunk, and I like it.
How to use it
- open https://gptvoice.vercel.app/
- set up your openAI API key. you can get such a key from https://openai.com/blog/openai-api.
- click the button to talk, and wait for the answers from chatGPT, have a conversation.
- you can switch different languages from the right top menu
-
@ 7cfe499d:face299b
2023-03-28 14:23:12Manifesto open source bbo
<
> “Manifiesto criptoanarquista” Thimothy C. May 1988 Los cypherpunks empezaron a agruparse dentro de una comunidad para desarrollar, compartir y hacer frente, juntos, a su visión de un mundo digital de vigilancia y control extremo. Lo que ellos ya empezaron a vislumbrar en los 70, llega hasta nuestros días con más fuerza que nunca; sistemas de vigilancia pública, tráfico de datos entre compañías y gobiernos, biometría, crédito social y demás mecanismos han venido cogiendo fuerza desde aquellos primeros bits que lanzaron los cypherpunks.
Con la llegada de la revolución Industrial, la tecnología y la producción en masa, nuestra sociedad llegó a un nuevo nivel. Desde este punto, la generación irracional de deuda, el exceso de regulación en el sector bancario, los crecientes costos económicos de la violencia y el gasto militar han permitido a los estados nación expropiar mucha riqueza a lo largo de nuestra historia moderna. Debido a esto, consideramos importante declarar activamente, día a día, nuestra libertad, soberanía e inclusión financiera, negarnos a la tiranía y denunciar estos actos criminales.
No hay justicia en seguir leyes injustas. Es tiempo de salir a la luz. A lo largo de nuestra historia reciente, las instituciones se han dedicado a difundir el miedo y la confusión, a polarizar a los individuos y a beneficiarse de ello a través de la propaganda y la desinformación. Además de crear un lenguaje burocrático y financiero inaccesible, el cual la mayoría de personas ni conocen, ni entienden debido a su deliberada naturaleza confusa. Conceptos fundamentales que directamente afectan la vida de todos, y de como funciona nuestra sociedad y economía actual.
Esto está a punto de acabar.
Sabemos que el software libre, así como las ideas, no pueden ser destruidas si están ampliamente distribuidas. Parafraseando a John P. Barlow, la red y el ciberespacio son los lugares donde vivimos y en él se puede dar la independencia intelectual, donde creamos colectivamente una civilización de la mente, mucho más humana, libre y hermosa que el mundo en el que vivimos actualmente, un mundo que todos sabemos es tremendamente corrupto e injusto. Debemos declarar nuestros “yo” virtuales inmunes a su soberanía tiránica. Nos extenderemos a través del planeta para que nadie pueda encarcelar nuestros pensamientos.
Hoy la libertad no puede, sino ser conseguida a través de la privacidad, una privacidad que sencillamente significa “el poder de revelarse selectivamente al mundo”, una privacidad que cada vez es más complicada de obtener. La privacidad es esencial para una sociedad abierta en la era de internet. Dicha privacidad, en una sociedad abierta, necesita de criptografía, y para que esta se extienda, debe formar parte del contrato social. La privacidad solo llega hasta donde llega la cooperación entre individuos y comunidades. La gente debe venir y desplegar juntos estos sistemas para el bien común. Nuestra sociedad necesita de individuos conscientes y con voluntad de proteger la privacidad, que sepan utilizar y transmitir las herramientas necesarias para ello.
Necesitamos crear comunidades comprometidas que nos proporcionen pertenencia, tanto en Internet como en nuestras ciudades.
Necesitamos usar las herramientas de las que disponemos para protegernos de la nueva violencia, que es más digital que física.
Necesitamos replantear la educación para así dar rienda suelta a nuestra creatividad y desplegar nuestro intelecto.
Necesitamos mecanismos para combatir la desinformación y la propagación de información falsa sin caer en la censura
Nosotros, construyendo esta comunidad, nos declaramos individuos libres y soberanos. Trabajamos para crear espacios físicos y digitales donde alojar el desarrollo y despliegue de sistemas alternativos, apoyar el software libre y su trasmisión, promover la libertad digital, la inclusión y soberanía financiera, dar espacio al intelecto, la independencia intelectual y la privacidad.
No necesitamos vuestros viejos mecanismos oxidados que, por primera vez en mucho tiempo, están a punto de colapsar por su propio peso. No podemos confiar en vuestras promesas, monedas y sistemas financieros exclusivos y represivos, tampoco os podemos confiar nuestra educación, salud, nuestro planeta ni su futuro. No renunciaremos a todas nuestras libertades individuales a cambio de vuestra supuesta protección.
Esto termina aquí, y esto termina ahora.
A través de la criptografía y el trabajo de nuestros antecesores cypherpunks se ha conseguido, por primera vez en la historia, un modelo de consenso global, el cual está abriendo debates fundamentales y permitiendo la inclusión en la economía global a las pequeñas economías, masacradas por la violencia e imposición tiránica de los grandes estados nación. Nosotros solo estamos cogiendo el testigo de nuestros antecesores, reconociendo este hecho y agrupándonos bajo él. Hace falta enfrentarse a la realidad, reflexionar, debatir y hacer, nosotros estamos dispuestos a ello.
Nuestra moneda es Bitcoin, nuestra organización es abierta y transparente, nuestras mentes son libres, nuestras herramientas también.
Con suficientes de nosotros alrededor del mundo, no solo enviaremos un fuerte mensaje oponiéndonos a la tiranía e injusticia – haremos que sea algo del pasado. Todos somos Satoshi.
¿Te unirás a nosotros?
Barcelona Bitcoin Only - 21/03/2023
Este manifesto es open source y de dominio publico, también puedes usarlo para definir las bases de tu comunidad.
-
@ be318ab6:dd25a806
2023-03-28 00:40:19Howdy y'all,
This is the Ramble #001
I was gifted extra spare time (layoffs), and I'm excited to put it into learning about some of the new exciting things swirling around us at an ever-accelerating speed & also about the good old ever-useful manual skills, which are disappearing almost at the same rate.
The focus will be on anti-fragility tools and skills. I'll be touching on the the topics of Nostr, AI, Bitcoin, Privacy and self-sufficiency skills like woodworking or food production. I'll include any building just for the sake of it (I get more value myself and motivation to do more of it if I can show off something tangible, I guess). It's not gonna be the most frontier-breaking r0ckstar knowledge, but it will humbly keep moving forward one step at the time along with my selfish pursuit of improving my knowledge and skills along these vectors. I also won't avoid some rants about the insane corruption in our Money and all the downstream problems it brings.
Why?
1. Why having a blog? * I want to practice my writing. Not to challenge the AI, but just to better remember the learnings, and to clarify & structure my thoughts. * The public record forces accountability on me. I want to commit to a habit of writing 4-5 posts per week.
2. Why it's on Nostr? * When dozens of the smartest and most honest individuals I respect flock to this like a bunch of crazy birds, it's something I don't want to miss out on, and I want to get intimately familiar with the tech. * It's an uncensorable protocol that allows you to own your data and can re-architect many broken things on the current web. * Easy for me to push my tip jar in y'alls faces and see if anyone gets any real value out of this * And, I just wanted to play with it. Some clients still might be buggy, but the speed of development and improvements is lightning miles away from anything I've seen before.
I'll probably write some intro to NOSTR next time around; but in the meantime Gigi will help you out at nostr-resources.com
3. Why including the offline skills and tools? * Humans are not meant to stare into screens all day. * I see there's one of the most competitive edges for the next 10 years.
And, that's about it. I'm really excited about days and weeks, and will have some fun. If you have read all down here, thank you and PV to you!
PS.
Resources/Inspiration for this issue: * Marty's Bent - duh! * BloggingBitcoin - How To Start A Blog Today
-
@ c75622fd:a9b66e1d
2023-03-27 16:18:04竹
竹
- 竹
- 竹
- 竹
python take = "竹" if "竹" == take: print("竹")
-
@ c81c7999:738e1869
2023-03-27 14:37:08拡張機能の導入
このページの末尾にあるzipファイルをダウンロードし、展開する。chromeで「拡張機能を管理」を開き「パッケージ化されていない拡張機能を読み込む」をクリック。先ほど展開したフォルダの中のgptchanを選択。ウェブページを開くとずんだもんが表示されます。が、動きません。
APIキーの入手
コンソールを開くとinvalid_api_keyとか書いてます。APIキーが必要なのでopenaiのAPIキーのページを開き、Create new secret keyで出てきた秘密鍵をコピー。gptchanフォルダのcontent.jsを開き、167行目の
をさっきコピーした秘密鍵で置き換えて保存。拡張機能を再読み込みし、ウェブページをリロードすると、しゃべりません。 CORSエラーを回避
コンソールを見ると「https://api.su-shiki.com...へのアクセスがブロックされたよ」みたいなエラーが書いてあります。これはこことかここに書いてあるように安全のために接続が制限されています。これを回避するためにgptchanフォルダの中をいじっていきます。
manifest.jsonに以下のように要素を追加します。
json:manifest.json { ..., "background": { "service_worker":"background.js" } }
background.jsを作成し、以下のように記述します。javascript:background.js chrome.runtime.onMessage.addListener((message,sender,sendResponse)=>{ let key = ""; fetch( `https://api.su-shiki.com/v2/voicevox/audio/?text=${message.answer}&key=${key}&speaker=1`, { method:"POST", headers:{ "Content-Type":"application/json", } }).then(resp=>{ return resp.arrayBuffer(); }).then(ab=>{ const dataString = JSON.stringify(Array.from(new Uint8Array(ab))); sendResponse(dataString); }) return true; })
content.jsのplayVoice()関数を以下のように変更します。json:content.js function playVoice(answer, funcAfterPlay) { chrome.runtime.sendMessage( {answer:answer}, (dataString)=>{ const audioContext = new (window.AudioContext || window.webkitAudioContext)(); audioContext.decodeAudioData(new Uint8Array(JSON.parse(dataString)).buffer, function (buffer) { let source = audioContext.createBufferSource(); source.buffer = buffer; source.connect(audioContext.destination); source.start(); }); funcAfterPlay(); } ) }
拡張機能を再読み込みしページをリロードすると、しゃべりません。
APIキーの入手(二回目)
voicevox apiを使うのにもAPIキーが必要です。にアクセスし、手順に従ってapiキーを生成してコピーします。background.jsの2行目の""の中にapiキーをペーストし保存します。拡張機能を再読み込みし、ページをリロード。しばらく待つとずんだもんがしゃべりだします。
それでもしゃべらなかったら
コンソールを開いて'The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.'とか出るならずんだもんの下の箱になんかいれればしゃべりだします。
-
@ 46fcbe30:6bd8ce4d
2023-03-27 11:59:07I love the feature set of Monlovesmango's Astral but sadly it worked worse and worse over time and today it crashed my Firefox browser tabs consistently.
My bounty is for improving the performance such that it loads my "follows" feed in under 30s.
-
@ 7fa56f5d:751ac194
2023-03-27 09:50:07The recently merged NIP-27 introduces a new way for handling mentions in nostr text content. Instead of using the
#[idx]
and tags, mentions are now NIP-21 URIs.Habla implements NIP-27 mentions and will no longer create content with NIP-08 mentions. When editing an article that contains NIP-08 mentions they will be automatically converted to NIP-27.
How do I mention an event?
Add the nostr: prefix to a identifier like nevent1qqsxhr3hlkurt3ncrasgj4fx4p2yef92ml8403elunyhfe63raenk0sppemhxue69uhkummn9ekx7mp04p24wr and it'll be interpreted as a mention and rendered inline. The appropriate tags will also be added to the event.
nostr:nevent1qqsxhr3hlkurt3ncrasgj4fx4p2yef92ml8403elunyhfe63raenk0sppemhxue69uhkummn9ekx7mp04p24wr
note identifiers also work, but prefer nevent over note identifiers since they include relay information. This makes sure the content can be fetched by clients.
How do I mention a person?
Use a persons npub with a nostr: prefix to mention and show their username inline: nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg
A nprofile identifier includes pubkey and relay information. These will be rendered as a card with the user and relay list: nostr:nprofile1qqsyxev2ayfc90h8m73u0smqkya9ajxzyf3472e24577whjtkgx6jpspz3mhxue69uhhyetvv9ujuerpd46hxtnfduz2vt3r
How do I mention a replaceable event?
Replaceable events have a naddr identifier so you can use the same notation for mentioning them. This will work for articles like nostr:naddr1qqfkummnd35j6vfkxuunsv3nx5envvpcxqqsuamnwvaz7tmwdaejumr0dshsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0qywhwumn8ghj7atwd9mx2unnv5hxummnw3exjcmg9ekxzmny9upzpmzzcaj5rzeah8y940ln4z855wa72af4a6aac4zjypql55egcpsqqvzqqqr4gurxxmr3 or other kinds of events like badges
nostr:naddr1qqgkummnw3e97am0wfkxghmgxdax5uqzyqgypfzqf236prjdtx4pw6q582xte9s39khfmyjggx3dngsjqu5tzqcyqqq82wg8r3u2l
Happy writing!
-
@ afb18dfa:13281dd1
2023-03-27 03:23:04[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
[46]
[47]
-
@ 94e268f4:b1bbba0e
2023-03-26 22:58:40Notice
This tutorial might be in a better view on mobile browser due to some images resolution. You can read this article (NIP-23) on Flycat (Best View) or Habla News or via blogstack.io
Changelog
- 27 March 2023: Prevent conflict of running multiple LND in Termux. Update .env file for easier Satdress Fork setup (based on latest commit).
- 25 March 2023: Add recommendation and solution for Android OS 12+ users. Add document changelog revision. Add recommendation to backup channel.
- 23 March 2023: Initial Article
Overview
Recently, since the introduction of Zap (NIP-57), the concept of value4value has been promoted quite often and was proven partially by high engagement in quality or interesting content.
Source: Nostr Meme Competition 1st Winner Announcement by StackSats and Ser Sleepy
Users can publish various topic and receive sats to their lightning wallet by using lightning address. While most users seem to pick the easiest way by using custodial wallet or services (Wallet of Satoshi, LN.tips Telegram bot, etc), there are still option to setup a non custodial wallet.
Source: Zap Analysis in Nostr by benthecarmanBut, some people might still wonder or argue,
Can i receive lightning tip or zap to my own wallet without having any server or PC?
I don't even have domains to setup my own lightning address
There are no tutorial (yet) to do that
The answer to those question is yes. We can manage it directly on our mobile phone even if we don't have our own server and domains.
Source: Zap Experiment Demo by lurkingcatThis tutorial aims to help Nostr users who have limited resources to setup their non-custodial wallet and receive zaps directly to their mobile phone with zero or little additional cost.
Be sovereign. Be your own bank.
Contents
Requirements
- Mobile phone with Android OS version \< 12 (Been Tested Working). If you're using Android OS 12+ then you need to read this issue and the solution to make Termux run properly in the background. Non-rooted OS won't be a problem.
- Very basic understanding of linux command. We can start to learn some basic linux command from Linux Command Library
- F-Droid Official Client or Neo Store (F-Droid Alternative Client)
- Termux (F-Droid Version) or from their Github
- LND (ARM64 version) via Termux
- Thunderhub
- Zeus
- Satdress Fork by don'tbelievethehype and fiatjaf
- Cloudflared Tunnel
Installation
This section only needed to be run once until all the setup is fully completed. If you have already completed this setup then you can skip to Running Apps section. Please, read this guide thoughtfully steps by steps thus it will make easier to solve any problem during installation.
F-Droid Setup
If you don't have any F-Droid client installed on your Android phone then you can install F-Droid Official Client or Neo Store (F-Droid Alternative Client). Personally, i have installed both of them but often to use Neo Store because of its nice user interface compared to official F-Droid client. Feel free to choose your favorite F-Droid client.
Termux Setup
Termux is an Android terminal application and Linux environment. We can download Termux from F-Droid Repository (Recommended) or from their Github.
We can search and download it easily using F-Droid Official Client or Neo Store (F-Droid Alternative Client). If you want to learn more about Termux then you can check their Wiki page.
We also need to install Termux API Plugin. This plugin will expose basic Android functionality as linux command.
Additional Recommended Software: - Hacker's Keyboard. This keyboard will make it easier to type linux command in Termux - We can start to learn some basic linux command from Linux Command Library
After we have installed Termux, we need to make sure Termux and its plugin get the required permission to run in the background properly. We don't want Termux get killed automatically by Android OS. Some vendor (Samsung, Xiaomi, etc) even have more strict battery saving mode which often kill apps in the background. We need to set Termux and its plugin as the exception.
We can press and hold Termux App icon and it will show popup "App Info" and we will click it > Battery Saver Permission > Change Battery Saver mode into "No Restriction". This menu can be varied on every different Android device. There is a basic guideline here to adjust it based on your device.
After adjusting Battery Saver permission, we can open Termux. It will open a new blank terminal session on the first time.
We will enable android storage permission using this command (Feel free to copy and paste the command): ```
mount android storage for easy access on termux
it will be mounted on $HOME/storage
termux-setup-storage ```
Install all required dependency using the following commands (Run every command line-by-line to make it easy for checking any error): ```
update termux package
pkg upgrade -y
install basic dependency software
pkg install termux-services build-essential git golang lnd tor torsocks
install basic helper tool
pkg install tmux nano micro curl wget
enable tor service in termux
sv-enable tor ```
We also need to disable LND service created by Termux to prevent conflict of using multiple LND: ```
disable lnd service in termux
sv-disable lnd ```
We will also use Proot Distro to make environment for this tutorial. PRoot Distro is a Bash script wrapper for utility proot for easy management of chroot-based Linux distribution installations. It does not require root or any special ROM, kernel, etc.
Install and setup proot-distro: ```
install proot-distro
pkg install proot proot-distro
download and install chroot linux distribution
install ubuntu distribution and give its alias as ubuntu-nostr (name is optional can be changed)
proot-distro install --override-alias ubuntu-nostr ubuntu ```
We will login into proot environment: ```
login as root to chroot environment and bind $HOME directory as /termux_home for easy access
proot-distro login ubuntu-nostr --user root --bind $HOME:/termux_home ```
Now after we login into proot environment, we need to update and setup using following commands: ```
update apt repository
apt update -y
upgrade chroot system
apt upgrade -y
install sudo
apt install sudo ```
We have already finished setup Termux for the first time. Don't close current termux session because we will continue using it for the next step. The next step is about how to configure and start lnd using termux.
LND Setup
Using the same termux session, we will start with creating LND data directory to setup our configuration.
```
create lnd directory
mkdir -p ~/.lnd
make or edit lnd configuration using nano editor
nano -m ~/.lnd/lnd.conf ```
This is configuration of LND for this tutorial. This configuration was adjusted and optimized (using Neutrino mode) for mobile phone/node similar to what Blixt or Breez wallet have done. We can copy configuration below to lnd.conf file. Make sure to copy from the first line to the last line of configuration. The explanation of each syntax/line was covered in LND sample-lnd.conf.
``` [Application Options] alias= listen=localhost nat=false rpclisten=localhost:10009 restlisten=localhost:8080 debuglevel=info maxpendingchannels=5 feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json gc-canceled-invoices-on-startup=1 gc-canceled-invoices-on-the-fly=1 sync-freelist=1
wallet-unlock-password-file=/root/.lnd/p.txt
[protocol] protocol.wumbo-channels=true protocol.option-scid-alias=true
[Bitcoin] bitcoin.active=1 bitcoin.mainnet=1 bitcoin.node=neutrino
[neutrino]
neutrino.connect=YOURBITCOINNODE.onion:8333
neutrino.maxpeers=5 neutrino.persistfilters=true neutrino.broadcasttimeout=11s
[tor] tor.active=true tor.v3=true tor.streamisolation=true tor.socks=9050 tor.dns=soa.nodes.lightning.directory:53 tor.skip-proxy-for-clearnet-targets=false
[autopilot] autopilot.active=false
[watchtower] watchtower.active=false
[bolt] db.bolt.auto-compact=true db.bolt.auto-compact-min-age=240h
[Routing] routing.assumechanvalid=1 routing.strictgraphpruning=false
```
To exit nano, press
Ctrl+x
and typey
to save.We will use tmux in the next following steps. Tmux will be used because we can have multiple terminal window in one terminal session. It's like having multiple 'tabs' in web browser.
To start tmux for the first time, we can type the command:
tmux
To detach or 'minimize' current tmux session, we can press the combination of key:
Ctrl+b+d
If we want to open or resume those last detached tmux session again, we can type the command:
tmux a
If you need extra guidance about tmux then you can check this Tmux Cheatsheet.
Back to main topic, in the current tmux session, we can start lnd using this command:
lnd
By default LND will look into
$HOME/.lnd
directory for LND data and configurations. LND will start downloading initial Neutrino headers block data.It will take around 5-10 minutes or maybe less to download initial data with size around 159 MB.
While LND starting to download initial data, we can open new 'tab' simultaneously on tmux by pressing the combination key of
Ctrl+b+c
. It will open new second 'tab' shown by number[1]
belowWe can switch tab easily using combination key
Ctrl+b+0
orCtrl+b+1
or any number based on the tab number.In this second tab, we will create new wallet for LND using command:
lncli create
Set the wallet encryption password, in this tutorial we will set it by
123456789
as the example. Make sure you set your own better and secure password. After typing the password we will have confirmation prompt like below. We will create new empty wallet by choosing 'n' option.If we have already another existing Aezeed Mnemonic Seed then we can choose 'y'. But remember that Aezeed Seed is different from BIP39 Seed. This tutorial assumes that we will create new fresh wallet.
Next confirmation prompt will ask whether we want to add passphrase to the seed. We will skip that for simplicity by pressing
enter
in keyboard.Make sure to note 24 seed words in a secure manner.
The next time we run
lnd
, we just need to unlock the wallet to make it fully initialized by executing the command:lncli unlock
Optionally, after unlocking the wallet we can also check LND status using command:
lncli getinfo
It will give basic json information like this: ``` { "version": "0.15.5-beta.rc1 commit=v0.15.5-beta.rc1", "commit_hash": "", "identity_pubkey": "your pubkey", "alias": "nodealias", "color": "", "num_pending_channels": 0, "num_active_channels": 0, "num_inactive_channels": 0, "num_peers": 3, "block_height": 781371, "block_hash": "00000000000000000002d8610c6ec71be4e42386193327b7ce1adfb47f6d12f0", "best_header_timestamp": "1679151331", "synced_to_chain": true, "synced_to_graph": true, ... }
```
When
synced_to_chain=true
andsynced_to_graph=true
, it means that our node has already synced to "latest block using neutrino data" and synced to "latest LN gossip info" thus it can be used properly.The next step is how to configure Thunderhub software to manage our node easily.
Thunderhub Setup
We will open new 'tab' again on tmux by pressing the combination key
Ctrl+b+c
. It will open new third 'tab' shown by number[2]
belowWe can switch tab easily using combination key
Ctrl+b+2
or any number based on the tab number.We start the installation of nodejs as main dependency via Nodesource repository.
Setup Nodesource repository:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
Install nodejs:
sudo apt-get install -y nodejs
The following commands are based on Thunderhub official guide. We will clone thunderhub github repository and configure it using following commands: ```
make sure we start from home directory
cd $HOME
clone thunderhub repository
git clone https://github.com/apotdevin/thunderhub.git
change active directory to $HOME/thunderhub
cd $HOME/thunderhub ```
We can define some environment variables that ThunderHub can start with. To do this create a
.env.local
file in$HOME/thunderhub
directory using this command:nano -m $HOME/thunderhub/.env.local
and fill the file with the following parameters:
PORT=3000 TOR_PROXY_SERVER=socks://127.0.0.1:9050 ACCOUNT_CONFIG_PATH='/root/thunderhub/thubConfig.yaml'
To exit nano, press
Ctrl+x
and typey
to save.We will create
thubConfig.yaml
file based on previous.env.local
file using command:nano -m $HOME/thunderhub/thubConfig.yaml
with the following parameters: ``` masterPassword: '123456789' # Default password unless defined in account, change it to secure password defaultNetwork: 'mainnet' # Default network unless defined in account accounts: - name: 'Account1' serverUrl: 'localhost:10009' #LND RPC server # network: Leave without network and it will use the default network lndDir: '/root/.lnd'
```
To exit nano, press
Ctrl+x
and typey
to save.After completing the configuration file, we will install all the necessary modules:
npm install
and build the app using the following command:
npm run build
It will take several minutes (5-10 minutes) to build the app. After succesfully building the app we can run it using the command:
npm start
If there are no error like shown in the image above, then we can access thunderhub using web browser on http://localhost:3000
After we login into Thunderhub, we need to fund our on-chain wallet before creating lightning channel. We can generate on-chain address in the "Home page" > Click on "Receive" with "Anchor icon" > Click on "Create Address"
After the fund in our on-chain wallet has been confirmed then we can start to open lightning channel. We can open channel by using the button in the "Home page" > Quick Action > Click on "Open" > Click on "Manual Open" and we can fill the node target and other fields.
Click on "New peer", paste or fill node target info (we can search it on amboss.space), fill channel size amount, and make sure we choose "Private" as our channel type settings. We run our lightning node only for our private use and not dedicated as public routing node. You can check this article about Private Lightning Node by DarthCoin for extra explanation.
We need to fill all of the required fields before we can start open the channel. We need to wait at least 3 block confirmation channel before using it. The channel can be seen on http://localhost:3000/channels.
The first time we open new channel, we won't be able to receive any sats because our new channel has no receiving capacity. We need to spend the balances (Example: Spend 50% of the balance or more) first by sending lightning transaction to another lightning wallet or using swap services like https://boltz.exchange.
After we spend some amounts, our channel state will become like this image below where remote funds amount increasing while local funds amount decreasing. It means that we are almost ready to receive lightning tip or zap.
Another important thing to note while using Thunderhub is we can easily backup our Channel using Static Channel Backup. Please always backup your channel using Static Channel Backup. This backup will be useful to recover funds if there are any problem in the future. We can Backup our channel in Tools menu of Thunderhub http://localhost:3000/tools.
The next step is how to configure Zeus. Before opening Zeus App, we need to copy admin.macaroon value in HEX format. Back to Termux, we can switch the window tab to second tab,
Ctrl+b+1
, or any idle tab.Run this command and we will copy the result to Zeus later.
```
Get Admin Macaroon in HEX format
xxd -ps -u -c 1000 $HOME/.lnd/data/chain/bitcoin/mainnet/admin.macaroon ``` We can select and copy the result by touching the screen and drag around the cursor on termux screen.
Zeus Setup
Zeus setup is quite simple. We need to open Zeus and paste the HEX value of admin.macaroon to Zeus New Node Configuration
Zeus will connect to our local node and show the balance properly. We can use Zeus as the main interface for our lightning wallet.
Cloudflared Setup
We will open new 'tab' again on tmux by pressing the combination key
Ctrl+b+c
. It will open new fourth 'tab' shown by number[3]
belowWe can switch tab easily using combination key
Ctrl+b+3
or any number based on the tab number.Cloudflared tunnel will be used to get a free domain (random domain) so we can access our lightning address from the internet.
We will download latest cloudflared tunnel arm64 version: ```
make sure we start from home directory
cd $HOME
download latest cloudflared
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64
set linux permission to make it executable
chmod +x $HOME/cloudflared-linux-arm64
rename cloudflared program
mv $HOME/cloudflared-linux-arm64 $HOME/cloudflared ```
We will run cloudflared tunnel and get a domain for port 17422 (Satdress Port) using this command:
$HOME/cloudflared tunnel --url http://localhost:17422 --logfile $HOME/cloudflared.log
or if you want to run it behind the tor proxy:
torsocks $HOME/cloudflared tunnel --url http://localhost:17422 --logfile $HOME/cloudflared.log
We can copy those domain (example: https://some-random-words-here.trycloudflare.com) into satdress configuration later in the next step. The domain won't change into new domain as long as we don't stop the command or kill Termux app.
If we want to stop the command then we can press combination key of
Ctrl+C
. But, this is not recommended. The domain will not change as long as we don't stop current command or kill Termux app.Satdress Fork Setup
We will open new 'tab' again on tmux by pressing the combination key
Ctrl+b+c
. It will open new fifth 'tab' shown by number[4]
like the previous example. We can switch tab easily using combination keyCtrl+b+4
or any number based on the tab number.We will clone satdress fork github repository and configure it using following commands: ```
make sure we start from home directory
cd $HOME
clone satdress fork repository
git clone https://github.com/believethehype/satdress
change active directory to $HOME/satdress
cd $HOME/satdress
install dependencies
go install ```
As of document revision in 27 March 2023, we don't need to edit makeinvoice.go anymore. We only need to set .env variable to support private channel.
Now, we will compile and build satdress binary using this command:
go build
After building satdress binary, we will create
.env
file using nano in$HOME/satdress
directory:nano -m $HOME/satdress/.env
Fill
.env
file with this configuration:LND_PRIVATE_ONLY=true GLOBAL_USERS=true PORT=17422 SECRET=123456789 NIP05=true FORWARD_URL="" SITE_OWNER_URL=https://nostrplebs.com/s/lurkingcat SITE_OWNER_NAME=lurkingcat SITE_NAME=lurkingcat NOSTR_PRIVATE_KEY=nsec1zapaccountnostrprivatekey DOMAIN=YOURCLOUDFLAREDDOMAIN.trycloudflare.com
You can check Satdress Fork github for parameter explanation. Make sure to replace or adjust the parameter based on your condition, especially SECRET which will be used to encrypt satdress database, NOSTR_PRIVATE_KEY which will be used to report the zap event received by our LN node, and DOMAIN with the domain that we got from cloudflared tunnel setup before.
To exit nano, press
Ctrl+x
and typey
to save.It is recommended and will be more secure to make a dedicated account to handle zap event (For Example: I made @Zap Report account dedicated only for sending zap event) rather than using my main Nostr account.
Now, we can start satdress using this command: ```
Load .env variable automaticly and run satdress
$HOME/satdress/satdress ```
We can access satdress homepage via web browser using domain from cloudflared (Example: https://my-random-domain.trycloudflare.com).
You can fill all the fields like example image below.
We can get Invoice Macaroon HEX value by using this command in one of tmux tab: ```
Generate and get new invoice macaroon
lncli bakemacaroon invoices:read invoices:write ```
We can touch Termux screen and copy the invoice macaroon
The last thing is you can put your Nostr public key (npub) in the last field. After that we can press "Submit" and our final setup has been done.
We can copy the lightning address that we have set before to our Nostr profile settings.
(Amethyst Profile Settings Example)We have done all the setup required so we can receive non custodial zap and setup a self-hosted NIP-05 directly in our mobile phone. The next time we want to run all those tools that we have already set then we can skip this Installation section and directly go to Running Apps section.
Running Apps
If you have already completed Installation steps before and still running or don't stop/kill Termux, LND, Thunderhub, Cloudflared, and Satdress then you can skip this section into the next section.
This section will be useful in case of we restart or shutdown our mobile phone or if we have accidentally killed Termux, LND, Thunderhub, Cloudflared, and Satdress. We only need to run them as we don't have to configure them a lot anymore.
This section is only serving as reminder steps to run all the software that we have configured before in Installation steps.
Running Termux
First, we need to open Termux app in our android mobile phone. It will open a new blank terminal session on the first time.
We will login into proot environment: ```
login as root to chroot environment and bind $HOME directory as /termux_home for easy access
proot-distro login ubuntu-nostr --user root --bind $HOME:/termux_home ```
We will use tmux in the next following steps. Tmux will be used because we can have multiple terminal window in one terminal session. It's like having multiple 'tabs' in web browser.
To start tmux for the first time, we can type the command:
tmux
To detach or 'minimize' current tmux session, we can press the combination of key:
Ctrl+b+d
If we want to open or resume those last detached tmux session again, we can type the command:
tmux a
If you need extra guidance about tmux then you can check this Tmux Cheatsheet.
Running LND
We need to disable LND service created by Termux to prevent conflict of using multiple LND: ```
disable lnd service in termux
sv-disable lnd ```
Back to main topic, in the current tmux session, we can start lnd using this command:
lnd
LND will start downloading Neutrino headers block data.
While LND starting to download Neutrino data, we can open new 'tab' simultaneously on tmux by pressing the combination key of
Ctrl+b+c
. It will open new second 'tab' shown by number[1]
belowWe can switch tab easily using combination key
Ctrl+b+0
orCtrl+b+1
or any number based on the tab number.In this second tab, we will unlock wallet for LND using command:
lncli unlock
and put our wallet password to fully unlocked it.
Optionally, after unlocking the wallet we can also check LND status using command:
lncli getinfo
It will give basic json information like this: ``` { "version": "0.15.5-beta.rc1 commit=v0.15.5-beta.rc1", "commit_hash": "", "identity_pubkey": "your pubkey", "alias": "nodealias", "color": "", "num_pending_channels": 0, "num_active_channels": 0, "num_inactive_channels": 0, "num_peers": 3, "block_height": 781371, "block_hash": "00000000000000000002d8610c6ec71be4e42386193327b7ce1adfb47f6d12f0", "best_header_timestamp": "1679151331", "synced_to_chain": true, "synced_to_graph": true, ... }
```
When
synced_to_chain=true
andsynced_to_graph=true
, it means that our node has already synced to "latest block using neutrino data" and synced to "latest LN gossip info" thus it can be used properly.Running Thunderhub
We will open new 'tab' again on tmux by pressing the combination key
Ctrl+b+c
. It will open new third 'tab' shown by number[2]
belowWe can switch tab easily using combination key
Ctrl+b+2
or any number based on the tab number.We can run Thunderhub using the command: ```
change active directory to $HOME/thunderhub
cd $HOME/thunderhub
start thunderhub using npm
npm start ```
If there are no error like shown in the image above, then we can access thunderhub using web browser on http://localhost:3000
Running Cloudflared
We will open new 'tab' again on tmux by pressing the combination key
Ctrl+b+c
. It will open new fourth 'tab' shown by number[3]
belowWe can switch tab easily using combination key
Ctrl+b+3
or any number based on the tab number.Cloudflared tunnel will be used to get a free domain (random domain) so we can access our lightning address from the internet.
We will run cloudflared tunnel and get a domain for port 17422 (Satdress Port) using this command:
$HOME/cloudflared tunnel --url http://localhost:17422 --logfile $HOME/cloudflared.log
or if you want to run it behind the tor proxy:
torsocks $HOME/cloudflared tunnel --url http://localhost:17422 --logfile $HOME/cloudflared.log
We can copy those domain (example: https://some-random-words-here.trycloudflare.com) into satdress configuration later in the next step. The domain won't change into new domain as long as we don't stop the command or kill Termux app.
If we want to stop the command then we can press combination key of
Ctrl+C
. But, this is not recommended. The domain will not change as long as we don't stop current command or kill Termux app.Running Satdress Fork
We will open new 'tab' again on tmux by pressing the combination key
Ctrl+b+c
. It will open new fifth 'tab' shown by number[4]
like the previous example. We can switch tab easily using combination keyCtrl+b+4
or any number based on the tab number.We will edit
.env
file using nano in$HOME/satdress
directory:nano -m $HOME/satdress/.env
Make sure to replace or adjust the parameter based on your condition, especially DOMAIN with the new domain that we got from running cloudflared tunnel before.Example:
From old domain
DOMAIN="my-old-cloudflared-domain.trycloudflared.com"
into new domain
DOMAIN="my-new-cloudflared-domain.trycloudflared.com"
To exit nano, press
Ctrl+x
and typey
to save.Now, we can start satdress using this command: ```
Load .env variable automatically and run satdress
$HOME/satdress/satdress ```
Now, we need to change the lightning address in our Nostr profile settings especially if our cloudflared domain has been changed.
(Amethyst Profile Settings Example)We have done all the setup required and run all the software required to receive non-custodial zap. This section is simpler than installation steps since we only need to adjust new domain for our lightning address.
Zap Experiment Result
I have done the experiment (in my Main Account and Zap Report account) for receiving non-custodial zap since 16 March 2023 and it has been quite a success and have no problem so far. Running LND and several software for 24/7.
Source: Zap Experiment Notes by lurkingcat
Source: @Zap ReportThere might be some questions related to this experiment:
What about your battery usage if you run it 24/7?
Based on my observation, Termux consume around 20% of battery power while running LND fully 24/7. We can calculate how many hours our battery will last based on the average normal standby time times by 20%. The energy consumed is still in acceptable rate considering that how long the phone will last in normal idle state.
What about your data usage if you run it 24/7?
Based on my observation, Termux consume around 210 MB a day with 8-9 MB average data every hour. The data usage mostly comes from LND which regularly sync Gossip Network data and Neutrino block data. This is the fair minimum of data usage by LND.
Based on this experiment, i can say that running our own LN node and configure it for receiving non-custodial zap is feasible even with limited devices such as our mobile phone since we only run it as a private lightning node instead of a public routing node. We don't have many burden complexity to manage and rebalance the channel like what public routing node operator have done. The problems will arise if we announce our channel as public channel instead of private channel like we have done in this tutorial.
Afterwords
Congratulation, you have finished this tutorial. Now, you have become a sovereign individual who manage their own bank.
Source: TheQuotesAll credits to FOSS devs who have contributed on development of Termux, LND, Zeus, Thunderhub, Satdress Fork, and Cloudflared. Please support them in any ways.
Let me know via Nostr if you encounter any problems. Any feedback will be appreciated to improve this tutorial. Thank you.
If you found this tutorial were useful, feel free to send some sats ⚡ to lurkingcat@pushing-talk-belief-singles.trycloudflare.com or lurkingcat@stacker.news, it will be greatly appreciated.
This tutorial has been written using Markor - Markdown Editor.
-
@ 7fa56f5d:751ac194
2023-03-23 09:59:37Habla now supports NIP-36 Sensitive Content. When writing posts you'll be allowed to mark it as sensitive providing an optional reason.
-
@ 46fcbe30:6bd8ce4d
2023-03-22 20:40:40I want to run a relay financed by a tiny percentage of its users and strongly believe in the following being a way to align incentives for all clients and relay operators:
For this bounty, the minimum requirement for the resulting relay is:
- relay is as efficient or better than strfry at supported nips, synchronization between instances and handling concurrent connections
- nip42 support
- all read and write operations are metered per connected pubkey: milliseconds spent on queries, query count, events sent, event kBs sent, etc. (If Alice pushes Bob's events, it gets tallied to her pubkey - the one authenticated via nip42)
- allow managing group of primary (TIER 0 or T0) users via API
- secondary users are those followed by T0 users etc.
- define limits depending on follows distance to primary users, using five tiers: 0 = primary users, 1 = follows, 2 = follows of follows, 3 = follows of follows of follows, inf = all the other pubkeys
- allow configuring hourly, daily and monthly limits per tier and metered aspect.
This bounty was created with the goal of actually running a relay with this feature and will not be awarded for a proof of concept that is not a fully functional and performant relay. Strfry is "good enough". If you want to implement the proposed feature in a different relay, please reach out to discuss first.
This bounty was offered in other places before:
-
@ 57c9dd57:66819c9d
2023-03-14 18:28:28 -
@ 45c41f21:c5446b7a
2023-03-10 01:52:45Flycat now supports uploading images when you write markdown long post. Since the nostr.build limits the free file size to 1mb max, the editor will auto compress for you if you image is larger than the limit.
hopes you like it.
-
@ 460c25e6:ef85065c
2023-03-02 19:11:54First change to text
Demo
Emphasis, aka italics, with asterisks or underscores. Strong emphasis, aka bold, with asterisks or underscores. Combined emphasis with asterisks and underscores. Links with two blocks, text in square-brackets, destination is in parentheses.. Inline
code
hasback-ticks around
it.Ordered lists:
- First ordered list item
- Another item
- Unordered sub-list.
- And another item. You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).
Regular lists:
- Unordered list can use asterisks
- Or minuses
- Or pluses
Code
javascript var s = "code blocks use monospace font"; alert(s);
Here's a Table:
Markdown | Table | Extension --- | --- | --- renders |
beautiful images
|1 | 2 | 3
And Blockquotes
Blockquotes are very handy in email to emulate reply text. This line is part of the same quote.
-
@ 45c41f21:c5446b7a
2023-03-02 11:37:17tonight I just release the very first rough version of fly-castle, it is a very simple desktop app to provide a GUI for your own private backup relay written in Rust. the core relay implementation is forked from scsibug/nostr-rs-relay, I might touch the code there to experiment some ideas later.
Currently, I only build for macOS since that's the only OS on my laptop, but maybe I will find a windows computer to build windows one.
Here is how I would love to use it:
macOS
- download the software from here
- unzip it, you will get a file named
fly-castle
- create a folder named
my-relay
and putfly-castle
into the folder - Start the relay by running the following command on your terminal:
sh cd my-relay sudo chmod 755 fly-castle ./fly-castle
-
Open flycat website, click the private backup menu on the left side of the page. add the ws://localhost:8080 to your relay via the right side of the new page.
-
if you want to stop running your little relay, just close the window of fly-castle, it is that simple.
-
@ d0debf9f:ea4b466c
2023-03-01 19:10:19Why wireguard?
If you are already sold on why you need this, skip to the next section.
A motivational story
The year is 2025. You're at the small coffeshop you found on btcmap and want to pay for your morning double expresso.
A LN invoice flashes before your sleepy eyes, you pull out your phone and try to open your Zeus wallet connected to your sovereign self-custodial LN node running in your basement.
You wait for Zeus to load. And you wait. And you wait. And you wait some more. The barista gets impatient, there is a line of NPCs behind you rushing to get to their fiat mines.
Finally you curse, pay with your slave VISA CBDC card and uninstall Zeus as you walk out.
The Issue
You used Tor to connect to your node. Tor was being DDOSed by some state-level actors.
You're using Tor because either it was the easiest thing to setup, or it was just the default in your node distribution.
Have you stopped to wonder if it really makes sense to use an anonymity network designed to be censorship resistant just to connect to your own home server?
You obviously don't want to expose your node to the public internet (which would expose what you are using as well as make you vulnerable to attacks).
The Solution
The best solution (as far as I'm aware of) is to connect to your home node using an encrypted VPN point-to-point tunnel using something called WireGuard.
The only information you leak to potential traffic sniffers is encrypted UDP packets (which are already hard to sniff) to your home IP address, which is pretty harmless information.
The (not ideal) Alternative
Many people find Wireguard hard to setup on its own (don't worry, that is why I wrote this guide) and prefer a more seamless corporate solution based on Wireguard called Tailscale.
Tailscale has 2 major drawbacks:
- It's an additional third party that knows every encrypted packet you send over it as well as all your public IPs.
- It's permissioned and requires setting up an account, not very sovereign
Setup
Requirements
- Access to your home router admin page: if your node is behind a NAT (usually that is the case when it's behind a home router), you're going to need to forward a port to your node LAN IP. If you don't know how to do this, you can try to follow the guide for your router model at portforward.com.
- Either a fixed home public IP address, or a domain name that points to your dynamic home IP address. Even if you don't have this, you can still follow the guide and manually update your home IP in the configuration file.
- Shell root access in your node.
Node setup
Gather network information
Find your node's LAN IP address:
bash $ ip -human --brief address show lo UNKNOWN 127.0.0.1/8 ::1/128 eth0 UP 192.168.1.2/24 metric 1024
In this case, the your node's LAN IP is
192.168.1.2
.Find your home public IP address:
bash $ curl ipecho.net/plain
### Install wireguard tools
The wireguard module is actually built into any modern linux kernel by default, what we actually need to install is the tooling to generate valid wireguard cryptographic keys.
For debian/ubuntu based distros:
bash $ sudo apt install wireguard
For other distros, check wireguard.com/install.Generate keys
You manually need to generate 1 keypair for each device (called peer) that will use your wireguard VPN (including your home node).
To generate a keypair for your node (let's call it
node
):bash $ wg genkey | (umask 0077 && tee node.key) | wg pubkey > node.pub
This will create 2 files:
node.key
andnode.pub
containing your private and public keys, respectively. Keep these files safe and after being done configuring wireguard you can even delete them.Create extra keypairs for your other devices, e.g.: * Your phone:
bash $ wg genkey | (umask 0077 && tee phone.key) | wg pubkey > phone.pub
* Your laptop:bash $ wg genkey | (umask 0077 && tee laptop.key) | wg pubkey > laptop.pub
Create as many as you wish.Configure the tunnel
Using a text editor create and edit the file
/etc/wireguard/mytunnelname.conf
with the content:``` [Interface] Address = 10.0.0.1/24 ListenPort = 50000 PrivateKey =
[Peer] PublicKey =
AllowedIPs = 10.0.0.2/32 [Peer] PublicKey =
AllowedIPs = 10.0.0.3/32 ``` Subsitute
*_KEY
with the relevant keys found in the files you generated earlier (which you can see the contents usingcat node.key
for instance).Generate configurations for the other peers
For your phone/laptop, create a files (can be anywhere, does not matter) with the contents: *
phone.conf
``` [Interface] Address = 10.0.0.2/24 PrivateKey =[Peer] PublicKey =
AllowedIPs = 10.0.0.1/32 Endpoint = :50000 ``` laptop.conf
:
``` [Interface] Address = 10.0.0.3/24 PrivateKey =
[Peer] PublicKey =
AllowedIPs = 10.0.0.1/32 Endpoint = :50000 ``` Now you need to either transfer these files to their respective devices (how you do it is your business) or generate an easy to use QR code to use to configure your phone.
Optional: generate QR code for the phone configuration
Install
qrencode
bash sudo apt install qrencode
Print the QR code on your terminal:
bash $ qrencode -r phone.conf -t ansiutf8
Or save it (and transfer) as png image:
bash $ qrencode -r phone.conf -o phone.png
Run wireguard the wireguard tunnel
bash $ sudo systemctl enable --now wg-quick@mytunnelname.service
Now when you do
ip -human --brief address show
you should see an extra interface:lo UNKNOWN 127.0.0.1/8 ::1/128 eth0 UP 192.168.1.2/24 metric 1024 mytunnelname UNKNOWN 10.0.0.1/24
Open UDP wireguard port
If your node has a firewall, we need to open our chosen UDP port (50000).
If using
ufw
:bash $ sudo ufw allow 50000/udp
if just using iptables:
bash $ sudo iptables -A UDP -p udp -m udp --dport 50000 -j ACCEPT
Home router setup
Forward port 50000 UDP to your node's LAN IP. If you don't know how to do this, you can try to follow the guide for your router model at portforward.com.
Phone setup
1- Install the wireguard app, you can find links in wireguard.com/install.
2 - Open the app 3 - Click on the
+
button 4 - Choose if you want to import thephone.conf
configuration file, the your generated QR or input everything manually. 5 - Activate the tunnel by tapping the switchYou should have a working tunnel between your node and your phone. You can try pinging your phone wireguard IP (
10.0.0.2
) from your node's terminal (ping 10.0.0.2
) to check that it is working.Now on every app you connect to your node (e.g. Zeus), instead of using the onion address, you can just use your node's wireguard IP (
10.0.0.1
).Laptop setup
If it's a linux laptop: place (and rename)
laptop.conf
to/etc/wireguard/mytunnelname.conf
and do:bash $ sudo systemctl enable --now wg-quick@mytunnelname.service
Ping your node wireguard IP
ping 10.0.0.1
to make sure it's working.Now you can use that IP instead of the onion address to connect to your node (e.g. in Sparrow).
Help
If you have questions feel free to contact me (NIP-05: sommerfeld@strisemarx.com).
-
@ 45c41f21:c5446b7a
2023-03-01 06:45:45Markdown syntax guide
Headers
This is a Heading h1
This is a Heading h2
This is a Heading h6
Emphasis
This text will be italic
This will also be italicThis text will be bold
This will also be boldYou can combine them
Lists
Unordered
- Item 1
- Item 2
- Item 2a
- Item 2b
Ordered
- Item 1
- Item 2
- Item 3
- Item 3a
- Item 3b
Images
Links
You may be using Markdown Live Preview.
Blockquotes
Markdown is a lightweight markup language with plain-text-formatting syntax, created in 2004 by John Gruber with Aaron Swartz.
Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.
Tables
| Left columns | Right columns | | ------------- |:-------------:| | left foo | right foo | | left bar | right bar | | left baz | right baz |
Blocks of code
let message = 'Hello world'; alert(message);
Inline code
This web site is using
markedjs/marked
. -
@ 45c41f21:c5446b7a
2023-03-01 06:41:49互联网上的贸易,几乎都需要借助金融机构作为可资信赖的第三方来处理电子支付信息。虽然这类系统在绝大多数情况下都运作良好,但是这类系统仍然内生性地受制于“基于信用的模式”(trust based model)的弱点。我们无法实现完全不可逆的交易,因为金融机构总是不可避免地会出面协调争端。而金融中介的存在,也会增加交易的成本,并且限制了实际可行的最小交易规模,也限制了日常的小额支付交易。并且潜在的损失还在于,很多商品和服务本身是无法退货的,如果缺乏不可逆的支付手段,互联网的贸易就大大受限。因为有潜在的退款的可能,就需要交易双方拥有信任。而商家也必须提防自己的客户,因此会向客户索取完全不必要的个人信息。而实际的商业行为中,一定比例的欺诈性客户也被认为是不可避免的,相关损失视作销售费用处理。而在使用物理现金的情况下,这些销售费用和支付问题上的不确定性却是可以避免的,因为此时没有第三方信用中介的存在。
所以,我们非常需要这样一种电子支付系统,它基于密码学原理而不基于信用,使得任何达成一致的双方,能够直接进行支付,从而不需要第三方中介的参与。杜绝回滚(reverse)支付交易的可能,这就可以保护特定的卖家免于欺诈;而对于想要保护买家的人来说,在此环境下设立通常的第三方担保机制也可谓轻松加愉快。在这篇论文中,我们(we)将提出一种通过点对点分布式的时间戳服务器来生成依照时间前后排列并加以记录的电子交易证明,从而解决双重支付问题。只要诚实的节点所控制的计算能力的总和,大于有合作关系的(cooperating)攻击者的计算能力的总和,该系统就是安全的。2. 交易(Transactions)
我们定义,一枚电子货币(an electronic coin)是这样的一串数字签名:每一位所有者通过对前一次交易和下一位拥有者的公钥(Public key) 签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行检验,就能够验证该链条的所有者。
该过程的问题在于,收款人将难以检验,之前的某位所有者,是否对这枚电子货币进行了双重支付。通常的解决方案,就是引入信得过的第三方权威,或者类似于造币厂(mint)的机构,来对每一笔交易进行检验,以防止双重支付。在每一笔交易结束后,这枚电子货币就要被造币厂回收,而造币厂将发行一枚新的电子货币;而只有造币厂直接发行的电子货币,才算作有效,这样就能够防止双重支付。可是该解决方案的问题在于,整个货币系统的命运完全依赖于运作造币厂的公司,因为每一笔交易都要经过该造币厂的确认,而该造币厂就好比是一家银行。 我们需要收款人有某种方法,能够确保之前的所有者没有对更早发生的交易实施签名。从逻辑上看,为了达到目的,实际上我们需要关注的只是于本交易之前发生的交易,而不需要关注这笔交易发生之后是否会有双重支付的尝试。为了确保某一次交易是不存在的,那么唯一的方法就是获悉之前发生过的所有交易。在造币厂模型里面,造币厂获悉所有的交易,并且决定了交易完成的先后顺序。如果想要在电子系统中排除第三方中介机构,那么交易信息就应当被公开宣布(publicly announced)[1] ,我们需要整个系统内的所有参与者,都有唯一公认的历史交易序列。收款人需要确保在交易期间绝大多数的节点都认同该交易是首次出现。
3. 时间戳服务器(Timestamp server)
本解决方案首先提出一个“时间戳服务器”。时间戳服务器通过对
以区块(block)形式存在的一组数据
实施随机散列而加上时间戳,并将该随机散列进行广播,就像在新闻或世界性新闻组网络(Usenet)的发帖一样[2][3][4][5] 。显然,该时间戳能够证实特定数据必然于某特定时间是的确存在的,因为只有在该时刻存在了才能获取相应的随机散列值。每个时间戳应当将前一个时间戳纳入其随机散列值中,每一个随后的时间戳都对之前的一个时间戳进行增强(reinforcing),这样就形成了一个链条(Chain)。4. 工作量证明(Proof-of-Work)
为了在点对点的基础上构建一组分散化的时间戳服务器,仅仅像报纸或世界性新闻网络组一样工作是不够的,我们还需要一个类似于亚当•柏克(Adam Back)提出的哈希现金(Hashcash)[6] 。在进行随机散列运算时,工作量证明机制引入了对某一个特定值的扫描工作,比方说SHA-256下,随机散列值以一个或多个0开始。那么随着0的数目的上升, 找到这个解所需要的工作量将呈指数增长,而对结果进行检验则仅需要一次随机散列运算。
我们在区块中补增一个随机数(Nonce),这个随机数要使得该给定区块的随机散列值出现了所需的那么多个0。我们通过反复尝试来找到这个随机数,直到找到为止,这样我们就构建了一个工作量证明机制。只要该CPU耗费的工作量能够满足该工作量证明机制,那么除非重新完成相当的工作量,该区块的信息就不可更改。由于之后的区块是链接在该区块之后的,所以想要更改该区块中的信息,就还需要重新完成之后所有区块的全部工作量。
同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将在后文证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。
另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。5. 网络
运行该网络的步骤如下:
1) 新的交易向全网进行广播; 2) 每一个节点都将收到的交易信息纳入一个区块中; 3) 每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明; 4) 当一个节点找到了一个工作量证明,它就向全网进行广播; 5) 当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性; 6) 其他节点表示他们接受该区块,而表示接受的方法,则是在跟随该区块的末尾,制造新的区块以延长该链条,而将被接受区块的随机散列值视为先于新区快的随机散列值。
节点始终都将最长的链条视为正确的链条,并持续工作和延长它。如果有两个节点同时广播不同版本的新区块,那么其他节点在接收到该区块的时间上将存在先后差别。当此情形,他们将在率先收到的区块基础上进行工作,但也会保留另外一个链条,以防后者变成最长的链条。该僵局(tie)的打破要等到下一个工作量证明被发现,而其中的一条链条被证实为是较长的一条,那么在另一条分支链条上工作的节点将转换阵营,开始在较长的链条上工作。
所谓“新的交易要广播”,实际上不需要抵达全部的节点。只要交易信息能够抵达足够多的节点,那么他们将很快被整合进一个区块中。而区块的广播对被丢弃的信息是具有容错能力的。如果一个节点没有收到某特定区块,那么该节点将会发现自己缺失了某个区块,也就可以提出自己下载该区块的请求。6. 激励
我们约定如此:每个区块的第一笔交易进行特殊化处理,该交易产生一枚由该区块创造者拥有的新的电子货币。这样就增加了节点支持该网络的激励,并在没有中央集权机构发行货币的情况下,提供了一种将电子货币分配到流通领域的一种方法。这种将一定数量新货币持续增添到货币系统中的方法,非常类似于耗费资源去挖掘金矿并将黄金注入到流通领域。此时,CPU的时间和电力消耗就是消耗的资源。
另外一个激励的来源则是交易费(transaction fees)。如果某笔交易的输出值小于输入值,那么差额就是交易费,该交易费将被增加到该区块的激励中。 只要既定数量的电子货币已经进入流通,那么激励机制就可以逐渐转换为完全依靠交易费,那么本货币系统就能够免于通货膨胀。
激励系统也有助于鼓励节点保持诚实。如果有一个贪婪的攻击者能够调集比所有诚实节点加起来还要多的CPU计算力,那么他就面临一个选择:要么将其用于诚实工作产生新的电子货币,或者将其用于进行二次支付攻击。那么他就会发现,按照规则行事、诚实工作是更有利可图的。因为该等规则使得他能够拥有更多的电子货币,而不是破坏这个系统使得其自身财富的有效性受损。7. 回收硬盘空间
如果最近的交易已经被纳入了足够多的区块之中,那么就可以丢弃该交易之前的数据,以回收硬盘空间。为了同时确保不损害区块的随机散列值,交易信息被随机散列时,被构建成一种Merkle树(Merkle tree)[7] 的形态,使得只有根(root)被纳入了区块的随机散列值。通过将该树(tree)的分支拔除(stubbing)的方法,老区块就能被压缩。而内部的随机散列值是不必保存的。
不含交易信息的区块头(Block header)大小仅有80字节。如果我们设定区块生成的速率为每10分钟一个,那么每一年产生的数据位4.2MB。(80 bytes * 6 * 24 * 365 = 4.2MB)。2008年,PC系统通常的内存容量为2GB,按照摩尔定律的预言,即使将全部的区块头存储于内存之中都不是问题。
8. 简化的支付确认(Simplified Payment Verification)
在不运行完整网络节点的情况下,也能够对支付进行检验。一个用户需要保留最长的工作量证明链条的区块头的拷贝,它可以不断向网络发起询问,直到它确信自己拥有最长的链条,并能够通过merkle的分支通向它被加上时间戳并纳入区块的那次交易。节点想要自行检验该交易的有效性原本是不可能的,但通过追溯到链条的某个位置,它就能看到某个节点曾经接受过它,并且于其后追加的区块也进一步证明全网曾经接受了它。
当此情形,只要诚实的节点控制了网络,检验机制就是可靠的。但是,当全网被一个计算力占优的攻击者攻击时,将变得较为脆弱。因为网络节点能够自行确认交易的有效性,只要攻击者能够持续地保持计算力优势,简化的机制会被攻击者焊接的(fabricated)交易欺骗。那么一个可行的策略就是,只要他们发现了一个无效的区块,就立刻发出警报,收到警报的用户将立刻开始下载被警告有问题的区块或交易的完整信息,以便对信息的不一致进行判定。对于日常会发生大量收付的商业机构,可能仍会希望运行他们自己的完整节点,以保持较大的独立完全性和检验的快速性。
9. 价值的组合与分割(Combining and Splitting Value)
虽然可以单个单个地对电子货币进行处理,但是对于每一枚电子货币单独发起一次交易将是一种笨拙的办法。为了使得价值易于组合与分割,交易被设计为可以纳入多个输入和输出。一般而言是某次价值较大的前次交易构成的单一输入,或者由某几个价值较小的前次交易共同构成的并行输入,但是输出最多只有两个:一个用于支付,另一个用于找零(如有)。
需要指出的是,当一笔交易依赖于之前的多笔交易时,这些交易又各自依赖于多笔交易,但这并不存在任何问题。因为这个工作机制并不需要展开检验之前发生的所有交易历史。10. 隐私(Privacy)
传统的造币厂模型为交易的参与者提供了一定程度的隐私保护,因为试图向可信任的第三方索取交易信息是严格受限的。但是如果将交易信息向全网进行广播,就意味着这样的方法失效了。但是隐私依然可以得到保护:将公钥保持为匿名。公众得知的信息仅仅是有某个人将一定数量的货币发所给了另外一个人,但是难以将该交易同特定的人联系在一起,也就是说,公众难以确信,这些人究竟是谁。这同股票交易所发布的信息是类似的,股票交易发生的时间、交易量是记录在案且可供查询的,但是交易双方的身份信息却不予透露。
作为额外的预防措施,使用者可以让每次交易都生成一个新的地址,以确保这些交易不被追溯到一个共同的所有者。但是由于并行输入的存在,一定程度上的追溯还是不可避免的,因为并行输入表明这些货币都属于同一个所有者。此时的风险在于,如果某个人的某一个公钥被确认属于他,那么就可以追溯出此人的其它很多交易。11. 计算
设想如下场景:一个攻击者试图比诚实节点产生链条更快地制造替代性区块链。即便它达到了这一目的,但是整个系统也并非就此完全受制于攻击者的独断意志了,比方说凭空创造价值,或者掠夺本不属于攻击者的货币。这是因为节点将不会接受无效的交易,而诚实的节点永远不会接受一个包含了无效信息的区块。一个攻击者能做的,最多是更改他自己的交易信息,并试图拿回他刚刚付给别人的钱。
诚实链条和攻击者链条之间的竞赛,可以用二叉树随机漫步(Binomial Random Walk)来描述。成功事件定义为诚实链条延长了一个区块,使其领先性+1,而失败事件则是攻击者的链条被延长了一个区块,使得差距-1。
攻击者成功填补某一既定差距的可能性,可以近似地看做赌徒破产问题(Gambler’s Ruin problem)。假定一个赌徒拥有无限的透支信用,然后开始进行潜在次数为无穷的赌博,试图填补上自己的亏空。那么我们可以计算他填补上亏空的概率,也就是该攻击者赶上诚实链条,如下所示[8] :假定p>q,那么攻击成功的概率就因为区块数的增长而呈现指数化下降。由于概率是攻击者的敌人,如果他不能幸运且快速地获得成功,那么他获得成功的机会随着时间的流逝就变得愈发渺茫。那么我们考虑一个收款人需要等待多长时间,才能足够确信付款人已经难以更改交易了。我们假设付款人是一个支付攻击者,希望让收款人在一段时间内相信他已经付过款了,然后立即将支付的款项重新支付给自己。虽然收款人届时会发现这一点,但为时已晚。
收款人生成了新的一对密钥组合,然后只预留一个较短的时间将公钥发送给付款人。这将可以防止以下情况:付款人预先准备好一个区块链然后持续地对此区块进行运算,直到运气让他的区块链超越了诚实链条,方才立即执行支付。当此情形,只要交易一旦发出,攻击者就开始秘密地准备一条包含了该交易替代版本的平行链条。
然后收款人将等待交易出现在首个区块中,然后在等到z个区块链接其后。此时,他仍然不能确切知道攻击者已经进展了多少个区块,但是假设诚实区块将耗费平均预期时间以产生一个区块,那么攻击者的潜在进展就是一个泊松分布,分布的期望值为:当此情形,为了计算攻击者追赶上的概率,我们将攻击者取得进展区块数量的泊松分布的概率密度,乘以在该数量下攻击者依然能够追赶上的概率。
化为如下形式,避免对无限数列求和:
写为如下C语言代码:
```c
include
double AttackerSuccessProbability(double q, int z) { double p = 1.0 - q; double lambda = z * (q / p); double sum = 1.0; int i, k; for (k = 0; k <= z; k++) { double poisson = exp(-lambda); for (i = 1; i <= k; i++) poisson *= lambda / i; sum -= poisson * (1 - pow(q / p, z - k)); } return sum; }
```
对其进行运算,我们可以得到如下的概率结果,发现概率对z值呈指数下降。
当q=0.1时 z=0 P=1.0000000 z=1 P=0.2045873 z=2 P=0.0509779 z=3 P=0.0131722 z=4 P=0.0034552 z=5 P=0.0009137 z=6 P=0.0002428 z=7 P=0.0000647 z=8 P=0.0000173 z=9 P=0.0000046 z=10 P=0.0000012
当q=0.3时 z=0 P=1.0000000 z=5 P=0.1773523 z=10 P=0.0416605 z=15 P=0.0101008 z=20 P=0.0024804 z=25 P=0.0006132 z=30 P=0.0001522 z=35 P=0.0000379 z=40 P=0.0000095 z=45 P=0.0000024 z=50 P=0.0000006
求解令P<0.1%的z值:
为使P<0.001,则 q=0.10 z=5 q=0.15 z=8 q=0.20 z=11 q=0.25 z=15 q=0.30 z=24 q=0.35 z=41 q=0.40 z=89 q=0.45 z=340
12.结论
我们在此提出了一种不需要信用中介的电子支付系统。我们首先讨论了通常的电子货币的电子签名原理,虽然这种系统为所有权提供了强有力的控制,但是不足以防止双重支付。为了解决这个问题,我们提出了一种采用工作量证明机制的点对点网络来记录交易的公开信息,只要诚实的节点能够控制绝大多数的CPU计算能力,就能使得攻击者事实上难以改变交易记录。该网络的强健之处在于它结构上的简洁性。节点之间的工作大部分是彼此独立的,只需要很少的协同。每个节点都不需要明确自己的身份,由于交易信息的流动路径并无任何要求,所以只需要尽其最大努力传播即可。节点可以随时离开网络,而想重新加入网络也非常容易,因为只需要补充接收离开期间的工作量证明链条即可。节点通过自己的CPU计算力进行投票,表决他们对有效区块的确认,他们不断延长有效的区块链来表达自己的确认,并拒绝在无效的区块之后延长区块以表示拒绝。本框架包含了一个P2P电子货币系统所需要的全部规则和激励措施。
注释
-
W Dai(戴伟),a scheme for a group of untraceable digital pseudonyms to pay each other with money and to enforce contracts amongst themselves without outside help(一种能够借助电子假名在群体内部相互支付并迫使个体遵守规则且不需要外界协助的电子现金机制), “B-money”, http://www.weidai.com/bmoney.txt, 1998
-
H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal trust requirements,”(在最小化信任的基础上设计一种时间戳服务器) In 20th Symposium on Information Theory in the Benelux, May 1999.
-
S. Haber, W.S. Stornetta, “How to time-stamp a digital document,” (怎样为电子文件添加时间戳)In Journal of Cryptology, vol 3, No.2, pages 99-111, 1991.
-
D. Bayer, S. Haber, W.S. Stornetta, “Improving the efficiency and reliability of digital time-stamping,”(提升电子时间戳的效率和可靠性) In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993.
-
S. Haber, W.S. Stornetta, “Secure names for bit-strings,”(比特字串的安全命名) In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997. on Computer and Communications Security, pages 28-35, April 1997.
-
A. Back, “Hashcash – a denial of service counter-measure,”(哈希现金——拒绝服务式攻击的克制方法)http://www.hashcash.org/papers/hashcash.pdf, 2002.
-
R.C. Merkle, “Protocols for public key cryptosystems,” (公钥密码系统的协议)In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980.
- S. Haber, W.S. Stornetta, “Secure names for bit-strings,”(比特字串安全命名) In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997. on Computer and Communications Security, pages 28-35, April 1997.
-
H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal trust requirements,”(在最小化信任的条件下设计一种时间戳服务器) In 20th Symposium on Information Theory in the Benelux, May 1999.
-
W. Feller, “An introduction to probability theory and its applications,” (概率学理论与应用导论)1957
-
-
@ d7073b15:64f356c4
2023-02-24 21:45:00So habla.news brings long form blog posts, like substack or medium, to nostr.
You can use markdown to format the text.
The editor shows a live preview of the markdown formatted text, which is pretty cool.
You can add a title, image, slug and summary to your blog post.
Tbh I don't know what slug is for. Is it like a keyword or hashtag for your blog post?
-
@ 7fa56f5d:751ac194
2023-02-19 15:15:01This is a long note I'm writing to test out the long form content events in nostr.
With this kind of note you can: - Publish long form articles and edit them - Use markdown syntax on the article content - Allow you to track reactions and comments to the article - Link between articles in a client-agnostic way
Bitcoin is
Will the relays allow to query reactions by
a
tag? -
@ 634bd19e:2247da9b
2023-02-15 08:12:14Global relay: * wss://relay.nostr.wirednet.jp
Japan region only: * wss://relay-jp.nostr.wirednet.jp
-
@ 634bd19e:2247da9b
2023-02-15 08:00:45かけるのこれ? 日本語入力の取り扱いイベントがおかしいw
-
@ 3bf0c63f:aefa459d
2023-02-10 21:47:00How 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, they will think their file is good since it works on that client. When the user sees that other clients are not recognizing their YAML file, they will complain to the other client developers: "Hey, your client is broken, it is not supporting my YAML file!".
The developer of the other client, astonished, replies: "Oh, I am sorry, I didn't know that was part of the nip05 spec!"
The user, thinking it is doing a good thing, replies: "I don't know, but it works on this other client here, see?"
Now the other client adds support. The cycle repeats now with more users making YAML files, more and more clients adding YAML support, for fear of providing a client that is incomplete or provides bad user experience.
The end result of this is that now nip05 extra-officially requires support for both JSON and YAML files. Every client must now check for /.well-known/nostr.yaml too besides just /.well-known/nostr.json, because a user's key could be in either of these. A lot of work was wasted for nothing. And now, going forward, any new clients will require the double of work than before to implement.
-
@ 3bf0c63f:aefa459d
2022-04-24 00:17:00OP_CHECKTEMPLATEVERIFY
and the "covenants" dramaThere are many ideas for "covenants" (I don't think this concept helps in the specific case of examining proposals, but fine). Some people think "we" (it's not obvious who is included in this group) should somehow examine them and come up with the perfect synthesis.
It is not clear what form this magic gathering of ideas will take and who (or which ideas) will be allowed to speak, but suppose it happens and there is intense research and conversations and people (ideas) really enjoy themselves in the process.
What are we left with at the end? Someone has to actually commit the time and put the effort and come up with a concrete proposal to be implemented on Bitcoin, and whatever the result is it will have trade-offs. Some great features will not make into this proposal, others will make in a worsened form, and some will be contemplated very nicely, there will be some extra costs related to maintenance or code complexity that will have to be taken. Someone, a concreate person, will decide upon these things using their own personal preferences and biases, and many people will not be pleased with their choices.
That has already happened. Jeremy Rubin has already conjured all the covenant ideas in a magic gathering that lasted more than 3 years and came up with a synthesis that has the best trade-offs he could find. CTV is the result of that operation.
The fate of CTV in the popular opinion illustrated by the thoughtless responses it has evoked such as "can we do better?" and "we need more review and research and more consideration of other ideas for covenants" is a preview of what would probably happen if these suggestions were followed again and someone spent the next 3 years again considering ideas, talking to other researchers and came up with a new synthesis. Again, that person would be faced with "can we do better?" responses from people that were not happy enough with the choices.
And unless some famous Bitcoin Core or retired Bitcoin Core developers were personally attracted by this synthesis then they would take some time to review and give their blessing to this new synthesis.
To summarize the argument of this article, the actual question in the current CTV drama is that there exists hidden criteria for proposals to be accepted by the general community into Bitcoin, and no one has these criteria clear in their minds. It is not as simple not as straightforward as "do research" nor it is as humanly impossible as "get consensus", it has a much bigger social element into it, but I also do not know what is the exact form of these hidden criteria.
This is said not to blame anyone -- except the ignorant people who are not aware of the existence of these things and just keep repeating completely false and unhelpful advice for Jeremy Rubin and are not self-conscious enough to ever realize what they're doing.
-
@ 3bf0c63f:aefa459d
2022-02-13 15:50:00Bitcoin is not inherently volatile
A response to https://gist.github.com/fernandonm/81cb21bdce0910055de32b98ee4119e1
This piece from Fernando Nieto claims that any asset that is expected to constantly appreciate in value -- as Bitcoin is expected to, as its supply is strictly fixed, the other option is for Bitcoin to die, but we're not considering that hypothesis -- will necessarily be very volatile.
It is not clear what "volatile" means, but we'll assume it means the market value of this asset will vary against the market value of all the other things strongly and annoyingly enough to make it useless as a unit of account. We can't just consider "the price of Bitcoin against the Dollar", it must be against "everything", otherwise we could just assume the volatily was happening on the Dollar side, not on the Bitcoin side.
The value of an asset can only grow due to uncertain future returns becoming increasingly certain as time passes. Any future value expectation is priced in from the very moment it becomes certain. Hence, the same uncertainty inherent to investiments expected to provide a return -- e.g. an increase in the value of each bitcoin -- makes them inherently volatile.
This is the claim, and also considered an explanation as it says "the article could end here", but the explanation is missing one piece, which is given many paragraphs below:
Even if sometimes you may appreciate a return exceeding the cost of volatily risk, returns are always offset at the margin by the costs of holding the asset. If any asset offered a risk adjusted return opportunity clearly more attractive than the rest, that would be immediately arbitraged away (...)
The essence of the argument is that there cannot be an asset that increases in value without risk, otherwise that value increase would be arbitraged away. In other words, if Bitcoin is to increase in value constantly and predictably accross the years, then its price should be arbitraged away in a manner ~~~
(This was never finished and I don't remember what I was going to say.)
-
@ 3bf0c63f:aefa459d
2021-06-19 02:34:00A big Ethereum problem that is fixed by Drivechain
While reading the following paragraphs, assume Drivechain itself will be a "smart contract platform", like Ethereum. And that it won't be used to launch an Ethereum blockchain copy, but instead each different Ethereum contract could be turned into a different sidechain under BIP300 rules.
A big Ethereum problem
Anyone can publish any "contract" to Ethereum. Often people will come up with somewhat interesting ideas and publish them. Since they want money they will add an unnecessary token and use that to bring revenue to themselves, gamify the usage of their contract somehow, and keep some control over the supposedly open protocol they've created by keeping a majority of the tokens. They will use the profits on marketing and branding, have a visual identity, a central website and a forum with support personnel and so on: their somewhat interesting idea have become a full-fledged company.
If they have success then another company will appear in the space and copy the idea, launch it using exactly the same strategy with a tweak, then try to capture the customers of the first company and new people. And then another, and another, and another. Very often these contracts require some network effect to work, i.e., they require people to be using it so others will use it. The fact that the market is now split into multiple companies offering roughly the same product hurts that, such that none of these protocols get ever enough usage to become really useful in the way they were first conceived. At this point it doesn't matter though, they get some usage, and they use that in their marketing material. It becomes a race to pump the value of the tokens and the current usage is just another point used for that purpose. The company will even start giving out money to attract new users and other weird moves that have no relationship with the initial somewhat intereting idea.
Once in a lifetime it happens that the first implementer of these things is not a company seeking profits, but some altruistic developer or company that believes in Ethereum and wants to see it grow -- or more likely someone financed by the Ethereum Foundation, which allegedly doesn't like these token schemes and would prefer everybody to use the token they issued first, the ETH --, but that's a fruitless enterprise because someone else will copy that idea anyway and turn it into a company as described above.
How Drivechain fixes it
In the Drivechain world, if someone had an idea, they would -- as it happens all the time with Bitcoin things -- publish it in a public forum. Other members of the community would evaluate that idea, add or remove things, all interested parties would contribute to make it the best possible incarnation of that idea. Once the design was settled, someone would volunteer to start writing the code to turn that idea into a sidechain. Maybe some company would fund those efforts and then more people would join. It's not a perfect process and one that often involves altruism, but Bitcoin inspires people to do these things.
Slowly, the thing would get built, tested, activated as a sidechain on testnet, tested more, and at this point luckily the entire community of interested Bitcoin users and miners would have grown to like that idea and see its benefits. It could then be proposed to be activated according to BIP300 rules.
Once it was activated, the entire pool of interested users would join it. And it would be impossible for someone else to create a copy of that because everybody would instantly notice it was a copy. There would be no token, no one profiting directly from the operations of that "smart contract". And everybody would be incentivized to join and tell others to join that same sidechain since the network effect was already the biggest there, they will know more network effect would only be good for everybody involved, and there would be no competing marketing and free token giveaways from competing entities.
See also
-
@ 3bf0c63f:aefa459d
2021-05-29 15:22:00On HTLCs and arbiters
This is another attempt and conveying the same information that should be in Lightning and its fake HTLCs. It assumes you know everything about Lightning and will just highlight a point. This is also valid for PTLCs.
The protocol says HTLCs are trimmed (i.e., not actually added to the commitment transaction) when the cost of redeeming them in fees would be greater than their actual value.
Although this is often dismissed as a non-important fact (often people will say "it's trusted for small payments, no big deal"), but I think it is indeed very important for 3 reasons:
- Lightning absolutely relies on HTLCs actually existing because the payment proof requires them. The entire security of each payment comes from the fact that the payer has a preimage that comes from the payee. Without that, the state of the payment becomes an unsolvable mystery. The inexistence of an HTLC breaks the atomicity between the payment going through and the payer receiving a proof.
- Bitcoin fees are expected to grow with time (arguably the reason Lightning exists in the first place).
- MPP makes payment sizes shrink, therefore more and more of Lightning payments are to be trimmed. As I write this, the mempool is clear and still payments smaller than about 5000sat are being trimmed. Two weeks ago the limit was at 18000sat, which is already below the minimum most MPP splitting algorithms will allow.
Therefore I think it is important that we come up with a different way of ensuring payment proofs are being passed around in the case HTLCs are trimmed.
Channel closures
Worse than not having HTLCs that can be redeemed is the fact that in the current Lightning implementations channels will be closed by the peer once an HTLC timeout is reached, either to fulfill an HTLC for which that peer has a preimage or to redeem back that expired HTLCs the other party hasn't fulfilled.
For the surprise of everybody, nodes will do this even when the HTLCs in question were trimmed and therefore cannot be redeemed at all. It's very important that nodes stop doing that, because it makes no economic sense at all.
However, that is not so simple, because once you decide you're not going to close the channel, what is the next step? Do you wait until the other peer tries to fulfill an expired HTLC and tell them you won't agree and that you must cancel that instead? That could work sometimes if they're honest (and they have no incentive to not be, in this case). What if they say they tried to fulfill it before but you were offline? Now you're confused, you don't know if you were offline or they were offline, or if they are trying to trick you. Then unsolvable issues start to emerge.
Arbiters
One simple idea is to use trusted arbiters for all trimmed HTLC issues.
This idea solves both the protocol issue of getting the preimage to the payer once it is released by the payee -- and what to do with the channels once a trimmed HTLC expires.
A simple design would be to have each node hardcode a set of trusted other nodes that can serve as arbiters. Once a channel is opened between two nodes they choose one node from both lists to serve as their mutual arbiter for that channel.
Then whenever one node tries to fulfill an HTLC but the other peer is unresponsive, they can send the preimage to the arbiter instead. The arbiter will then try to contact the unresponsive peer. If it succeeds, then done, the HTLC was fulfilled offchain. If it fails then it can keep trying until the HTLC timeout. And then if the other node comes back later they can eat the loss. The arbiter will ensure they know they are the ones who must eat the loss in this case. If they don't agree to eat the loss, the first peer may then close the channel and blacklist the other peer. If the other peer believes that both the first peer and the arbiter are dishonest they can remove that arbiter from their list of trusted arbiters.
The same happens in the opposite case: if a peer doesn't get a preimage they can notify the arbiter they hadn't received anything. The arbiter may try to ask the other peer for the preimage and, if that fails, settle the dispute for the side of that first peer, which can proceed to fail the HTLC is has with someone else on that route.
-
@ 3bf0c63f:aefa459d
2021-02-06 15:36:00Blockchains are not decentralized data storage
People are used to saying and thinking that blockchains provide immutable data storage. Then many times they add a caveat that says blockchains are very expensive, so we can't really store too much data on them, but we can still store some data if we really want and are ok with paying for it.
But the fact is that blockchains cannot ever be used to store anything. The purpose of blockchains is to keep track of some state that everybody must agree upon at all times, and arbitrary data that anyone may have wanted to backup there is not relevant to anyone else[^relevant] and thus there are no incentives for anyone else to keep track of that. In other words: if you backup your personal pictures as
OP_RETURN
outputs on Bitcoin, people may delete that and your backup will be void[^op-return-invalid-outputs].Another thing blockchains supposedly do is to "broadcast" something. For example, nodes may delete the
OP_RETURN
outputs, but at least they have to verify these first, and spread they over the network, so you can broadcast your data and be sure everybody will get it. About this we can say two things: 1, if this happens, it's not a property of blockchains, but of the Bitcoin transaction sharing network that operates outside of the blockchain. 2, if you try to use that network for purposes that are irrelevant for the functioning of the Bitcoin protocol there is no incentive for other nodes to cooperate and they may ignore you.The above points may sound weird and you may be prompted to answer: but you can do all that today and there is no actual mechanism to stop anyone from broadcasting irrelevant crap!, and that is true. My point here is only that if you're thinking about blockchains as being this data-broadcast-storage mechanism you're thinking about them wrong, that is not an essential part of any blockchain. In other words: the incentives are not aligned for blockchains to be used like that (unless you come up with a scheme that makes data from everyone else to be relevant to everybody), in the long term such things are not expected to work and insisting on doing them will result in either your application or protocol that stores data on the blockchain to crash or in the death of the given blockchain (I hope Bitcoin haters don't read this).
(This is a counterpoint to myself on idea: Rumple, which was a protocol idea that relied on a blockchain storing irrelevant data.)
[^relevant]: For example, all Bitcoin transactions are relevant to all Bitcoin users because as a user the total supply and the ausence of double-spends are relevant, and also the fact that any of these transactions may end up being ancestors of transactions that you might receive in the future. [^op-return-invalid-outputs]: Of course you can still backup your pictures as invalid
P2PKH
outputs or something like that, then it will be harder for people to spot your data as irrelevant, but this is not a feature, it's a bug of Bitcoin that enables someone to spam other nodes in a way they can't detect it. If people started doing this a lot it would break Bitcoin.