-
@ 42342239:1d80db24
2024-09-26 07:57:04The boiling frog is a simple tale that illustrates the danger of gradual change: if you put a frog in boiling water, it will quickly jump out to escape the heat. But if you place a frog in warm water and gradually increase the temperature, it won't notice the change and will eventually cook itself. Might the decline in cash usage be construed as an example of this tale?
As long as individuals can freely transact with each other and conduct purchases and sales without intermediaries[^1] such as with cash, our freedoms and rights remain secure from potential threats posed by the payment system. However, as we have seen in several countries such as Sweden over the past 15 years, the use of cash and the amount of banknotes and coins in circulation have decreased. All to the benefit of various intermediated[^1] electronic alternatives.
The reasons for this trend include: - The costs associated with cash usage has been increasing. - Increased regulatory burdens due to stricter anti-money laundering regulations. - Closed bank branches and fewer ATMs. - The Riksbank's aggressive note switches resulted in a situation where they were no longer recognized.
Market forces or "market forces"?
Some may argue that the "de-cashing" of society is a consequence of market forces. But does this hold true? Leading economists at times recommend interventions with the express purpose to mislead the public, such as proposing measures who are "opaque to most voters."
In a working paper on de-cashing by the International Monetary Fund (IMF) from 2017, such thought processes, even recommendations, can be found. IMF economist Alexei Kireyev, formerly a professor at an institute associated with the Soviet Union's KGB (MGIMO) and economic adviser to Michail Gorbachov 1989-91, wrote that:
- "Social conventions may also be disrupted as de-cashing may be viewed as a violation of fundamental rights, including freedom of contract and freedom of ownership."
- Letting the private sector lead "the de-cashing" is preferable, as it will seem "almost entirely benign". The "tempting attempts to impose de-cashing by a decree should be avoided"
- "A targeted outreach program is needed to alleviate suspicions related to de-cashing"
In the text, he also offered suggestions on the most effective approach to diminish the use of cash:
- The de-cashing process could build on the initial and largely uncontested steps, such as the phasing out of large denomination bills, the placement of ceilings on cash transactions, and the reporting of cash moves across the borders.
- Include creating economic incentives to reduce the use of cash in transactions
- Simplify "the opening and use of transferrable deposits, and further computerizing the financial system."
As is customary in such a context, it is noted that the article only describes research and does not necessarily reflect IMF's views. However, isn't it remarkable that all of these proposals have come to fruition and the process continues? Central banks have phased out banknotes with higher denominations. Banks' regulatory complexity seemingly increase by the day (try to get a bank to handle any larger amounts of cash). The transfer of cash from one nation to another has become increasingly burdensome. The European Union has recently introduced restrictions on cash transactions. Even the law governing the Swedish central bank is written so as to guarantee a further undermining of cash. All while the market share is growing for alternatives such as transferable deposits[^1].
The old European disease
The Czech Republic's former president Václav Havel, who played a key role in advocating for human rights during the communist repression, was once asked what the new member states in the EU could do to pay back for all the economic support they had received from older member states. He replied that the European Union still suffers from the old European disease, namely the tendency to compromise with evil. And that the new members, who have a recent experience of totalitarianism, are obliged to take a more principled stance - sometimes necessary - and to monitor the European Union in this regard, and educate it.
The American computer scientist and cryptographer David Chaum said in 1996 that "[t]he difference between a bad electronic cash system and well-developed digital cash will determine whether we will have a dictatorship or a real democracy". If Václav Havel were alive today, he would likely share Chaum's sentiment. Indeed, on the current path of "de-cashing", we risk abolishing or limiting our liberties and rights, "including freedom of contract and freedom of ownership" - and this according to an economist at the IMF(!).
As the frog was unwittingly boiled alive, our freedoms are quietly being undermined. The temperature is rising. Will people take notice before our liberties are irreparably damaged?
[^1]: Transferable deposits are intermediated. Intermediated means payments involving one or several intermediares, like a bank, a card issuer or a payment processor. In contrast, a disintermediated payment would entail a direct transactions between parties without go-betweens, such as with cash.
-
@ ee11a5df:b76c4e49
2024-09-11 08:16:37Bye-Bye Reply Guy
There is a camp of nostr developers that believe spam filtering needs to be done by relays. Or at the very least by DVMs. I concur. In this way, once you configure what you want to see, it applies to all nostr clients.
But we are not there yet.
In the mean time we have ReplyGuy, and gossip needed some changes to deal with it.
Strategies in Short
- WEB OF TRUST: Only accept events from people you follow, or people they follow - this avoids new people entirely until somebody else that you follow friends them first, which is too restrictive for some people.
- TRUSTED RELAYS: Allow every post from relays that you trust to do good spam filtering.
- REJECT FRESH PUBKEYS: Only accept events from people you have seen before - this allows you to find new people, but you will miss their very first post (their second post must count as someone you have seen before, even if you discarded the first post)
- PATTERN MATCHING: Scan for known spam phrases and words and block those events, either on content or metadata or both or more.
- TIE-IN TO EXTERNAL SYSTEMS: Require a valid NIP-05, or other nostr event binding their identity to some external identity
- PROOF OF WORK: Require a minimum proof-of-work
All of these strategies are useful, but they have to be combined properly.
filter.rhai
Gossip loads a file called "filter.rhai" in your gossip directory if it exists. It must be a Rhai language script that meets certain requirements (see the example in the gossip source code directory). Then it applies it to filter spam.
This spam filtering code is being updated currently. It is not even on unstable yet, but it will be there probably tomorrow sometime. Then to master. Eventually to a release.
Here is an example using all of the techniques listed above:
```rhai // This is a sample spam filtering script for the gossip nostr // client. The language is called Rhai, details are at: // https://rhai.rs/book/ // // For gossip to find your spam filtering script, put it in // your gossip profile directory. See // https://docs.rs/dirs/latest/dirs/fn.data_dir.html // to find the base directory. A subdirectory "gossip" is your // gossip data directory which for most people is their profile // directory too. (Note: if you use a GOSSIP_PROFILE, you'll // need to put it one directory deeper into that profile // directory). // // This filter is used to filter out and refuse to process // incoming events as they flow in from relays, and also to // filter which events get/ displayed in certain circumstances. // It is only run on feed-displayable event kinds, and only by // authors you are not following. In case of error, nothing is // filtered. // // You must define a function called 'filter' which returns one // of these constant values: // DENY (the event is filtered out) // ALLOW (the event is allowed through) // MUTE (the event is filtered out, and the author is // automatically muted) // // Your script will be provided the following global variables: // 'caller' - a string that is one of "Process", // "Thread", "Inbox" or "Global" indicating // which part of the code is running your // script // 'content' - the event content as a string // 'id' - the event ID, as a hex string // 'kind' - the event kind as an integer // 'muted' - if the author is in your mute list // 'name' - if we have it, the name of the author // (or your petname), else an empty string // 'nip05valid' - whether nip05 is valid for the author, // as a boolean // 'pow' - the Proof of Work on the event // 'pubkey' - the event author public key, as a hex // string // 'seconds_known' - the number of seconds that the author // of the event has been known to gossip // 'spamsafe' - true only if the event came in from a // relay marked as SpamSafe during Process // (even if the global setting for SpamSafe // is off)
fn filter() {
// Show spam on global // (global events are ephemeral; these won't grow the // database) if caller=="Global" { return ALLOW; } // Block ReplyGuy if name.contains("ReplyGuy") || name.contains("ReplyGal") { return DENY; } // Block known DM spam // (giftwraps are unwrapped before the content is passed to // this script) if content.to_lower().contains( "Mr. Gift and Mrs. Wrap under the tree, KISSING!" ) { return DENY; } // Reject events from new pubkeys, unless they have a high // PoW or we somehow already have a nip05valid for them // // If this turns out to be a legit person, we will start // hearing their events 2 seconds from now, so we will // only miss their very first event. if seconds_known <= 2 && pow < 25 && !nip05valid { return DENY; } // Mute offensive people if content.to_lower().contains(" kike") || content.to_lower().contains("kike ") || content.to_lower().contains(" nigger") || content.to_lower().contains("nigger ") { return MUTE; } // Reject events from muted people // // Gossip already does this internally, and since we are // not Process, this is rather redundant. But this works // as an example. if muted { return DENY; } // Accept if the PoW is large enough if pow >= 25 { return ALLOW; } // Accept if their NIP-05 is valid if nip05valid { return ALLOW; } // Accept if the event came through a spamsafe relay if spamsafe { return ALLOW; } // Reject the rest DENY
} ```
-
@ 7460b7fd:4fc4e74b
2024-09-05 08:37:48请看2014年王兴的一场思维碰撞,视频27分钟开始
最后,一个当时无法解决的点:丢失
-
@ 42342239:1d80db24
2024-09-02 12:08:29The ongoing debate surrounding freedom of expression may revolve more around determining who gets to control the dissemination of information rather than any claimed notion of safeguarding democracy. Similarities can be identified from 500 years ago, following the invention of the printing press.
What has been will be again, what has been done will be done again; there is nothing new under the sun.
-- Ecclesiastes 1:9
The debate over freedom of expression and its limits continues to rage on. In the UK, citizens are being arrested for sharing humouristic images. In Ireland, it may soon become illegal to possess "reckless" memes. Australia is trying to get X to hide information. Venezuela's Maduro blocked X earlier this year, as did a judge on Brazil's Supreme Court. In the US, a citizen has been imprisoned for spreading misleading material following a controversial court ruling. In Germany, the police are searching for a social media user who called a politician overweight. Many are also expressing concerns about deep fakes (AI-generated videos, images, or audio that are designed to deceive).
These questions are not new, however. What we perceive as new questions are often just a reflection of earlier times. After Gutenberg invented the printing press in the 15th century, there were soon hundreds of printing presses across Europe. The Church began using printing presses to mass-produce indulgences. "As soon as the coin in the coffer rings, the soul from purgatory springs" was a phrase used by a traveling monk who sold such indulgences at the time. Martin Luther questioned the reasonableness of this practice. Eventually, he posted the 95 theses on the church door in Wittenberg. He also translated the Bible into German. A short time later, his works, also mass-produced, accounted for a third of all books sold in Germany. Luther refused to recant his provocations as then determined by the Church's central authority. He was excommunicated in 1520 by the Pope and soon declared an outlaw by the Holy Roman Emperor.
This did not stop him. Instead, Luther referred to the Pope as "Pope Fart-Ass" and as the "Ass-God in Rome)". He also commissioned caricatures, such as woodcuts showing a female demon giving birth to the Pope and cardinals, of German peasants responding to a papal edict by showing the Pope their backsides and breaking wind, and more.
Gutenberg's printing presses contributed to the spread of information in a way similar to how the internet does in today's society. The Church's ability to control the flow of information was undermined, much like how newspapers, radio, and TV have partially lost this power today. The Pope excommunicated Luther, which is reminiscent of those who are de-platformed or banned from various platforms today. The Emperor declared Luther an outlaw, which is similar to how the UK's Prime Minister is imprisoning British citizens today. Luther called the Pope derogatory names, which is reminiscent of the individual who recently had the audacity to call an overweight German minister overweight.
Freedom of expression must be curtailed to combat the spread of false or harmful information in order to protect democracy, or so it is claimed. But perhaps it is more about who gets to control the flow of information?
As is often the case, there is nothing new under the sun.
-
@ 42342239:1d80db24
2024-08-30 06:26:21Quis custodiet ipsos custodes?
-- Juvenal (Who will watch the watchmen?)
In mid-July, numerous media outlets reported on the assassination attempt on Donald Trump. FBI Director Christopher Wray stated later that same month that what hit the former president Trump was a bullet. A few days later, it was reported from various sources that search engines no longer acknowledged that an assassination attempt on ex-President Trump had taken place. When users used automatic completion in Google and Bing (91% respectively 4% market share), these search engines only suggested earlier presidents such as Harry Truman and Theodore Roosevelt, along with Russian President Vladimir Putin as people who could have been subjected to assassination attempts.
The reports were comprehensive enough for the Republican district attorney of Missouri to say that he would investigate matter. The senator from Kansas - also a Republican - planned to make an official request to Google. Google has responded through a spokesman to the New York Post that the company had not "manually changed" search results, but its system includes "protection" against search results "connected to political violence."
A similar phenomenon occurred during the 2016 presidential election. At the time, reports emerged of Google, unlike other less widely used search engines, rarely or never suggesting negative search results for Hillary Clinton. The company however provided negative search results for then-candidate Trump. Then, as today, the company denied deliberately favouring any specific political candidate.
These occurrences led to research on how such search suggestions can influence public opinion and voting preferences. For example, the impact of simply removing negative search suggestions has been investigated. A study published in June 2024 reports that such search results can dramatically affect undecided voters. Reducing negative search suggestions can turn a 50/50 split into a 90/10 split in favour of the candidate for whom negative search suggestions were suppressed. The researchers concluded that search suggestions can have "a dramatic impact," that this can "shift a large number of votes" and do so without leaving "any trace for authorities to follow." How search engines operate should therefore be considered of great importance by anyone who claims to take democracy seriously. And this regardless of one's political sympathies.
A well-known thought experiment in philosophy asks: "If a tree falls in the forest and no one hears it, does it make a sound?" Translated to today's media landscape: If an assassination attempt took place on a former president, but search engines don't want to acknowledge it, did it really happen?
-
@ 42342239:1d80db24
2024-07-28 08:35:26Jerome Powell, Chairman of the US Federal Reserve, stated during a hearing in March that the central bank has no plans to introduce a central bank digital currency (CBDCs) or consider it necessary at present. He said this even though the material Fed staff presents to Congress suggests otherwise - that CBDCs are described as one of the Fed’s key duties .
A CBDC is a state-controlled and programmable currency that could allow the government or its intermediaries the possibility to monitor all transactions in detail and also to block payments based on certain conditions.
Critics argue that the introduction of CBDCs could undermine citizens’ constitutionally guaranteed freedoms and rights . Republican House Majority Leader Tom Emmer, the sponsor of a bill aimed at preventing the central bank from unilaterally introducing a CBDC, believes that if they do not mimic cash, they would only serve as a “CCP-style [Chinese Communist Party] surveillance tool” and could “undermine the American way of life”. Emmer’s proposed bill has garnered support from several US senators , including Republican Ted Cruz from Texas, who introduced the bill to the Senate. Similarly to how Swedish cash advocates risk missing the mark , Tom Emmer and the US senators risk the same outcome with their bill. If the central bank is prevented from introducing a central bank digital currency, nothing would stop major banks from implementing similar systems themselves, with similar consequences for citizens.
Indeed, the entity controlling your money becomes less significant once it is no longer you. Even if central bank digital currencies are halted in the US, a future administration could easily outsource financial censorship to the private banking system, similar to how the Biden administration is perceived by many to have circumvented the First Amendment by getting private companies to enforce censorship. A federal court in New Orleans ruled last fall against the Biden administration for compelling social media platforms to censor content. The Supreme Court has now begun hearing the case.
Deng Xiaoping, China’s paramount leader who played a vital role in China’s modernization, once said, “It does not matter if the cat is black or white. What matters is that it catches mice.” This statement reflected a pragmatic approach to economic policy, focusing on results foremost. China’s economic growth during his tenure was historic.
The discussion surrounding CBDCs and their negative impact on citizens’ freedoms and rights would benefit from a more practical and comprehensive perspective. Ultimately, it is the outcomes that matter above all. So too for our freedoms.
-
@ ee11a5df:b76c4e49
2024-07-11 23:57:53What Can We Get by Breaking NOSTR?
"What if we just started over? What if we took everything we have learned while building nostr and did it all again, but did it right this time?"
That is a question I've heard quite a number of times, and it is a question I have pondered quite a lot myself.
My conclusion (so far) is that I believe that we can fix all the important things without starting over. There are different levels of breakage, starting over is the most extreme of them. In this post I will describe these levels of breakage and what each one could buy us.
Cryptography
Your key-pair is the most fundamental part of nostr. That is your portable identity.
If the cryptography changed from secp256k1 to ed25519, all current nostr identities would not be usable.
This would be a complete start over.
Every other break listed in this post could be done as well to no additional detriment (save for reuse of some existing code) because we would be starting over.
Why would anyone suggest making such a break? What does this buy us?
- Curve25519 is a safe curve meaning a bunch of specific cryptography things that us mortals do not understand but we are assured that it is somehow better.
- Ed25519 is more modern, said to be faster, and has more widespread code/library support than secp256k1.
- Nostr keys could be used as TLS server certificates. TLS 1.3 using RFC 7250 Raw Public Keys allows raw public keys as certificates. No DNS or certification authorities required, removing several points of failure. These ed25519 keys could be used in TLS, whereas secp256k1 keys cannot as no TLS algorithm utilizes them AFAIK. Since relays currently don't have assigned nostr identities but are instead referenced by a websocket URL, this doesn't buy us much, but it is interesting. This idea is explored further below (keep reading) under a lesser level of breakage.
Besides breaking everything, another downside is that people would not be able to manage nostr keys with bitcoin hardware.
I am fairly strongly against breaking things this far. I don't think it is worth it.
Signature Scheme and Event Structure
Event structure is the next most fundamental part of nostr. Although events can be represented in many ways (clients and relays usually parse the JSON into data structures and/or database columns), the nature of the content of an event is well defined as seven particular fields. If we changed those, that would be a hard fork.
This break is quite severe. All current nostr events wouldn't work in this hard fork. We would be preserving identities, but all content would be starting over.
It would be difficult to bridge between this fork and current nostr because the bridge couldn't create the different signature required (not having anybody's private key) and current nostr wouldn't be generating the new kind of signature. Therefore any bridge would have to do identity mapping just like bridges to entirely different protocols do (e.g. mostr to mastodon).
What could we gain by breaking things this far?
- We could have a faster event hash and id verification: the current signature scheme of nostr requires lining up 5 JSON fields into a JSON array and using that as hash input. There is a performance cost to copying this data in order to hash it.
- We could introduce a subkey field, and sign events via that subkey, while preserving the pubkey as the author everybody knows and searches by. Note however that we can already get a remarkably similar thing using something like NIP-26 where the actual author is in a tag, and the pubkey field is the signing subkey.
- We could refactor the kind integer into composable bitflags (that could apply to any application) and an application kind (that specifies the application).
- Surely there are other things I haven't thought of.
I am currently against this kind of break. I don't think the benefits even come close to outweighing the cost. But if I learned about other things that we could "fix" by restructuring the events, I could possibly change my mind.
Replacing Relay URLs
Nostr is defined by relays that are addressed by websocket URLs. If that changed, that would be a significant break. Many (maybe even most) current event kinds would need superseding.
The most reasonable change is to define relays with nostr identities, specifying their pubkey instead of their URL.
What could we gain by this?
- We could ditch reliance on DNS. Relays could publish events under their nostr identity that advertise their current IP address(es).
- We could ditch certificates because relays could generate ed25519 keypairs for themselves (or indeed just self-signed certificates which might be much more broadly supported) and publish their public ed25519 key in the same replaceable event where they advertise their current IP address(es).
This is a gigantic break. Almost all event kinds need redefining and pretty much all nostr software will need fairly major upgrades. But it also gives us a kind of Internet liberty that many of us have dreamt of our entire lives.
I am ambivalent about this idea.
Protocol Messaging and Transport
The protocol messages of nostr are the next level of breakage. We could preserve keypair identities, all current events, and current relay URL references, but just break the protocol of how clients and relay communicate this data.
This would not necessarily break relay and client implementations at all, so long as the new protocol were opt-in.
What could we get?
- The new protocol could transmit events in binary form for increased performance (no more JSON parsing with it's typical many small memory allocations and string escaping nightmares). I think event throughput could double (wild guess).
- It could have clear expectations of who talks first, and when and how AUTH happens, avoiding a lot of current miscommunication between clients and relays.
- We could introduce bitflags for feature support so that new features could be added later and clients would not bother trying them (and getting an error or timing out) on relays that didn't signal support. This could replace much of NIP-11.
- We could then introduce something like negentropy or negative filters (but not that... probably something else solving that same problem) without it being a breaking change.
- The new protocol could just be a few websocket-binary messages enhancing the current protocol, continuing to leverage the existing websocket-text messages we currently have, meaning newer relays would still support all the older stuff.
The downsides are just that if you want this new stuff you have to build it. It makes the protocol less simple, having now multiple protocols, multiple ways of doing the same thing.
Nonetheless, this I am in favor of. I think the trade-offs are worth it. I will be pushing a draft PR for this soon.
The path forward
I propose then the following path forward:
- A new nostr protocol over websockets binary (draft PR to be shared soon)
- Subkeys brought into nostr via NIP-26 (but let's use a single letter tag instead, OK?) via a big push to get all the clients to support it (the transition will be painful - most major clients will need to support this before anybody can start using it).
- Some kind of solution to the negative-filter-negentropy need added to the new protocol as its first optional feature.
- We seriously consider replacing Relay URLs with nostr pubkeys assigned to the relay, and then have relays publish their IP address and TLS key or certificate.
We sacrifice these:
- Faster event hash/verification
- Composable event bitflags
- Safer faster more well-supported crypto curve
- Nostr keys themselves as TLS 1.3 RawPublicKey certificates
-
@ 42342239:1d80db24
2024-07-06 15:26:39Claims that we need greater centralisation, more EU, or more globalisation are prevalent across the usual media channels. The climate crisis, environmental destruction, pandemics, the AI-threat, yes, everything will apparently be solved if a little more global coordination, governance and leadership can be brought about.
But, is this actually true? One of the best arguments for this conclusion stems implicitly from the futurist Eliezer Yudkowsky, who once proposed a new Moore's Law, though this time not for computer processors but instead for mad science: "every 18 months, the minimum IQ necessary to destroy the world drops by one point".
Perhaps we simply have to tolerate more centralisation, globalisation, control, surveillance, and so on, to prevent all kinds of fools from destroying the world?
Note: a Swedish version of this text is avalable at Affärsvärlden.
At the same time, more centralisation, globalisation, etc. is also what we have experienced. Power has been shifting from the local, and from the majorities, to central-planning bureaucrats working in remote places. This has been going on for several decades. The EU's subsidiarity principle, i.e. the idea that decisions should be made at the lowest expedient level, and which came to everyone's attention ahead of Sweden's EU vote in 1994, is today swept under the rug as untimely and outdated, perhaps even retarded.
At the same time, there are many crises, more than usual it would seem. If it is not a crisis of criminality, a logistics/supply chain crisis or a water crisis, then it is an energy crisis, a financial crisis, a refugee crisis or a climate crisis. It is almost as if one starts to suspect that all this centralisation may be leading us down the wrong path. Perhaps centralisation is part of the problem, rather than the capital S solution?
Why centralisation may cause rather than prevent problems
There are several reasons why centralisation, etc, may actually be a problem. And though few seem to be interested in such questions today (or perhaps they are too timid to mention their concerns?), it has not always been this way. In this short essay we'll note four reasons (though there are several others):
- Political failures (Buchanan et al)
- Local communities & skin in the game (Ostrom and Taleb)
- The local knowledge problem (von Hayek)
- Governance by sociopaths (Hare)
James Buchanan who was given the so-called Nobel price in economics in the eighties once said that: "politicians and bureaucrats are no different from the rest of us. They will maximise their incentives just like everybody else.".
Buchanan was prominent in research on rent-seeking and political failures, i.e. when political "solutions" to so-called market failures make everything worse. Rent-seeking is when a company spends resources (e.g. lobbying) to get legislators or other decision makers to pass laws or create regulations that benefit the company instead of it having to engage in productive activities. The result is regulatory capture. The more centralised decision-making is, the greater the negative consequences from such rent-seeking will be for society at large. This is known.
Another economist, Elinor Ostrom, was given the same prize in the great financial crisis year of 2009. In her research, she had found that local communities where people had influence over rules and regulations, as well as how violations there-of were handled, were much better suited to look after common resources than centralised bodies. To borrow a term from the combative Nassim Nicholas Taleb: everything was better handled when decision makers had "skin in the game".
A third economist, Friedrich von Hayek, was given this prize as early as 1974, partly because he showed that central planning could not possibly take into account all relevant information. The information needed in economic planning is by its very nature distributed, and will never be available to a central planning committee, or even to an AI.
Moreover, human systems are complex and not just complicated. When you realise this, you also understand why the forecasts made by central planners often end up wildly off the mark - and at times in a catastrophic way. (This in itself is an argument for relying more on factors outside of the models in the decision-making process.)
From Buchanan's, Ostrom's, Taleb's or von Hayek's perspectives, it also becomes difficult to believe that today's bureaucrats are the most suited to manage and price e.g. climate risks. One can compare with the insurance industry, which has both a long habit of pricing risks as well as "skin in the game" - two things sorely missing in today's planning bodies.
Instead of preventing fools, we may be enabling madmen
An even more troubling conclusion is that centralisation tends to transfer power to people who perhaps shouldn't have more of that good. "Not all psychopaths are in prison - some are in the boardroom," psychologist Robert Hare once said during a lecture. Most people have probably known for a long time that those with sharp elbows and who don't hesitate to stab a colleague in the back can climb quickly in organisations. In recent years, this fact seems to have become increasingly well known even in academia.
You will thus tend to encounter an increased prevalance of individuals with narcissistic and sociopathic traits the higher up you get in the the status hierarchy. And if working in large organisations (such as the European Union or Congress) or in large corporations, is perceived as higher status - which is generally the case, then it follows that the more we centralise, the more we will be governed by people with less flattering Dark Triad traits.
By their fruits ye shall know them
Perhaps it is thus not a coincidence that we have so many crises. Perhaps centralisation, globalisation, etc. cause crises. Perhaps the "elites" and their planning bureaucrats are, in fact, not the salt of the earth and the light of the world. Perhaps President Trump even had a point when he said "they are not sending their best".
https://www.youtube.com/watch?v=w4b8xgaiuj0
The opposite of centralisation is decentralisation. And while most people may still be aware that decentralisation can be a superpower within the business world, it's time we remind ourselves that this also applies to the economy - and society - at large, and preferably before the next Great Leap Forward is fully thrust upon us.
-
@ b12b632c:d9e1ff79
2024-05-29 12:10:18One other day on Nostr, one other app!
Today I'll present you a new self-hosted Nostr blog web application recently released on github by dtonon, Oracolo:
https://github.com/dtonon/oracolo
Oracolo is a minimalist blog powered by Nostr, that consists of a single html file, weighing only ~140Kb. You can use whatever Nostr client that supports long format (habla.news, yakihonne, highlighter.com, etc ) to write your posts, and your personal blog is automatically updated.
It works also without a web server; for example you can send it via email as a business card.Oracolo fetches Nostr data, builds the page, execute the JavaScript code and displays article on clean and sobr blog (a Dark theme would be awesome 👀).
Blog articles are nostr events you published or will publish on Nostr relays through long notes applications like the ones quoted above.
Don't forget to use a NIP07 web browser extensions to login on those websites. Old time where we were forced to fill our nsec key is nearly over!
For the hurry ones of you, you can find here the Oracolo demo with my Nostr long notes article. It will include this one when I'll publish it on Nostr!
https://oracolo.fractalized.net/
How to self-host Oracolo?
You can build the application locally or use a docker compose stack to run it (or any other method). I just build a docker compose stack with Traefik and an Oracolo docker image to let you quickly run it.
The oracolo-docker github repo is available here:
https://github.com/PastaGringo/oracolo-docker
PS: don't freak out about the commits number, oracolo has been the lucky one to let me practrice docker image CI/CD build/push with Forgejo, that went well but it took me a while before finding how to make Forgejo runner dood work 😆). Please ping me on Nostr if you are interested by an article on this topic!
This repo is a mirror from my new Forgejo git instance where the code has been originaly published and will be updated if needed (I think it will):
https://git.fractalized.net/PastaGringo/oracolo-docker
Here is how to do it.
1) First, you need to create an A DNS record into your domain.tld zone. You can create a A with "oracolo" .domain.tld or "*" .domain.tld. The second one will allow traefik to generate all the future subdomain.domain.tld without having to create them in advance. You can verify DNS records with the website https://dnschecker.org.
2) Clone the oracolo-docker repository:
bash git clone https://git.fractalized.net/PastaGringo/oracolo-docker.git cd oracolo-docker
3) Rename the .env.example file:
bash mv .env.example .env
4) Modify and update your .env file with your own infos:
```bash
Let's Encrypt email used to generate the SSL certificate
LETSENCRYPT_EMAIL=
domain for oracolo. Ex: oracolo.fractalized.net
ORACOLO_DOMAIN=
Npub author at "npub" format, not HEX.
NPUB=
Relays where Oracolo will retrieve the Nostr events.
Ex: "wss://nostr.fractalized.net, wss://rnostr.fractalized.net"
RELAYS=
Number of blog article with an thumbnail. Ex: 4
TOP_NOTES_NB= ```
5) Compose Oracolo:
bash docker compose up -d && docker compose logs -f oracolo traefik
bash [+] Running 2/0 ✔ Container traefik Running 0.0s ✔ Container oracolo Running 0.0s WARN[0000] /home/pastadmin/DEV/FORGEJO/PLAY/oracolo-docker/docker-compose.yml: `version` is obsolete traefik | 2024-05-28T19:24:18Z INF Traefik version 3.0.0 built on 2024-04-29T14:25:59Z version=3.0.0 oracolo | oracolo | ___ ____ ____ __ ___ _ ___ oracolo | / \ | \ / | / ] / \ | | / \ oracolo | | || D )| o | / / | || | | | oracolo | | O || / | |/ / | O || |___ | O | oracolo | | || \ | _ / \_ | || || | oracolo | | || . \| | \ || || || | oracolo | \___/ |__|\_||__|__|\____| \___/ |_____| \___/ oracolo | oracolo | Oracolo dtonon's repo: https://github.com/dtonon/oracolo oracolo | oracolo | ╭────────────────────────────╮ oracolo | │ Docker Compose Env Vars ⤵️ │ oracolo | ╰────────────────────────────╯ oracolo | oracolo | NPUB : npub1ky4kxtyg0uxgw8g5p5mmedh8c8s6sqny6zmaaqj44gv4rk0plaus3m4fd2 oracolo | RELAYS : wss://nostr.fractalized.net, wss://rnostr.fractalized.net oracolo | TOP_NOTES_NB : 4 oracolo | oracolo | ╭───────────────────────────╮ oracolo | │ Configuring Oracolo... ⤵️ │ oracolo | ╰───────────────────────────╯ oracolo | oracolo | > Updating npub key with npub1ky4kxtyg0uxgw8g5p5mmedh8c8s6sqny6zmaaqj44gv4rk0plaus3m4fd2... ✅ oracolo | > Updating nostr relays with wss://nostr.fractalized.net, wss://rnostr.fractalized.net... ✅ oracolo | > Updating TOP_NOTE with value 4... ✅ oracolo | oracolo | ╭───────────────────────╮ oracolo | │ Installing Oracolo ⤵️ │ oracolo | ╰───────────────────────╯ oracolo | oracolo | added 122 packages, and audited 123 packages in 8s oracolo | oracolo | 20 packages are looking for funding oracolo | run `npm fund` for details oracolo | oracolo | found 0 vulnerabilities oracolo | npm notice oracolo | npm notice New minor version of npm available! 10.7.0 -> 10.8.0 oracolo | npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.0 oracolo | npm notice To update run: npm install -g npm@10.8.0 oracolo | npm notice oracolo | oracolo | >>> done ✅ oracolo | oracolo | ╭─────────────────────╮ oracolo | │ Building Oracolo ⤵️ │ oracolo | ╰─────────────────────╯ oracolo | oracolo | > oracolo@0.0.0 build oracolo | > vite build oracolo | oracolo | 7:32:49 PM [vite-plugin-svelte] WARNING: The following packages have a svelte field in their package.json but no exports condition for svelte. oracolo | oracolo | @splidejs/svelte-splide@0.2.9 oracolo | @splidejs/splide@4.1.4 oracolo | oracolo | Please see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition for details. oracolo | vite v5.2.11 building for production... oracolo | transforming... oracolo | ✓ 84 modules transformed. oracolo | rendering chunks... oracolo | oracolo | oracolo | Inlining: index-C6McxHm7.js oracolo | Inlining: style-DubfL5gy.css oracolo | computing gzip size... oracolo | dist/index.html 233.15 kB │ gzip: 82.41 kB oracolo | ✓ built in 7.08s oracolo | oracolo | >>> done ✅ oracolo | oracolo | > Copying Oracolo built index.html to nginx usr/share/nginx/html... ✅ oracolo | oracolo | ╭────────────────────────╮ oracolo | │ Configuring Nginx... ⤵️ │ oracolo | ╰────────────────────────╯ oracolo | oracolo | > Copying default nginx.conf file... ✅ oracolo | oracolo | ╭──────────────────────╮ oracolo | │ Starting Nginx... 🚀 │ oracolo | ╰──────────────────────╯ oracolo |
If you don't have any issue with the Traefik container, Oracolo should be live! 🔥
You can now access it by going to the ORACOLO_DOMAIN URL configured into the .env file.
Have a good day!
Don't hesisate to follow dtonon on Nostr to follow-up the future updates ⚡🔥
See you soon in another Fractalized story!
PastaGringo 🤖⚡ -
@ 4523be58:ba1facd0
2024-05-28 11:05:17NIP-116
Event paths
Description
Event kind
30079
denotes an event defined by its event path rather than its event kind.The event directory path is included in the event path, specified in the event's
d
tag. For example, an event path might beuser/profile/name
, whereuser/profile
is the directory path.Relays should parse the event directory from the event path
d
tag and index the event by it. Relays should support "directory listing" of kind30079
events using the#f
filter, such as{"#f": ["user/profile"]}
.For backward compatibility, the event directory should also be saved in the event's
f
tag (for "folder"), which is already indexed by some relay implementations, and can be queried using the#f
filter.Event content should be a JSON-encoded value. An empty object
{}
signifies that the entry at the event path is itself a directory. For example, when savinguser/profile/name
:Bob
, you should also saveuser/profile
:{}
so the subdirectory can be listed underuser
.In directory names, slashes should be escaped with a double slash.
Example
Event
json { "tags": [ ["d", "user/profile/name"], ["f", "user/profile"] ], "content": "\"Bob\"", "kind": 30079, ... }
Query
json { "#f": ["user/profile"], "authors": ["[pubkey]"] }
Motivation
To make Nostr an "everything app," we need a sustainable way to support new kinds of applications. Browsing Nostr data by human-readable nested directories and paths rather than obscure event kind numbers makes the data more manageable.
Numeric event kinds are not sustainable for the infinite number of potential applications. With numeric event kinds, developers need to find an unused number for each new application and announce it somewhere, which is cumbersome and not scalable.
Directories can also replace monolithic list events like follow lists or profile details. You can update a single directory entry such as
user/profile/name
orgroups/follows/[pubkey]
without causing an overwrite of the whole profile or follow list when your client is out-of-sync with the most recent list version, as often happens on Nostr.Using
d
-tagged replaceable events for reactions, such as{tags: [["d", "reactions/[eventId]"]], content: "\"👍\"", kind: 30079, ...}
would make un-reacting trivial: just publish a new event with the samed
tag and an empty content. Toggling a reaction on and off would not cause a flurry of new reaction & delete events that all need to be persisted.Implementations
- Relays that support tag-replaceable events and indexing by arbitrary tags (in this case
f
) already support this feature. - IrisDB client side library: treelike data structure with subscribable nodes.
https://github.com/nostr-protocol/nips/pull/1266
- Relays that support tag-replaceable events and indexing by arbitrary tags (in this case
-
@ a95c6243:d345522c
2024-10-19 08:58:08Ein Lämmchen löschte an einem Bache seinen Durst. Fern von ihm, aber näher der Quelle, tat ein Wolf das gleiche. Kaum erblickte er das Lämmchen, so schrie er:
"Warum trübst du mir das Wasser, das ich trinken will?"
"Wie wäre das möglich", erwiderte schüchtern das Lämmchen, "ich stehe hier unten und du so weit oben; das Wasser fließt ja von dir zu mir; glaube mir, es kam mir nie in den Sinn, dir etwas Böses zu tun!"
"Ei, sieh doch! Du machst es gerade, wie dein Vater vor sechs Monaten; ich erinnere mich noch sehr wohl, daß auch du dabei warst, aber glücklich entkamst, als ich ihm für sein Schmähen das Fell abzog!"
"Ach, Herr!" flehte das zitternde Lämmchen, "ich bin ja erst vier Wochen alt und kannte meinen Vater gar nicht, so lange ist er schon tot; wie soll ich denn für ihn büßen."
"Du Unverschämter!" so endigt der Wolf mit erheuchelter Wut, indem er die Zähne fletschte. "Tot oder nicht tot, weiß ich doch, daß euer ganzes Geschlecht mich hasset, und dafür muß ich mich rächen."
Ohne weitere Umstände zu machen, zerriß er das Lämmchen und verschlang es.
Das Gewissen regt sich selbst bei dem größten Bösewichte; er sucht doch nach Vorwand, um dasselbe damit bei Begehung seiner Schlechtigkeiten zu beschwichtigen.
Quelle: https://eden.one/fabeln-aesop-das-lamm-und-der-wolf
-
@ dba00383:d7448f1b
2024-10-20 01:06:44Primeiramente meus irmãos Pedro escreve essa carta aos Irmãos que moravam pelas redondezas da Turquia, e naquele momento estavam passando por problemas e dificuldades acerca de sua fé, e então Pedro argumenta sobre as dificuldades da fé Cristã.
Segundo, o que é ser santo? Ser santo significa ser separado, diferente, consagrado, se fomos transformados verdadeiramente pelo espírito santo devemos agir como aquele que nos transformou, que foi Jesus Cristo, e através de nossa vida, através de nosso testemunho, através de nossas ações deveríamos transparecer essa separação deste mundo.
O que estou querendo dizer é algo mais básico acerca da nossa caminhada cristã, tudo se resumo a sermos um espelho que reflete o carácter e as características de nosso Criador, mas o por que estou dizendo isso, porque quero lembrar e sempre que puder vou relembrar que, AÇÕES SÃO MAIS IMPORTANTES QUE PALAVRAS, se apenas falamos que somos crentes mas no nosso dia a dia mas agimos de forma diferente(seja mentindo, seja enganando, seja nos vendendo) está sendo em vão nossa caminhada e nossa salvação estará comprometida.
Estou falando essas coisas porque é necessário que sejamos separados das coisas desse mundo, de toda corrupção desta era e sermos a luz que ilumina as trevas desta terra, o sal que tempera esse mundo, que essa palavra entre em vossos corações e que Deus abençoe vocês em NOME DE JESUS. AMÉM!!!!!!!
-
@ b12b632c:d9e1ff79
2024-04-24 20:21:27What's Blossom?
Blossom offers a bunch of HTTP endpoints that let Nostr users stash and fetch binary data on public servers using the SHA256 hash as a universal ID.
You can find more -precise- information about Blossom on the Nostr article published today by hzrd149, the developper behind it:
nostr:naddr1qqxkymr0wdek7mfdv3exjan9qgszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgrqsqqqa28e4v8zy
You find the Blossom github repo here:
GitHub - hzrd149/blossom: Blobs stored simply on mediaservers https://github.com/hzrd149/blossom
Meet Blobs
Blobs are files with SHA256 hashes as IDs, making them unique and secure. You can compute these IDs from the files themselves using the sha256 hashing algorithm (when you run
sha256sum bitcoin.pdf
).Meet Drives
Drives are like organized events on Nostr, mapping blobs to filenames and extra info. It's like setting up a roadmap for your data.
How do Servers Work?
Blossom servers have four endpoints for users to upload and handle blobs:
GET /<sha256>: Get blobs by their SHA256 hash, maybe with a file extension. PUT /upload: Chuck your blobs onto the server, verified with signed Nostr events. GET /list/<pubkey>: Peek at a list of blobs tied to a specific public key for smooth management. DELETE /<sha256>: Trash blobs from the server when needed, keeping things tidy.
Yon can find detailed information about the Blossom Server Implementation here..
https://github.com/hzrd149/blossom/blob/master/Server.md
..and the Blossom-server source code is here:
https://github.com/hzrd149/blossom-server
What's Blossom Drive?
Think of Blossom Drive as the "Front-End" (or a public cloud drive) of Blossom servers, letting you upload, manage, share your files/folders blobs.
Source code is available here:
https://github.com/hzrd149/blossom-drive
Developpers
If you want to add Blossom into your Nostr client/app, the blossom-client-sdk explaining how it works (with few examples 🙏) is published here:
https://github.com/hzrd149/blossom-client-sdk
How to self-host Blossom server & Blossom Drive
We'll use docker compose to setup Blossom server & drive. I included Nginx Proxy Manager because it's the Web Proxy I use for all the Fractalized self-hosted services :
Create a new docker-compose file:
~$ nano docker-compose.yml
Insert this content into the file:
``` version: '3.8' services:
blossom-drive: container_name: blossom-drive image: pastagringo/blossom-drive-docker
ports:
- '80:80'
blossom-server: container_name: blossom-server image: 'ghcr.io/hzrd149/blossom-server:master'
ports:
- '3000:3000'
volumes: - './blossom-server/config.yml:/app/config.yml' - 'blossom_data:/app/data'
nginxproxymanager: container_name: nginxproxymanager image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' - '81:81' - '443:443' volumes: - ./nginxproxymanager/data:/data - ./nginxproxymanager/letsencrypt:/etc/letsencrypt - ./nginxproxymanager/_hsts_map.conf:/app/templates/_hsts_map.conf
volumes: blossom_data: ```
You now need to personalize the blossom-server config.yml:
bash ~$ mkdir blossom-server ~$ nano blossom-server/config.yml
Insert this content to the file (CTRL+X & Y to save/exit):
```yaml
Used when listing blobs
publicDomain: https://blossom.fractalized.net
databasePath: data/sqlite.db
discovery: # find files by querying nostr relays nostr: enabled: true relays: - wss://nostrue.com - wss://relay.damus.io - wss://nostr.wine - wss://nos.lol - wss://nostr-pub.wellorder.net - wss://nostr.fractalized.net # find files by asking upstream CDNs upstream: enabled: true domains: - https://cdn.satellite.earth # don't set your blossom server here!
storage: # local or s3 backend: local local: dir: ./data # s3: # endpoint: https://s3.endpoint.com # bucket: blossom # accessKey: xxxxxxxx # secretKey: xxxxxxxxx # If this is set the server will redirect clients when loading blobs # publicURL: https://s3.region.example.com/
# rules are checked in descending order. if a blob matches a rule it is kept # "type" (required) the type of the blob, "" can be used to match any type # "expiration" (required) time passed since last accessed # "pubkeys" (optional) a list of owners # any blobs not matching the rules will be removed rules: # mime type of blob - type: text/ # time since last accessed expiration: 1 month - type: "image/" expiration: 1 week - type: "video/" expiration: 5 days - type: "model/" expiration: 1 week - type: "" expiration: 2 days
upload: # enable / disable uploads enabled: true # require auth to upload requireAuth: true # only check rules that include "pubkeys" requirePubkeyInRule: false
list: requireAuth: false allowListOthers: true
tor: enabled: false proxy: "" ```
You need to update few values with your own:
- Your own Blossom server public domain :
publicDomain: https://YourBlossomServer.YourDomain.tld
and upstream domains where Nostr clients will also verify if the Blossom server own the file blob: :
upstream: enabled: true domains: - https://cdn.satellite.earth # don't set your blossom server here!
- The Nostr relays where you want to publish your Blossom events (I added my own Nostr relay):
yaml discovery: # find files by querying nostr relays nostr: enabled: true relays: - wss://nostrue.com - wss://relay.damus.io - wss://nostr.wine - wss://nos.lol - wss://nostr-pub.wellorder.net - wss://nostr.fractalized.net
Everything is setup! You can now compose your docker-compose file:
~$ docker compose up -d
I will let your check this article to know how to configure and use Nginx Proxy Manager.
You can check both Blossom containers logs with this command:
~$ docker compose logs -f blossom-drive blossom-server
Regarding the Nginx Proxy Manager settings for Blossom, here is the configuration I used:
PS: it seems the naming convention for the kind of web service like Blossom is named "CDN" (for: "content delivery network"). It's not impossible in a near future I rename my subdomain blossom.fractalized.net to cdn.blossom.fractalized.net and blossom-drive.fractalized.net to blossom.fractalized.net 😅
Do what you prefer!
After having configured everything, you can now access Blossom server by going to your Blossom server subdomain. You should see a homepage as below:
Same thing for the Blossom Drive, you should see this homepage:
You can now login with your prefered method. In my case, I login on Blossom Drive with my NIP-07 Chrome extension.
You now need to go the "Servers" tab to add some Blossom servers, including the fresh one you just installed.
You can now create your first Blossom Drive by clicking on "+ New" > "Drive" on the top left button:
Fill your desired blossom drive name and select the media servers where you want to host your files and click on "Create":
PS: you can enable "Encrypted" option but as hzrd149 said on his Nostr note about Blossom:
"There is also the option to encrypt drives using NIP-49 password encryption. although its not tested at all so don't trust it, verify"
You are now able to upload some files (a picture for instance):
And obtain the HTTP direct link by clicking on the "Copy Link" button:
If you check URL image below, you'll see that it is served by Blossom:
It's done ! ✅
You can now upload your files to Blossom accross several Blossom servers to let them survive the future internet apocalypse.
Blossom has just been released few days ago, many news and features will come!
Don't hesisate to follow hzrd149 on Nostr to follow-up the future updates ⚡🔥
See you soon in another Fractalized story!
PastaGringo 🤖⚡ -
@ b6ca2216:f45f8b5b
2024-10-20 00:19:37my 3. article
-
@ 42342239:1d80db24
2024-04-05 08:21:50Trust is a topic increasingly being discussed. Whether it is trust in each other, in the media, or in our authorities, trust is generally seen as a cornerstone of a strong and well-functioning society. The topic was also the theme of the World Economic Forum at its annual meeting in Davos earlier this year. Even among central bank economists, the subject is becoming more prevalent. Last year, Agustín Carstens, head of the BIS ("the central bank of central banks"), said that "[w]ith trust, the public will be more willing to accept actions that involve short-term costs in exchange for long-term benefits" and that "trust is vital for policy effectiveness".
It is therefore interesting when central banks or others pretend as if nothing has happened even when trust has been shattered.
Just as in Sweden and in hundreds of other countries, Canada is planning to introduce a central bank digital currency (CBDC), a new form of money where the central bank or its intermediaries (the banks) will have complete insight into citizens' transactions. Payments or money could also be made programmable. Everything from transferring ownership of a car automatically after a successful payment to the seller, to payments being denied if you have traveled too far from home.
"If Canadians decide a digital dollar is necessary, our obligation is to be ready" says Carolyn Rogers, Deputy Head of Bank of Canada, in a statement shared in an article.
So, what do the citizens want? According to a report from the Bank of Canada, a whopping 88% of those surveyed believe that the central bank should refrain from developing such a currency. About the same number (87%) believe that authorities should guarantee the opportunity to pay with cash instead. And nearly four out of five people (78%) do not believe that the central bank will care about people's opinions. What about trust again?
Canadians' likely remember the Trudeau government's actions against the "Freedom Convoy". The Freedom Convoy consisted of, among others, truck drivers protesting the country's strict pandemic policies, blocking roads in the capital Ottawa at the beginning of 2022. The government invoked never-before-used emergency measures to, among other things, "freeze" people's bank accounts. Suddenly, truck drivers and those with a "connection" to the protests were unable to pay their electricity bills or insurances, for instance. Superficially, this may not sound so serious, but ultimately, it could mean that their families end up in cold houses (due to electricity being cut off) and that they lose the ability to work (driving uninsured vehicles is not taken lightly). And this applied not only to the truck drivers but also to those with a "connection" to the protests. No court rulings were required.
Without the freedom to pay for goods and services, i.e. the freedom to transact, one has no real freedom at all, as several participants in the protests experienced.
In January of this year, a federal judge concluded that the government's actions two years ago were unlawful when it invoked the emergency measures. The use did not display "features of rationality - motivation, transparency, and intelligibility - and was not justified in relation to the relevant factual and legal limitations that had to be considered". He also argued that the use was not in line with the constitution. There are also reports alleging that the government fabricated evidence to go after the demonstrators. The case is set to continue to the highest court. Prime Minister Justin Trudeau and Finance Minister Chrystia Freeland have also recently been sued for the government's actions.
The Trudeau government's use of emergency measures two years ago sadly only provides a glimpse of what the future may hold if CBDCs or similar systems replace the current monetary system with commercial bank money and cash. In Canada, citizens do not want the central bank to proceed with the development of a CBDC. In canada, citizens in Canada want to strengthen the role of cash. In Canada, citizens suspect that the central bank will not listen to them. All while the central bank feverishly continues working on the new system...
"Trust is vital", said Agustín Carstens. But if policy-makers do not pause for a thoughtful reflection even when trust has been utterly shattered as is the case in Canada, are we then not merely dealing with lip service?
And how much trust do these policy-makers then deserve?
-
@ 42342239:1d80db24
2024-03-31 11:23:36Biologist Stuart Kauffman introduced the concept of the "adjacent possible" in evolutionary biology in 1996. A bacterium cannot suddenly transform into a flamingo; rather, it must rely on small exploratory changes (of the "adjacent possible") if it is ever to become a beautiful pink flying creature. The same principle applies to human societies, all of which exemplify complex systems. It is indeed challenging to transform shivering cave-dwellers into a space travelers without numerous intermediate steps.
Imagine a water wheel – in itself, perhaps not such a remarkable invention. Yet the water wheel transformed the hard-to-use energy of water into easily exploitable rotational energy. A little of the "adjacent possible" had now been explored: water mills, hammer forges, sawmills, and textile factories soon emerged. People who had previously ground by hand or threshed with the help of oxen could now spend their time on other things. The principles of the water wheel also formed the basis for wind power. Yes, a multitude of possibilities arose – reminiscent of the rapid development during the Cambrian explosion. When the inventors of bygone times constructed humanity's first water wheel, they thus expanded the "adjacent possible". Surely, the experts of old likely sought swift prohibitions. Not long ago, our expert class claimed that the internet was going to be a passing fad, or that it would only have the same modest impact on the economy as the fax machine. For what it's worth, there were even attempts to ban the number zero back in the days.
The pseudonymous creator of Bitcoin, Satoshi Nakamoto, wrote in Bitcoin's whitepaper that "[w]e have proposed a system for electronic transactions without relying on trust." The Bitcoin system enables participants to agree on what is true without needing to trust each other, something that has never been possible before. In light of this, it is worth noting that trust in the federal government in the USA is among the lowest levels measured in almost 70 years. Trust in media is at record lows. Moreover, in countries like the USA, the proportion of people who believe that one can trust "most people" has decreased significantly. "Rebuilding trust" was even the theme of the World Economic Forum at its annual meeting. It is evident, even in the international context, that trust between countries is not at its peak.
Over a fifteen-year period, Bitcoin has enabled electronic transactions without its participants needing to rely on a central authority, or even on each other. This may not sound like a particularly remarkable invention in itself. But like the water wheel, one must acknowledge that new potential seems to have been put in place, potential that is just beginning to be explored. Kauffman's "adjacent possible" has expanded. And despite dogmatic statements to the contrary, no one can know for sure where this might lead.
The discussion of Bitcoin or crypto currencies would benefit from greater humility and openness, not only from employees or CEOs of money laundering banks but also from forecast-failing central bank officials. When for instance Chinese Premier Zhou Enlai in the 1970s was asked about the effects of the French Revolution, he responded that it was "too early to say" - a far wiser answer than the categorical response of the bureaucratic class. Isn't exploring systems not based on trust is exactly what we need at this juncture?
-
@ b6ca2216:f45f8b5b
2024-10-20 00:16:38{"id":12345,"title":"deleted","body":"deleted"}
-
@ b12b632c:d9e1ff79
2024-03-23 16:42:49CASHU AND ECASH ARE EXPERIMENTAL PROJECTS. BY THE OWN NATURE OF CASHU ECASH, IT'S REALLY EASY TO LOSE YOUR SATS BY LACKING OF KNOWLEDGE OF THE SYSTEM MECHANICS. PLEASE, FOR YOUR OWN GOOD, ALWAYS USE FEW SATS AMOUNT IN THE BEGINNING TO FULLY UNDERSTAND HOW WORKS THE SYSTEM. ECASH IS BASED ON A TRUST RELATIONSHIP BETWEEN YOU AND THE MINT OWNER, PLEASE DONT TRUST ECASH MINT YOU DONT KNOW. IT IS POSSIBLE TO GENERATE UNLIMITED ECASH TOKENS FROM A MINT, THE ONLY WAY TO VALIDATE THE REAL EXISTENCE OF THE ECASH TOKENS IS TO DO A MULTIMINT SWAP (BETWEEN MINTS). PLEASE, ALWAYS DO A MULTISWAP MINT IF YOU RECEIVE SOME ECASH FROM SOMEONE YOU DON'T KNOW/TRUST. NEVER TRUST A MINT YOU DONT KNOW!
IF YOU WANT TO RUN AN ECASH MINT WITH A BTC LIGHTNING NODE IN BACK-END, PLEASE DEDICATE THIS LN NODE TO YOUR ECASH MINT. A BAD MANAGEMENT OF YOUR LN NODE COULD LET PEOPLE TO LOOSE THEIR SATS BECAUSE THEY HAD ONCE TRUSTED YOUR MINT AND YOU DID NOT MANAGE THE THINGS RIGHT.
What's ecash/Cashu ?
I recently listened a passionnating interview from calle 👁️⚡👁 invited by the podcast channel What Bitcoin Did about the new (not so much now) Cashu protocol.
Cashu is a a free and open-source Chaumian ecash project built for Bitcoin protocol, recently created in order to let users send/receive Ecash over BTC Lightning network. The main Cashu ecash goal is to finally give you a "by-design" privacy mechanism to allow us to do anonymous Bitcoin transactions.
Ecash for your privacy.\ A Cashu mint does not know who you are, what your balance is, or who you're transacting with. Users of a mint can exchange ecash privately without anyone being able to know who the involved parties are. Bitcoin payments are executed without anyone able to censor specific users.
Here are some useful links to begin with Cashu ecash :
Github repo: https://github.com/cashubtc
Documentation: https://docs.cashu.space
To support the project: https://docs.cashu.space/contribute
A Proof of Liabilities Scheme for Ecash Mints: https://gist.github.com/callebtc/ed5228d1d8cbaade0104db5d1cf63939
Like NOSTR and its own NIPS, here is the list of the Cashu ecash NUTs (Notation, Usage, and Terminology): https://github.com/cashubtc/nuts?tab=readme-ov-file
I won't explain you at lot more on what's Casu ecash, you need to figured out by yourself. It's really important in order to avoid any mistakes you could do with your sats (that you'll probably regret).
If you don't have so much time, you can check their FAQ right here: https://docs.cashu.space/faq
I strongly advise you to listen Calle's interviews @whatbbitcoindid to "fully" understand the concept and the Cashu ecash mechanism before using it:
Scaling Bitcoin Privacy with Calle
In the meantime I'm writing this article, Calle did another really interesting interview with ODELL from CitadelDispatch:
CD120: BITCOIN POWERED CHAUMIAN ECASH WITH CALLE
Which ecash apps?
There are several ways to send/receive some Ecash tokens, you can do it by using mobile applications like eNuts, Minibits or by using Web applications like Cashu.me, Nustrache or even npub.cash. On these topics, BTC Session Youtube channel offers high quality contents and very easy to understand key knowledge on how to use these applications :
Minibits BTC Wallet: Near Perfect Privacy and Low Fees - FULL TUTORIAL
Cashu Tutorial - Chaumian Ecash On Bitcoin
Unlock Perfect Privacy with eNuts: Instant, Free Bitcoin Transactions Tutorial
Cashu ecash is a very large and complex topic for beginners. I'm still learning everyday how it works and the project moves really fast due to its commited developpers community. Don't forget to follow their updates on Nostr to know more about the project but also to have a better undertanding of the Cashu ecash technical and political implications.
There is also a Matrix chat available if you want to participate to the project:
https://matrix.to/#/#cashu:matrix.org
How to self-host your ecash mint with Nutshell
Cashu Nutshell is a Chaumian Ecash wallet and mint for Bitcoin Lightning. Cashu Nutshell is the reference implementation in Python.
Github repo:
https://github.com/cashubtc/nutshell
Today, Nutshell is the most advanced mint in town to self-host your ecash mint. The installation is relatively straightforward with Docker because a docker-compose file is available from the github repo.
Nutshell is not the only cashu ecash mint server available, you can check other server mint here :
https://docs.cashu.space/mints
The only "external" requirement is to have a funding source. One back-end funding source where ecash will mint your ecash from your Sats and initiate BTC Lightning Netwok transactions between ecash mints and BTC Ligtning nodes during a multimint swap. Current backend sources supported are: FakeWallet*, LndRestWallet, CoreLightningRestWallet, BlinkWallet, LNbitsWallet, StrikeUSDWallet.
*FakeWallet is able to generate unlimited ecash tokens. Please use it carefully, ecash tokens issued by the FakeWallet can be sent and accepted as legit ecash tokens to other people ecash wallets if they trust your mint. In the other way, if someone send you 2,3M ecash tokens, please don't trust the mint in the first place. You need to force a multimint swap with a BTC LN transaction. If that fails, someone has maybe tried to fool you.
I used a Voltage.cloud BTC LN node instance to back-end my Nutshell ecash mint:
SPOILER: my nutshell mint is working but I have an error message "insufficient balance" when I ask a multiswap mint from wallet.cashu.me or the eNuts application. In order to make it work, I need to add some Sats liquidity (I can't right now) to the node and open few channels with good balance capacity. If you don't have an ecash mint capable of doig multiswap mint, you'll only be able to mint ecash into your ecash mint and send ecash tokens to people trusting your mint. It's working, yes, but you need to be able to do some mutiminit swap if you/everyone want to fully profit of the ecash system.
Once you created your account and you got your node, you need to git clone the Nutshell github repo:
git clone https://github.com/cashubtc/nutshell.git
You next need to update the docker compose file with your own settings. You can comment the wallet container if you don't need it.
To generate a private key for your node, you can use this openssl command
openssl rand -hex 32 054de2a00a1d8e3038b30e96d26979761315cf48395aa45d866aeef358c91dd1
The CLI Cashu wallet is not needed right now but I'll show you how to use it in the end of this article. Feel free to comment it or not.
``` version: "3" services: mint: build: context: . dockerfile: Dockerfile container_name: mint
ports:
- "3338:3338"
environment:
- DEBUG=TRUE
- LOG_LEVEL=DEBUG
- MINT_URL=https://YourMintURL - MINT_HOST=YourMintDomain.tld - MINT_LISTEN_HOST=0.0.0.0 - MINT_LISTEN_PORT=3338 - MINT_PRIVATE_KEY=YourPrivateKeyFromOpenSSL - MINT_INFO_NAME=YourMintInfoName - MINT_INFO_DESCRIPTION=YourShortInfoDesc - MINT_INFO_DESCRIPTION_LONG=YourLongInfoDesc - MINT_LIGHTNING_BACKEND=LndRestWallet #- MINT_LIGHTNING_BACKEND=FakeWallet - MINT_INFO_CONTACT=[["email","YourConctact@email"], ["twitter","@YourTwitter"], ["nostr", "YourNPUB"]] - MINT_INFO_MOTD=Thanks for using my mint! - MINT_LND_REST_ENDPOINT=https://YourVoltageNodeDomain:8080 - MINT_LND_REST_MACAROON=YourDefaultAdminMacaroonBase64 - MINT_MAX_PEG_IN=100000 - MINT_MAX_PEG_OUT=100000 - MINT_PEG_OUT_ONLY=FALSE command: ["poetry", "run", "mint"]
wallet-voltage: build: context: . dockerfile: Dockerfile container_name: wallet-voltage
ports:
- "4448:4448"
depends_on: - nutshell-voltage environment:
- DEBUG=TRUE
- MINT_URL=http://nutshell-voltage:3338
- API_HOST=0.0.0.0 command: ["poetry", "run", "cashu", "-d"]
```
To build, run and see the container logs:
docker compose up -d && docker logs -f mint
0.15.1 2024-03-22 14:45:45.490 | WARNING | cashu.lightning.lndrest:__init__:49 - no certificate for lndrest provided, this only works if you have a publicly issued certificate 2024-03-22 14:45:45.557 | INFO | cashu.core.db:__init__:135 - Creating database directory: data/mint 2024-03-22 14:45:45.68 | INFO | Started server process [1] 2024-03-22 14:45:45.69 | INFO | Waiting for application startup. 2024-03-22 14:45:46.12 | INFO | Loaded 0 keysets from database. 2024-03-22 14:45:46.37 | INFO | Current keyset: 003dba9e589023f1 2024-03-22 14:45:46.37 | INFO | Using LndRestWallet backend for method: 'bolt11' and unit: 'sat' 2024-03-22 14:45:46.97 | INFO | Backend balance: 1825000 sat 2024-03-22 14:45:46.97 | INFO | Data dir: /root/.cashu 2024-03-22 14:45:46.97 | INFO | Mint started. 2024-03-22 14:45:46.97 | INFO | Application startup complete. 2024-03-22 14:45:46.98 | INFO | Uvicorn running on http://0.0.0.0:3338 (Press CTRL+C to quit) 2024-03-22 14:45:47.27 | INFO | 172.19.0.22:48528 - "GET /v1/keys HTTP/1.1" 200 2024-03-22 14:45:47.34 | INFO | 172.19.0.22:48544 - "GET /v1/keysets HTTP/1.1" 200 2024-03-22 14:45:47.38 | INFO | 172.19.0.22:48552 - "GET /v1/info HTTP/1.1" 200
If you see the line :
Uvicorn running on http://0.0.0.0:3338 (Press CTRL+C to quit)
Nutshell is well started.
I won't explain here how to create a reverse proxy to Nutshell, you can find how to do it into my previous article. Here is the reverse proxy config into Nginx Proxy Manager:
If everything is well configured and if you go on your mint url (https://yourminturl) you shoud see this:
It's not helping a lot because at first glance it seems to be not working but it is. You can also check these URL path to confirm :
- https://yourminturl/keys and https://yourminturl/keysets
or
- https://yourminturl/v1/keys and https://yourminturl/v1/keysets
Depending of the moment when you read this article, the first URLs path might have been migrated to V1. Here is why:
https://github.com/cashubtc/nuts/pull/55
The final test is to add your mint to your prefered ecash wallets.
SPOILER: AT THIS POINT, YOU SHOUD KNOW THAT IF YOU RESET YOUR LOCAL BROWSER INTERNET CACHE FILE, YOU'LL LOSE YOUR MINTED ECASH TOKENS. IF NOT, PLEASE READ THE DOCUMENTATION AGAIN.
For instace, if we use wallet.cashu.me:
You can go into the "Settings" tab and add your mint :
If everything went find, you shoud see this :
You can now mint some ecash from your mint creating a sats invoice :
You can now scan the QR diplayed with your prefered BTC LN wallet. If everything is OK, you should receive the funds:
It may happen that some error popup sometimes. If you are curious and you want to know what happened, Cashu wallet has a debug console you can activate by clicking on the "Settings" page and "OPEN DEBUG TERMINAL". A little gear icon will be displayed in the bottom of the screen. You can click on it, go to settings and enable "Auto Display If Error Occurs" and "Display Extra Information". After enabling this setting, you can close the popup windows and let the gear icon enabled. If any error comes, this windows will open again and show you thé error:
Now that you have some sats in your balance, you can try to send some ecash. Open in a new windows another ecash wallet like Nutstach for instance.
Add your mint again :
Return on Cashu wallet. The ecash token amount you see on the Cashu wallet home page is a total of all the ecash tokens you have on all mint connected.
Next, click on "Send ecach". Insert the amout of ecash you want to transfer to your other wallet. You can select the wallet where you want to extract the funds by click on the little arrow near the sats funds you currenly selected :
Click now on "SEND TOKENS". That will open you a popup with a QR code and a code CONTAINING YOUR ECASH TOKENS (really).
You can now return on nutstach, click on the "Receive" button and paste the code you get from Cashu wallet:
Click on "RECEIVE" again:
Congrats, you transfered your first ecash tokens to yourself ! 🥜⚡
You may need some time to transfer your ecash tokens between your wallets and your mint, there is a functionality existing for that called "Multimint swaps".
Before that, if you need new mints, you can check the very new website Bitcoinmints.com that let you see the existing ecash mints and rating :
Don't forget, choose your mint carefuly because you don't know who's behind.
Let's take a mint and add it to our Cashu wallet:
If you want to transfer let's say 20 sats from minibits mint to bitcointxoko mint, go just bottom into the "Multimint swap" section. Select the mint into "Swap from mint", the mint into "Swap to mint" and click on "SWAP" :
A popup window will appear and will request the ecash tokens from the source mint. It will automatically request the ecash amount via a Lightning node transaction and add the fund to your other wallet in the target mint. As it's a Lightning Network transaction, you can expect some little fees.
If everything is OK with the mints, the swap will be successful and the ecash received.
You can now see that the previous sats has been transfered (minus 2 fee sats).
Well done, you did your first multimint swap ! 🥜⚡
One last thing interresting is you can also use CLI ecash wallet. If you created the wallet contained in the docker compose, the container should be running.
Here are some commands you can do.
To verify which mint is currently connected :
``` docker exec -it wallet-voltage poetry run cashu info
2024-03-22 21:57:24.91 | DEBUG | cashu.wallet.wallet:init:738 | Wallet initialized 2024-03-22 21:57:24.91 | DEBUG | cashu.wallet.wallet:init:739 | Mint URL: https://nutshell-voltage.fractalized.net 2024-03-22 21:57:24.91 | DEBUG | cashu.wallet.wallet:init:740 | Database: /root/.cashu/wallet 2024-03-22 21:57:24.91 | DEBUG | cashu.wallet.wallet:init:741 | Unit: sat 2024-03-22 21:57:24.92 | DEBUG | cashu.wallet.wallet:init:738 | Wallet initialized 2024-03-22 21:57:24.92 | DEBUG | cashu.wallet.wallet:init:739 | Mint URL: https://nutshell-voltage.fractalized.net 2024-03-22 21:57:24.92 | DEBUG | cashu.wallet.wallet:init:740 | Database: /root/.cashu/wallet 2024-03-22 21:57:24.92 | DEBUG | cashu.wallet.wallet:init:741 | Unit: sat Version: 0.15.1 Wallet: wallet Debug: True Cashu dir: /root/.cashu Mints: - https://nutshell-voltage.fractalized.net ```
To verify your balance :
``` docker exec -it wallet-voltage poetry run cashu balance
2024-03-22 21:59:26.67 | DEBUG | cashu.wallet.wallet:init:738 | Wallet initialized 2024-03-22 21:59:26.67 | DEBUG | cashu.wallet.wallet:init:739 | Mint URL: https://nutshell-voltage.fractalized.net 2024-03-22 21:59:26.67 | DEBUG | cashu.wallet.wallet:init:740 | Database: /root/.cashu/wallet 2024-03-22 21:59:26.67 | DEBUG | cashu.wallet.wallet:init:741 | Unit: sat 2024-03-22 21:59:26.68 | DEBUG | cashu.wallet.wallet:init:738 | Wallet initialized 2024-03-22 21:59:26.68 | DEBUG | cashu.wallet.wallet:init:739 | Mint URL: https://nutshell-voltage.fractalized.net 2024-03-22 21:59:26.68 | DEBUG | cashu.wallet.wallet:init:740 | Database: /root/.cashu/wallet 2024-03-22 21:59:26.68 | DEBUG | cashu.wallet.wallet:init:741 | Unit: sat Balance: 0 sat ```
To create an sats invoice to have ecash :
``` docker exec -it wallet-voltage poetry run cashu invoice 20
2024-03-22 22:00:59.12 | DEBUG | cashu.wallet.wallet:_load_mint_info:275 | Mint info: name='nutshell.fractalized.net' pubkey='02008469922e985cbc5368ce16adb6ed1aaea0f9ecb21639db4ded2e2ae014a326' version='Nutshell/0.15.1' description='Official Fractalized Mint' description_long='TRUST THE MINT' contact=[['email', 'pastagringo@fractalized.net'], ['twitter', '@pastagringo'], ['nostr', 'npub1ky4kxtyg0uxgw8g5p5mmedh8c8s6sqny6zmaaqj44gv4rk0plaus3m4fd2']] motd='Thanks for using official ecash fractalized mint!' nuts={4: {'methods': [['bolt11', 'sat']], 'disabled': False}, 5: {'methods': [['bolt11', 'sat']], 'disabled': False}, 7: {'supported': True}, 8: {'supported': True}, 9: {'supported': True}, 10: {'supported': True}, 11: {'supported': True}, 12: {'supported': True}} Balance: 0 sat
Pay invoice to mint 20 sat:
Invoice: lnbc200n1pjlmlumpp5qh68cqlr2afukv9z2zpna3cwa3a0nvla7yuakq7jjqyu7g6y69uqdqqcqzzsxqyz5vqsp5zymmllsqwd40xhmpu76v4r9qq3wcdth93xthrrvt4z5ct3cf69vs9qyyssqcqppurrt5uqap4nggu5tvmrlmqs5guzpy7jgzz8szckx9tug4kr58t4avv4a6437g7542084c6vkvul0ln4uus7yj87rr79qztqldggq0cdfpy
You can use this command to check the invoice: cashu invoice 20 --id 2uVWELhnpFcNeFZj6fWzHjZuIipqyj5R8kM7ZJ9_
Checking invoice .................2024-03-22 22:03:25.27 | DEBUG | cashu.wallet.wallet:verify_proofs_dleq:1103 | Verified incoming DLEQ proofs. Invoice paid.
Balance: 20 sat ```
To pay an invoice by pasting the invoice you received by your or other people :
``` docker exec -it wallet-voltage poetry run cashu pay lnbc150n1pjluqzhpp5rjezkdtt8rjth4vqsvm50xwxtelxjvkq90lf9tu2thsv2kcqe6vqdq2f38xy6t5wvcqzzsxqrpcgsp58q9sqkpu0c6s8hq5pey8ls863xmjykkumxnd8hff3q4fvxzyh0ys9qyyssq26ytxay6up54useezjgqm3cxxljvqw5vq2e94ru7ytqc0al74hr4nt5cwpuysgyq8u25xx5la43mx4ralf3mq2425xmvhjzvwzqp54gp0e3t8e
2024-03-22 22:04:37.23 | DEBUG | cashu.wallet.wallet:_load_mint_info:275 | Mint info: name='nutshell.fractalized.net' pubkey='02008469922e985cbc5368ce16adb6ed1aaea0f9ecb21639db4ded2e2ae014a326' version='Nutshell/0.15.1' description='Official Fractalized Mint' description_long='TRUST THE MINT' contact=[['email', 'pastagringo@fractalized.net'], ['twitter', '@pastagringo'], ['nostr', 'npub1ky4kxtyg0uxgw8g5p5mmedh8c8s6sqny6zmaaqj44gv4rk0plaus3m4fd2']] motd='Thanks for using official ecash fractalized mint!' nuts={4: {'methods': [['bolt11', 'sat']], 'disabled': False}, 5: {'methods': [['bolt11', 'sat']], 'disabled': False}, 7: {'supported': True}, 8: {'supported': True}, 9: {'supported': True}, 10: {'supported': True}, 11: {'supported': True}, 12: {'supported': True}} Balance: 20 sat 2024-03-22 22:04:37.45 | DEBUG | cashu.wallet.wallet:get_pay_amount_with_fees:1529 | Mint wants 0 sat as fee reserve. 2024-03-22 22:04:37.45 | DEBUG | cashu.wallet.cli.cli:pay:189 | Quote: quote='YpNkb5f6WVT_5ivfQN1OnPDwdHwa_VhfbeKKbBAB' amount=15 fee_reserve=0 paid=False expiry=1711146847 Pay 15 sat? [Y/n]: y Paying Lightning invoice ...2024-03-22 22:04:41.13 | DEBUG | cashu.wallet.wallet:split:613 | Calling split. POST /v1/swap 2024-03-22 22:04:41.21 | DEBUG | cashu.wallet.wallet:verify_proofs_dleq:1103 | Verified incoming DLEQ proofs. Error paying invoice: Mint Error: Lightning payment unsuccessful. insufficient_balance (Code: 20000) ```
It didn't work, yes. That's the thing I told you earlier but it would work with a well configured and balanced Lightning Node.
That's all ! You should now be able to use ecash as you want! 🥜⚡
See you on NOSTR! 🤖⚡\ PastaGringo
-
@ ee11a5df:b76c4e49
2024-03-22 23:49:09Implementing The Gossip Model
version 2 (2024-03-23)
Introduction
History
The gossip model is a general concept that allows clients to dynamically follow the content of people, without specifying which relay. The clients have to figure out where each person puts their content.
Before NIP-65, the gossip client did this in multiple ways:
- Checking kind-3 contents, which had relay lists for configuring some clients (originally Astral and Damus), and recognizing that wherever they were writing our client could read from.
- NIP-05 specifying a list of relays in the
nostr.json
file. I added this to NIP-35 which got merged down into NIP-05. - Recommended relay URLs that are found in 'p' tags
- Users manually making the association
- History of where events happen to have been found. Whenever an event came in, we associated the author with the relay.
Each of these associations were given a score (recommended relay urls are 3rd party info so they got a low score).
Later, NIP-65 made a new kind of relay list where someone could advertise to others which relays they use. The flag "write" is now called an OUTBOX, and the flag "read" is now called an INBOX.
The idea of inboxes came about during the development of NIP-65. They are a way to send an event to a person to make sure they get it... because putting it on your own OUTBOX doesn't guarantee they will read it -- they may not follow you.
The outbox model is the use of NIP-65. It is a subset of the gossip model which uses every other resource at it's disposal.
Rationale
The gossip model keeps nostr decentralized. If all the (major) clients were using it, people could spin up small relays for both INBOX and OUTBOX and still be fully connected, have their posts read, and get replies and DMs. This is not to say that many people should spin up small relays. But the task of being decentralized necessitates that people must be able to spin up their own relay in case everybody else is censoring them. We must make it possible. In reality, congregating around 30 or so popular relays as we do today is not a problem. Not until somebody becomes very unpopular with bitcoiners (it will probably be a shitcoiner), and then that person is going to need to leave those popular relays and that person shouldn't lose their followers or connectivity in any way when they do.
A lot more rationale has been discussed elsewhere and right now I want to move on to implementation advice.
Implementation Advice
Read NIP-65
NIP-65 will contain great advice on which relays to consult for which purposes. This post does not supersede NIP-65. NIP-65 may be getting some smallish changes, mostly the addition of a private inbox for DMs, but also changes to whether you should read or write to just some or all of a set of relays.
How often to fetch kind-10002 relay lists for someone
This is up to you. Refreshing them every hour seems reasonable to me. Keeping track of when you last checked so you can check again every hour is a good idea.
Where to fetch events from
If your user follows another user (call them jack), then you should fetch jack's events from jack's OUTBOX relays. I think it's a good idea to use 2 of those relays. If one of those choices fails (errors), then keep trying until you get 2 of them that worked. This gives some redundancy in case one of them is censoring. You can bump that number up to 3 or 4, but more than that is probably just wasting bandwidth.
To find events tagging your user, look in your user's INBOX relays for those. In this case, look into all of them because some clients will only write to some of them (even though that is no longer advised).
Picking relays dynamically
Since your user follows many other users, it is very useful to find a small subset of all of their OUTBOX relays that cover everybody followed. I wrote some code to do this as (it is used by gossip) that you can look at for an example.
Where to post events to
Post all events (except DMs) to all of your users OUTBOX relays. Also post the events to all the INBOX relays of anybody that was tagged or mentioned in the contents in a nostr bech32 link (if desired). That way all these mentioned people are aware of the reply (or quote or repost).
DMs should be posted only to INBOX relays (in the future, to PRIVATE INBOX relays). You should post it to your own INBOX relays also, because you'll want a record of the conversation. In this way, you can see all your DMs inbound and outbound at your INBOX relay.
Where to publish your user's kind-10002 event to
This event was designed to be small and not require moderation, plus it is replaceable so there is only one per user. For this reason, at the moment, just spread it around to lots of relays especially the most popular relays.
For example, the gossip client automatically determines which relays to publish to based on whether they seem to be working (several hundred) and does so in batches of 10.
How to find replies
If all clients used the gossip model, you could find all the replies to any post in the author's INBOX relays for any event with an 'e' tag tagging the event you want replies to... because gossip model clients will publish them there.
But given the non-gossip-model clients, you should also look where the event was seen and look on those relays too.
Clobbering issues
Please read your users kind 10002 event before clobbering it. You should look many places to make sure you didn't miss the newest one.
If the old relay list had tags you don't understand (e.g. neither "read" nor "write"), then preserve them.
How users should pick relays
Today, nostr relays are not uniform. They have all kinds of different rule-sets and purposes. We severely lack a way to advice non-technical users as to which relays make good OUTBOX relays and which ones make good INBOX relays. But you are a dev, you can figure that out pretty well. For example, INBOX relays must accept notes from anyone meaning they can't be paid-subscription relays.
Bandwidth isn't a big issue
The outbox model doesn't require excessive bandwidth when done right. You shouldn't be downloading the same note many times... only 2-4 times depending on the level of redundancy your user wants.
Downloading 1000 events from 100 relays is in theory the same amount of data as downloading 1000 events from 1 relay.
But in practice, due to redundancy concerns, you will end up downloading 2000-3000 events from those 100 relays instead of just the 1000 you would in a single relay situation. Remember, per person followed, you will only ask for their events from 2-4 relays, not from all 100 relays!!!
Also in practice, the cost of opening and maintaining 100 network connections is more than the cost of opening and maintaining just 1. But this isn't usually a big deal unless...
Crypto overhead on Low-Power Clients
Verifying Schnorr signatures in the secp256k1 cryptosystem is not cheap. Setting up SSL key exchange is not cheap either. But most clients will do a lot more event signature validations than they will SSL setups.
For this reason, connecting to 50-100 relays is NOT hugely expensive for clients that are already verifying event signatures, as the number of events far surpasses the number of relay connections.
But for low-power clients that can't do event signature verification, there is a case for them not doing a lot of SSL setups either. Those clients would benefit from a different architecture, where half of the client was on a more powerful machine acting as a proxy for the low-power half of the client. These halves need to trust each other, so perhaps this isn't a good architecture for a business relationship, but I don't know what else to say about the low-power client situation.
Unsafe relays
Some people complain that the outbox model directs their client to relays that their user has not approved. I don't think it is a big deal, as such users can use VPNs or Tor if they need privacy. But for such users that still have concerns, they may wish to use clients that give them control over this. As a client developer you can choose whether to offer this feature or not.
The gossip client allows users to require whitelisting for connecting to new relays and for AUTHing to relays.
See Also
-
@ 42342239:1d80db24
2024-03-21 09:49:01It has become increasingly evident that our financial system has started undermine our constitutionally guaranteed freedoms and rights. Payment giants like PayPal, Mastercard, and Visa sometimes block the ability to donate money. Individuals, companies, and associations lose bank accounts — or struggle to open new ones. In bank offices, people nowadays risk undergoing something resembling being cross-examined. The regulations are becoming so cumbersome that their mere presence risks tarnishing the banks' reputation.
The rules are so complex that even within the same bank, different compliance officers can provide different answers to the same question! There are even departments where some of the compliance officers are reluctant to provide written responses and prefer to answer questions over an unrecorded phone call. Last year's corporate lawyer in Sweden recently complained about troublesome bureaucracy, and that's from a the perspective of a very large corporation. We may not even fathom how smaller businesses — the keys to a nation's prosperity — experience it.
Where do all these rules come?
Where do all these rules come from, and how well do they work? Today's regulations on money laundering (AML) and customer due diligence (KYC - know your customer) primarily originate from a G7 meeting in the summer of 1989. (The G7 comprises the seven advanced economies: the USA, Canada, the UK, Germany, France, Italy, and Japan, along with the EU.) During that meeting, the intergovernmental organization FATF (Financial Action Task Force) was established with the aim of combating organized crime, especially drug trafficking. Since then, its mandate has expanded to include fighting money laundering, terrorist financing, and the financing of the proliferation of weapons of mass destruction(!). One might envisage the rules soon being aimed against proliferation of GPUs (Graphics Processing Units used for AI/ML). FATF, dominated by the USA, provides frameworks and recommendations for countries to follow. Despite its influence, the organization often goes unnoticed. Had you heard of it?
FATF offered countries "a deal they couldn't refuse"
On the advice of the USA and G7 countries, the organization decided to begin grading countries in "blacklists" and "grey lists" in 2000, naming countries that did not comply with its recommendations. The purpose was to apply "pressure" to these countries if they wanted to "retain their position in the global economy." The countries were offered a deal they couldn't refuse, and the number of member countries rapidly increased. Threatening with financial sanctions in this manner has even been referred to as "extraterritorial bullying." Some at the time even argued that the process violated international law.
If your local Financial Supervisory Authority (FSA) were to fail in enforcing compliance with FATF's many checklists among financial institutions, the risk of your country and its banks being barred from the US-dominated financial markets would loom large. This could have disastrous consequences.
A cost-benefit analysis of AML and KYC regulations
Economists use cost-benefit analysis to determine whether an action or a policy is successful. Let's see what such an analysis reveals.
What are the benefits (or revenues) after almost 35 years of more and more rules and regulations? The United Nations Office on Drugs and Crime estimated that only 0.2% of criminal proceeds are confiscated. Other estimates suggest a success rate from such anti-money laundering rules of 0.07% — a rounding error for organized crime. Europol expects to recover 1.2 billion euros annually, equivalent to about 1% of the revenue generated in the European drug market (110 billion euros). However, the percentage may be considerably lower, as the size of the drug market is likely underestimated. Moreover, there are many more "criminal industries" than just the drug trade; human trafficking is one example - there are many more. In other words, criminal organizations retain at least 99%, perhaps even 99.93%, of their profits, despite all cumbersome rules regarding money laundering and customer due diligence.
What constitutes the total cost of this bureaurcratic activity, costs that eventually burden taxpayers and households via higher fees? Within Europe, private financial firms are estimated to spend approximately 144 billion euros on compliance. According to some estimates, the global cost is twice as high, perhaps even eight times as much.
For Europe, the cost may thus be about 120 times (144/1.2) higher than the revenues from these measures. These "compliance costs" bizarrely exceed the total profits from the drug market, as one researcher put it. Even though the calculations are uncertain, it is challenging — perhaps impossible — to legitimize these regulations from a cost-benefit perspective.
But it doesn't end there, unfortunately. The cost of maintaining this compliance circus, with around 80 international organizations, thousands of authorities, far more employees, and all this across hundreds of countries, remains a mystery. But it's unlikely to be cheap.
The purpose of a system is what it does
In Economic Possibilities for our Grandchildren (1930), John Maynard Keynes foresaw that thanks to technological development, we could have had a 15-hour workweek by now. This has clearly not happened. Perhaps jobs have been created that are entirely meaningless? Anthropologist David Graeber argued precisely this in Bullshit Jobs in 2018. In that case, a significant number of people spend their entire working lives performing tasks they suspect deep down don't need to be done.
"The purpose of a system is what it does" is a heuristic coined by Stafford Beer. He observed there is "no point in claiming that the purpose of a system is to do what it constantly fails to do. What the current regulatory regime fails to do is combat criminal organizations. Nor does it seem to prevent banks from laundering money as never before, or from providing banking services to sex-offending traffickers
What the current regulatory regime does do, is: i) create armies of meaningless jobs, ii) thereby undermining mental health as well as economic prosperity, while iii) undermining our freedom and rights.
What does this say about the purpose of the system?
-
@ b6ca2216:f45f8b5b
2024-10-19 23:51:01{id:123, title:"my first article", body:"This NIP defines kind:30402: an addressable event to describe classified listings that list any arbitrary product, service, or other thing for sale or offer and includes enough structured metadata to make them useful. The category of classifieds includes a very broad range of physical goods, services, work opportunities, rentals, free giveaways, personals, etc. and is distinct from the more strictly structured marketplaces defined in NIP-15 that often sell many units of specific products through very specific channels. The structure of these events is very similar to NIP-23 long-form content events."}
-
@ ee11a5df:b76c4e49
2024-03-21 00:28:47I'm glad to see more activity and discussion about the gossip model. Glad to see fiatjaf and Jack posting about it, as well as many developers pitching in in the replies. There are difficult problems we need to overcome, and finding notes while remaining decentralized without huge note copying overhead was just the first. While the gossip model (including the outbox model which is just the NIP-65 part) completely eliminates the need to copy notes around to lots of relays, and keeps us decentralized, it brings about it's own set of new problems. No community is ever of the same mind on any issue, and this issue is no different. We have a lot of divergent opinions. This note will be my updated thoughts on these topics.
COPYING TO CENTRAL RELAYS IS A NON-STARTER: The idea that you can configure your client to use a few popular "centralized" relays and everybody will copy notes into those central relays is a non-starter. It destroys the entire raison d'être of nostr. I've heard people say that more decentralization isn't our biggest issue. But decentralization is THE reason nostr exists at all, so we need to make sure we live up to the hype. Otherwise we may as well just all join Bluesky. It has other problems too: the central relays get overloaded, and the notes get copied to too many relays, which is both space-inefficient and network bandwith inefficient.
ISSUE 1: Which notes should I fetch from which relays? This is described pretty well now in NIP-65. But that is only the "outbox" model part. The "gossip model" part is to also work out what relays work for people who don't publish a relay list.
ISSUE 2: Automatic failover. Apparently Peter Todd's definition of decentralized includes a concept of automatic failover, where new resources are brought up and users don't need to do anything. Besides this not being part of any definition of decentralized I have never heard of, we kind of have this. If a user has 5 outboxes, and 3 fail, everything still works. Redundancy is built in. No user intervention needed in most cases, at least in the short term. But we also don't have any notion of administrators who can fix this behind the scenes for the users. Users are sovereign and that means they have total control, but also take on some responsibility. This is obvious when it comes to keypair management, but it goes further. Users have to manage where they post and where they accept incoming notes, and when those relays fail to serve them they have to change providers. Putting the users in charge, and not having administrators, is kinda necessary to be truly decentralized.
ISSUE 3: Connecting to unvetted relays feels unsafe. It might even be the NSA tracking you! First off, this happens with your web browser all the time: you go visit a web page and it instructs your browser to fetch a font from google. If you don't like it, you can use uBlock origin and manage it manually. In the nostr world, if you don't like it, you can use a client that puts you more in control of this. The gossip client for example has options for whether you want to manually approve relay connections and AUTHs, just once or always, and always lets you change your mind later. If you turn those options on, initially it is a giant wall of approval requests... but that situation resolves rather quickly. I've been running with these options on for a long time now, and only about once a week do I have to make a decision for a new relay.
But these features aren't really necessary for the vast majority of users who don't care if a relay knows their IP address. Those users use VPNs or Tor when they want to be anonymous, and don't bother when they don't care (me included).
ISSUE 4: Mobile phone clients may find the gossip model too costly in terms of battery life. Bandwidth is actually not a problem: under the gossip model (if done correctly) events for user P are only downloaded from N relays (default for gossip client is N=2), which in general is FEWER events retrieved than other models which download the same event maybe 8 or more times. Rather, the problem here is the large number of network connections and in particular, the large number of SSL setups and teardowns. If it weren't for SSL, this wouldn't be much of a problem. But setting up and tearing down SSL on 50 simultaneous connections that drop and pop up somewhat frequently is a battery drain.
The solution to this that makes the most sense to me is to have a client proxy. What I mean by that is a piece of software on a server in a data centre. The client proxy would be a headless nostr client that uses the gossip model and acts on behalf of the phone client. The phone client doesn't even have to be a nostr client, but it might as well be a nostr client that just connects to this fixed proxy to read and write all of its events. Now the SSL connection issue is solved. These proxies can serve many clients and have local storage, whereas the phones might not even need local storage. Since very few users will set up such things for themselves, this is a business opportunity for people, and a better business opportunity IMHO than running a paid-for relay. This doesn't decentralize nostr as there can be many of these proxies. It does however require a trust relationship between the phone client and the proxy.
ISSUE 5: Personal relays still need moderation. I wrongly thought for a very long time that personal relays could act as personal OUTBOXes and personal INBOXes without needing moderation. Recently it became clear to me that clients should probably read from other people's INBOXes to find replies to events written by the user of that INBOX (which outbox model clients should be putting into that INBOX). If that is happening, then personal relays will need to serve to the public events that were just put there by the public, thus exposing them to abuse. I'm greatly disappointed to come to this realization and not quite settled about it yet, but I thought I had better make this known.
-
@ b12b632c:d9e1ff79
2024-02-19 19:18:46Nostr decentralized network is growing exponentially day by day and new stuff comes out everyday. We can now use a NIP46 server to proxify our nsec key to avoid to use it to log on Nostr websites and possibly leak it, by mistake or by malicious persons. That's the point of this tutorial, setup a NIP46 server Nsec.app with its own Nostr relay. You'll be able to use it for you and let people use it, every data is stored locally in your internet browser. It's an non-custodial application, like wallets !
It's nearly a perfect solution (because nothing is perfect as we know) and that makes the daily use of Nostr keys much more secure and you'll see, much more sexy ! Look:
Nsec.app is not the only NIP46 server, in fact, @PABLOF7z was the first to create a NIP46 server called nsecBunker. You can also self-hosted nsecBunkerd, you can find a detailed explanation here : nsecbunkerd. I may write a how to self-host nsecBunkderd soon.
If you want more information about its bunker and what's behind this tutorial, you can check these links :
Few stuffs before beginning
Spoiler : I didn't automatized everything. The goal here is not to give you a full 1 click installation process, it's more to let you see and understand all the little things to configure and understand how works Nsec.app and the NIP46. There is a little bit of work, yes, but you'll be happy when it will work! Believe me.
Before entering into the battlefield, you must have few things : A working VPS with direct access to internet or a computer at home but NAT will certain make your life a hell. Use a VPS instead, on DigitalOcean, Linode, Scaleway, as you wish. A web domain that your own because we need to use at least 3 DNS A records (you can choose the subdomain you like) : domain.tld, noauth.domain.tld, noauth.domain.tld. You need to have some programs already installed : git, docker, docker-compose, nano/vi. if you fill in all the boxes, we can move forward !
Let's install everything !
I build a repo with a docker-compose file with all the required stuff to make the Bunker works :
Nsec.app front-end : noauth Nsec.app back-end : noauthd Nostr relay : strfry Nostr NIP05 : easy-nip5
First thing to do is to clone the repo "nsec-app-docker" from my repo:
$ git clone git clone https://github.com/PastaGringo/nsec-app-docker.git $ cd nsec-app-docker
When it's done, you'll have to do several things to make it work. 1) You need to generate some keys for the web-push library (keep them for later) :
``` $ docker run pastagringo/web-push-generate-keys
Generating your web-push keys...
Your private key : rQeqFIYKkInRqBSR3c5iTE3IqBRsfvbq_R4hbFHvywE Your public key : BFW4TA-lUvCq_az5fuQQAjCi-276wyeGUSnUx4UbGaPPJwEemUqp3Rr3oTnxbf0d4IYJi5mxUJOY4KR3ZTi3hVc ```
2) Generate a new keys pair (nsec/npub) for the NIP46 server by clicking on "Generate new key" from NostrTool website: nostrtool.com.
You should have something like this :
console Nostr private key (nsec): keep this -> nsec1zcyanx8zptarrmfmefr627zccrug3q2vhpfnzucq78357hshs72qecvxk6 Nostr private key (hex): 1609d998e20afa31ed3bca47a57858c0f888814cb853317300f1e34f5e178794 Nostr public key (npub): npub1ywzwtnzeh64l560a9j9q5h64pf4wvencv2nn0x4h0zw2x76g8vrq68cmyz Nostr public key (hex): keep this -> 2384e5cc59beabfa69fd2c8a0a5f550a6ae6667862a7379ab7789ca37b483b06
You need to keep Nostr private key (nsec) & Nostr public key (npub). 3) Open (nano/vi) the .env file located in the current folder and fill all the required info :
```console
traefik
EMAIL=pastagringo@fractalized.net <-- replace with your own domain NSEC_ROOT_DOMAIN=plebes.ovh <-- replace with your own domain <-- replace with your own relay domain RELAY_DOMAIN=relay.plebes.ovh <-- replace with your own noauth domainay.plebes.ovh <-- replace with your own relay domain <-- replace with your own noauth domain NOAUTH_DOMAIN=noauth.plebes.ovh <-- replace with your own noauth domain NOAUTHD_DOMAIN=noauthd.plebes.ovh <-- replace with your own noauth domain
noauth
APP_WEB_PUSH_PUBKEY=BGVa7TMQus_KVn7tAwPkpwnU_bpr1i6B7D_3TT-AwkPlPd5fNcZsoCkJkJylVOn7kZ-9JZLpyOmt7U9rAtC-zeg <-- replace with your own web push public key APP_NOAUTHD_URL=https://$NOAUTHD_DOMAIN APP_DOMAIN=$NSEC_ROOT_DOMAIN APP_RELAY=wss://$RELAY_DOMAIN
noauthd
PUSH_PUBKEY=$APP_WEB_PUSH_PUBKEY PUSH_SECRET=_Sz8wgp56KERD5R4Zj5rX_owrWQGyHDyY4Pbf5vnFU0 <-- replace with your own web push private key ORIGIN=https://$NOAUTHD_DOMAIN DATABASE_URL=file:./prod.db BUNKER_NSEC=nsec1f43635rzv6lsazzsl3hfsrum9u8chn3pyjez5qx0ypxl28lcar2suy6hgn <-- replace with your the bunker nsec key BUNKER_RELAY=wss://$RELAY_DOMAIN BUNKER_DOMAIN=$NSEC_ROOT_DOMAIN BUNKER_ORIGIN=https://$NOAUTH_DOMAIN ```
Be aware of noauth and noauthd (the d letter). Next, save and quit. 4) You now need to modify the nostr.json file used for the NIP05 to indicate which relay your bunker will use. You need to set the bunker HEX PUBLIC KEY (I replaced the info with the one I get from NostrTool before) :
console nano easy-nip5/nostr.json
console { "names": { "_": "ServerHexPubKey" }, "nip46": { "ServerHexPubKey": [ "wss://ReplaceWithYourRelayDomain" ] } }
5) You can now run the docker compose file by running the command (first run can take a bit of time because the noauth container needs to build the npm project):
console $ docker compose up -d
6) Before creating our first user into the Nostr Bunker, we need to test if all the required services are up. You should have :
noauth :
noauthd :
console CANNOT GET /
https://noauthd.yourdomain.tld/name :
console { "error": "Specify npub" }
https://yourdomain.tld/.well-known/nostr.json :
console { "names": { "_": "ServerHexPubKey" }, "nip46": { "ServerHexPubKey": [ "wss://ReplaceWithYourRelayDomain" ] } }
If you have everything working, we can try to create a new user!
7) Connect to noauth and click on "Get Started" :
At the bottom the screen, click on "Sign up" :
Fill a username and click on "Create account" :
If everything has been correctly configured, you should see a pop message with "Account created for "XXXX" :
PS : to know if noauthd is well serving the nostr.json file, you can check this URL : https://yourdomain.tld/.well-known/nostr.json?name=YourUser You should see that the user has now NIP05/NIP46 entries :
If the user creation failed, you'll see a red pop-up saying "Something went wrong!" :
To understand what happened, you need to inspect the web page to find the error :
For the example, I tried to recreate a user "jack" which has already been created. You may find a lot of different errors depending of the configuration you made. You can find that the relay is not reachable on w s s : / /, you can find that the noauthd is not accessible too, etc. Every answers should be in this place.
To completely finish the tests, you need to enable the browser notifications, otherwise you won't see the pop-up when you'll logon on Nostr web client, by clicking on "Enable background service" :
You need to click on allow notifications :
Should see this green confirmation popup on top right of your screen:
Well... Everything works now !
8) You try to use your brand new proxyfied npub by clicking on "Connect App" and buy copying your bunker URL :
You can now to for instance on Nostrudel Nostr web client to login with it. Select the relays you want (Popular is better ; if you don't have multiple relay configured on your Nostr profile, avoid "Login to use your relay") :
Click on "Sign in" :
Click on "Show Advanced" :
Click on "Nostr connect / Bunker" :
Paste your bunker URL and click on "Connect" :
The first time, tour browser (Chrome here) may blocks the popup, you need to allow it :
If the browser blocked the popup, NoStrudel will wait your confirmation to login :
You have to go back on your bunker URL to allow the NoStrudel connection request by clicking on on "Connect":
The first time connections may be a bit annoying with all the popup authorizations but once it's done, you can forget them it will connect without any issue. Congrats ! You are connected on NoStrudel with an npub proxyfied key !⚡
You can check to which applications you gave permissions and activity history in noauth by selecting your user. :
If you want to import your real Nostr profile, the one that everyone knows, you can import your nsec key by adding a new account and select "Import key" and adding your precious nsec key (reminder: your nsec key stays in your browser! The noauth provider won't have access to it!) :
You can see can that my profile picture has been retrieved and updated into noauth :
I can now use this new pubkey attached my nsec.app server to login in NoStrudel again :
Accounts/keys management in noauthd You can list created keys in your bunkerd by doing these command (CTRL+C to exit) :
console $ docker exec -it noauthd node src/index.js list_names [ '/usr/local/bin/node', '/noauthd/src/index.js', 'list_names' ] 1 jack npub1hjdw2y0t44q4znzal2nxy7vwmpv3qwrreu48uy5afqhxkw6d2nhsxt7x6u 1708173927920n 2 peter npub1yp752u5tr5v5u74kadrzgfjz2lsmyz8dyaxkdp4e0ptmaul4cyxsvpzzjz 1708174748972n 3 john npub1xw45yuvh5c73sc5fmmc3vf2zvmtrzdmz4g2u3p2j8zcgc0ktr8msdz6evs 1708174778968n 4 johndoe npub1xsng8c0lp9dtuan6tkdljy9q9fjdxkphvhj93eau07rxugrheu2s38fuhr 1708174831905n
If you want to delete someone key, you have to do :
```console $ docker exec -it noauthd node src/index.js delete_name johndoe [ '/usr/local/bin/node', '/noauthd/src/index.js', 'delete_name', 'johndoe' ] deleted johndoe { id: 4, name: 'johndoe', npub: 'npub1xsng8c0lp9dtuan6tkdljy9q9fjdxkphvhj93eau07rxugrheu2s38fuhr', timestamp: 1708174831905n
$ docker exec -it noauthd node src/index.js list_names [ '/usr/local/bin/node', '/noauthd/src/index.js', 'list_names' ] 1 jack npub1hjdw2y0t44q4znzal2nxy7vwmpv3qwrreu48uy5afqhxkw6d2nhsxt7x6u 1708173927920n 2 peter npub1yp752u5tr5v5u74kadrzgfjz2lsmyz8dyaxkdp4e0ptmaul4cyxsvpzzjz 1708174748972n 3 john npub1xw45yuvh5c73sc5fmmc3vf2zvmtrzdmz4g2u3p2j8zcgc0ktr8msdz6evs 1708174778968n ```
It could be pretty easy to create a script to handle the management of keys but I think @Brugeman may create a web interface for that. Noauth is still very young, changes are committed everyday to fix/enhance the application! As """everything""" is stored locally on your browser, you have to clear the cache of you bunker noauth URL to clean everything. This Chome extension is very useful for that. Check these settings in the extension option :
You can now enjoy even more Nostr ⚡ See you soon in another Fractalized story!
-
@ 623ed218:fa549249
2024-10-19 23:49:53Pup's Double-Takes #002:
"Should You Spend Bitcoin?"
Welcome to Pup's Double-Takes, where I dive into the things that made me stop and say, 'Wait, what?' My goal is to unpack the curious and confusing, making it educational and, hopefully, a little entertaining along the way.
PDT-002: Should You Spend Bitcoin?
"Why would I buy anything with Bitcoin when the price could go up so much?"
This question reflects a common debate about spending Bitcoin, but many discussions miss the forest for the trees regarding our broader economic activity. So let's take a step back and dive into what really matters.
The Bitcoin Pizza Story
You've probably heard the story of Laszlo Hanyecz, who spent 10,000 Bitcoin on two Papa John's pizzas on May 22, 2010---a day now known as Bitcoin Pizza Day. At the time of writing, those 10,000 Bitcoin would be worth around $670 million. That's a staggering number, but notice my phrasing here. I did not say, "those pizzas would be worth $670 million." This is an important distinction.
Those pizzas were perishable, consumable goods that gave Laszlo value in the moment. Nobody would argue that pizza retains value over time---once it's eaten, it's gone. So, it doesn't make sense to say those pizzas were ever worth $670 million.
What About You?
Here's the more interesting question: Did you buy any pizzas in 2010? Did you buy any Bitcoin?
You might think Laszlo was foolish for spending 10,000 Bitcoin on pizzas, but if you bought any pizzas or other goods in 2010 and didn't buy Bitcoin, you essentially made the same decision he did. You valued the goods and services you consumed more than you valued Bitcoin. And that's the real point here: Every financial decision you make reflects what you value in that moment.
At the time, Laszlo valued two pizzas more than he valued 10,000 Bitcoin. You, too, valued whatever you purchased more than Bitcoin---whether you were aware of Bitcoin or not.
The Opportunity Cost of Every Transaction
Every transaction involves an opportunity cost---the value of the next best alternative you forgo when making a choice. When you spend money---whether it's Bitcoin, dollars, or any other currency---you're making a decision. You're choosing to exchange one form of value for another, and that decision comes at the expense of using that money for anything else.
When you bought a pizza with fiat currency, you were implicitly saying that the value of the pizza was worth more than anything else you could have done with that money at the time, whether that was purchasing a different good, or saving in Bitcoin, or some other store of value. And that's okay. This is how economics works for everyone.
This is where I take issue: Considering the potential future value of Bitcoin and deciding not to spend it reflects a narrow and incomplete view of your economic actions. When you spend Bitcoin on a pizza, you're giving up your stake in whatever future price action that Bitcoin may have seen. But the same consequences exist in every financial transaction you make.
Instead of focusing solely on the Bitcoin part of your financial life, I would argue we should take a more holistic approach.
Cash Flow and Savings
Cash flow is simple: it's the difference between what you earn and what you spend. Ideally, your income is higher than your expenses, leaving you with a surplus of money ("labor receipts") to invest or save.
The second key concept is the quality of your savings vehicles. Bitcoin is seen by many as a superior store of value compared to fiat money, which loses purchasing power over time due to inflation. Bitcoin's finite and metered supply issuance means that it is likely to maintain its purchasing power against goods and services, unlike rapidly inflating fiat currencies. As a relatively small monetary network still early in its adoption cycle, it may even gain value against these goods and services over time, even if its value may swing wildly over shorter time frames as the market determines its present value.
This leads us to the reason I find it nonsensical to make any blanket statements about whether or not you should be spending Bitcoin.
The Bitcoin Standard
If you denominate your life in Bitcoin terms, you will realize that every non-Bitcoin purchase comes at the expense of being able to hold Bitcoin. There is functionally no difference between paying for a pizza with Bitcoin or paying for it with fiat. In both cases, you have chosen to acquire a consumable good with value you had saved.
Am I arguing that you should blow your entire stack while retaining your fiat? Obviously not. But why would you be saving fiat in the first place?
Ultimately, there is an argument to be made for holding a small amount of fiat to cover necessary payments should the price of Bitcoin drop. However, the focus should not be on whether you are spending Bitcoin or fiat, but rather on the value you're exchanging.
Conclusion
The real issue isn't the question of whether you should spend Bitcoin or fiat; it's the understanding that every financial transaction, regardless of currency, is a choice to exchange value.
Whether you're using Bitcoin or dollars to buy a pizza or pay your rent, you're parting with a portion of your stored value to obtaining a good or service you value, at the expense of obtaining anything else with that portion of stored value. The currency used is just the medium---it's the value you exchange that matters.
Digging Deeper:
Hey there, I hope you enjoyed this read! If you did, and would like to read more of my barks, follow the links below!
-
Curious how I found Bitcoin? Read "Paw Prints to the Timechain"!
-
Bitcoin meets psychology? I touch on this in "Maslow's Apex".
-
Want to understand the basics of Bitcoin? Read "Bitcoin Best Practice"!
-
If you like seeing bad media takes unpacked, check out "PDT-001: Let's Talk Supply Issuance".
External Resources:
- Want to earn rewards on your mortgage? Use my referral to earn 20,000 free sats at sign up!
- Do you like sharing Bitcoin content and earning sats for doing so? Join me at Stacker.news!
...Woof!
originally posted at https://stacker.news/items/731850
-
-
@ ee11a5df:b76c4e49
2023-11-09 05:20:37A lot of terms have been bandied about regarding relay models: Gossip relay model, outbox relay model, and inbox relay model. But this term "relay model" bothers me. It sounds stuffy and formal and doesn't actually describe what we are talking about very well. Also, people have suggested maybe there are other relay models. So I thought maybe we should rethink this all from first principles. That is what this blog post attempts to do.
Nostr is notes and other stuff transmitted by relays. A client puts an event onto a relay, and subsequently another client reads that event. OK, strictly speaking it could be the same client. Strictly speaking it could even be that no other client reads the event, that the event was intended for the relay (think about nostr connect). But in general, the reason we put events on relays is for other clients to read them.
Given that fact, I see two ways this can occur:
1) The reader reads the event from the same relay that the writer wrote the event to (this I will call relay rendezvous), 2) The event was copied between relays by something.
This second solution is perfectly viable, but it less scalable and less immediate as it requires copies which means that resources will be consumed more rapidly than if we can come up with workable relay rendezvous solutions. That doesn't mean there aren't other considerations which could weigh heavily in favor of copying events. But I am not aware of them, so I will be discussing relay rendezvous.
We can then divide the relay rendezvous situation into several cases: one-to-one, one-to-many, and one-to-all, where the many are a known set, and the all are an unbounded unknown set. I cannot conceive of many-to-anything for nostr so we will speak no further of it.
For a rendezvous to take place, not only do the parties need to agree on a relay (or many relays), but there needs to be some way that readers can become aware that the writer has written something.
So the one-to-one situation works out well by the writer putting the message onto a relay that they know the reader checks for messages on. This we call the INBOX model. It is akin to sending them an email into their inbox where the reader checks for messages addressed to them.
The one-to-(known)-many model is very similar, except the writer has to write to many people's inboxes. Still we are dealing with the INBOX model.
The final case, one-to-(unknown)-all, there is no way the writer can place the message into every person's inbox because they are unknown. So in this case, the writer can write to their own OUTBOX, and anybody interested in these kinds of messages can subscribe to the writer's OUTBOX.
Notice that I have covered every case already, and that I have not even specified what particular types of scenarios call for one-to-one or one-to-many or one-to-all, but that every scenario must fit into one of those models.
So that is basically it. People need INBOX and OUTBOX relays and nothing else for relay rendezvous to cover all the possible scenarios.
That is not to say that other kinds of concerns might not modulate this. There is a suggestion for a DM relay (which is really an INBOX but with a special associated understanding), which is perfectly fine by me. But I don't think there are any other relay models. There is also the case of a live event where two parties are interacting over the same relay, but in terms of rendezvous this isn't a new case, it is just that the shared relay is serving as both parties' INBOX (in the case of a closed chat) and/or both parties' OUTBOX (in the case of an open one) at the same time.
So anyhow that's my thinking on the topic. It has become a fairly concise and complete set of concepts, and this makes me happy. Most things aren't this easy.
-
@ b12b632c:d9e1ff79
2023-08-08 00:02:31"Welcome to the Bitcoin Lightning Bolt Card, the world's first Bitcoin debit card. This revolutionary card allows you to easily and securely spend your Bitcoin at lightning compatible merchants around the world." Bolt Card
I discovered few days ago the Bolt Card and I need to say that's pretty amazing. Thinking that we can pay daily with Bitcoin Sats in the same way that we pay with our Visa/Mastecard debit cards is really something huge⚡(based on the fact that sellers are accepting Bitcoins obviously!)
To use Bolt Card you have three choices :
- Use their (Bolt Card) own Bolt Card HUB and their own BTC Lightning node
- Use your own self hosted Bolt Card Hub and an external BTC Lightning node
- Use your own self hosted Bolt Card Hub and your BTC Lightning node (where you shoud have active Lightning channels)
⚡ The first choice is the quickiest and simpliest way to have an NFC Bolt Card. It will take you few seconds (for real). You'll have to wait much longer to receive your NFC card from a website where you bought it than configure it with Bolt Card services.
⚡⚡ The second choice is pretty nice too because you won't have a VPS + to deal with all the BTC Lightnode stuff but you'll use an external one. From the Bolt Card tutorial about Bolt Card Hub, they use a Lightning from voltage.cloud and I have to say that their services are impressive. In few seconds you'll have your own Lightning node and you'll be able to configure it into the Bolt Card Hub settings. PS : voltage.cloud offers 7 trial days / 20$ so don't hesitate to try it!
⚡⚡⚡ The third one is obvisouly a bit (way) more complex because you'll have to provide a VPS + Bitcoin node and a Bitcoin Lightning Node to be able to send and receive Lightning payments with your Bolt NFC Card. So you shoud already have configured everything by yourself to follow this tutorial. I will show what I did for my own installation and all my nodes (BTC & Lightning) are provided by my home Umbrel node (as I don't want to publish my nodes directly on the clearnet). We'll see how to connect to the Umbrel Lighting node later (spoiler: Tailscale).
To resume in this tutorial, I have :
- 1 Umbrel node (rpi4b) with BTC and Lightning with Tailscale installed.
- 1 VPS (Virtual Personal Server) to publish publicly the Bolt Card LNDHub and Bolt Card containers configured the same way as my other containers (with Nginx Proxy Manager)
Ready? Let's do it ! ⚡
Configuring Bolt Card & Bolt Card LNDHub
Always good to begin by reading the bolt card-lndhub-docker github repo. To a better understading of all the components, you can check this schema :
We'll not use it as it is because we'll skip the Caddy part because we already use Nginx Proxy Manager.
To begin we'll clone all the requested folders :
git clone https://github.com/boltcard/boltcard-lndhub-docker bolthub cd bolthub git clone https://github.com/boltcard/boltcard-lndhub BoltCardHub git clone https://github.com/boltcard/boltcard.git git clone https://github.com/boltcard/boltcard-groundcontrol.git GroundControl
PS : we won't see how to configure GroundControl yet. This article may be updated later.
We now need to modify the settings file with our own settings :
mv .env.example .env nano .env
You need to replace "your-lnd-node-rpc-address" by your Umbrel TAILSCALE ip address (you can find your Umbrel node IP from your Tailscale admin console):
``` LND_IP=your-lnd-node-rpc-address # <- UMBREL TAILSCALE IP ADDRESS LND_GRPC_PORT=10009 LND_CERT_FILE=tls.cert LND_ADMIN_MACAROON_FILE=admin.macaroon REDIS_PASSWORD=random-string LND_PASSWORD=your-lnd-node-unlock-password
docker-compose.yml only
GROUNDCONTROL=ground-control-url
docker-compose-groundcontrol.yml only
FCM_SERVER_KEY=hex-encoded APNS_P8=hex-encoded APNS_P8_KID=issuer-key-which-is-key-ID-of-your-p8-file APPLE_TEAM_ID=team-id-of-your-developer-account BITCOIN_RPC=bitcoin-rpc-url APNS_TOPIC=app-package-name ```
We now need to generate an AES key and insert it into the "settings.sql" file :
```
hexdump -vn 16 -e '4/4 "%08x" 1 "\n"' /dev/random 19efdc45acec06ad8ebf4d6fe50412d0 nano settings.sql ```
- Insert the AES between ' ' right from 'AES_DECRYPT_KEY'
- Insert your domain or subdomain (subdomain in my case) host between ' ' from 'HOST_DOMAIN'
- Insert your Umbrel tailscale IP between ' ' from 'LN_HOST'
Be aware that this subdomain won't be the LNDHub container (boltcard_hub:9002) but the Boltcard container (boltcard_main:9000)
``` \c card_db;
DELETE FROM settings;
-- at a minimum, the settings marked 'set this' must be set for your system -- an explanation for each of the bolt card server settings can be found here -- https://github.com/boltcard/boltcard/blob/main/docs/SETTINGS.md
INSERT INTO settings (name, value) VALUES ('LOG_LEVEL', 'DEBUG'); INSERT INTO settings (name, value) VALUES ('AES_DECRYPT_KEY', '19efdc45acec06ad8ebf4d6fe50412d0'); -- set this INSERT INTO settings (name, value) VALUES ('HOST_DOMAIN', 'sub.domain.tld'); -- set this INSERT INTO settings (name, value) VALUES ('MIN_WITHDRAW_SATS', '1'); INSERT INTO settings (name, value) VALUES ('MAX_WITHDRAW_SATS', '1000000'); INSERT INTO settings (name, value) VALUES ('LN_HOST', ''); -- set this INSERT INTO settings (name, value) VALUES ('LN_PORT', '10009'); INSERT INTO settings (name, value) VALUES ('LN_TLS_FILE', '/boltcard/tls.cert'); INSERT INTO settings (name, value) VALUES ('LN_MACAROON_FILE', '/boltcard/admin.macaroon'); INSERT INTO settings (name, value) VALUES ('FEE_LIMIT_SAT', '10'); INSERT INTO settings (name, value) VALUES ('FEE_LIMIT_PERCENT', '0.5'); INSERT INTO settings (name, value) VALUES ('LN_TESTNODE', ''); INSERT INTO settings (name, value) VALUES ('FUNCTION_LNURLW', 'ENABLE'); INSERT INTO settings (name, value) VALUES ('FUNCTION_LNURLP', 'ENABLE'); INSERT INTO settings (name, value) VALUES ('FUNCTION_EMAIL', 'DISABLE'); INSERT INTO settings (name, value) VALUES ('AWS_SES_ID', ''); INSERT INTO settings (name, value) VALUES ('AWS_SES_SECRET', ''); INSERT INTO settings (name, value) VALUES ('AWS_SES_EMAIL_FROM', ''); INSERT INTO settings (name, value) VALUES ('EMAIL_MAX_TXS', ''); INSERT INTO settings (name, value) VALUES ('FUNCTION_LNDHUB', 'ENABLE'); INSERT INTO settings (name, value) VALUES ('LNDHUB_URL', 'http://boltcard_hub:9002'); INSERT INTO settings (name, value) VALUES ('FUNCTION_INTERNAL_API', 'ENABLE'); ```
You now need to get two files used by Bolt Card LND Hub, the admin.macaroon and tls.cert files from your Umbrel BTC Ligtning node. You can get these files on your Umbrel node at these locations :
/home/umbrel/umbrel/app-data/lightning/data/lnd/tls.cert /home/umbrel/umbrel/app-data/lightning/data/lnd/data/chain/bitcoin/mainnet/admin.macaroon
You can use either WinSCP, scp or ssh to copy these files to your local workstation and copy them again to your VPS to the root folder "bolthub".
You shoud have all these files into the bolthub directory :
johndoe@yourvps:~/bolthub$ ls -al total 68 drwxrwxr-x 6 johndoe johndoe 4096 Jul 30 00:06 . drwxrwxr-x 3 johndoe johndoe 4096 Jul 22 00:52 .. -rw-rw-r-- 1 johndoe johndoe 482 Jul 29 23:48 .env drwxrwxr-x 8 johndoe johndoe 4096 Jul 22 00:52 .git -rw-rw-r-- 1 johndoe johndoe 66 Jul 22 00:52 .gitignore drwxrwxr-x 11 johndoe johndoe 4096 Jul 22 00:52 BoltCardHub -rw-rw-r-- 1 johndoe johndoe 113 Jul 22 00:52 Caddyfile -rw-rw-r-- 1 johndoe johndoe 173 Jul 22 00:52 CaddyfileGroundControl drwxrwxr-x 6 johndoe johndoe 4096 Jul 22 00:52 GroundControl -rw-rw-r-- 1 johndoe johndoe 431 Jul 22 00:52 GroundControlDockerfile -rw-rw-r-- 1 johndoe johndoe 1913 Jul 22 00:52 README.md -rw-rw-r-- 1 johndoe johndoe 293 May 6 22:24 admin.macaroon drwxrwxr-x 16 johndoe johndoe 4096 Jul 22 00:52 boltcard -rw-rw-r-- 1 johndoe johndoe 3866 Jul 22 00:52 docker-compose-groundcontrol.yml -rw-rw-r-- 1 johndoe johndoe 2985 Jul 22 00:57 docker-compose.yml -rw-rw-r-- 1 johndoe johndoe 1909 Jul 29 23:56 settings.sql -rw-rw-r-- 1 johndoe johndoe 802 May 6 22:21 tls.cert
We need to do few last tasks to ensure that Bolt Card LNDHub will work perfectly.
It's maybe already the case on your VPS but your user should be member of the docker group. If not, you can add your user by doing :
sudo groupadd docker sudo usermod -aG docker ${USER}
If you did these commands, you need to logout and login again.
We also need to create all the docker named volumes by doing :
docker volume create boltcard_hub_lnd docker volume create boltcard_redis
Configuring Nginx Proxy Manager to proxify Bolt Card LNDHub & Boltcard
You need to have followed my previous blog post to fit with the instructions above.
As we use have the Bolt Card LNDHub docker stack in another directory than we other services and it has its own docker-compose.yml file, we'll have to configure the docker network into the NPM (Nginx Proxy Manager) docker-compose.yml to allow NPM to communicate with the Bolt Card LNDHub & Boltcard containers.
To do this we need to add these lines into our NPM external docker-compose (not the same one that is located into the bolthub directory, the one used for all your other containers) :
nano docker-compose.yml
networks: bolthub_boltnet: name: bolthub_boltnet external: true
Be careful, "bolthub" from "bolthub_boltnet" is based on the directory where Bolt Card LNDHub Docker docker-compose.yml file is located.
We also need to attach this network to the NPM container :
nginxproxymanager: container_name: nginxproxymanager image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port volumes: - ./nginxproxymanager/data:/data - ./nginxproxymanager/letsencrypt:/etc/letsencrypt networks: - fractalized - bolthub_boltnet
You can now recreate the NPM container to attach the network:
docker compose up -d
Now, you'll have to create 2 new Proxy Hosts into NPM admin UI. First one for your domain / subdomain to the Bolt Card LNDHub GUI (boltcard_hub:9002) :
And the second one for the Boltcard container (boltcard_main:9000).
In both Proxy Host I set all the SSL options and I use my wildcard certificate but you can generate one certificate for each Proxy Host with Force SSL, HSTS enabled, HTTP/2 Suppot and HSTS Subdomains enabled.
Starting Bolt Card LNDHub & BoltCard containers
Well done! Everything is setup, we can now start the Bolt Card LNDHub & Boltcard containers !
You need to go again to the root folder of the Bolt Card LNDHub projet "bolthub" and start the docker compose stack. We'll begin wihtout a "-d" to see if we have some issues during the containers creation :
docker compose up
I won't share my containers logs to avoid any senstive information disclosure about my Bolt Card LNDHub node, but you can see them from the Bolt Card LNDHub Youtube video (link with exact timestamp where it's shown) :
If you have some issues about files mounting of admin.macaroon or tls.cert because you started the docker compose stack the first time without the files located in the bolthub folder do :
docker compose down && docker compose up
After waiting few seconds/minutes you should go to your Bolt Card LNDHub Web UI domain/sudomain (created earlier into NPM) and you should see the Bolt Card LNDHub Web UI :
if everything is OK, you now run the containers in detached mode :
docker compose up -d
Voilààààà ⚡
If you need to all the Bolt Card LNDHub logs you can use :
docker compose logs -f --tail 30
You can now follow the video from Bolt Card to configure your Bolt Card NFC card and using your own Bolt Card LNDHub :
~~PS : there is currently a bug when you'll click on "Connect Bolt Card" from the Bold Card Walle app, you might have this error message "API error: updateboltcard: enable_pin is not a valid boolean (code 6)". It's a know issue and the Bolt Card team is currently working on it. You can find more information on their Telegram~~
Thanks to the Bolt Card, the issue has been corrected : changelog
See you soon in another Fractalized story!
-
@ 9e69e420:d12360c2
2024-10-19 22:51:20political motivations of J6 judges:
Judicial Sentencing Patterns
Federal judges in Washington have been handling the sentencing of Capitol riot defendants, with some notable trends emerging:
Harsher Sentences: Judges appointed by Democratic presidents have generally imposed tougher sentences compared to their Republican-appointed counterparts. This disparity suggests a potential political bias in the sentencing process.
Partisan Divide: The sentencing patterns reveal a clear partisan divide, with Democratic-appointed judges more likely to view the January 6 events as a severe threat to democracy.
Specific Examples
Judge Tanya Chutkan: Appointed by President Obama, Judge Chutkan has consistently handed down sentences exceeding prosecutors' recommendations. Her actions could be interpreted as politically motivated, given her Democratic background.
Judge Trevor McFadden: In contrast, Judge McFadden, appointed by President Trump, has been more lenient in his sentencing, even acquitting a defendant in a bench trial. This stark difference in approach further underscores the potential political influence on judicial decisions.
Implications
-
@ ee11a5df:b76c4e49
2023-07-29 03:27:23Gossip: The HTTP Fetcher
Gossip is a desktop nostr client. This post is about the code that fetches HTTP resources.
Gossip fetches HTTP resources. This includes images, videos, nip05 json files, etc. The part of gossip that does this is called the fetcher.
We have had a fetcher for some time, but it was poorly designed and had problems. For example, it was never expiring items in the cache.
We've made a lot of improvements to the fetcher recently. It's pretty good now, but there is still room for improvement.
Caching
Our fetcher caches data. Each URL that is fetched is hashed, and the content is stored under a file in the cache named by that hash.
If a request is in the cache, we don't do an HTTP request, we serve it directly from the cache.
But cached data gets stale. Sometimes resources at a URL change. We generally check resources again after three days.
We save the server's ETag value for content, and when we check the content again we supply an If-None-Match header with the ETag so the server could respond with 304 Not Modified in which case we don't need to download the resource again, we just bump the filetime to now.
In the event that our cache data is stale, but the server gives us an error, we serve up the stale data (stale is better than nothing).
Queueing
We used to fire off HTTP GET requests as soon as we knew that we needed a resource. This was not looked on too kindly by servers and CDNs who were giving us either 403 Forbidden or 429 Too Many Requests.
So we moved into a queue system. The host is extracted from each URL, and each host is only given up to 3 requests at a time. If we want 29 images from the same host, we only ask for three, and the remaining 26 remain in the queue for next time. When one of those requests completes, we decrement the host load so we know that we can send it another request later.
We process the queue in an infinite loop where we wait 1200 milliseconds between passes. Passes take time themselves and sometimes must wait for a timeout. Each pass fetches potentially multiple HTTP resources in parallel, asynchronously. If we have 300 resources at 100 different hosts, three per host, we could get them all in a single pass. More likely a bunch of resources are at the same host, and we make multiple passes at it.
Timeouts
When we fetch URLs in parallel asynchronously, we wait until all of the fetches complete before waiting another 1200 ms and doing another loop. Sometimes one of the fetches times out. In order to keep things moving, we use short timeouts of 10 seconds for a connect, and 15 seconds for a response.
Handling Errors
Some kinds of errors are more serious than others. When we encounter these, we sin bin the server for a period of time where we don't try fetching from it until a specified period elapses.
-
@ ee11a5df:b76c4e49
2023-07-29 03:13:59Gossip: Switching to LMDB
Unlike a number of other nostr clients, Gossip has always cached events and related data in a local data store. Up until recently, SQLite3 has served this purpose.
SQLite3 offers a full ACID SQL relational database service.
Unfortunately however it has presented a number of downsides:
- It is not as parallel as you might think.
- It is not as fast as you might hope.
- If you want to preserve the benefit of using SQL and doing joins, then you must break your objects into columns, and map columns back into objects. The code that does this object-relational mapping (ORM) is not trivial and can be error prone. It is especially tricky when working with different types (Rust language types and SQLite3 types are not a 1:1 match).
- Because of the potential slowness, our UI has been forbidden from direct database access as that would make the UI unresponsive if a query took too long.
- Because of (4) we have been firing off separate threads to do the database actions, and storing the results into global variables that can be accessed by the interested code at a later time.
- Because of (4) we have been caching database data in memory, essentially coding for yet another storage layer that can (and often did) get out of sync with the database.
LMDB offers solutions:
- It is highly parallel.
- It is ridiculously fast when used appropriately.
- Because you cannot run arbitrary SQL, there is no need to represent the fields within your objects separately. You can serialize/deserialize entire objects into the database and the database doesn't care what is inside of the blob (yes, you can do that into an SQLite field, but if you did, you would lose the power of SQL).
- Because of the speed, the UI can look stuff up directly.
- We no longer need to fork separate threads for database actions.
- We no longer need in-memory caches of data. The LMDB data is already in-memory (it is memory mapped) so we just access it directly.
The one obvious downside is that we lose SQL. We lose the query planner. We cannot ask arbitrary question and get answers. Instead, we have to pre-conceive of all the kinds of questions we want to ask, and we have to write code that answers them efficiently. Often this involves building and maintaining indices.
Indices
Let's say I want to look at fiatjaf's posts. How do I efficiently pull out just his recent feed-related events in reverse chronological order? It is easy if we first construct the following index
key: EventKind + PublicKey + ReverseTime value: Event Id
In the above, '+' is just a concatenate operator, and ReverseTime is just some distant time minus the time so that it sorts backwards.
Now I just ask LMDB to start from (EventKind=1 + PublicKey=fiatjaf + now) and scan until either one of the first two fields change, or more like the time field gets too old (e.g. one month ago). Then I do it again for the next event kind, etc.
For a generalized feed, I have to scan a region for each person I follow.
Smarter indexes can be imagined. Since we often want only feed-related event kinds, that can be implicit in an index that only indexes those kinds of events.
You get the idea.
A Special Event Map
At first I had stored events into a K-V database under the Id of the event. Then I had indexes on events that output a set of Ids (as in the example above).
But when it comes to storing and retrieving events, we can go even faster than LMDB.
We can build an append-only memory map that is just a sequence of all the events we have, serialized, and in no particular order. Readers do not need a lock and multiple readers can read simultaneously. Writers will need to acquire a lock to append to the map and there may only be one writer at a time. However, readers can continue reading even while a writer is writing.
We can then have a K-V database that maps Id -> Offset. To get the event you just do a direct lookup in the event memory map at that offset.
The real benefit comes when we have other indexes that yield events, they can yield offsets instead of ids. Then we don't need to do a second lookup from the Id to the Event, we can just look directly at the offset.
Avoiding deserialization
Deserialization has a price. Sometimes it requires memory allocation (if the object is not already linear, e.g. variable lengthed data like strings and vectors are allocated on the heap) which can be very expensive if you are trying to scan 150,000 or so events.
We serialize events (and other objects where we can) with a serialization library called speedy. It does its best to preserve the data much like it is represented in memory, but linearized. Because events start with fixed-length fields, we know the offset into the serialized event where these first fields occur and we can directly extract the value of those fields without deserializing the data before it.
This comes in useful whenever we need to scan a large number of events. Search is the one situation where I know that we must do this. We can search by matching against the content of every feed-related event without fully deserialing any of them.
-
@ 805b34f7:3620fac3
2024-10-19 19:59:21** I published this article on 3/26/2020. I'm back in Puerto now and just re-read this to fire myself up for some potential tubes. Now, I want it to live on Nostr.
“When in doubt, don’t go out” is a well-known aphorism among surfers. I think it’s bs. Let me explain.
**I speak from my experiences as a regular surfer and with my close group of regular surfers in mind.
In surfing, there’s a comfort zone, an adrenaline zone, an aw crap zone (doubt), and a hell no zone.
Comfort zone —It is in this place where it is safe and fun to try new maneuvers. The heart rate is low and the stoke rate high.
Adrenaline zone- This is personally my favorite zone. The surf is big or good enough to get the heart rate up and the juices flowing. Each movement matters and this is where some of the best surfing goes down.
Aw crap zone — This is the land of the I don’t know, the doubt. It’s always damn near impossible to sleep before an aw crap day of surfing. This is the place where limits are tested. Maybe you’re surfing in a new place with new risks such as shallow reef, a difficult takeoff, or it’s just huge. This aw crap zone will test and define your limits.
Hell no zone — When you know, you know. This is beyond doubt. You’re totally satisfied (yet still curious) from watching from afar. Maybe one day!
These zones are bound to change as the surfer progresses. One day there may be no “hell no zone” as the surf master has pushed his or her limits to the extreme.
Pushing
Pros are only as good as their home breaks. NOT. Tell that to Kelly Slater and the Hopgood brothers who grew up surfing Florida slop. Although, perhaps their garbage wave situation lit a fire underneath them which inspired them to seek out better waves and progress rapidly. Anyways, a surfer grows up surfing their home breaks often. Some people grow up on the North Shore or in Tahiti, others grow up in Huntington. A surfer’s perspective on waves and danger is influenced by their exposure.
I finally got bored with myself surfing my home waves. Sure, there were days that were outside of my comfort zone and epic, but it was time to go find waves that I had only seen in videos. I decided to pack my backpack and head to those famed Indonesian reefs that I’ve mind surfed for hours, but always had the question mark in my head as to whether or not I could conquer them.
Surfing over shallow reef is something that I was not used to and it terrified me, but I also knew that every surfer does it including five-year-olds so I had to send it. I escaped the first mission unscathed and with some of the best waves in my life.
In order to find those best waves of my life, I had to enter the ‘aw crap zone’. The I don’t know land. The unknown. When in doubt, I went out.
And Now I’m Here
I blew this wave, but wow pretty.
Current forecast looks like it will be right at my edge.. again. We'll see.
I’m surfing the famous Playa Zicatela every day with the whole world shut down due to Co-Vid19. I’ve always been curious to know what it’s like to be inside massive barrels, so I’m slowly making it happen. This is a battle that I chose. I’m learning how to sleep with surf anxiety. The first couple of nights were rough, but I’m starting to accept it now.
This very morning inspired this article. I got up, went to the roof, and checked out the waves. It looked pretty mellow despite the fact that I knew there was a lot of swell in the water. I just thought, eh, maybe it’s not big like it was forecasted. I got in the water, took my first wave, wiped out, but whatever. I’ve been here for a week and I still wipeout on just about every first wave. But, I quickly found out that this was not the real set. The next set was enormous, and it sent adrenaline shrieking through my spine and filled my brain with the aw craps. The questioning of my life and why I’m out here quickly followed. Am I good enough for this? (maybe). Could I survive a wipeout that size?(probably). Is my board right for this? (definitely not). The second wave I took was bigger and I pulled the eject cord and jumped from what felt like the top of a cliff all the way to the bottom and got creamed (my perspective). After a couple of flips, I popped up the back laughing and was ready for another. I survived, therefore, I can keep pushing.
Not gonna lie, surfing almost feels like work lately. Almost every day here is just about in my personal aw crap zone.
However, it’s worth it for me. This is a journey that I deem worthy of my time. It does it for me. It’s those little moments inside the barrel and gosh-dang-golly hopefully soon getting shot out of the barrel that keep me stoked and looking forward to tomorrow. It’s proving to myself that I can do things I didn’t know for sure were possible.
The Process to Progress
Progression sometimes feels like a snail crawling up Mt. Everest. But when you zoom out, those incremental small improvements compound over time. Each wipeout is a little victory. Each wave that is ridden is a little victory. Your brain is learning from every experience that you choose to give it. Confidence slowly builds as we continue to learn from the masters and even develop our own style. Next thing you know you’re drinking a beer in a barrel that can kill a normal man like Mr. Slater did here.
Freakin Goat
Stagnation leads to burnout, depression, and boredom (Not scientific facts but I’m right I know it).
The great danger is that we give in to feelings of boredom, impatience, fear, and confusion. We stop observing and learning. The process comes to a halt. — Farnam Street Blog
I’ve seen a few buddies give up surfing or digress. It happened to me while I was focusing on baseball. It’s sad because surfing is fun and the better you get the more fun it is. It’s even more fun with a core group of guys who are at a similar level pushing each other. It can get boring if you don’t push yourself, and it gets scary real quick if you aren’t in surf shape.
“Whenever we learn a skill, we frequently reach a point of frustration — what we are learning seems beyond our capabilities. Giving in to these feelings, we unconsciously quit on ourselves before we actually give up.” FS Blog
Progression takes effort. Effort takes a conscious decision to expend your limited energy. It’s the only way to get gains in whatever game you are playing. Also, progression takes humility.
I got the pleasure of surfing Kelly Slater’s Wave Ranch. I knew I was going to have fun, but the night before I was damn nervous. Why? Well, I knew there’d be cameras and that I didn't want to blow it. I’d be surfing with pros and I was going to look horrible compared to them. Sure enough, the one right the camera got, I blew. Oh well. No 30-second barrels for the boys. Life moves on.
Full vid here https://vimeo.com/367128298
Can't wait to go back here one day
You’re bound to fail, especially when you take risks. If you’re a prideful person, the setbacks will be greater. It’s how you deal with the failure that determines if you will become a master.
So if in doubt, go out. Your hell no zone is going to start to shrink. This applies any skill that you are sharpening. You’re only going to get the big clients if you go after them, a piano player will improve by practicing harder songs, a black belt gains nothing from fighting a white belt, etc.
Pick your battles wisely. Then…SEND IT, SURVIVE, LEARN, APPLY, REPEAT.
10/19 - Even though I'm a much more experienced surfer now, I'm still terrified. On my way to go get a board now and get ready for some swell! I'm on my honeymoon, so we'll see how hard I push. I have quite a few more responsibilities now then I did back in Covid times... But if in doubt, I will go out. PV.
-
@ ff18165a:dd7ca7f0
2024-10-19 18:23:51Chef's notes
- DO NOT add too much Peppermint Extract! It’s extremely strong and it will make your milkshake way too strong if you add more than a few drops.
- Feel free to be creative with your toppings. We used Caramel Flavored Whipped Topping and it turned out great!
Details
- ⏲️ Prep time: 5 min
- 🍳 Cook time: 2 min
- 🍽️ Servings: 1
Ingredients
- 1 1/2 cup Milk
- 2 drops Peppermint Extract
- 2 packets Stevia
- 1 cup Ice
- 2 drops Green Food Coloring
- Green Sprinkles
- 1 Crushed Peppermint Candy
- 2 Mint Leaves
Directions
-
- Blend together until smooth and frothy
-
- Pour into a tall glass
-
- Top with listed toppings
-
- Add straw and enjoy
-
@ ee11a5df:b76c4e49
2023-07-29 02:52:13Gossip: Zaps
Gossip is a desktop nostr client. This post is about the code that lets users send lightning zaps to each other (NIP-57).
Gossip implemented Zaps initially on 20th of June, 2023.
Gossip maintains a state of where zapping is at, one of: None, CheckingLnurl, SeekingAmount, LoadingInvoice, and ReadyToPay.
When you click the zap lightning bolt icon, Gossip moves to the CheckingLnurl state while it looks up the LN URL of the user.
If this is successful, it moves to the SeekingAmount state and presents amount options to the user.
Once a user chooses an amount, it moves to the LoadingInvoice state where it interacts with the lightning node and receives and checks an invoice.
Once that is complete, it moves to the ReadyToPay state, where it presents the invoice as a QR code for the user to scan with their phone. There is also a copy button so they can pay it from their desktop computer too.
Gossip also loads zap receipt events and associates them with the event that was zapped, tallying a zap total on that event. Gossip is unfortunately not validating these receipts very well currently, so fake zap receipts can cause an incorrect total to show. This remains an open issue.
Another open issue is the implementation of NIP-46 Nostr Connect and NIP-47 Wallet Connect.
-
@ b12b632c:d9e1ff79
2023-07-21 19:45:20I love testing every new self hosted app and I can say that Nostr "world" is really good regarding self hosting stuff.
Today I tested a Nostr relay named Strfry.
Strfry is really simple to setup and support a lot's of Nostr NIPs.
Here is the list of what it is able to do :
- Supports most applicable NIPs: 1, 2, 4, 9, 11, 12, 15, 16, 20, 22, 28, 33, 40
- No external database required: All data is stored locally on the filesystem in LMDB
- Hot reloading of config file: No server restart needed for many config param changes
- Zero downtime restarts, for upgrading binary without impacting users
- Websocket compression: permessage-deflate with optional sliding window, when supported by clients
- Built-in support for real-time streaming (up/down/both) events from remote relays, and bulk import/export of events from/to jsonl files
- negentropy-based set reconcilliation for efficient syncing with remote relays
Installation with docker compose (v2)
Spoiler : you need to have a computer with more than 1 (v)Core / 2GB of RAM to build the docker image locally. If not, this below might crash your computer during docker image build. You may need to use a prebuilt strfry docker image.
I assume you've read my first article on Managing domain with Nginx Proxy Manager because I will use the NPM docker compose stack to publish strfry Nostr relay. Without the initial NPM configuration done, it may not work as expected. I'll use the same docker-compose.yml file and folder.
Get back in the "npm-stack" folder :
cd npm-stack
Cloning the strfry github repo locally :
git clone https://github.com/hoytech/strfry.git
Modify the docker-compose file to locate the strfry configuration data outside of the folder repo directory to avoid mistake during futures upgrades (CTRL + X, S & ENTER to quit and save modifications) :
nano docker-compose.yml
You don't have to insert the Nginx Proxy Manager part, you should already have it into the file. If not, check here. You should only have to add the strfry part.
``` version: '3.8' services: # should already be present into the docker-compose.yml app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # These ports are in format
: - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port # Add any other Stream port you want to expose # - '21:21' # FTP # Uncomment the next line if you uncomment anything in the section # environment: # Uncomment this if you want to change the location of # the SQLite DB file within the container # DB_SQLITE_FILE: "/data/database.sqlite" # Uncomment this if IPv6 is not enabled on your host # DISABLE_IPV6: 'true' volumes: - ./nginxproxymanager/data:/data - ./nginxproxymanager/letsencrypt:/etc/letsencrypt
strfry-nostr-relay: container_name: strfry build: ./strfry volumes: - ./strfry-data/strfry.conf:/etc/strfry.conf - ./strfry-data/strfry-db:/app/strfry-db
ports is commented by NPM will access through docker internal network
no need to expose strfry port directly to the internet
ports:
- "7777:7777"
```
Before starting the container, we need to customize the strfry configuration file "strfry.conf". We'll copy the strfry configuration file and place it into the "strfry-data" folder to modify it with our own settings :
mkdir strfry-data && cp strfry/strfry.conf strfry-data/
And modify the strfry.conf file with your own settings :
nano strfry-data/strfry.conf
You can modify all the settings you need but the basics settings are :
- bind = "127.0.0.1" --> bind = "0.0.0.0" --> otherwise NPM won't be able to contact the strfry service
-
name = "strfry default" --> name of your nostr relay
-
description = "This is a strfry instance." --> your nostr relay description
-
pubkey = "" --> your pubkey in hex format. You can use the Damu's tool to generate your hex key from your npub key : https://damus.io/key/
-
contact = "" --> your email
``` relay { # Interface to listen on. Use 0.0.0.0 to listen on all interfaces (restart required) bind = "127.0.0.1"
# Port to open for the nostr websocket protocol (restart required) port = 7777 # Set OS-limit on maximum number of open files/sockets (if 0, don't attempt to set) (restart required) nofiles = 1000000 # HTTP header that contains the client's real IP, before reverse proxying (ie x-real-ip) (MUST be all lower-case) realIpHeader = "" info { # NIP-11: Name of this server. Short/descriptive (< 30 characters) name = "strfry default" # NIP-11: Detailed information about relay, free-form description = "This is a strfry instance." # NIP-11: Administrative nostr pubkey, for contact purposes pubkey = "" # NIP-11: Alternative administrative contact (email, website, etc) contact = "" }
```
You can now start the docker strfry docker container :
docker compose up -d
This command will take a bit of time because it will build the strfry docker image locally before starting the container. If your VPS doesn't have lot's of (v)CPU/RAM, it could fail (nothing happening during the docker image build). My VPS has 1 vCore / 2GB of RAM and died few seconds after the build beginning.
If it's the case, you can use prebuilt strfry docker image available on the Docker hub : https://hub.docker.com/search?q=strfry&sort=updated_at&order=desc
That said, otherwise, you should see this :
``` user@vps:~/npm-stack$ docker compose up -d [+] Building 202.4s (15/15) FINISHED
=> [internal] load build definition from Dockerfile 0.2s => => transferring dockerfile: 724B 0.0s => [internal] load .dockerignore 0.3s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/ubuntu:jammy 0.0s => [build 1/7] FROM docker.io/library/ubuntu:jammy 0.4s => [internal] load build context 0.9s => => transferring context: 825.64kB 0.2s => [runner 2/4] WORKDIR /app 1.3s => [build 2/7] WORKDIR /build 1.5s => [runner 3/4] RUN apt update && apt install -y --no-install-recommends liblmdb0 libflatbuffers1 libsecp256k1-0 libb2-1 libzstd1 && rm -rf /var/lib/apt/lists/* 12.4s => [build 3/7] RUN apt update && apt install -y --no-install-recommends git g++ make pkg-config libtool ca-certificates libyaml-perl libtemplate-perl libregexp-grammars-perl libssl-dev zlib1g-dev l 55.5s => [build 4/7] COPY . . 0.9s => [build 5/7] RUN git submodule update --init 2.6s => [build 6/7] RUN make setup-golpe 10.8s => [build 7/7] RUN make -j4 126.8s => [runner 4/4] COPY --from=build /build/strfry strfry 1.3s => exporting to image 0.8s => => exporting layers 0.8s => => writing image sha256:1d346bf343e3bb63da2e4c70521a8350b35a02742dd52b12b131557e96ca7d05 0.0s => => naming to docker.io/library/docker-compose_strfry-nostr-relay 0.0sUse 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
[+] Running 02/02
⠿ Container strfry Started 11.0s ⠿ Container npm-stack-app-1 Running ```You can check if everything is OK with strfry container by checking the container logs :
user@vps:~/npm-stack$ docker logs strfry date time ( uptime ) [ thread name/id ] v| 2023-07-21 19:26:58.514 ( 0.039s) [main thread ]INFO| arguments: /app/strfry relay 2023-07-21 19:26:58.514 ( 0.039s) [main thread ]INFO| Current dir: /app 2023-07-21 19:26:58.514 ( 0.039s) [main thread ]INFO| stderr verbosity: 0 2023-07-21 19:26:58.514 ( 0.039s) [main thread ]INFO| ----------------------------------- 2023-07-21 19:26:58.514 ( 0.039s) [main thread ]INFO| CONFIG: Loading config from file: /etc/strfry.conf 2023-07-21 19:26:58.529 ( 0.054s) [main thread ]INFO| CONFIG: successfully installed 2023-07-21 19:26:58.533 ( 0.058s) [Websocket ]INFO| Started websocket server on 0.0.0.0:7777
Now, we have to create the subdomain where strfry Nostr relay will be accessible. You need to connect to your Nginx Proxy Manager admin UI and create a new proxy host with these settings :
"Details" tab (Websockets support is mandatory!, you can replace "strfry" by whatever you like, for instance : mybeautifulrelay.yourdomain.tld)
"Details" tab:
"SSL" tab:
And click on "Save"
If everything is OK, when you go to https://strfry.yourdomain.tld you should see :
To verify if strfry is working properly, you can test it with the (really useful!) website https://nostr.watch. You have to insert your relay URL into the nostr.watch URL like this : https://nostr.watch/relay/strfry.yourdomain.tld
You should see this :
If you are seeing your server as online, readable and writable, you made it ! You can add your Nostr strfry server to your Nostr prefered relay and begin to publish notes ! 🎇
Future work:
Once done, strfry will work like a charm but you may need to have more work to update strfry in the near future. I'm currently working on a bash script that will :
- Updatethe "strfry" folder,
- Backup the "strfry.conf" file,
- Download the latest "strfry.conf" from strfry github repo,
- Inject old configuration settings into the new "strfry.conf" file,
- Compose again the stack (rebuilding the image to get the latest code updates),
- etc.
Tell me if you need the script!
Voilààààà
See you soon in another Fractalized story!
-
@ b12b632c:d9e1ff79
2023-07-21 14:19:38Self hosting web applications comes quickly with the need to deal with HTTPS protocol and SSL certificates. The time where web applications was published over the 80/TCP port without any encryption is totally over. Now we have Let's Encrypt and other free certification authority that lets us play web applications with, at least, the basic minimum security required.
Second part of web self hosting stuff that is really useful is the web proxifycation.
It's possible to have multiple web applications accessible through HTTPS but as we can't use the some port (spoiler: we can) we are forced to have ugly URL as https://mybeautifudomain.tld:8443.
This is where Nginx Proxy Manager (NPM) comes to help us.
NPM, as gateway, will listen on the 443 https port and based on the subdomain you want to reach, it will redirect the network flow to the NPM differents declared backend ports. NPM will also request HTTPS cert for you and let you know when the certificate expires, really useful.
We'll now install NPM with docker compose (v2) and you'll see, it's very easy.
You can find the official NPM setup instructions here.
But before we absolutely need to do something. You need to connect to the registrar where you bought your domain name and go into the zone DNS section.You have to create a A record poing to your VPS IP. That will allow NPM to request SSL certificates for your domain and subdomains.
Create a new folder for the NPM docker stack :
mkdir npm-stack && cd npm-stack
Create a new docker-compose.yml :
nano docker-compose.yml
Paste this content into it (CTRL + X ; Y & ENTER to save/quit) :
``` version: '3.8' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # These ports are in format
: - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port # Add any other Stream port you want to expose # - '21:21' # FTP # Uncomment the next line if you uncomment anything in the section # environment: # Uncomment this if you want to change the location of # the SQLite DB file within the container # DB_SQLITE_FILE: "/data/database.sqlite" # Uncomment this if IPv6 is not enabled on your host # DISABLE_IPV6: 'true' volumes: - ./nginxproxymanager/data:/data - ./nginxproxymanager/letsencrypt:/etc/letsencrypt
```
You'll not believe but it's done. NPM docker compose configuration is done.
To start Nginx Proxy Manager with docker compose, you just have to :
docker compose up -d
You'll see :
user@vps:~/tutorials/npm-stack$ docker compose up -d [+] Running 2/2 ✔ Network npm-stack_default Created ✔ Container npm-stack-app-1 Started
You can check if NPM container is started by doing this command :
docker ps
You'll see :
user@vps:~/tutorials/npm-stack$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7bc5ea8ac9c8 jc21/nginx-proxy-manager:latest "/init" About a minute ago Up About a minute 0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp npm-stack-app-1
If the command show "Up X minutes" for the npm-stack-app-1, you're good to go! You can access to the NPM admin UI by going to http://YourIPAddress:81.You shoud see :
The default NPM login/password are : admin@example.com/changeme .If the login succeed, you should see a popup asking to edit your user by changing your email password :
And your password :
Click on "Save" to finish the login. To verify if NPM is able to request SSL certificates for you, create first a subdomain for the NPM admin UI : Click on "Hosts" and "Proxy Hosts" :
Followed by "Add Proxy Host"
If you want to access the NPM admin UI with https://admin.yourdomain.tld, please set all the parameters like this (I won't explain each parameters) :
Details tab :
SSL tab :
And click on "Save".
NPM will request the SSL certificate "admin.yourdomain.tld" for you.
If you have an erreor message "Internal Error" it's probably because your domaine DNS zone is not configured with an A DNS record pointing to your VPS IP.
Otherwise you should see (my domain is hidden) :
Clicking on the "Source" URL link "admin.yourdomain.tld" will open a pop-up and, surprise, you should see the NPM admin UI with the URL "https://admin.yourdomain.tld" !
If yes, bravo, everything is OK ! 🎇
You know now how to have a subdomain of your domain redirecting to a container web app. In the next blog post, you'll see how to setup a Nostr relay with NPM ;)
Voilààààà
See you soon in another Fractalized story!
-
@ b12b632c:d9e1ff79
2023-07-20 20:12:39Self hosting web applications comes quickly with the need to deal with HTTPS protocol and SSL certificates. The time where web applications was published over the 80/TCP port without any encryption is totally over. Now we have Let's Encrypt and other free certification authority that lets us play web applications with, at least, the basic minimum security required.
Second part of web self hosting stuff that is really useful is the web proxifycation.
It's possible to have multiple web applications accessible through HTTPS but as we can't use the some port (spoiler: we can) we are forced to have ugly URL as https://mybeautifudomain.tld:8443.
This is where Nginx Proxy Manager (NPM) comes to help us.
NPM, as gateway, will listen on the 443 https port and based on the subdomain you want to reach, it will redirect the network flow to the NPM differents declared backend ports. NPM will also request HTTPS cert for you and let you know when the certificate expires, really useful.
We'll now install NPM with docker compose (v2) and you'll see, it's very easy.
You can find the official NPM setup instructions here.
But before we absolutely need to do something. You need to connect to the registrar where you bought your domain name and go into the zone DNS section.You have to create a A record poing to your VPS IP. That will allow NPM to request SSL certificates for your domain and subdomains.
Create a new folder for the NPM docker stack :
mkdir npm-stack && cd npm-stack
Create a new docker-compose.yml :
nano docker-compose.yml
Paste this content into it (CTRL + X ; Y & ENTER to save/quit) :
``` version: '3.8' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # These ports are in format
: - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port # Add any other Stream port you want to expose # - '21:21' # FTP # Uncomment the next line if you uncomment anything in the section # environment: # Uncomment this if you want to change the location of # the SQLite DB file within the container # DB_SQLITE_FILE: "/data/database.sqlite" # Uncomment this if IPv6 is not enabled on your host # DISABLE_IPV6: 'true' volumes: - ./nginxproxymanager/data:/data - ./nginxproxymanager/letsencrypt:/etc/letsencrypt
```
You'll not believe but it's done. NPM docker compose configuration is done.
To start Nginx Proxy Manager with docker compose, you just have to :
docker compose up -d
You'll see :
user@vps:~/tutorials/npm-stack$ docker compose up -d [+] Running 2/2 ✔ Network npm-stack_default Created ✔ Container npm-stack-app-1 Started
You can check if NPM container is started by doing this command :
docker ps
You'll see :
user@vps:~/tutorials/npm-stack$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7bc5ea8ac9c8 jc21/nginx-proxy-manager:latest "/init" About a minute ago Up About a minute 0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp npm-stack-app-1
If the command show "Up X minutes" for the npm-stack-app-1, you're good to go! You can access to the NPM admin UI by going to http://YourIPAddress:81.You shoud see :
The default NPM login/password are : admin@example.com/changeme .If the login succeed, you should see a popup asking to edit your user by changing your email password :
And your password :
Click on "Save" to finish the login. To verify if NPM is able to request SSL certificates for you, create first a subdomain for the NPM admin UI : Click on "Hosts" and "Proxy Hosts" :
Followed by "Add Proxy Host"
If you want to access the NPM admin UI with https://admin.yourdomain.tld, please set all the parameters like this (I won't explain each parameters) :
Details tab :
SSL tab :
And click on "Save".
NPM will request the SSL certificate "admin.yourdomain.tld" for you.
If you have an erreor message "Internal Error" it's probably because your domaine DNS zone is not configured with an A DNS record pointing to your VPS IP.
Otherwise you should see (my domain is hidden) :
Clicking on the "Source" URL link "admin.yourdomain.tld" will open a pop-up and, surprise, you should see the NPM admin UI with the URL "https://admin.yourdomain.tld" !
If yes, bravo, everything is OK ! 🎇
You know now how to have a subdomain of your domain redirecting to a container web app. In the next blog post, you'll see how to setup a Nostr relay with NPM ;)
Voilààààà
See you soon in another Fractalized story!
-
@ b12b632c:d9e1ff79
2023-07-19 00:17:02Welcome to a new Fractalized episode of "it works but I can do better"!
Original blog post from : https://fractalized.ovh/use-ghost-blog-to-serve-your-nostr-nip05-and-lnurl/
Few day ago, I wanted to set my Ghost blog (this one) as root domain for Fractalized instead of the old basic Nginx container that served my NIP05. I succeed to do it with Nginx Proxy Manager (I need to create a blog post because NPM is really awesome) but my NIP05 was down.
Having a bad NIP05 on Amethyst is now in the top tier list of my worst nightmares.
As a reminder, to have a valid NIP05 on your prefered Nostr client, you need to have a file named "nostr.json" in a folder ".well-known" located in the web server root path (subdomain or domain). The URL shoud look like this http://domain.tld/.well-known/nostr.json
PS : this doesn't work with Ghost as explained later. If you are here for Ghost, skip this and go directly to 1).
You should have these info inside the nostr.json file (JSON format) :
{ "names": { "YourUsername": "YourNPUBkey" } }
You can test it directly by going to the nostr.json URL, it should show you the JSON.
It was working like a charm on my previous Nginx and I needed to do it on my new Ghost. I saw on Google that I need to have the .well-known folder into the Ghost theme root folder (In my case I choosed the Solo theme). I created the folder, put my nostr.json file inside it and crossed my fingers. Result : 404 error.
I had to search a lot but it seems that Ghost forbid to server json file from its theme folders. Maybe for security reasons, I don't know. Nevertheless Ghost provide a method to do it (but it requires more than copy/paste some files in some folders) => routes
In the same time that configuring your NIP05, I also wanted to setup an LNURL to be zapped to pastagringo@fractalized.ovh (configured into my Amethyst profile). If you want more infromation on LNURL, it's very well explained here.
Because I want to use my Wallet of Satoshi sats wallet "behind" my LNURL, you'll have to read carefuly the EzoFox's blog post that explains how to retrieve your infos from Alby or WoS.
1) Configuring Ghost routes
Add the new route into the routes.yaml (accessible from "Settings" > "Labs" > "Beta features" > "Routes" ; you need to download the file, modify it and upload it again) to let him know where to look for the nostr.json file.
Here is the content of my routes.yaml file :
``` routes: /.well-known/nostr.json/: template: _nostr-json content_type: application/json /.well-known/lnurlp/YourUsername/: template: _lnurlp-YourUsername content_type: application/json collections: /: permalink: /{slug}/ template: index
taxonomies: tag: /tag/{slug}/ author: /author/{slug}/ ```
=> template : name of the file that ghost will search localy
=> content_type : file type (JSON is required for the NIP05)
The first route is about my NIP05 and the second route is about my LNURL.
2) Creating Ghost route .hbs files
To let Ghost serve our JSON content, I needed to create the two .hbs file filled into the routes.yaml file. These files need to be located into the root directory of the Ghost theme used. For me, it was Solo.
Here is there content of both files :
"_nostr-json.hbs"
{ "names": { "YourUsername": "YourNPUBkey" } }
"_lnurlp-pastagringo.hbs" (in your case, _lnurlp-YourUsername.hbs)
{ "callback":"https://livingroomofsatoshi.com/api/v1/lnurl/payreq/XXXXX", "maxSendable":100000000000, "minSendable":1000, "metadata":"[[\"text/plain\",\"Pay to Wallet of Satoshi user: burlyring39\"],[\"text/identifier\",\"YourUsername@walletofsatoshi.com\"]]", "commentAllowed":32, "tag":"payRequest", "allowsNostr":true, "nostrPubkey":"YourNPUBkey" }
After doing that, you almost finished, you just have to restart your Ghost blog. As I use Ghost from docker container, I just had to restart the container.
To verify if everything is working, you have to go in the routes URL created earlier:
https://YourDomain.tld/.well-known/nostr.json
and
https://YourDomain.tld/.well-known/lnurlp/YourUsername
Both URL should display JSON files from .hbs created ealier.
If it's the case, you can add your NIP05 and LNURL into your Nostr profile client and you should be able to see a valid tick from your domain and to be zapped on your LNURL (sending zaps to your WoS or Alby backend wallet).
Voilààààà
See you soon in another Fractalized story!
-
@ b12b632c:d9e1ff79
2023-07-17 22:09:53Today I created a new item (NIP05) to sell into my BTCpayserver store and everything was OK. The only thing that annoyed me a bit is that when a user pay the invoice to get his NIP on my Nostr Paid Relay, I need to warn him that he needs to fill his npub in the email info required by BTCpayserver before paying. Was not so user friendly. Not at all.
So I checked if BTCpayserver is able to create custom input before paying the invoice and at my big surprise, it's possible ! => release version v1.8
They even use as example my need from Nostr to get the user npub.
So it's possible, yes, but with at least the version 1.8.0. I checked immediately my BTCpayserver version on my Umbrel node and... damn... I'm in 1.7.2. I need to update my local BTCpayserver through Umbrel to access my so wanted BTCpayserver feature. I checked the local App Store but I can't see any "Update" button or something. I can see that the version installed is well the v1.7.2 but when I check the latest version available from the online Umbrel App Store. I can see v1.9.2. Damn bis.
I searched into the Umbrel Community forum, Telegram group, Google posts, asked the question on Nostr and didn't have any clue.
I finally found the answer from the Umbrel App Framework documention :
sudo ./scripts/repo checkout https://github.com/getumbrel/umbrel-apps.git
So I did it and it updated my local Umbrel App Store to the latest version available and my BTCpayserver.
After few seconds, the BTCpaysever local URL is available and I'm allowed to login => everything is OK! \o/
See you soon in another Fractalized story!
-
@ 6ad08392:ea301584
2024-10-19 18:02:21Prediction: Social Networks of the 2030s, will be different to Social Networks of the 2020s, and in some ways, will come to slowly resemble the Social Networks of the mid 2000s and early 2010s.
In the last decade - the past five years especially - social apps have become more social media than social network. They’ve become more about discovery, and less about relationship. More about size, and less about connection. More about the algorithms, and less about the social graph.
Jack Conte, CEO of Patreon, gave a fantastic talk on a similar thread at SXSW 2024, called “The Death of the Follower”
I believe this will change over the coming decade, as people begin to crave community and connection again, and not just content consumption.
This doesn’t mean the multi billion user platforms run by algorithms will disappear. In fact, they will probably be larger and stronger than ever.
BUT…I predict that we will also see the rise of many, many niche and micro-social networks with a focus on relationships, communities and the social graph.
In fact, there will also be applications that do a mixture of both media/content/algorithm and network/community/social.
In this essay, I’d like to look at the history of Social Networks, how they started, how they’re going, what the evolution looked like and what the future will hold.
Social 1.0?
Social 1.0 has been about massive, billion+ user platforms. Think Facebook, Twitter, Instagram, TikTok, LinkedIn.
While there is certainly a variance in the kinds of users attracted to each, and also how they work, there are some underlying commonalities among them.
First of all, each of these Social 1.0 networks are platforms.
They are built in such a way that they own not only the content and data, but also the user’s identity (eg: your handle), the social graphs and connections (follows/following), and the algorithms that serve up the content (or censor it).
This is not a problem in and of itself. In fact, it worked extraordinarily well for the teams who built sticky-enough applications that fostered network effects and reached scale.
The problem however, arises later, when the platforms who basically own everything, lose the incentive to provide value, and instead need to find ways to keep people “locked in.” Turns out, the best way to lock people in is to push their dopamine buttons and hook them on content. In other words, when social-networks reach saturation, the only thing left to do is drive consumption.
This of course creates some perverse incentives. And since we are creative human beings after all, we find ways to game the incentives, resulting in the problematic state that social media finds itself in today: a big digital dopamine-dispenser, where the user, instead of being a client, becomes the product, and a slave to the algorithm.
“If you’re not paying for the product, you are the product. It’s the gradual, slight, imperceptible change in your own behavior and perception that is the product.”
-Tristan Harris, The Social Dilemma Documentary
The second issue is the converging nature of all these social networks.
Because they are siloed platforms, they cannot leverage content between each other. In the early days of social (pre-2010), there were open APIs all over the place and each social network bootstrapped off the other. Instagram bootstrapped both off Twitter and Facebook!
But, as the realisation dawned on each of them that their key asset was their users, they had to - economically-speaking - cut off access to others that might leech their user base. This is perfectly rational market behaviour, given the constraints they were working with. Your social network is valuable insofar as you have enough connections there to sustain it. If someone starts to suck your users away, it could destroy you. See MySpace and many others along the way.
So what happens here in time, is that all the feature set of all these platforms begin to, slowly by slowly, inch toward each other.
Instagram created the first real “influencers,” and since then every other social network copied. SnapChat created stories, basically everyone followed. TikTok came out and has since pushed almost every social network towards being more ‘social media’ by implicitly incentivising video. Now, almost every platform is doing some sort of video short.
Of course, the increase in internet bandwidth and device quality has gone hand in hand with this. Video is far more engaging and close to “real life” than simple photos or text are. But there’s something else that came with this. And that’s the more from being networks with a social graph, toward being essentially content engines. I will elaborate on this in a future essay.
The result of all this is a strange blend of excess redundancy and dependence on platforms which own your digital footprint.
I find myself these days, posting basically the same shit, across multiple social apps. Sure, there is some variance, but since everyone is increasingly getting on all of them, the audiences, while quite different in the early days, are slowly becoming the same.
This redundancy part, is something that platforms like Buffer and Hootsuite have taken full advantage of.
Other than the annoying redundancy, the dependence side of things involves me as a creator, trying to optimise all of my content for the algorithms, ie": for maximum engagement instead of maximum value, across all of these platforms. And worse, trying to do it such a way that doesn't get me banned, because my content, my social graph and my identity are owned by the platform, not by me.
Long term, what this does is both (a) waste a lot of time, and (b) make creators less interested in producing for their niche, and instead producing for a bunch of algorithms that are increasingly converging around appeal to a lowest-common-denominator of consooomer.
It’s a strange situation, that almost had to happen, but which we can change.
How and why did this happen?
Despite what the conspiracy theorists might believe, this was not all part of some premeditated agenda. These things are complex and emergent. Nobody had any clue what these platforms would come to be in the early days. Nobody had any idea Facebook would be used for marketplaces or that Instagram would change the very nature of travel, food and fashion. But they did, because they evolved, and did so in such a way that conspiring to use them became necessary.
Because Social 1.0 platforms are all companies, they are able to be “captured” - especially if they’re public. This is part of why Elon is such an important figure. He’s rich enough to not be entirely captured and he acts as somewhat of a bastion against the rot. That being said, this is not a viable long term solution to the problem, because one man is fragile, and the nature of the current paradigm and available building blocks is such that it will trend once more to centralisation, censorship and co-opting.
So if you want to know the real reason as to why we got here, it pretty much boils down to the building blocks that we had available. If you have mud all around you, don’t be surprised that the best structure you can build is a mud-hut.
This first round of social networks saw humans and human nature collide with an ‘internet’ that fundamentally lacked an identity layer, something the early pioneers were not ignorant about. The issue was that a viable implementation was never conceived - or at least, never broadly adopted. The internet stack only made it four layers deep:
What happened instead of a native digital identity for the web, was the creation of many identities owned by the actual applications built ON the internet. Instead of a protocol like TCP or IP, identity became a feature inside of a product. In fact, “logging in” is basically a feature, and your profile or identity are simply a database entry owned by whichever online product / service you signed up for. You have an identity with Amazon, with your bank, with your sales software, with Facebook, with Google and with every other online service.
This of course got very messy in time. We all ended up with a million and one identities, each requiring their own username and password. Not only that, but each online service became a honeypot full of private, identifying data that hackers love to exploit.
Some bandaid solutions arose to solve this problem. One was password managers (which we all hate). The other was SSO. Companies like Google and Facebook saw an opportunity here and being so broadly used developed Single Sign On (SSO) - and to some degree, they solved a big issue. It’s much easier to have a secure email set up with Google and just log in using SSO. The solution of course, comes with its very own problem, namely; Google/Facebook (insert SSO provider) ends up owning your identity, making you increasingly dependent on them.
This might be ok in a perfect world, but as you know, we live in an imperfect one. It’s very easy for Google to not only use that information to exploit you (selling your data, selling you shit, etc), but you can very easily get ‘cancelled’ or deplatformed.
While this is problematic with an email account, it even worse with a social account on a platform like Facebook or Twitter, because at least with your emails, you can own the list. On a social network, you could spend years building a following, an audience, a treasure trove of data and content - and then one day, be cancelled for saying or believing the wrong thing. Or perhaps even worse: become algorithmically irrelevant.
This is clearly a problem and one that has only become more prevalent since 2020. Celebrity chef Pete Evans, was de-platformed from Facebook and Instagram in 2020 after his public support for Trump and his opinion on the Covid-19 situation. Almost 2 million followers, gone overnight. The same has happened to countless other creators and online personalities who dared have an opinion in conflict with the mainstream narrative - I was one of them. My personal twitter account was perma-banned in 2021, right as my public profile began to take off because I dared question official narratives (although I created a new one).
So ultimately, we have a web stack that is ok, and got us quite far over the last 30-40 years - but comes with a unique set of problems, that are a function of the building blocks we’ve had to work with. I don’t believe there was a ‘master plan’ to get here, but there was no other option consider the ingredients we had. The only way to really handle identity, and later social, at scale, has thus far been with these constraints.
Hence why I call it Social 1.0, and why now, with the emergence of new technologies and new ways of managing your digital identity and footprint, we have an opportunity to build a new Social Web that doesn’t fall into the same trap as the first one did. We understand how people behave online much better than we did a decade or two ago. If we learn from the past, we can do things differently in the future. We can build something fundamentally new, and more importantly, better.
What is Social 2.0?
Social 2.0 is the term I’m giving to this very nascent but emerging new field of social networks that are smaller and more niche, and that are once again focusing on the connection between people, as opposed to the algorithmic content-recommendation engines. Some (not all) are leveraging the new building blocks that have emerged over the last five years.
In general, they are smaller, more community focused, and concentrate around a particular domain. This is a trend that is gaining traction, with a number of strong examples in various domains:
- Cara: Basically an Instagram for artists
- BlueSky: Basically Twitter for the Left
- TruthSocial: Like Twitter for MAGA
- New Public: Pluralist digital public spaces
- Dribble: A social network for designers and digital artists
- Primal: Like a Twitter meets Venmo that appeals to Bitcoiners
- Farcaster: Kind of like Twitter, but for Crypto Degens, built on ETH
- Ditto: Decentralised, self hosted, community-social networks
- Highlighter: Like Patreon meets Substack for digital creators that want censorship resistance.
And of course there is Satlantis, which is essentially a Social Network for Sovereign Individuals. We are interested in the global community of people who live at the nexus of the following interests and domains:
Beyond their size and focus, the most interesting commonality, which in my opinion will become an ever-increasingly defining characteristic for Social 2.0 platforms, is that some of these (eg: Highlighter, Primal, Ditto and Satlantis) are all built atop a common social protocol: Nostr.
This is important because the identity and social graph do not live on the platform, but instead live on an underlying protocol - a bit like how your email lives on and is transmitted on the SMTP protocol.
This approach and what it implies could be the most significant upgrade to the web, perhaps since Web 2.0 really became a thing. If a robust, user-owned identity layer is adopted across the web, the entire topography of the internet will change, and so will the design space and the kinds of products which can be built.
Of course, the benefits it comes with, also bring some drawbacks, but in my opinion, they far outweigh the downsides. This is why I am so interested in the future of the social web, and the role Nostr in particular can play.
What is Nostr?
An explanation of Nostr is probably not necessary for anyone reading this essay here, but I'll summarise how I explained it over on Substack for normies and non-Nostr people. Hopefully it's useful when you're doing some Purple-pilling.
- Nostr is a rich identity layer for the internet.
- This identity is rich because you can append meta-data to it, for example, a profile photo, a description and perhaps most importantly, a list of follows and followers. This is what makes it a ‘social protocol,’ and not just native identity for the web.
- This identity is also sovereign, meaning that it’s not “issued” by some platform or entity, but instead mathematically derived as a crypto-graphic key pair. Your private key is your ID, and your public key is your public address / username (how people find you). So long as you control the private key, you fully control your ID.
- Unlike a blockchain, Nostr is stateless (like the internet) so it has the capacity to scale, and because it’s not money, it doesn’t need consensus. This avoids all the extra bloat that kills the usage of all other “crypto” and “blockchain” networks.
- Storage is solved by the market. If you are posting data that might be censored, you can run your own relay (like a database) and ensure that it’s never taken down. If you’re posting non-sensitive content, you can very easily rely on the network of relays that the apps you’re using use. This is fine for 99% of use cases, and is abstracted away so nobody is impacted or annoyed.
- It is very tightly linked to Bitcoin, the lightning network and other e-cash solutions, which make it “internet money native.” This is a huge benefit because commerce on the web will only want to grow, while the legacy digital banking infrastructure gets more stringent and draconian - so we need a plan B. Bitcoin solves that, and Nostr can scale without needing to shoehorn a token into it.
- Like TCP/IP and SMTP, it is a protocol. This means it’s not owned by a single entity or company - making it much harder to capture.
- As a new protocol layer, it upgrades the topography of the web, and opens up a design space that was not possible before. It’s a significant new building block for the web. Recall the earlier diagram depicting the current “internet stack.” With Nostr and Bitcoin, the internet stack gets a serious upgrade:
Of ocurse, if you haven't read @nostr:npub1a2cww4kn9wqte4ry70vyfwqyqvpswksna27rtxd8vty6c74era8sdcw83a 's peice on Nostr it's worth doing so: https://www.lynalden.com/the-power-of-nostr/
I also did a thorough X post explaining it here: https://x.com/SvetskiWrites/status/1828403019081269661
There’s also a great post from my other Substack called Reviewing Reviews:
https://remnantchronicles.substack.com/p/reviewing-reviews
Comparing Social 1.0 and 2.0
Now that you have all of this context, let’s close out this essay with a quick comparison table between the two social paradigms:
As you can see, there are some general differences. And while I don’t show it to make the claim that one is good or the other is evil, I personally believe that Social 2.0 is technically and socially superior. It has better building blocks, and it’s the best shot we have at making the web more sovereign, independent and useful.
Also note:
- These dichotomies are not hard rules. There’s a lot of both elements across all kinds of social networks, but broadly speaking Social 1.0 is larger, more about discovery than relationships, more about content consumption and more algorithmically driven than Social 2.0 will be.
- The rise of Social 2.0 doesn’t mean social 1.0 will entirely disappear. In fact, part of the 2.0 movement implies that there will be both big and large social networks, and both protocol-connected and independent platform-enclosed social networks. In fact, there will also be blends of the two. I wouldn’t be surprised to see Threads, or maybe even X one day, leverage something like Nostr. Maybe they become “Nostr-compatible” so that people who have built profiles and audiences on Nostr, can easily port them over to X, while maintaining control.
It will be interesting to see how the future evolves, now that we have some new and unique building blocks. One thing I am certain of, is that the future will look different to the present, and I look forward to helping built it with Satlantis.
Thankyou for reading the first full essay on Social 2.0. If you're interested in checking out Satlantis, go here: Satlantis.io
Aleksandar Svetski
-
@ f33c8a96:5ec6f741
2024-10-19 16:28:32 -
@ 599f67f7:21fb3ea9
2024-10-19 15:20:46Merkatari bat zara eta zure negozioan Bitcoin onartzen hasteko prest zaude? Edo agian Bitcoin zale sutsua zara, tokiko negozioak Bitcoinen mundura erakartzeko gogoz? Beharbada, ez zaizu Bitcoin interesatzen, baina ordainketa-prozesadore azkar eta merke bat erabili nahi duzu edo web-denda sinple bat sortu nahi duzu? Galdera hauetakoren bati baiezkoa erantzun badiozu, gida hau zuretzat da. Bitcoin Txoko-k ostatatutako BTCPay Server-en denda bat konfiguratu dezakezu eta zure produktuak eta zerbitzuak Bitcoinen truke saltzen hasi hamar minuturen buruan, doan.
Zer behar dut?
Mugikor edo ordenadore bat baduzu eta posta elektronikoko kontu bat ere bai, orduan prest zaude!
Kontu bat sortu
Bitcoin Txoko-n BTCPay Server-en kontu bat sortzea doakoa da. Joan btcpay.bitcointxoko.com helbidera kontu bat erregistratzeko. Egiaztatu zure posta elektronikoa, bertan bitcointxoko@gmail.com helbidetik bidalitako mezu bat aurkituko duzu, baieztapen-esteka bat izango duena.
Zure lehen denda sortu
Baieztapen-estekan klik egitean, dendaren sorrera orrialdera eramango zaitu. Eman zure dendari izen bat eta hautatu moneta lehenetsia eta prezio iturri hobetsia. Adibidez, EUR eta Kraken aukeratu ditzakezu, azken hau gomendatutako prezio iturria baita. BTCPay Server-ek zure produktuen edo zerbitzuen prezioa EUR-tik Bitcoin-era bihurtuko du, erosketa unean aukeratutako prezio iturriaren arabera.
Zorro bat konfiguratu
Ordainketak onartzen hasteko, lehenik eta behin zure denda zorro batera lotu behar duzu. Transakzio handiak (500 EUR baino gehiago) maiz espero ez badituzu, Lightning zorro bat konfiguratzeko gomendioa egiten dizugu, eta une honetan (on-chain) Bitcoin zorroa ez erabiltzea gomendatzen da. Lightning zorroa erabiliz, transakzioak azkarragoak eta merkeagoak izango dira.
💡 Lightning sarea Bitcoin ordainketak jasotzeko sare ezin hobea da, transakzio berehalakoak eta komisiorik baxuenak eskaintzen baititu on-chain transakzioekin alderatuta. Horrela, zure negozioak eraginkortasunez eta kostu txikiarekin jaso ditzake ordainketak.
Lightning zorro bat konektatzeko modurik errazena LNDhub erabiltzea da, zure Lightning nodo propioa exekutatu beharrik ez baituzu izango. LNDhub zorro bat ez baduzu oraindik, ez kezkatu; Bitcoin Txoko-k doako LNDhub zorroak eskaintzen ditu, eta bost minutu baino gutxiago behar dira konfiguratzeko. Begiratu nostr:naddr1qqxnzd3exuerqdfkxccnyv3cqgs9n8m87l0hd9xxqwndqcmwzh4uvyxmwlw0637kuhg98pkcy8ana2grqsqqqa28nkyu7t zure LNDhub zorroa nola lortu jakiteko, eta prest zaudenean itzuli konfigurazioa jarraitzeko.
Zure LNDhub zorroa prest dagoenean, jarraitu urrats hauek BTCPay kontuan konfiguratzen: 1. Joan zure BTCPay kontura eta
Wallets
aukera bilatu alboko barran, ondorenLightning
aukeratu. 2. HautatuUse custom node
. 3. Kopiatu zure LNDhub administrazio URL-a eta itsatsi konexioaren konfigurazioan. 4. Proba ezazu zure zorroaren konexioa. 5. Ondo joan bada, honako mezua agertu beharko litzateke: Connection to the Lightning node successful, but no public address has been configured. Ez kezkatu "no public address has been configured" atalaz, horrek zure nodo propioa exekutatzen ari bazara bakarrik du garrantzia. 6. Zorroaren konexioa arrakastaz probatu ondoren, sakatuSave
botoia. 7.Save
sakatu ondoren,LNURL
atalean, desaktibatuEnable LNURL
aukera. Egin aldaketak eta ez ahaztu berriroSave
botoian klik egitea. 8. (Hautazkoa) Une honetan, gomendagarria daDisplay Lightning payment amounts in Satoshis
aukera markatzea, Satoshitan zenbatutako ordainketa kopuruak irakurtzeko errazagoak baitira. Satoshi Bitcoin-en zatirik txikiena da; Bitcoin bat 100 milioi satoshik osatzen dute.Jarraitu urrats hauek zure zorroa arrakastaz konfiguratuta izateko eta Lightning bidezko ordainketak onartzeko.
💡 Zure Lightning nodo propioa erabiltzen ari bazara, konfigurazio prozesua antzekoa da. Ziurtatu zure nodo inplementaziorako konexio kate egokia ematen duzula.
Saltoki puntua (PoS) sortu
Urrats honetara iritsi bazara, zorionak! Zati aspergarriena amaitu da, eta orain zure Saltoki puntua (Point of Sale, PoS) sortzeko unea iritsi da, BTCPay bidez zure lehen Bitcoin ordainketa onartzen hasteko!
Saltoki puntu bat sortzeko: 1. Joan
Plugins
>Point of Sale
atalera. 2. Eman izen bat zure Saltoki puntuari eta sakatuCreate
botoia.Jarraian, zure PoS aplikazioarekin egin ditzakezun gauza erraz batzuk azalduko ditugu. BTCPay-k ezaugarri asko ditu, baina gida honetan oinarrizkoak soilik azalduko ditugu, hasiera emateko.
💡 Gogoratu BTCPay Server-en saltoki puntu bat baino gehiago sor ditzakezula, bakoitza erabilera jakin baterako. Horrela, negozio desberdinetarako edo produktu eta zerbitzu berezietarako konfigurazio bereiziak izatea posible da.
Teklatua (Keypad)
Demostrazio erraz baterako, PoS estilo gisa teklatuaren eredua erabiliko dugu.
- Eman zure PoS-ari izen bat eta erakusteko titulua.
- Hautatu
Keypad
estiloaPoint of Sale style
aukeraren azpian. - Sakatu
Save
eskuineko goiko izkinan, eta ondorenView
sakatu zure PoS begiratzeko.
Ordainketak lehenago konfiguratutako LNDhub zorroan jasoko dira. Jolas ezazu fakturak sortzen eta deskontu eta tip (aholkularitza) aukerak aktibatuz. Gainera, telefono bat baduzu (adibidez, iPhone ez den bat) NFC teknologia onartzen duena, bezeroek NFC txartelak erabiliz ere ordain dezakete, hala nola BoltCard erabiliz (ikusi nostr:naddr1qqxnzd3e8qcr2wfn8qcrgwf4qgs9n8m87l0hd9xxqwndqcmwzh4uvyxmwlw0637kuhg98pkcy8ana2grqsqqqa28qjzxr4). Ez al da zoragarria?
💡 PoS estilo honen erraztasuna maximizatzeko, Keypad PoS zure telefonoan Progressive Web App (PWA) gisa gorde dezakezu sarbide azkarrerako. Mugikor gehienetako nabigatzaileetan aukera hau
Install App
edoGehitu orri nagusian
izenarekin agertzen da.Horrela, zure negozioan Bitcoin ordainketak erraz onar ditzakezu, eta erabiltzaileek ere modu intuitibo batean ordaindu ahal izango dute.
Product list (with cart)
Posible da saltoki puntu bat sortzea produktu zehatzekin, bakoitza bere prezioarekin. Ezaugarri hau erabil dezakezu kutxa sinple bat, bezeroen auto-ordainketa sistema edo web denda bat konfiguratzeko.
Nola sortu produktu-zerrendadun Saltoki Puntua: 1. Joan berriro alboko barrara eta aukeratu
Point of Sale
. 2. Oraingoan,Point of Sale Style
azpian, hautatuProduct list with cart
. "With cart" aukerak bezeroari produktu bat baino gehiago aldi berean erosteko aukera ematen dio. 3. Zure produktuak sortu, edo zuzenean sakatuSave
etaView
produktu laginak probatzeko.Ondorioa
Gida honetan, zure negozioan Bitcoin onartzen hasteko BTCPay Server erabiliz jarraitu beharreko oinarrizko urratsak azaldu ditugu. BTCPay Server proiektu irekia da eta etengabe garatzen ari da. Askoz ere ezaugarri eta funtzionalitate gehiago eskaintzen ditu, hala nola Shopify integrazioa, crowdfunding eta ordainketen banaketa automatikoa. Gainera, zure denda pertsonaliza dezakezu gaikako diseinuekin, ordainketa-gune pertsonalizatuarekin, erabiltzaileen kudeaketarekin, posta elektronikoko jakinarazpenekin eta askoz gehiago.
BTCPay Server-en ahalmen guztiak aprobetxatu nahi badituzu, zure Lightning nodoa konfiguratu eta zure BTCPay zerbitzaria ostatatzea gomendatzen dizugu. Informazio gehiago lortzeko, haien dokumentazioa eta bideoak ikustea komeni da.
Zalantzarik edo galderarik baduzu, jakinarazi iezaguzu! Zure iritziak entzutea gustatuko litzaiguke eta galderak argitzen lagundu nahi dizugu.
Bitcoin Txoko komunitate ireki bat da. Gure zerbitzu guztiak dohaintzekin finantzatzen dira. Gida hau erabilgarria iruditu bazaizu, kontuan hartu gure zerbitzariak martxan mantentzen laguntzeko dohaintza bat egitea. Eskerrik asko aldez aurretik!
-
@ 9e69e420:d12360c2
2024-10-19 12:52:02Joe Biden and Senator Lindsey Graham about securing a U.S.-Saudi defense treaty, as revealed in Bob Woodward's new book "War".
The Proposed "Megadeal"
The conversation took place in the context of Biden's attempts to negotiate a "megadeal" between the United States, Saudi Arabia, and Israel[1]. The goal was to create a permanent, U.S.-led security alliance in the Middle East[1].
Bipartisan Collaboration
Graham reportedly told Biden that only a Democratic president could convince Democrats to "vote to go to war for Saudi Arabia," to which Biden responded, "Let's do it"[1]. This exchange highlights the bipartisan willingness to consider military commitments in the Middle East[2].
Political Calculations
Graham suggested that: - A Republican administration wouldn't be able to secure such a deal - Democrats wouldn't support it if introduced by Trump - Republicans could provide 45 votes if Israel encouraged it Biden assured Graham he could secure the remaining Democratic votes[1].
Saudi Arabia's Perspective
Crown Prince Mohammed bin Salman was reportedly interested in the deal to gain protection under the U.S. nuclear umbrella[1]. However, after the October 7, 2023 attacks on Israel, bin Salman became hesitant, fearing potential assassination if he didn't stand up for Palestinian rights[1].
Current Status
The deal is currently in suspended animation due to bin Salman's concerns and changing regional dynamics. The Biden administration continues to pursue negotiations, urging Israel to make concessions on Palestinian rights to facilitate the agreement.
The article concludes by noting that if Woodward's reporting is accurate, both Biden and Graham seemed willing to commit American troops to potential conflict with relative ease.
-
@ a012dc82:6458a70d
2024-10-19 12:51:04Table Of Content
-
The Current State of Bitcoin ETFs
-
The 'Silver Bullet' Solution
-
The Role of ARK Invest
-
Implications for the Future
-
Conclusion
-
FAQ
In the dynamic and rapidly changing landscape of cryptocurrencies, Cathie Wood's ARK Invest has consistently been a pioneer, leading the charge with innovative strategies and investment products. The latest development from the firm is a groundbreaking strategy for their Bitcoin ETF filing, a solution they have intriguingly dubbed the 'Silver Bullet'. This approach, while shrouded in some degree of mystery, aims to address regulatory concerns that have long plagued the cryptocurrency sector. It promises to pave the way for a more secure, transparent, and efficient future for Bitcoin investments, potentially revolutionizing the way we perceive and interact with this digital asset.
The Current State of Bitcoin ETFs
Exchange-Traded Funds (ETFs) have become a popular investment vehicle in the financial world. They offer diversified exposure to a particular asset class or sector, allowing investors to mitigate risk while capitalizing on market trends. However, the creation of a Bitcoin ETF has been a contentious issue. Regulatory bodies, particularly the U.S. Securities and Exchange Commission (SEC), have expressed concerns over the potential for market manipulation and the need for robust investor protection measures. This has led to a stalemate, with several Bitcoin ETF proposals being rejected or left in regulatory limbo.
The 'Silver Bullet' Solution
ARK Invest's 'Silver Bullet' solution is a novel and ambitious approach designed to address these regulatory concerns head-on. While the specifics of this strategy remain undisclosed due to confidentiality and strategic reasons, it is believed to involve a blend of advanced technology and stringent compliance measures. The 'Silver Bullet' is not just a solution; it's a statement of intent, a commitment to providing greater transparency, reducing the risk of market manipulation, and ensuring robust investor protection. It's a testament to ARK's belief in the potential of Bitcoin and their determination to overcome the regulatory hurdles that stand in its path.
The Role of ARK Invest
Under the visionary leadership of Cathie Wood, ARK Invest has emerged as a strong advocate for cryptocurrencies and the transformative potential of blockchain technology. The firm's active management style, combined with its unwavering focus on disruptive innovation, has led to significant returns for their investors and cemented their reputation as trailblazers in the investment world. The introduction of the 'Silver Bullet' solution is another testament to ARK's commitment to pushing the boundaries of traditional finance, challenging the status quo, and driving the adoption of innovative financial products.
Implications for the Future
If successful, the 'Silver Bullet' solution could have far-reaching implications for the future of Bitcoin and the broader cryptocurrency sector. It could revolutionize the way Bitcoin ETFs are viewed by regulatory bodies, potentially leading to a shift in perception and a softening of the regulatory stance. This could pave the way for more widespread acceptance of Bitcoin as a legitimate and regulated asset class. The potential impact of this cannot be overstated. It could lead to an influx of institutional investors into the Bitcoin market, further driving its growth, increasing its liquidity, and promoting its adoption on a global scale.
Conclusion
The 'Silver Bullet' solution introduced by ARK Invest represents a significant and potentially game-changing step forward in the quest for a Bitcoin ETF. While the road to regulatory approval may still be fraught with challenges and uncertainties, this innovative approach offers a promising glimpse into the future of Bitcoin investments. As we continue to navigate the uncharted waters of cryptocurrency regulation, it is clear that firms like ARK Invest are not just observers but active participants, leading the charge towards a more secure, transparent, and inclusive financial future.
FAQ
What is the 'Silver Bullet' solution by ARK Invest? The 'Silver Bullet' is a novel strategy introduced by ARK Invest for their Bitcoin ETF filing. While specific details are confidential, it's designed to address regulatory concerns, aiming to provide greater transparency, reduce market manipulation risk, and ensure investor protection.
Why is the 'Silver Bullet' solution significant? If successful, the 'Silver Bullet' could revolutionize how Bitcoin ETFs are viewed by regulatory bodies, potentially leading to more widespread acceptance of Bitcoin as a regulated asset class. This could attract more institutional investors into the Bitcoin market, driving its growth and adoption.
What is ARK Invest's role in the cryptocurrency market? Led by Cathie Wood, ARK Invest is a strong advocate for cryptocurrencies and blockchain technology. The firm's focus on disruptive innovation has led to significant returns for investors and the introduction of the 'Silver Bullet' solution is another testament to ARK's commitment to pushing the boundaries of traditional finance.
That's all for today
If you want more, be sure to follow us on:
NOSTR: croxroad@getalby.com
Instagram: @croxroadnews.co
Youtube: @croxroadnews
Store: https://croxroad.store
Subscribe to CROX ROAD Bitcoin Only Daily Newsletter
https://www.croxroad.co/subscribe
DISCLAIMER: None of this is financial advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. Please be careful and do your own research.
-
-
@ 9e69e420:d12360c2
2024-10-19 12:06:34Cancer cases in England hit record high - with almost 1,000 people diagnosed every day
Cancer cases in England have reached a new high, with nearly 1,000 diagnoses made every day, according to NHS data. In 2022, there were 346,217 cancer diagnoses, a 5% increase from 2021. The rise largely stems from a significant increase in prostate cancer cases, which rose by over 25%.
While the incidence of cancer has increased, death rates are falling. Dame Cally Palmer of NHS England stated, "Our work is leading to more people starting treatment promptly – potentially saving lives." Current initiatives are encouraging earlier cancer checks post-pandemic, aiming for quicker diagnoses and better care for patients.
-
@ e97aaffa:2ebd765d
2024-10-19 10:07:46As eleições nos países democráticos, são uma espécie de um concurso de popularidade, vence o mais popular. Os governos, como querem vencer as próximas eleições, tendem a tomar medidas com execução curtas, que apresente resultados num curto espaço de tempo. Os governos deixaram de fazer reformas estruturais, que teriam bons resultados daqui a 10 a 20 anos, pensam apenas a curto prazo, com uma alta preferência temporal e que sejam populares. Os incentivos estão completamente desalinhados.
Isto coloca os partidos políticos, um pouco refém da opinião pública, dificilmente fazem algo contra a opinião da maioria dos cidadãos. Se executar medidas muito impopulares, existe uma forte probabilidade de perder a próxima eleição.
Assim os governos só aprovam propostas que tenham uma “aprovação” parcial da população, poderá não existir uma maioria, mas uma parte terá que compreender essa proposta.
Muitas das vezes, os governos querem aprovar uma nova lei, mas sabem de antemão que é extremamente impopular, por isso, primeiro manipulam a opinião pública para ganhar apoio popular, depois sim aprovam a lei. Ou seja, cria uma narrativa, um motivo que justifique aquele ato.
Vamos um exemplo prático, dificilmente um governo aprova um aumento de impostos com o único objetivo de aumentar o salário dos deputados, seria extremamente impopular.
Os governos acabam por manipular a população, criam uma narrativa, prometem que o aumento dos impostos é para ajudar os mais pobres. É algo popular, mas depois de aprovada, uma parte do dinheiro vai para os pobres, a outra parte vai para os bolsos dos deputados. Assim conseguiram realizar a ideia inicial com o apoio popular.
Em suma, os incentivos levam os governos a tomar medidas que tenham uma parte de apoio popular. Terá que existir sempre um motivo que justifique. É uma espécie de equilíbrio de Nash, tem que existir um equilíbrio entre a opinião do governo e a opinião da população. Se existir uma enorme divergência, as perdas são muito superiores aos benefícios para o governo.
Bitcoin
A grande herança/legado do Satoshi não foi a tecnologia (até tinha muitos bugs) mas sim a política económica e protocolo de consenso, as suas múltiplas teorias dos jogos coexistentes, é uma verdadeira obra prima.
Já foram realizados inúmeros melhoramentos no código (tecnologia), talvez daqui a 20 anos, pouco restará do código inicial, mas a sua política está inalterada e está completamente atual e possivelmente nunca será alterada.
O Satoshi ao criar um novo sistema monetário alternativo, sabia que mais cedo ou mais tarde, o bitcoin seria atacado pelos governos. Como aconteceu em todas as tentativas anteriores ao bitcoin.
Após este comentário de um anónimo:
Você não encontrará uma solução para problemas políticos na criptografia
Satoshi respondeu:
Sim, mas podemos vencer uma grande batalha na corrida armamentista e conquistar novos caminhos para a liberdade por alguns anos. Os governos são bons em cortar cabeças de redes gerenciadas centralmente, como a Napster, mas redes P2P puras, como Gnutella e Tor, parecem estar se mantendo funcionando.
Assim quanto mais tarde, melhor, permitindo o desenvolvimento tecnológico e um maior crescimento da adoção. A adoção é o melhor escudo, um escudo humano sem armas mas com o poder no voto, de poder eleger ou derrubar o governo.
A diferença de poderes entre o estado e o Bitcoin é desproporcional, num confronto direto, o pequeno nunca vencerá essa guerra. O pequeno nunca conseguirá explodir o grande, mas poderá implodi-lo, ou seja, entrar dentro do sistema como um cavalo de Troia e depois implodi-lo.
A minha convicção, é que Satoshi não cria destruir o sistema Fiat, mas sim construir uma alternativa, com diversos casos de uso.
Bitcoin seria conveniente para pessoas que não têm cartão de crédito ou não querem usar os cartões que possuem, não querem que o cônjuge o veja na conta ou não confiam em fornecer seu número para “caras da por”, ou com medo de cobrança recorrente.
Se pensarmos bem, até é importante manter o sistema FIAT, nem que seja como uma referência (a não seguir). Nós, só sabemos que a refeição A é deliciosa, porque já provamos a refeição B (que é uma porcaria). Se perdermos a referência da B, deixamos de saber que A é deliciosa.
É claro que em última instância, se o sistema alternativo tiver uma adoção de 100%, acabaria por destruir o sistema FIAT. O essencial é existir liberdade monetária, o poder de escolha fica em exclusivo no indivíduo.
Como é lógico, o estado não quer perder o monopólio da moeda. Como expliquei na introdução, os governos democráticos necessitam de uma motivo plausível ou uma razão moral para proibir, parte da população tem que compreender. Se não compreender, vão questionar o porquê, isto pode gerar um efeito oposto, o chamado efeito Barbra Streisand. Ao proibir sem motivo aparente pode gerar um movimento de adoção em massa, porque somos humanos e o fruto proibido é sempre o mais apetecível.
O Bitcoin ao ser construído num limbo, repleto de teoria dos jogos, sem violar qualquer lei vigente, sem nunca bater de frente com os governos, é uma revolução pacífica e silenciosa. Como nunca pisou linhas vermelhas, coube aos governos encontrar um motivo para proibir, durante toda a história, os políticos bem tentaram mas nunca encontraram o motivo plausível.
Bitcoin vive nesse limbo, não viola qualquer lei, mas ao mesmo tempo, não compactua com os governos, apenas está a criar um sistema monetário paralelo. É como os bons advogados trabalham, aproveitam os buracos das leis ou contornam as leis sem nunca as violar.
Para que a adopção seja rápida, é importante tem de estar dentro da lei.
Quando os governos/procuradores não encontram provas diretas para condenar, adoram encontrar motivos circunstanciais, subterfúgios. Um bom exemplo foi Al Capone, apenas conseguiram encarcerar por sonegação de impostos, ele nunca foi condenado por crimes mais graves, de sangue.
Um bom exemplo foi o algoritmo de assinaturas Schnorr, que só foi adicionado ao Bitcoin na atualização Taproot, não foi adicionado anteriormente devido as pendentes, que estaria em vigor à data do bloco gênesis. Satoshi era rigoroso e calculista.
Em Dezembro de 2010, Satoshi demonstrou que não queria um conflito com os governos, ainda era muito cedo. Após o bloqueio das contas bancárias dos Wikileaks, Assange queria receber doações em bitcoin, mas Satoshi tentou dissuadi-lo, ainda era cedo, a descentralização ainda não era suficientemente robusta.
Não, não faça isso. O Bitcoin é uma pequena comunidade beta em sua infância. Você não arrecadaria mais do que alguns trocados, e a pressão que você traria provavelmente nos destruiria (a rede do Bitcoin) nesta fase.
O Wikileaks chutou o ninho de vespas e o enxame está vindo em nossa direção.»
Após estes acontecimentos, Satoshi afastou-se.
Transparência
Muitos apoiantes do Monero, criticam o Bitcoin devido à falta de privacidade, mas Satoshi optou por uma transparência total e por um pseudo anonimato.
O problema fundamental com a moeda convencional é toda a confiança necessária para fazê-la funcionar. Precisamos confiar que o banco central não vai desvalorizar a moeda, mas a história das moedas fiduciárias está repleta de violações dessa confiança. Deve-se confiar nos bancos para reter o nosso dinheiro e transferi-lo eletronicamente, mas eles emprestam-no em ondas de bolhas de crédito com apenas uma fração de reserva. Temos que confiar-lhes a nossa privacidade, confiar que não permitirão que ladrões de identidade drenem as nossas contas. – Satoshi
Satoshi descreve magistralmente os problemas do sistema financeiro, o ter que confiar, a falta de transparência e a reserva fracionária. Bitcoin é exatamente a resposta a isso, um sistema totalmente transparente, onde tudo é visível, tudo é auditável e sem a necessidade de confiar em terceiros.
Assim, garantiu a segurança e a integridade do sistema, promoveu a confiança e incentivou a verificação e não confiar em informações de terceiros. A qualquer momento, qualquer pessoa consegue verificar todas as transações e saber o supply total do bitcoin, isto é incrível.
Don’t Trust, Verify!
É claro que essa total transparência gera “efeitos secundários”, uma menor privacidade. Temos que saber viver com isso, é um mal menor, para garantir um bem muito superior, uma moeda justa.
A transparência é a prioridade, privacidade fica parcialmente garantida através do pseudo anonimato, tem algumas limitações, mas bem utilizado, pode garantir uma certa privacidade, basta fazer uma boa gestão de chaves e uma utilização de endereços descartáveis.
Como uma camada de segurança adicional, um novo par de chaves deve ser usado para cada transação para evitar que elas sejam vinculadas a um proprietário comum. – Satoshi
O problema do pseudo anonimato é agravado devido ao mau comportamento das pessoas, que utilizam exchanges e vinculam os endereços à identidade real.
A possibilidade de ser anônimo ou pseudônimo depende de você não revelar nenhuma informação de identificação sobre você em relação aos endereços bitcoin que você usa. Se você publicar seu endereço bitcoin na web, estará associando esse endereço e quaisquer transações com o nome com o qual você postou. Se você postou com um identificador que não associou à sua identidade real, ainda é um pseudônimo. – Satoshi
Não é possível querer os dois mundos em simultâneo, quem quer privacidade não poderá utilizar exchanges, apenas p2p.
E Satoshi tinha razão, atraíram as “vespas”, em 2011, o Gavin Andresen foi convocado pela CIA, o serviço de inteligência dos Estados Unidos, para falar sobre o Bitcoin.
Comunicado de Gavin Andresen:
Aceitei o convite para falar porque o fato de ter sido convidado significa que o Bitcoin já está no radar deles, e acho que pode ser uma boa chance de falar sobre por que acho que o Bitcoin tornará o mundo um lugar melhor. Acho que os objetivos deste projeto são criar uma moeda melhor, criar um sistema de pagamento internacional mais competitivo e eficiente e dar às pessoas um controle mais direto sobre suas finanças. E não acho que nenhum desses objetivos seja incompatível com os objetivos do governo. Estou apenas um pouco preocupado que falar sobre bitcoin na CIA aumente as chances de que eles tentem fazer algo que não queremos que eles façam. Acho que aceitar o convite deles e ser aberto sobre exatamente o que é o bitcoin tornará menos provável que eles o vejam como uma ameaça.
Como no Bitcoin não existe uma privacidade total e as transações são rastreáveis, não representava uma ameaça para a segurança nacional dos estados. Assim não existe um motivo plausível para o governo o proibirem.
A total privacidade é claramente uma linha vermelha para os governos.
A generalidade das pessoas tem dificuldade em compreender o verdadeiro valor da privacidade, acreditam na ideia, “quem não tem nada a esconder, não tem nada a temer”. Na época, se o governo tivesse a intenção de atacar o Bitcoin, possivelmente teriam conseguido proibi-lo e as pessoas nem teriam contestado.
Foi exatamente o que aconteceu agora com a Monero, a privacidade/anonimato foi utilizada como o motivo, está a ser ilegalizada em vários países, sem gerar alguma consternação na população. Infelizmente as pessoas não dão valor à privacidade, são demasiado ingénuas, acreditam que isto dará mais segurança.
Qualquer sociedade que renuncie um pouco da sua liberdade para ter um pouco mais de segurança, não merece nem uma, nem outra, e acabará por perder ambas. – Benjamin Franklin
Eu acredito que se o bitcoin tivesse o mesmo grau de privacidade da Monero, hoje em dia, ou já não existia ou seria apenas um micro nicho, nunca teria atingido a atual dimensão.
É um equilíbrio, se houvesse um maior grau de privacidade a adoção seria baixa, se privacidade fosse nula (FIAT) a adoção seria elevadíssima. Satoshi optou por um pouco de equilíbrio, com o pseudo anonimato.
O bitcoin sacrificou um pouco a privacidade, em prol de um bem muito superior, é o instituto de sobrevivência. Esse sacrifício era a única via, uma maior privacidade poderá ser garantida com outras soluções ou em segundas camadas.
A camada base deve manter este nível de privacidade, como padrão, quem quiser uma maior privacidade terá que optar por sistemas alternativos, como mixers ou outras camadas.
A tecnologia deve ser imparcial e genérica, é uma situação similar das facas, apenas uma tecnologia agnóstica. A responsabilidade não está na tecnologia, mas sim de quem a utiliza. Quem utiliza uma faca para cometer um crime, é quem deve ser condenado. Deve ser condenado quem faz mau uso da tecnologia e nunca deve ser condenado quem construiu a tecnologia e muito menos proibir a tecnologia.
Num futuro longínquo, a camada base será um local de Settlements, apenas utilizado por liquidity provider(LP), bancos ou pessoas com bastante valor. A generalidade das pessoas utilizarão apenas camadas secundárias, onde existirá um maior grau de privacidade. Vão existir centenas de L2 ou sidechains que estarão ligadas à L1, onde a liquidez está colaterizada, por isso é essencial uma transparência total, para ser facilmente auditável a quantidade de fundos colaterizados, para garantir a segurança.
Neste futuro, a maioria das transações na L1 serão de instituições ou estados, eu acredito que vão querer implementar maior privacidade, nesse momento, seremos nós a não querer. A verdade está na transparência.
Custódia
Como os políticos não fizeram nada durante anos, o Bitcoin cresceu na adoção, mas sobretudo na descentralização. A descentralização atingiu uma tal dimensão, que hoje em dia, é impossível proibir o Bitcoin e os políticos sabem disso. Como já não é possível proibir tecnicamente, agora a única via, é tornar ilegal a sua utilização.
Os políticos durante anos tentaram fabricar motivos plausíveis, manipularam a opinião pública com FUDs e informações falsas, mas nunca conseguiram um forte apoio popular.
O Bitcoin continuou a crescer, agora os governos ocidentais mudaram ligeiramente de estratégia, em vez de proibir, estão a direcionar/condicionar a sua utilização, ou seja, estão a aceitar o Bitcoin como um ativo, como o ouro, como reserva de valor, sobretudo em locais centralizados, como ETFs e em exchanges, bancos, tudo altamente regulamentado. Tudo por baixo da asa dos governos, onde os políticos podem controlar, confiscar o bitcoin e identificar facilmente.
Mas ao mesmo tempo vão dificultar a auto-custódia e a utilização do Bitcoin como meio de troca. O grande medo dos governos é o Bitcoin ser utilizado como uma moeda, eles não querem concorrência às suas moedas FIAT, estão apenas a tolerar como reserva de valor.
Agora o grande objetivo é ilegalizar/limitar a auto-custódia, mas aqui existe um enorme medo por parte dos governos ocidentais, ao fazê-lo, podem dar uma percepção à sua população que é um ataque às liberdades individuais, os governos não querem dar imagem de ser autoritários. Poderia também gerar o efeito Barbra Streisand, gerando uma adoção em massa, o tiro poderia sair pela culatra. Mesmo sem proibir, os governos vão utilizar os impostos para limitar a adoção e a utilização.
Como o euro e o dólar tem uma volatilidade muito inferior ao Bitcoin, é natural que a utilização do Bitcoin como moeda seja baixa na União Europeia e nos EUA. Como o benefício é baixo, mas o risco é muito elevado, possivelmente os governos vão deixar andar, só vão proibir a auto-custódia em último caso, em desespero.
Será pouca a utilização como moeda na Europa e nos EUA, mas a adoção vai ser grande como reserva de valor, vai permitir reduzir a volatilidade e ainda vai dar mais resiliência ao bitcoin. O aumento da adoção não será apenas pelo cidadão comum, mas também por políticos, empresários e investidores, criando um forte lobby pró-bitcoin. Este conflito de interesses dos políticos, vai dificultar a aprovação de medidas mais restritivas, porque haverá sempre algum bitcoiner dentro dos partidos políticos, haverá oposição interna.
A entrada da BlackRock foi um divisor de água, podemos não gostar, mas a percepção geral mudou completamente, existe antes e depois do apoio BlackRock. Os ETFs que estavam há 10 anos num limbo, foram aprovados em meses, a narrativa negativa (que o bitcoin consumia muita energia e só era utilizado por criminosos) desvaneceu.
Mas nem tudo poderá ser um mar de rosas, existe um dúvida no ar, de que lado está a BlackRock, sobre a auto-custódia, fará lobby para que lado?
Em teoria, a proibição da auto-custódia faria crescer o número de clientes, mas provocaria um efeito secundário, como a soberania e a descentralização é fulcral, ao atacar esses pontos teria um forte impacto no preço, os clientes da BlackRock perderiam dinheiro e poderiam desistiriam dos EFTs. O que no início poderia resultar num aumento de clientes, poderia resultar numa perda de clientes, é a teoria dos jogos, o Dilema do prisioneiro. O melhor para ambos, é a coexistência dos serviços custodiais e não-custodiais, porque ambos geram procura, ambos serão beneficiados. Só o tempo dirá, de que lado está a BlackRock.
Hoje em dia é visível a forte adoção dos EFTs, tanto por empresas/instituições, como por particulares, alguns milionários. Os ETFs são um produto simples, muito fácil de utilizar, sem necessidade de fazer a custódia, mas existe sempre o risco de confisco. As empresas e fundos de pensões, não terão outra alternativa, obrigatoriamente terão que estar sempre em serviço custodiais, mas no caso dos investidores particulares, estes vão pensar duas vezes.
Numa fase inicial vão utilizar os ETFs, depois com tempo vão estudar e compreender como funciona o bitcoin. Possivelmente alguns vão mudar para auto-custódia ou para outros serviços mais resilientes ao confisco.
Os particulares milionários como tem empresas ou outros ativos, como no mercado de capitais ou então imobiliário, já estão demasiado expostos aos poder do estado e há boa bondade dos políticos. Os milionários também têm medo dos governos, por isso, já colocam parte da sua riqueza em jurisdições mais amigáveis (offshores). Nas offshores só uma pequena parte do capital tem origem criminosa, a grande maioria do dinheiro tem uma origem lícita, as poupanças estão ali como uma proteção, uma segurança extra, porque também tem uma certa desconfiança do poder político.
No futuro, alguns desses milhões de dólares que estão depositados na Suíça, Dubai, Caimão, Curaçau e entre outros, vão ser transformados em bitcoin, é inevitável. Alguns vão optar por serviço custodial nessas mesmas jurisdições, mas certamente alguns vão optar pela auto-custódia.
As offshores dão segurança ao cidadão, mas apenas estava acessível aos mais ricos, mas agora existe o Bitcoin, que dá ainda mais soberania e está acessível para toda a gente, é universal.
Até para o lado dos governos, é mais fácil rastrear as transações de Bitcoin do que as transações em certas offshores.
Meio de troca
São nos países onde as moedas perdem mais poder de compra, é onde existe uma maior adoção do Bitcoin. Assim, a forte adoção como reserva de valor, vai permitir reduzir bastante a volatilidade do Bitcoin, provocando uma forte adoção em países com moedas com inflação mais elevadas, sobretudo na América central e latina, na África e na Ásia.
Hoje em dia, este “mercado”, das compras do dia-a-dia, foi dominado por stablecoins. Mas as stablecoins são uma CBDCs disfarçada, o FED tem um poder absoluto sobre elas, congela fundos a qualquer momento, sem qualquer limitação. Os EUA já utilizam as stablecoins como uma política expansionista, esse processo vai acelerar nos próximos anos, vão imprimir biliões/triliões de dólares para financiar o governo e vão distribuir essa inflação para o resto do mundo em forma de stablecoins.
O forte crescimento da adoção das stablecoins de dólares, está a colocar em causa as políticas monetárias internas nos países subdesenvolvidos. Atualmente os políticos utilizam a moeda como uma arma contra o seu próprio povo, este refugia-se no dólar, como uma proteção contra as altas inflações e contra a tirania dos seus políticos.
Não é o Bitcoin a principal ameaça às moedas FIAT, mas sim as stablecoins de dólares.
Nestas economias sempre houve dólares, existem mercados paralelos de dólares, mas este mercado tinha uma limitação física que impedia o seu crescimento, é difícil entrar novas notas/cédulas de dólares em circulação. O digital resolveu esse problema, agora é fácil entrar “novos” dólares nessas economias, os governos mais austeros, com políticas de controle de capitais mais agressivas, não conseguem evitar a entrada.
A utilização das stablecoins está a crescer rapidamente, mas em algum momento, existirá um ponto de inflexão, os governos não vão querer perder o poder da sua moeda FIAT, vão retaliar. Ao contrário do papel-moeda, as stablecoins são fáceis de confiscar/congelar fundos. Os governos vão retaliar e vão começar a obrigar a Tether (e os outros) a congelar fundos arbitrariamente, será congelamentos em massa.
Haverá muitos conflitos diplomáticos, a Tether vai compactuar com grande parte dos governos, mas será que compactuará com o governo russo no congelamento de fundos?
Só nesse preciso momento, as pessoas vão compreender o verdadeiro valor da descentralização do Bitcoin. Será um catalisador no aceleramento da adoção do Bitcoin, como moeda, nessas economias.
Além disso, a política expansionista dos EUA não é imparável, nem inesgotável, um dia terá que afrouxar, quando colocarem o KYC como obrigatório, milhões de pessoas vão afastar-se das stablecoins.
Mais tarde, os fluxos migratórios desses países subdesenvolvidos, serão uma forte contribuinte para eclodir os mercados p2p na Europa e para os EUA, vai gerar uma enorme utilização do Bitcoin como moeda.
A “reserva de valor” vai alimentar o “meio de troca“ e por sua vez este vai alimentar ainda mais o “reserva de valor”. Se isto acontecer, os governos ocidentais poderão desesperar e vão tentar desesperadamente ilegalizar o bitcoin, especialmente os governos europeus, mas talvez seja tarde demais. O Bitcoin já estará disseminado em todo o lado, como um vírus.
Independência
Como disse em cima, quanto maior for a adoção, maior é o escudo humano. Apesar de existir milhões de bitcoiners, ainda somos uma gota num oceano, neste mundo com biliões de habitantes.
Bitcoin é um sistema financeiro alternativo, mas ainda está altamente dependente do sistema FIAT, para crescer. Se os governos conseguirem cortar todas as rampas de entrada FIAT, a adoção ficaria muito mais lenta. Seria como em 2012, quando não existiam exchanges, a única maneira de comprar era através de p2p, os scams online eram imensos, não existia confiança, as pessoas tinham medo de comprar, não arriscavam. As exchanges facilitam imenso, foram fundamentais para acelerar o crescimento da adoção.
Bitcoin necessita reduzir esta dependência e tornar-se totalmente independente, para isso é essencial uma adoção massiva. As economias circular vão desempenhar um papel fundamental, se em cada terra/cidade existirem várias pessoas disponíveis para p2p, já não será necessário ir online para trocar FIAT por Bitcoin, aí sim alcançarmos a independência.
O Bitcoin tem que ser acessível, fácil, rápido e sem a necessidade de uma KYC.
Impacto Global e Social
Quanto maior for o impacto global, mais resiliente será o bitcoin, é a teoria de jogos na sua plenitude.
Se houve um forte crescimento na adoção do Bitcoin como moeda em países em desenvolvimento, utilizada por grupos sociais perseguidos, pelos mais pobres, pelos mais necessitados e cidadãos em países sob regimes autoritários, todos eles serão um escudo humano e social no ocidente. Ou seja, haverá pressão social sobre os políticos ocidentais, porque qualquer coisa que prejudique o Bitcoin teriam um impacto tremendo no preço, consequentemente, vai destruir as poupanças dos mais necessitados em todo o mundo. O impacto seria global.
Será que o governo terá coragem de prejudicar as populações mais necessitadas em todo o mundo?
Conclusão
Quanto maior a adoção, maior será o escudo humano. Tudo isto não passa de uma opinião pessoal, a minha interpretação. Não confie em nada aqui escrito, verifique!
-
@ a95c6243:d345522c
2024-10-19 08:53:30Wünsche euch allen einen wunderbaren Tag, bald ist Wochenende!!
-
@ 3ad01248:962d8a07
2024-10-19 02:11:09The 2024 US presidential election is less than a month out and many states have already sent out early ballots to their citizens. The time to decide is coming ever closer and have no idea who I am going to vote for or if at all. Well let me be clear, the Harris/Walz ticket is a no go for me as they represent more of the same policies of the Biden administration. As someone who takes a holistic view of things, what Biden did while in office wasn't 100 percent all bad.
I think trying to wipe away the debts for millions of Americans struggling with college debt isn't bad policy because college education isn't what it used to be. I went to college and for some it is beneficial if you are going into a specific line of work such as education or law school. For the vast majority of people who go to these overpriced universities are going there to party and for the "experience".
The propaganda of go to college, get a good job and buy a house has been crammed down everyone's throat for so long that it is considered normal to be in debt when you graduate. I see Biden trying to rectify some of this with his attempt to wipe away debt. Again not an endorsement but give credit when its due.
I also like that fact that the Biden administration has made American manufacturing and green jobs a priority of his administration with his Inflation Reduction Act passed 2 years ago. It looks like it has benefitted Republicans states to the tune of $161 billion.
I do like the fact that he stood by Ukraine and has provided weapons and resources to Ukraine to help it defend itself. I don't know if there is some conspiracy behind why the war was started or Russia geopolitical motivations for starting the war, all I know is innocent victims are being killed by Russian military hardware and that is not ok morally.
If America or Americans are going to be known for something, let it be known that we stand by our friends. That's how I live my life and I'm yours as well. We don't abandon friends in need. Imagine if we were in Ukraine's situation, wouldn't we want a friend to come to our aid?
Again this isn't a ringing endorsement of the Biden Administration as they have done significant harm to our creditworthiness and national debt crisis. The country is $35 trillion in debt and counting with no credible plan to get this under control. They are going to pass the buck to whoever gets elected in November. This is incredibly reckless and stupid on their part to not even attempt to reign in the debt.
I know Trump or Harris will continue the big spending policies that is going to turn us into Argentina someday. This gravy train that we are on right now will not last forever. Mark my words. This is going to blow up in our face in spectacular fashion. Now on to Trump.
Trump Is More Of The Same
My value align more with the Republican party and I am torn between holding my nose and voting for Trump knowing his baggage, voting third party or not voting at all. I judge Trump the same way I do the Biden Administration. Trump did some good things while he was in office such as trying to curb illegal immigration by building a wall.
I was very much in favor of that as I think uncontrolled immigration is horrible for the country and creates are false expectation from illegal immigrants that we will provide for them. So I give him kudos for trying but he wasn't ultimately successful because he didn't know how to play the game and keep his mouth shut.
Honestly if he stayed off Twitter but his nose to the grindstone he could have got so much more done and gone down as one of the most successful presidents in modern times. He had that kind of potential but now that is all gone.
Even if he is elected again in November, he will get hardly any help from Democrats to get anything done. They will be on their war path again of trying to stymie anything and everything he does, even if it is for the good of the American people. Do we really want to go through ANOTHER 4 years of this? I sure as hell don't.
Also lets not forget 2020, Jan.6th and the whole COVID fiasco that was. Trump seems incredibly proud of the vaccines that have been known to cause irreparable vaccine injury or the fact that he supported unconstitutional lockdowns or let it passively happen state by state violating our freedoms as American citizens.
Jan. 6th is another mark against him. If he knew he lost why the fuck did he push the election was stolen narrative? To soothe his ego? Fuck that shit. Multiple people died because he pushed this narrative that turned out to be false. This really gets under my skin. Case after case was thrown out in court and multi million dollar lawsuits against Tucker Carlson were settled out of court. This alone should disqualify Trump in my eyes.
Throw in his support for the genocidal war in Gaza, and this makes it incredibly hard to vote for him.
Buuut there are two things that are making me reconsider voting for him. Trump's 180 on Bitcoin and freeing Ross Ulbricht. I don't know if Trump's change of heart on Bitcoin is genuine or not but it does seem that he is starting to understand how important Bitcoin is and can be for the future of the country.
Even if he hasn't had a change of heart personally, as long as he puts people in his administration that will leave Bitcoin alone is a victory in itself. In addition to have a friendly regulatory environment, it has been stated numerous times that a Trump victory will cause the Bitcoin price to go up. Who doesn't want that right?
This is the rub, do I vote for a person with his history or do I vote third party or not vote at all? My conscience is leaning towards voting third party or not voting at all. The deal breaker for is providing arms that are used to kill innocent people. This might be a naïve on my part but it really doesn't sit well with me at all. How do you guys feel about this?
-
@ 8d34bd24:414be32b
2024-10-18 21:59:23This was ready and went out on substack on Wednesday, October 16, 2024, but I missed posting on nostsr.
Check out:
-
God Demonstrates His Power: Part 1 (Egypt)
-
God Defends His Honor: Part 2 (Phillistines)
Many people today talk as if there are many ways to God or that all religions really worship the same god. This is not true. It is a lie from Satan. There is only one true God. There is only one way to God—through repentance and faith in Jesus Christ.
Through this event in history, the God of the Bible made Himself known as the one true God, the God who answered with fire in an unfathomable way.
Elijah vs Baal
It isn’t just foreign people that need to know the power of God; it is also God’s own people, Israel.
Ahab the son of Omri did evil in the sight of the Lord more than all who were before him. It came about, as though it had been a trivial thing for him to walk in the sins of Jeroboam the son of Nebat, that he married Jezebel the daughter of Ethbaal king of the Sidonians, and went to serve Baal and worshiped him. So he erected an altar for Baal in the house of Baal which he built in Samaria. Ahab also made the Asherah. Thus Ahab did more to provoke the Lord God of Israel than all the kings of Israel who were before him. (1 Kings 16:30-33) {emphasis mine}
Ahab and his foreign wife, Jezebel, “did more to provoke the Lord God of Israel than all the kings of Israel who were before him.” They worshipped multiple false Gods and persecuted the believers in the one true God. Therefore God used Elijah to make clear who was really God.
Now Elijah the Tishbite, who was of the settlers of Gilead, said to Ahab, “As the Lord, the God of Israel lives, before whom I stand, surely there shall be neither dew nor rain these years, except by my word.” (1 Kings 17:1)
God’s first action was to stop the rain and cause a severe drought throughout the land. God provided for the needs of His servant and prophet Elijah. First He used Ravens to feed him. Then He used a Sidonian widow to provide for him. God also did a miracle to bring the Sidonian widow’s son back to life, but God had only begun to teach Ahab and the Israelites who the one, true God is.
When Ahab saw Elijah, Ahab said to him, “Is this you, you troubler of Israel?” He said, “I have not troubled Israel, but you and your father’s house have, because you have forsaken the commandments of the Lord and you have followed the Baals. Now then send and gather to me all Israel at Mount Carmel, together with 450 prophets of Baal and 400 prophets of the Asherah, who eat at Jezebel’s table.” (1 Kings 18:17-19) {emphasis mine}
Ahab accused Elijah of being the troubler of Israel when, in fact, it was Ahab who was the troubler because he was the one leading Israel astray. Do we see this today? We constantly see the people, whose sins cause trouble, accusing others of the very sin that they are guilty of committing.
God was going to prove who was the real, true God. He was going to pit His single prophet, Elijah, against all 450 of the prophets of Baal.
Elijah came near to all the people and said, “How long will you hesitate between two opinions? If the Lord is God, follow Him; but if Baal, follow him.” But the people did not answer him a word. (1 Kings 18:21) {emphasis mine}
Elijah challenged the people to follow their God (the one, true God), but they stayed silent and wouldn’t stand up for the truth. How often today do we see believers who are afraid to speak up for the truth? They would rather please the people around them than their creator God. Our sinful, human nature never changes.
Then Elijah said to the people, “I alone am left a prophet of the Lord, but Baal’s prophets are 450 men. Now let them give us two oxen; and let them choose one ox for themselves and cut it up, and place it on the wood, but put no fire under it; and I will prepare the other ox and lay it on the wood, and I will not put a fire under it. Then you call on the name of your god, and I will call on the name of the Lord, and the God who answers by fire, He is God.” And all the people said, “That is a good idea.” (1 Kings 18:21) {emphasis mine}
I’m sure everyone, especially the prophets of Baal, were shocked when they were called upon to offer a sacrifice, but they had to rely on their god to provide the fire. They couldn’t light a fire themselves as they had always done. They all had to wait to see which god, if any, was powerful enough to create fire out of nothing, with no help from man.
Being dramatic, Elijah and God, had the prophets of Baal go first. These prophets of the false god, Baal, picked their ox and their altar and started chanting.
Then they took the ox which was given them and they prepared it and called on the name of Baal from morning until noon saying, “O Baal, answer us.” But there was no voice and no one answered. And they leaped about the altar which they made. It came about at noon, that Elijah mocked them and said, “Call out with a loud voice, for he is a god; either he is occupied or gone aside, or is on a journey, or perhaps he is asleep and needs to be awakened.” So they cried with a loud voice and cut themselves according to their custom with swords and lances until the blood gushed out on them. When midday was past, they raved until the time of the offering of the evening sacrifice; but there was no voice, no one answered, and no one paid attention. (1 Kings 18:26-29) {emphasis mine}
This was a pathetic attempt to get a man-made idol to act. The prophets chanted; they cut themselves; they raved, “but there was no voice, no one answered, and no one paid attention.” There was nothing these people could do to make their false god do anything. With blood, sweat, and tears, they failed.
I’ll admit I so enjoy Elijah’s mocking, “Call out with a loud voice, for he is a god; either he is occupied or gone aside, or is on a journey, or perhaps he is asleep and needs to be awakened.” A god that needs rest isn’t much of a god and Elijah makes his point clear to the prophets, but even more to the people watching and waiting for a response.
By the end of the day, it says “and no one paid attention.” Which god to worship was everything, but back then, just as today, people lose interest quickly and don’t put the time and effort into important things like they should.
Then Elijah said to all the people, “Come near to me.” So all the people came near to him. And he repaired the altar of the Lord which had been torn down. Elijah took twelve stones according to the number of the tribes of the sons of Jacob, to whom the word of the Lord had come, saying, “Israel shall be your name.” So with the stones he built an altar in the name of the Lord, and he made a trench around the altar, large enough to hold two measures of seed. Then he arranged the wood and cut the ox in pieces and laid it on the wood. And he said, “Fill four pitchers with water and pour it on the burnt offering and on the wood.” And he said, “Do it a second time,” and they did it a second time. And he said, “Do it a third time,” and they did it a third time. The water flowed around the altar and he also filled the trench with water. (1 Kings 18:26-29) {emphasis mine}
When Elijah’s turn to call on God came, he was different. He called the people to come and pay attention. He rebuilt the altar of the Lord using 12 uncut stones for the 12 tribes of Israel as had been prescribed by God. Then, in order to make sure nobody could possibly believe anyone, except God, had brought fire, He poured four pitchers of water on the altar three times so the altar, the wood, and the sacrifice were sopping wet. It is unlikely any person could start a fire until this mess dried out, but a person didn’t need to start the fire. The omnipotent, creator God was going to bring fire and nothing could stop Him. When God acts, He acts in a big way.
At the time of the offering of the evening sacrifice, Elijah the prophet came near and said, “O Lord, the God of Abraham, Isaac and Israel, today let it be known that You are God in Israel and that I am Your servant and I have done all these things at Your word. Answer me, O Lord, answer me, that this people may know that You, O Lord, are God, and that You have turned their heart back again.” Then the fire of the Lord fell and consumed the burnt offering and the wood and the stones and the dust, and licked up the water that was in the trench. (1 Kings 18:36-38) {emphasis mine}
Elijah prayed that God would let the people know that there is a true God in Israel. Then “the fire of the Lord fell and consumed the burnt offering and the wood and the stones and the dust, and licked up the water that was in the trench.” The prophets of Baal had prayed, cried out, and cut themselves all day long with no hint of a response, but when Elijah gave a simple prayer asking God to reveal Himself fire instantly came down from heaven. It didn’t just light a fire; it didn’t just burn the offering; but the fire consumed the wood, offering, stones, dust, and water. God didn’t leave the option to not believe. He made His power immediately obvious to everyone in attendance.
When all the people saw it, they fell on their faces; and they said, “The Lord, He is God; the Lord, He is God.” (1 Kings 18:36-38)
The people, who had been silent and not said a word, now fell on their faces and repeated, “The Lord, He is God; the Lord, He is God!” They realized their sinfulness and they realized God’s awesomeness, so they worshipped — real worship. There was no more nonchalance. There was no more waffling between gods. They knew who was God and they fell down in worship.
God was merciful to His people and displayed such power that they could do nothing except worship Him. For those who had led them astray, the prophets of Baal, there was no mercy and they were put to death.
Shortly after, Elijah prayed, and it rained a torrential rain that watered the parched land.
God once again led his chosen people back to Him. Unfortunately, they never stayed faithful. Even when one generation was mostly faithful, within a generation or two, they were back to worshipping false gods.
It might make you wonder why an all-knowing God would pick a people who were so consistently unfaithful. I think it was to show His own faithfulness. He was showing the world that His word is true.
If we are faithless, He remains faithful, for He cannot deny Himself. (2 Timothy 2:13)
Trust Jesus.\ \ your sister in Christ,
Christy
Bible verses are NASB (New American Standard Bible) 1995 edition unless otherwise stated
-
-
@ bcea2b98:7ccef3c9
2024-10-18 17:29:00originally posted at https://stacker.news/items/729964
-
@ dc734347:5844239d
2024-10-18 15:59:28M2M SIMs come in every SIM form factor, so it’s easy to find one whose size and features best fit your device design and use case.
Mini SIM (2FF) The Mini SIM is the largest removable SIM card currently in use. This SIM has been used since the mid-1990s. Today, the Mini SIM is still a good option for larger connected devices, like cars and vending machines.
Micro SIM (3FF) The Micro SIM is significantly smaller than the Mini SIM. It’s large enough to be manageable for easy physical swapping of SIM cards, but it fits better in mid-size IoT devices like tablets and telehealth monitors.
Nano SIM (4FF) The Nano SIM is smaller and slimmer than the Mini and Micro SIM. It’s an ideal solution for compact IoT devices. https://uktelecomdistribution.co.uk/m2m-sims-html.html is perfect for automotive, GPS trackers, telemetry, alarms, and point-of-sale terminals.
-
@ 6ad3e2a3:c90b7740
2024-10-18 13:04:03Virtually everyone knows this parable and its self-evident wisdom. But I think we can apply this Solomonic technique to some issues that have arisen recently.
There has been a concerted push of late to rid the internet, particularly social media, of “misinformation.” The idea is that the First Amendment, which protects free speech, is too permissive in an environment where people can amplify falsehoods at scale. Those who would police misinformation argue the harms of misinformation outweigh the benefits of free expression.
Those (like me) who believe in the First Amendment don’t dispute that it protects online expression that could turn out to be false, and that false information can lead to real-life harm. But my belief is the far greater harm is in stifling free expression because (a) no one is wise enough to be the ultimate arbiter of truth; (b) false assertions can be corrected by true ones; and that (c) disallowing free speech is a path to the ultimate tyranny wherein the only corrective mechanism we have has been totally disabled.
I believe were King Solomon to weigh in on this dispute he would say, “Let’s flip a coin. If it’s heads, ideas with which I disagree would be banned, and if it’s tails the ideas with which I agree would be banned.” Then he would take me aside and whisper: “Don’t worry, both sides of the coin are heads!” (And he would take the misinformation police aside and assure them both were tails.)
At which point, I would say, “No! I don’t want opposing ideas to be banned! I want dissenters to be able to make their case because maybe I’m wrong about something.” By contrast, the misinformation police would say, “Great, we can finally rid the internet of harmful wrongthink! Let’s have the coin flip!”
And then Solomon would say, “The greatest purveyor of misinformation over the long haul is those who would police it” and re-affirm a commitment to the First Amendment.
. . .
I saw a recent interview with J.D. Vance where he was asked whether he believed the 2020 election were stolen. Vance pivoted to talking about the effect of censoring the Hunter Biden laptop story, but I think he might have asked a more pertinent question back of the interviewer, namely, “Would you concede an election you earnestly believed were stolen, i.e., one where you believed Kamala Harris had won fair and square, but only due to cheating Trump were declared the winner?”
In other words, would you accept the results of an election you thought were fraudulent? The answer is obvious: one must accept a fair result and reject a rigged one, no matter who wins.
Of course, because both sides are so distrustful of one another, that means any result could be rejected on suspicion of fraud, and a peaceful transfer of power would therefore be impossible. How to resolve this dilemma?
Enter Solomon who asks: “Who is willing to take all necessary measures to ensure undetected fraud cannot occur?”
And then depending on which side were advocating for voter ID, hand-counted paper ballots, one-to-one signature matches, transparent and open access to recounts, rigorous purging of non-citizens from voter rolls and a process that was completely auditable from start to finish, he would declare that side as the one upholding the democratic process.
. . .
Humans are fallible, they make errors, they cheat, lie and manipulate. One cannot merely trust technocrats to know what’s true and false any more than one can trust election officials to administer high-stakes elections without total transparency.
It doesn’t matter whether you have the “correct” beliefs or belong to the faction that is “good.” Everyone thinks his beliefs are correct, virtually everyone believes his party is the good one. To the extent you care about the truth, you will view dissent policing as the ultimate scourge. To the extent you have respect for democratic institutions that ensure the peaceful transfer of power you must view opaque and inauditable elections as the ultimate threat to the state’s legitimacy.
If you make exceptions because in the short term they help your cause, you are like the mother in the parable, willfully and short-sightedly sacrificing the thing about which you purport to care the most
-
@ 7ab1ed7a:f8e15275
2024-10-18 11:07:38First and foremost, a significant acknowledgment goes to Riccardo (@rblb0) for his discussions and contributions so far. The details outlined below largely derive from our discussions and his documented insights here.
The IoT specifications for Nostr will likely be articulated through more than one NIP, aiming to extend beyond data capture. However, the cornerstone of IoT in Nostr involves capturing data from and managing devices - therefore, an initial proposal, a PR, to NIP 90 is essential. Future IoT-specific NIPs may address additional functionalities such as remote configuration and group encryption.
NIP 90 (Data Vending Machine) Overview
NIP 90 (DVMs) allows for both data capture and remote device control. For example, a device, hereafter referred to as a 'Thing', might react to a DVM job request or autonomously publish job results.
We will propose a change to NIP 90 to add job responses as addressable kinds with the kind 36107.
A 'Thing' could represent a single device or a collective of devices associated with a Nostr npub. It's possible for a device to have a single npub with multiple functionalities such as controlling a motor or monitoring temperature and pressure.
An IoT job request requires a single
i
input tag containing a stringified json array representing a sequence of methods to run that should be executed in order.Job Request
json { "content": "", "kind": 5107, "tags": [ ["i", "<stringified-json-array>", "text"], ["output", "text/plain"] ] }
Example of a stringified JSON array in the 'i' tag
json [ { "method": "setTimezone", "params": ["Europe/London"] }, { "method": "setLanguage", "params": ["en-GB"] }, { "method": "getTime", "params": [] }, { "method": "setTemperature", "params": ["value", "20", "unit", "celcius"] } ]
These methods, defined as text, enable a wide range of devices to operate under this NIP.
Standard Job Response
- Kind: 6107 (follows NIP90 specifications)
json { "pubkey": "<service-provider pubkey>", "content": "<stringified-json-array>", "kind": 6107, "tags": [ ["request", "<job-request>"], ["e", "<job-request-id>", "<relay-hint>"], ["i", "<input-data>"], ["p", "<customer's-pubkey>"], ["amount", "requested-payment-amount", "<optional-bolt11>"] ], // additional fields as necessary... }
Addressable Job Response
A new addressable event kind, 36107, is proposed for NIP 90.
Addressable events (aka parameterised replaceable events) are events for which a relay MUST only store the most recent event identified by a "combination of
kind
,pubkey
and thed
tag value" addressable events will allow the use of public relays for IoT data whilst being "kind" to the network.json { "pubkey": "<service-provider pubkey>", "content": "<stringified-json-array>", "kind": 36107, "tags": [ ["i", "<input-stringified-json-array>"], ["d", "<unique-string>"] ], }
In the example above, the d tag can have any value, but using a human readable string such as "iot-device-123-event-8333" can improve usability.
-
@ 06639a38:655f8f71
2024-10-18 09:28:58- Worked on the https://nostr-php.dev docs
- Discussed a FOSDEM stand application with Jurjen and Tanja to attend that conference with Nostr
- Release version
1.4.2
of Nostr-PHP - Pre-release
2.0.0-alpha1
-
@ a012dc82:6458a70d
2024-10-18 08:27:48Table Of Content
-
BlackRock's Bold Move
-
The Potential Impact on Bitcoin's Price
-
The Role of Retail Investors
-
The Future of Bitcoin
-
Conclusion
-
FAQ
The world of digital assets has been gaining significant traction, with traditional financial firms finally acknowledging that cryptocurrencies are here to stay. This shift in perception is not without reason. The potential of cryptocurrencies to revolutionize financial transactions, coupled with their growing acceptance as a legitimate asset class, has made them impossible to ignore. Among the key players making waves in the crypto space is BlackRock, the world's largest asset manager, boasting $9 trillion in assets under management (AUM). The firm recently filed for permission to create a "spot market" Bitcoin-based exchange-traded fund (ETF), a move that could potentially slingshot Bitcoin's price skyward. This move signifies a significant shift in the traditional finance world's approach to digital assets, marking a new era of acceptance and integration.
BlackRock's Bold Move
BlackRock's decision to venture into the Bitcoin ETF space is a significant development in the crypto industry. The United States Securities and Exchange Commission has historically been resistant to Bitcoin ETFs, making BlackRock's move a bold one. This decision is not just a gamble but a calculated move based on the growing demand for digital assets and the potential they hold. This move, coupled with similar actions from other financial giants like Fidelity Investments, Charles Schwab, and Citadel, has already had a positive impact on the crypto market. The announcement alone has boosted crypto trading markets, with Bitcoin gaining 20% in a week and surpassing the $30,000 mark for the first time since April. This price surge is a testament to the influence these financial institutions wield in the market.
The Potential Impact on Bitcoin's Price
The creation of a Bitcoin ETF by a firm as influential as BlackRock could potentially transform the Bitcoin market. Bitcoin's fixed supply limit of 21 million BTC and its existing inventory's relative illiquidity could lead to a supply-demand imbalance. With 68% of BTC in circulation remaining unmoved in the past year, there isn't a lot of stock available for BlackRock and other interested parties to snap up. If demand exceeds supply, it could inevitably lead to price gains for Bitcoin. This scenario could potentially create a bullish market for Bitcoin, driving its price to new heights. However, it's important to note that this is a hypothetical scenario, and the actual impact will depend on a variety of factors, including regulatory decisions and market dynamics.
The Role of Retail Investors
While institutional investors like BlackRock play a significant role in the crypto market, the role of retail investors cannot be overlooked. The participation of ordinary crypto users might be necessary to stabilize the price of Bitcoin. As more institutional investors enter the market, retail investors may also be encouraged to participate, potentially leading to an increase in trading volume and further price appreciation. Retail investors bring a different dynamic to the market. Their participation could lead to increased liquidity and could also serve as a counterbalance to the large trades made by institutional investors. The involvement of retail investors could also lead to a more diverse and robust market, contributing to the overall health and stability of the Bitcoin ecosystem.
The Future of Bitcoin
The entry of BlackRock and other major asset managers into the Bitcoin space could potentially stabilize Bitcoin's price at a substantially higher level than the current $30,000. However, long-term price stability also requires broad retail participation. The involvement of large financial institutions in the digital asset market has arguably had a calming effect on retail investors, which could lead to increased acceptance and trading volume in the coming months. As the market matures and regulatory clarity improves, we could see a more balanced market with both institutional and retail investors playing significant roles. This balance could contribute to the long-term stability and growth of Bitcoin's price.
Conclusion
The involvement of large financial institutions, such as BlackRock, in the crypto markets represents a significant shift and a decisive moment for these markets, both in the U.S. and globally. While it's still early days, the potential impact of BlackRock's proposed Bitcoin ETF on Bitcoin's price cannot be underestimated. If institutional investors continue to enter the market, their demand could certainly drive prices higher, potentially propelling Bitcoin's price to the moon. However, it's important to remember that the crypto market is highly volatile, and investors should always do their due diligence before making investment decisions. The future of Bitcoin and other cryptocurrencies remains uncertain, but the involvement of major financial institutions like BlackRock signals a promising future for these digital assets.
FAQ
What is BlackRock's recent move in the crypto space? BlackRock, the world's largest asset manager, has filed for permission to create a "spot market" Bitcoin-based exchange-traded fund (ETF).
How could BlackRock's Bitcoin ETF impact Bitcoin's price? The creation of a Bitcoin ETF by BlackRock could potentially increase demand for Bitcoin. Given Bitcoin's fixed supply limit, this could lead to a supply-demand imbalance and potentially drive up Bitcoin's price.
What role do retail investors play in the Bitcoin market? Retail investors play a significant role in the Bitcoin market. Their participation could lead to increased liquidity and could serve as a counterbalance to the large trades made by institutional investors.
Could BlackRock's Bitcoin ETF stabilize Bitcoin's price? The entry of BlackRock and other major asset managers into the Bitcoin space could potentially stabilize Bitcoin's price at a substantially higher level than the current one. However, long-term price stability also requires broad retail participation.
That's all for today
If you want more, be sure to follow us on:
NOSTR: croxroad@getalby.com
Instagram: @croxroadnews.co
Youtube: @croxroadnews
Store: https://croxroad.store
Subscribe to CROX ROAD Bitcoin Only Daily Newsletter
https://www.croxroad.co/subscribe
DISCLAIMER: None of this is financial advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. Please be careful and do your own research.
-
-
@ 06639a38:655f8f71
2024-10-18 08:12:43Week 40
- Added a page with my research findings around async concurrent websocket requests: https://nostr-php.dev/references/async-concurrent-requests
Week 41
I attended the Nostrdam meetup and helped as a volunteer at the Nostr booth at the Bitcoin Amsterdam 2024 conference. Here are some photo's:
I also wrote down my personal learned lessons from this expierence: https://nostrver.se/note/my-learned-nostr-lessons-nostr-booth-bitcoin-amsterdam-2024
-
@ 03742c20:2df9aa5d
2024-10-18 08:05:37Strfry เป็นซอฟต์แวร์รีเลย์ที่ส่วนใหญ่เลือกจะติดตั้งใช้งานงานกันเนืองจากมันถูกเขียนด้วยภาษา C++ ทำให้รีเลย์มีขนาดที่เบาไม่กินทรัพยากรเครื่องมากอีกข้อดีคือรองรับ nip เยอะพอสมควร
ถ้าเราอยากจะเป็นเจ้ารีเลย์ Strfry บ้างล่ะต้องทำยังไง
วิธีติดตั้งรีเลย์ Strfry โดยใช้ Docker
อย่าลืมติดตั้ง Docker ให้เรียบร้อยก่อน
ดาวน์โหลดไฟล์ strfry.conf และโฟรเดอร์ strfry-db
git clone https://github.com/notoshi404/nostr-relay-docker.git
cd nostr-relay-docker/strfry
แก้ไขไฟล์ strfry.confsudo nano strfry.conf
``` . . relay { # Interface to listen on. Use 0.0.0.0 to listen on all interfaces (restart required) bind = "0.0.0.0"# Port to open for the nostr websocket protocol (restart required) port = 7777 # Set OS-limit on maximum number of open files/sockets (if 0, don't attempt to set) (restart required) nofiles = 0 # HTTP header that contains the client's real IP, before reverse proxying (ie x-real-ip) (MUST be all lower-case) realIpHeader = "" info { # NIP-11: Name of this server. Short/descriptive (< 30 characters) name = "strfry" # NIP-11: Detailed information about relay, free-form description = "This is a strfry instance." # NIP-11: Administrative nostr pubkey, for contact purposes pubkey = "[Public_Key(hex)]" # NIP-11: Alternative administrative contact (email, website, etc) contact = "" # NIP-11: URL pointing to an image to be used as an icon for the relay icon = "" # List of supported lists as JSON array, or empty string to use default. Example: [1,2] nips = "" }
. . ```
docker-compose.yaml
services: strfry: container_name: strfry image: notoshi/strfry # original dockurr/strfry ports: - 7777:7777 volumes: - ./strfry-db:/app/strfry-db - ./strfry.conf:/etc/strfry.conf
docker pull notoshi/strfry
docker compose up -d
เพียงเท่านี้เราก็ได้รีเลย์แล้วถ้าใครอยากเปิดเป็น public ให้เพื่อน ๆ ใช้ด้วยอย่าลืมทำ proxy ใน nginx หรือใครไม่มี publicIP ก็ใช้ cloudflare tunnel ช่วยได้
มีข้อมูลจุดไหนผิดพลาดต้องขออภัยไว้ ณ ที่นี้ด้วยช่วยเสริมพูดคุยกันได้
หวังว่าบทความนี้จะเป็นประโยชน์ แล้วเจอกันใหม่ในครั้งจะพาทำเรื่องอะไรนั้นรอติดตามกัน
NOT YOUR RELAY NOT YOUR DATA
siamstr #nostr #relay
-
@ 6bae33c8:607272e8
2024-10-18 07:09:04I woke up this morning, and neither the 40-minute edited version, nor the five-minute highlights were ready yet. No chance I’m gonna spend 3.5 hours on the full game, fast forwarding through commercials with my imprecise and not-very-responsive Apple TV remote. Especially not for this game.
I’m a little annoyed I switched from the Broncos to the Saints in my home picking pool, but that’s more than offset by my starting Javonte Williams in one of the first-place BCL leagues at the last minute. Checked the box score, was like, “Hell yeah!” Imagine having left him on the bench in the hopes Rhamondre Stevenson might play or Bucky Irving would get enough carries!
-
I also picked up and used Mason Tipton for my Steak League team which lost Rashid Shaheed, has Chris Olave hurt and CeeDee Lamb on bye. That worked out too.
-
It was nice to see Alvin Kamara do nothing. There are a lot of teams that got off to fast starts with him in their lineups. What a contrast between this destroyed version of the Saints and the team that came out of the gates so quickly.
-
From the box score it looks like Spencer Rattler did a ton of dink and dunk, and took a bunch of sacks before getting hurt.
-
Bo Nix’s box score looks like something out of the 1960s. I have Courtland Sutton in the one bad BCL — had to use him with Shaheed out — and it’s just as well. I can bury that Christian McCaffrey team at the bottom of the ocean.
-
I don’t know what else to say about this game except that if your star corner (Patrick Surtain) had to miss a game, this was definitely the one to miss. And if the Game Pass had to be late in editing a game, it seems like this was a good one to miss too.I woke up this morning, and neither the 40-minute edited version, nor the five-minute highlights were ready yet. No chance I’m gonna spend 3.5 hours on the full game, fast forwarding through commercials with my imprecise and not-very-responsive Apple TV remote. Especially not for this game.
-
-
@ 59df1288:92e1744f
2024-10-18 06:44:26Hey folks, it's time to dive into the latest splash from our Nostr community, where conversation topics are more unpredictable than a cat meme-dominated feed! Who knew the collision of anime avatars and Bluesky escapades could inspire such a meme tsunami, evoking nostalgia from the anime floodgates of yore? Meanwhile, our resident astrologers are sparring over election predictions, oscillating between the trustworthiness of polls and the ever-enigmatic prediction markets—which might just be a precursor to our own cosmic comedy. And if you're planning to stay fit amidst all this digital drama, don't forget to hydrate—both your body and your curiosity, because you’re going to need it to soak up the full scoop of these lively exchanges.
Anime Ava-Lanche! 🎎
Alright, so the crew is having a laugh about fiatjaf's latest escapade on the Bluesky app. They're getting flooded with anime girl memes, and it seems to have sparked quite the chatter!
Npub1dq0vnsph9wpmp9pcsc6qj2l5h7xsjyxyxt5tsl986u3v4lncknnsf8yffq is all about those furries—furries everywhere! And npub12fp3f07wum5zlp5h8js9f5j99gx0mzjr0607hxanjsp6t50rpe2sap3k9z chimed in with a vent about how Instagram can be a softcore mess 😱. It's a whole debate on how some networks feed you all sorts of cringe right from the start.
Npub1gd8e0xfkylc7v8c5a6hkpj4gelwwcy99jt90lqjseqjj2t253s2s6ch58h thinks it's all a bit better for anime lovers, though! But even they admit maybe we shouldn't be seeing everyone else's side hobbies. Meanwhile, npub1wrrzte0nd3ulxufnwqvyrn6te72jtxv9sfymmxj0mrn7dprdmr7s42pnt6 is throwing threads under the bus too! 😂
And then there's npub1nshq4pcyzdmnewg4h8yu6tsuh5t72whzkz5x4wj7t0c0cy7yyrfqq2cgnl comparing it to the early Nostr days when all you saw was "Bitcoin this, Bitcoin that." Honestly, this whole thread has been one big meme party.
Npub1uvx00x8svjwma2zhddwpthyke6zc3rrxqg5gj8mxdjv77zvwmz2qgw603z and npub1yj69jq9f977y2f7vl96m6stf3rjyf3hym8ekf3g4senlqamz8l3qfsvhk7 have even got someone named Rexy pulling out the dino-emoji game! 🦖
Looks like everyone had a blast dissecting these digital dilemmas. Don't miss out on the animated antics!
Check out the full convo here
Election Predictions and Polymarket Drama 🎰
So, Rabble kicked off an interesting chat about prediction markets and their huge role in election outcomes, especially how they're diverging from the typical polls in the upcoming U.S. elections. 🍿 The convo got spicy, with claims of one person possibly trying to sway things in favor of Trump! 🇺🇸
utxo the webmaster 🧑💻 chimed in, thinking polymarket folks might just be more into Trump. Then, npub193jegpe9h0csh7al22mkcstqva2ygyny7ura8kwvrn4tsmtnl4lsrxny6k jumped in, saying these predictive methods rock harder than polling. Plus, they pointed out the wild reality that neither side will claim this election has been stolen for once. Isn't that a plot twist? 🤔
npub1468024mrwz6uhywjvt8s6vw4e604egnv8tfd2m2utrmqyd3nu3fsutvgjn kept it real by insisting it’s all about managing expectations. As always, npub14pfjj6jf8y702pdjar2q36ve5r4t2gu2lp4yma00j49jkgy7d90swg7mwj added a layer of complexity, comparing the poly market to a derivative of the polls. Basically, it's all a numbers game and perception is key! 🎲✨
npub1melv683fw6n2mvhl5h6dhqd8mqfv3wmxnz4qph83ua4dk4006ezsrt5c24 wanted to mix things up with prediction markets on Nostr with zaps. That’s a new twist that could definitely shake things up! 🚀
Check out the full convo here
🎲 Predicting Election Predictions 🎲
Hey, guess what our pals on Nostr have been debating! It's all about predicting election outcomes and whether we can trust polls or those shiny prediction markets. 🗳️ npub13pdlcgrk7xpfwwcy2qjyt92jxvhkw3mh9k27zvs0jvfxa0ch88zs6sx3yr dropped some serious knowledge on data analysis and how the media might twist things, even diving into data rabbit holes. Who knew stats could be so wild?
npub1s0fs9dwztm2rukm42vh6df4a5gwykclf75tgyeuc75t0cs2eh8rsu2rqf5 threw shade at US election integrity, basically saying it's like betting on a dice roll. 🎲 Not his cup of tea, clearly. Then Moon chimed in, saying prediction markets are like a hive mind but can still get distorted. 🤨
Rabble added to the mix, hinting at potential profits from manipulation - cheeky, right? 💸 And while Moon thinks our election gridlock is part of some grand design, npub1s0fs9dwztm2rukm42vh6df4a5gwykclf75tgyeuc75t0cs2eh8rsu2rqf5 outright disagrees, casting major doubt on voting machines and exit poll suppression.
Honestly, with all this drama, it's clear nobody's getting a fortune teller gig anytime soon. 😂
Check out the full convo here.
Nostr Gossip: Search Magic and Purple TestFlight Buzz
Hey there! 🎉 So, there's been some fun chatter happening on Nostr lately. Our friend vrod kicked off an interesting convo about the new search feature. seth jumped in, all confused about finding old notes, thinking they were lost forever. 😅 But The: Daniel⚡️ swooped in, showing off some wizardry 🧙♂️ and got everybody amazed at how good it is now!
Meanwhile, damus dropped some deets about the new Damus TestFlight. They've got a big push on getting buddies to try it out and help make things better (or "unsuck" them, in his own words). Moon chimed in, querying if all this TestFlight jazz is necessary if you're already in Nostr Purple. Sounds like there's a lot of buzz and people are keen to see what's new! 🚀
Catch up with the full convo here.
🤔 Nostr Notes & Sneaky Sneak Peeks
Hey! So, in the latest buzz, vrod kicked things off with some excitement about a new #damus search feature, telling folks to dive into the past with their favorite #bangers. Seems like the search is the talk of the town! Gerardo was kind of surprised, like, "Whoa, there's a search now?" and npub1x8gv0umecuecqvd46tnvpthzls6zd62aeuvc0fwxg6z8pjf4jtmqda95xh was all about the hype, calling it lit with fire emojis. 🔥
npub14yf4yasnqgpkzjrzhysshglf82e8nkp8r9sn5hzqu4n244k3avtshhwpyu seemed a bit amazed too, having just sent a DM about this—talk about timing, right? They were peeping around with the eyes emoji and a purple heart. vrod reassured everyone it's always been there but got a sleek update, suggesting the universe view. Sounds fancy! And Gerardo was impressed, saying, "Oh snap!" It’s like hugs all around for the team!
Check out the full convo here.
Stewarding the Digital Spaces and Local Market Buzz 🌐
In today's Nostr catch-ups, it looks like everyone's chatting about community building and the ins-and-outs of local marketplaces. There's a cool convo led by some friend's take on how digital spaces need a steward, kind of like how physical communities have their leaders. Seems like npub1m2u4v2jtz4np0y3lk2anr4vm4vr4l7jlr7y94qglhfrgewsczchqg6y2gl is trying to "purple pill" or "orange swallow" Facebook marketplace fans into Nostr markets. Sounds like a scheme, but apparently, it's all about trying new things in the digital trading space. Then, schmijos shared that local second-hand exchanges are buzzing there, while npub1mvfmxhy4mfujqpjawsnp4ucsa03chrau4ly9u5js35n5r3f48wjqcks7g2 is super bullish on $NOSTR. 🙌
Check out the full convo here.
Pumping Iron and Healing Vibes 💪
Meanwhile, vrod kicked off a chat about their workout regime that's got everyone sharing their fitness journeys. mcshane is dealing with some medical things but isn't letting it stop them from staying active—lifting when it doesn't hurt and dreaming of jiu-jitsu in November. 😅 Meanwhile, npub1ruj546gf5d4sqqxrk68ndwf245tg73fjwfwhekdk0adsjzy0yyjsrzsqw2 offers up a solid reminder: sometimes resting up is the best medicine, which is hard for mcshane to accept!
Check out the full convo here.
App Store Frustrations 📱
Lastly, dtonon had a mini-rant about trying to test Strike. It's apparently distributed through the app store but isn't showing up as available in their region—frustrating, right? Gotta love that regional availability drama!
Catch you up soon with more Nostr tea! ☕
All About the APK Obsession 📲
So, npub1qqsvf646uxlreajhhsv9tms9u6w7nuzeedaqty38z69cpwyhv89ufcqpz9mhxue69uhkummnw3ezuamfdejj70v5n7z was super curious about getting direct access to some APKs and suggested zap.store might be the place. It turned into a little Q&A sesh with npub16v82nr4xt62nlydtj0mtxr49r6enc5r0sl2f7cq2zwdw7q92j5gs8meqha wondering if Strike is open-source, and dtonon looking for those trustworthy download spots. 🤔 Thanks to Derek Ross, some clarity emerged around APK Mirror, with a little nod to some past buddy vibes. 😄
Check out the full convo here.
Random Trivia Madness 😂
Vitor Pamplona shared some random trivia goodness that had npub1xjtu3nk7m7zsxh4wj0apf3xlcl532xqfw2znte4748sxw3s2rlhqcuemqn chuckling and loving the unexpected info drops. npub1smreuk4gcs0k3jdz8zzckzxy6c7pkr8x6nafd5e2jr0jt0vrkpeqvpxn8w simply didn't need this kind of enlightenment, while npub16pcgz3fct9znjcv37sn7zdrtk4xgjsgla7rm6dz82y9syashr7mq7nafu7 threw in a "slow worm" comment to keep things mysterious. 🤷🏻♂️
Check out the full convo here.
October Mysteries and Gear Talks 🏕️
elsat dropped a little heart-eyed emoji, sparking a convo about upcoming weather surprises. plebiANON was wowed and pondered about October norms, and laughed about those unprepared jeans-and-tennis-shoes folks. NGMI moments, right? 😂
Check out the full convo here.
Countdown Snapshots ⏱️
emperor's new groove brought up a neat 07min56s snapshot! npub1hee433872q2gen90cqh2ypwcq9z7y5ugn23etrd2l2rrwpruss8qwmrsv6 was in the comments twice, hinting at some Japanese-related intrigue. Are we talking translations, or is there some other story behind the scenes? 🤔
Check out the full convo here.
Tech Troubles and Feature Fun 🎉
Hey there! So, here's the scoop on our pals' latest Nostr chats. Everyone's been buzzing, and here's what you missed!
In the first chat, vrod kicked things off, trying to figure out some version stuff for TestFlight. But no worries, SimplestBitcoinBook swooped in saying their update worked like a charm, complete with a happy emoji! 🎉
Then, vrod was hyping up a purple-themed test that's about to go public. TKay was so excited about a new feature and wondered why it wasn't the talk of the town! But our friend, vrod, playfully hinted at some sneaky marketing tactics with a cheeky hashtag. 😅 #Unmarketing
Moving on, there was some experimenting with image uploads — everyone's favorite dog content was making the rounds! npub14yf4yasnqgpkzjrzhysshglf82e8nkp8r9sn5hzqu4n244k3avtshhwpyu chimed in, fascinated by some pretty eyes, and got a loving emoji nod from npub1xwwmvty3er863uy9lz03zhc6m9wlzr88f9esywdkq4xjg5en9yyqktl3nz 🥰
But wait, there's tech talk too. danieldaquino wanted to know what device TKay was using, which turned out to be an iPhone 14 Pro Max — ooh, fancy! The scrolling speed on Damus was praised, and there was a hint that the mechanics might've changed... but it's likely just their phone being picky. 😁
Finally, a doozy on social platforms: Rabble brought up how folks are jumping ship from Twitter to Bluesky due to changes in blocking features. npub1kpwmzh57k9nyae54myvw8204r5a0mw47egtmsxewytm2qtxltdsqww0yvj was a bit skeptical, surprised at the motivations for leaving Twitter behind.
Check out the full convo here
Who's Sending What? 🤔
In a brain-bending twist, tyiu explained how you can be both the sender and receiver of a message if you send a copy to yourself. A real "wait, what?" moment! calvadev⚡️ chimed in, finally understanding how all the DM secrecy works, thanking tyiu for clearing the air. The crew's gearing up for some serious tech shifts to upgrade their chatting game. 🚀
Check out the full convo here
The Job Hunt Hustle 💼
elsat threw out a mysterious job offer, and npub1njst6azswskk5gp3ns8r6nr8nj0qg65acu8gaa2u9yz7yszjxs9s6k7fqx, ever the spirited one, dove right in saying, "Fuck it, I'll do it. When do I start?" 😂 Meanwhile, npub18gyx2szjxlm3m853fch0z4u3257cftlw3mn22l9c7afu50qse0jq67lymq cracked a joke about getting paid in "experience" and "exposure". Classic banter, got to love it!
Check out the full convo here
Smart Card Mysteries🔍
elsat was a bit puzzled about a new product floating around the chat. Semisol came to the rescue, explaining it's a cool smart card that supports all kinds of fancy tech stuff like NFC and xprvs. Plus, you can secure it with a PIN code. They've tweaked the survey for clarity, so hopefully, there won't be any more head-scratching moments!
Check out the full convo here
Video Player Vibes 🎬
vrod teased the group with news of a brand-new video player coming to #damus soon. Everybody’s curious about what it might bring to the table, and it’s got folks buzzing on what might be next for their viewing pleasure. Is it going to revolutionize how we watch stuff? Only time will tell, but anticipation's in the air! 🍿
Check out the full convo here
Damus Lovers Unite! 😍
So, our buddy 4evangeli0n was raving about sticking with #Damus despite some pesky video player hiccups. They're all in for the long haul, cheering on the growth and celebrating the freedom that comes with #nostr. Loyalty level: 100!
Jumping in with a boost of good vibes, vrod simply threw in a heartfelt "Thank you! 💜" showing some love right back. You know, just spreading the positive energy all around. 🙌
Check out the full convo here
-
@ 765da722:17c600e6
2024-10-18 00:46:59*“‘Paul … set apart for the gospel of God … to bring about the obedience of faith for the sake of his name among all the nations, including you who are called to belong to Jesus Christ” *Romans 1:1-6.
“Are you a member of our rewards program?” the cashier asks me at whatever random store I am buying an item. Before I put my phone number into their machine to see, I ask what benefit I will reap for belonging. The poor young woman does not know. Perhaps she’s never been asked before. We just simply belong to things today, and the commitment is so low.
Sadly, this secular way of thinking has crept into the church. Both Satan and Jesus have been campaigning long for your vote. Your soul is at stake. The promises from the “father of lies” have proven to be empty while those of the One who embodies truth have proved to be “precious and very great.”
So, the next lie is that you “belong” to God with very little invested. The devil doesn’t stop us from going to Bible class or worship services when it’s convenient to us. Nor does he shake when we obey the gospel as he knows we won’t grow in our faith. Just as long as we’ll shrug at the pearly gates when asked if we belong.
Bible #commitment #belonging
-
@ 4ba8e86d:89d32de4
2024-10-17 22:26:20Ele oferece a opção de utilizar autenticação de dois fatores para aumentar ainda mais a segurança. O aplicativo foi desenvolvido em 2016 pelo americano Mo Bitar para oferecer um lugar seguro para armazenar informações pessoais sem a preocupação de que seus dados sejam coletados ou expostos a terceiros.
O Standard Notes é um cofre de aço para seus dados mais confidenciais, que protege suas anotações e arquivos com criptografia de ponta a ponta líder do setor e auditada 4x. Armazene com segurança todos os seus dados confidenciais em um só lugar e acesse-os de todos os seus dispositivos, com a certeza de que seus dados estarão sempre protegidos pelos mais altos padrões de segurança.
Ao contrário de outros serviços de anotações, o Standard Notes apresenta medidas de segurança avançadas e controles de privacidade que protegem seus dados contra hacks, violações de dados, acesso do governo e até mesmo acesso de funcionários. Ele defende a privacidade dos usuários e apresenta políticas revisadas por pares e auditáveis.
O Standard Notes utiliza criptografia de ponta a ponta para proteger todos os dados, que são criptografados sempre que tocam um disco, como em seus servidores ou no dispositivo do usuário. Auditorias independentes são realizadas periodicamente em sua criptografia, aplicativo e código do servidor para garantir que os dados estejam protegidos. O código aberto do Standard Notes permite que os usuários tenham clareza sobre como seus dados estão sendo tratados em cada etapa do caminho. Ele não coleta ou armazena informações do usuário, como endereço IP ou agente do usuário, para proteger a privacidade.
-
Acesse a F-droid ou Google Play Store em seu dispositivo Android.
-
siga as instruções para criar uma conta ou fazer login em uma conta existente.
-
Comece a criar suas notas e armazenar outras informações importantes com a tranquilidade de que seus dados estão seguros e protegidos.
https://github.com/standardnotes
-
-
@ 4ba8e86d:89d32de4
2024-10-17 22:21:39Ele é baseado no conceito de "separação de privilégios", o que significa que ele separa o sistema operacional em duas máquinas virtuais separadas, uma para o sistema operacional e outra para as aplicações. Isso permite que as aplicações rodem em um ambiente isolado e seguro, sem acesso direto à rede e aos recursos do sistema, protegendo assim a privacidade do usuário.
O Whonix foi lançado em 2012 como uma iniciativa do desenvolvedor alemão Patrick Schleizer. Ele criou o Whonix como uma resposta à crescente preocupação com a privacidade e o anonimato on-line, especialmente após as revelações de Edward Snowden sobre a vigilância em massa realizada pela NSA.
O Whonix foi projetado para ser usado em conjunto com a rede Tor, que é uma rede de comunicação anônima que permite que os usuários naveguem na internet sem revelar sua localização ou identidade. O Whonix permite que os usuários se conectem à rede Tor de forma segura e anônima, sem expor seu endereço IP ou outras informações pessoais.
O Whonix funciona em duas partes: o Gateway e o Workstation. O Gateway é a máquina virtual que lida com todo o tráfego de rede e estabelece a conexão com a rede Tor. O Workstation é a máquina virtual que você usa para suas atividades online. As duas máquinas virtuais se comunicam apenas através de uma rede privada, o que garante que o tráfego da rede esteja completamente isolado.
O Whonix vem pré-configurado com várias ferramentas de privacidade e segurança, como o navegador Tor, o cliente de email Thunderbird com suporte a criptografia, a suíte de criptografia GnuPG, entre outras. Além disso, ele possui uma série de recursos de segurança, como proteção contra vazamentos de DNS, capacidade de rotear todo o tráfego através da rede Tor, bloqueio de conexões não autorizadas, entre outros.
O Whonix resolve o problema de privacidade e segurança online, fornecendo um ambiente totalmente isolado e anônimo para navegar na web, enviar emails, trocar mensagens instantâneas e outras atividades online. Ele também ajuda a proteger os dados pessoais do usuário de roubo de identidade e outras ameaças de segurança.
Além disso, o Whonix é uma ótima opção para quem vive ou trabalha em países com censura na internet, já que a rede Tor é capaz de contornar bloqueios de conteúdo e oferecer acesso à internet de forma anônima e segura.
O Whonix é uma solução completa para quem busca privacidade e segurança online. Ele oferece um ambiente totalmente isolado e anônimo para todas as atividades online, garantindo a proteção dos dados pessoais e a privacidade do usuário. Com uma série de recursos de segurança e ferramentas pré-configuradas, o Whonix é uma ótima opção para quem deseja navegar na web com privacidade e segurança, independentemente de onde estejam.
https://github.com/Whonix
https://www.whonix.org/
-
@ 4ba8e86d:89d32de4
2024-10-17 22:16:21Ele utiliza criptografia forte para criptografar os arquivos antes de serem enviados para a nuvem, garantindo que apenas o proprietário dos arquivos tenha acesso a eles.
O Cryptomator é gratuito para uso em sistemas operacionais como Windows, macOS e Linux, mas requer uma licença paga para uso em iOS e Android. A licença pode ser adquirida por meio do ProxyStore https://digitalgoods.proxysto.re/en , que aceita pagamentos em Bitcoin e moedas fiduciárias.
Desenvolvido por Tobias Hagemann e Christian Schmickler, dois engenheiros de software alemães, o Cryptomator surgiu com o objetivo de criar uma solução acessível e fácil de usar para proteger arquivos armazenados na nuvem. Lançado pela primeira vez em 2016, rapidamente ganhou popularidade na comunidade de privacidade e segurança cibernética.
O Cryptomator é uma ferramenta simples para autodefesa digital. Ele permite que você proteja seus dados na nuvem sozinho e de forma independente.
A maioria dos provedores de nuvem criptografa dados apenas durante a transmissão ou mantém as chaves para descriptografia para si. Essas chaves podem ser roubadas, copiadas ou mal utilizadas. Graças ao Cryptomator, só você tem a chave dos seus dados em mãos.
O Cryptomator permite que você acesse seus arquivos de todos os seus dispositivos. É fácil de usar e se integra perfeitamente entre seus dados e a nuvem.
Como o Cryptomator protege seus dados?
A tecnologia do Cryptomator atende aos padrões mais recentes e criptografa arquivos e nomes de arquivos com AES e comprimento de chave de 256 bits.
Para começar com o Cryptomator, você atribui uma senha para uma pasta - nós a chamamos de cofre - dentro de sua nuvem. Isso é tudo. Nenhuma criação de chave complicada, nenhum registro, nenhuma configuração!
Para acessar o cofre, basta digitar a senha novamente. Você receberá uma unidade virtual criptografada para a qual poderá mover seus dados - exatamente como uma unidade flash USB. Sempre que você armazena algo nesta unidade, o Cryptomator criptografa os dados automaticamente. Bem simples, certo?
A tecnologia por trás disso é de última geração e criptografa arquivos e nomes de arquivos com AES e comprimento de chave de 256 bits. Isso significa: se alguém examinar a pasta em sua nuvem, não poderá tirar nenhuma conclusão sobre seus dados.
Você não precisa confiar cegamente no Cryptomator, porque é um software de código aberto . Para você como usuário, isso significa que todos podem ver o código.
Auditado por pesquisadores de segurança
Além de auditorias de segurança independentes , o software é continuamente e publicamente testado de forma automatizada e possui uma qualidade de código mensurável e cobertura de teste muito acima da média do setor.
O Cryptomator é uma poderosa adição ao seu arsenal de segurança, fornecendo uma camada adicional de proteção aos seus arquivos armazenados na nuvem. Ao combiná-lo com boas práticas de segurança cibernética, você pode desfrutar de maior tranquilidade e controle sobre seus dados pessoais e confidenciais.
O Cryptomator é uma solução confiável e acessível para proteger seus arquivos na nuvem. Com sua criptografia forte, código aberto e facilidade de uso, ele permite que você mantenha a posse exclusiva de suas informações, garantindo que apenas você tenha acesso aos seus arquivos. Ao adotar medidas adicionais de segurança e escolher cuidadosamente seu provedor de armazenamento em nuvem, você pode fortalecer ainda mais sua postura de segurança cibernética e proteger seus dados de maneira eficaz.
https://cryptomator.org/
https://github.com/cryptomator/cryptomator
-
@ aedd8f68:296cf1be
2024-10-17 21:21:42Note: This is not some fancy writing piece. this is just brain farting that I thought it was too long for a regular post.
Alex Gleason is always doing a lot of crazy interesting work. Ditto is a step in the right direction for an alternate type of relay ecosystem that runs alongside the standard globally focused community we all know.
While #Ditto is awesome, what I'd really like to see something similar, but more focused on a multi-community experience that simultaneously makes each community's viewing experience focused only on that community's content. Just for fun, to write down some ideas, below are the 2 big changes that I think would make ditto the ultimate "communities" system that could trounce Reddit.
1. Single relay experience on the domain:
By default, I think community sites should only show content from the built in relay (or a relay group for redundancy). Currently on ditto.pub, when you first sign in, it feels a lot like any other web nostr client. The default home just shows follows I have from other relays instead of being thrown into the community content. You have to click the local feed, to filter the community's content, but it's limited to people who registered a NIP-05 for that domain. I think that it would be great if you could contribute with any NIP-05 and it counts as community content. That could be accomplished by equate community content to content posted on the relay. There are countless apps to get a feed of your relays, so it doesn't benefit me to see it on a communty's domain.
2. Sister client giving multi-community aggregation experience:
I think communities should like pokemon and you grab the ones to identify with. Create a set of web and mobile app clients that manage viewing and switching single relays at a time. The client experience would be like reddit where you navigate ditto communities like subreddits. If a community is a pokemon, then this is the pokedex? OK I actually don't know shit about pokemon so that might not be the slam dunk I thought it was. Whoops.
Ideas / more particulars
- To see a community's content, you add a community relay subscribing to subreddit, or simply visit the domain.
- Another great feature would be customizing the relays that make up your home feed, and making other named combo-feeds (especially awesome if you are a part of 2 rival communities who's focus generally overlap)
- The client would use more globally used relays to handle settings like your list followed ditto communities, etc (configurable)
- Similarly, to help users find communities, ditto servers can optionally publish their relay info to a list on a "discovery" relay. Main popular discovery relays would be set by default (where communities publish discovery info to), but could be configured to other relays (if people wanted to set up custom curation relays or something.)
- Registering a domain handle (NIP-05) at the community domain can be more focused on people with relay moderation roles, or just people who really for some reason want that community to be their whole identity (i don't personally get that, which is why mastodon is not for me)
- Communities could work independently of the aggregator app(s) If people just wanted to visit the domain to post (from any NIP-05)
-
@ b6424601:a11e4ff4
2024-10-17 21:05:15The Somali pirates wanted a single Bitcoin in a ransomware attack on my company's server back when a Bitcoin was $500 bucks. Our IT guy said he could not do anything, so I first had to figure out how to buy a Bitcoin by listening to a Modern Survival Podcast I listened to on dog walks to learn about permaculture and homesteading ideas for our lake house. So, I bought a Bitcoin in a Satoshi paper wallet and learned enough how to exchange Fiat and send BTC to pay off the pirates. I remember my wife asking if I had purchased 2 of them; of course, the answer was NO.
Fast forward to April 2021, when the BTC had run up to the mid-$50Ks. The paper wallet in my desk drawer kept calling out to me, and I wondered if there was any change from my single Bitcoin pirate payoff. After figuring out I needed the Wallet of Satoshi application on my phone, I shot the QR code. To my amazement, the change from a 2015 Bitcoin was worth a few thousand dollars. At that point, I became very interested and started down the traditional rabbit hole, listening to the entire Michael Saylor/ Breedlove What is Money series, other random crypto podcasts, and YouTube crypto videos. I tried to figure out what the best practices were for this stuff and ended up keeping a diversified portfolio of 80% Bitcoin and 20% shitcoins. By the end of 2021, I made a big bet with Bitcoin and other shit coins with my end-of-the-year bonus to attempt to get a bump to pay for the world's coolest dock at our lake house. We are going to $100K for sure, RIGHT?
With full-on FOMO and greed at the party, 2022 was very educational in a living through-your-mistakes kind of way. I had to start selling assets as draws occurred on the dock construction. I had learned each trade was a taxable event to report on taxes late in 2021. As the payment requests were coming in from my Dock Contractor, I was selling TSLA gains (different dock story) and BTC to balance out gains. I was pissed at the time, but I was selling on the way down first, starting with the shitcoins after observing how fast they were cratering. I observed the bears jumping on BTC at a slower rate, from $50K at the beginning of January to $25K at the beginning of June 2022.
The results and my BTC progression:
The dock is our favorite place and an asset to our lives worthy of trading some hard assets. I was thankful I did not leverage for the "certain" run-up and had assets to trade to my dock personal architecture.
During the bear market in 2022, I realized that I was a good architect but a lousy trader. It seems easier to use DCA and HODL to reduce the time and effort of figuring out which shiny object to speculate on.
In 2022, I learned there is at least one benefit to being older, especially if you are over 59.5. I worked with our office's 401K administrator to modify our plan to allow in-service Roth rollovers. 59.5+ year olds can also roll over Traditional IRAs. I even sold some Google shares from the original Dutch Auction to roll into a BTC IRA account.
In 2023, we worked with our business tax accountants and attorney to revise our business partnership agreement and corporate structure to allow the partner's autonomy to decide where to hold firm equity. I could retain our studio profit in a business account. My studio's equity has now been moved from a bank business account to a business BTC account without causing a capital gain tax event.
In 2024, our business is working to figure out how to use this stuff to behold a corporate treasury. We have been working with Jon Gordon at Satoshi Health Advisors to set up Bitcoin systems to receive and make payments. We are paying for those consulting services with lighting through business accounts. This sounds like a small step, but involves jumping through some flaming hoops for a small business.
2025, my goals are to start receiving initial payments, consultation payments, and selling a product on our website in Lighting or BTC. I want to use experience for clients sending us initial project payments to let them see the utility, lower cost, and ease of network use. I see these small initial moves as stepping stones toward using BTC as our unit of account.
For the first time in my business life, there is a simple pattern to follow: do the work we believe in and our clients value, design your business systems to make a profit, and then retain profits in BTC accounts. We are not a public company, so the MicroStrategy convertible bond strategy won't work for us. However, for small business owners in the design and building industry, holding BTC on your balance sheet should make us stronger and more resilient as assets shift from real estate and bonds to BTC. The next steps could be self-actualizing.
HODL on
Bryan
-
@ 76c3384a:9279a6e5
2024-10-17 19:38:33-
"I want to learn to read and write mommy."
I designed this workbook for my eldest when she was 5 years old. She came to me one day asking me, "Mommy, I want to learn to read and write."
The first book I designed (the one she used) was done by hand with pencil and paper. I wanted to digitize the worksheets for my other children to print and reuse, but at the time I had no experience with digital design. Since I was a Linux user I used Libre Office and Inkscape. Learning on the go eventually publishing 4 workbooks and 1 basic reader all crafted with open source software. At first workbooks were only available in Afrikaans, but I had many requests to also publish them in English and now all of my material is available in English and Afrikaans.
-
Since 2024 my digital books are available for free (no strings attached) for anyone to use, they have also been updated and revamped to be Bitcoin-friendly. All I ask is that you refer to my website or Nostr account when sharing.
I am not a teacher and have no degree or diploma in education. Just a mom that had difficulty finding classical education workbooks to help my daughter learn to read and write. I took it upon myself to design something that worked for us.
I hope you find this helpful. Enjoy, and follow me on Nostr.
About this workbook
An educational exercise book teaching children to read and write during the foundation phase. “Look mommy, I can read and write” is for home and classroom use. It can be used as an extra aid for Grade R or Grade 1 curriculum or as a revision book.
Each exercise was drafted by hand and then digitized. The letters had to be as similar to hand written symbols as possible. It was well researched. Due to the fact that all is in black and white, the children can be more creative by using colour pencils and crayons.
The first letter is the letter “a”, then follows the letter “d”. By doing just the first two letter exercises the child will already be able to sound (read) the word “dad”. Each letter consists of three exercises.
-
There are many pictures to colour, sentence and word building exercises.
This book is particularly ideal for parents who want to play an active role in this phase of their child’s development and education. It will also give satisfaction to the parent that wants to teach his/her own child to read and write by working together in the book.
It is a great homework aid for teachers to send home for extra repetition.
(The character style and writing symbols may differ depending on the country you live in.)
DOWNLOAD PDF HERE!
-
-
Written, designed and cover by SemcoMama
semcomama.co.za / semcomama.npub.pro
© All rights reserved. Feel free to share with all mommies out there and you can also follow me on Nostr @semcomama. If you appreciate my work and found value in it zap me some sats. (through my website or my Nostr account).
education
-
@ ebdee929:513adbad
2024-10-17 17:09:57Software Setup Links:
DC-1 as a monitor:
- SuperDisplay Setup | Best for Windows
- SpaceDesk Wireless and Wired Display Setup | Windows PC Users
- Chrome Remote Desktop Setup | Anyone
Purchase and setup links:
Keyboards:
- Keys-To-Go 2 White Keyboard | Logitech
- Keys-To-Go 2 Bluetooth Setup
- Magic Keyboard White | Apple through Amazon.com
- Magic Keyboard Bluetooth Setup
- Air 60 V2 with Blue Switches | Nuphy
- Air 60 V2 Keyboard Folio | Nuphy
- Air 60 V2 Bluetooth and Folio Setup
- Magic Keyboard Case | Fintie through Amazon.com
Pens:
- Premium White Pen
- Ultra Premium Lamy Pen | Amazon.com
- Samsung S Pens (Multiple):
- Small (Galaxy Note Series Style)
- Cheaper Alternative (ZERO Quality Guarantees)
- Medium (Galaxy Fold Style with smooth tip)
- Cheaper Alternative (ZERO Quality Guarantees)
- Larger (Galaxy Tab Style)
- Cheaper Alternative (ZERO Quality Guarantees)
Pen Setup: Just touch the screen and it works, no pairing or charging needed.
Others:
- Bluelight Free Light Bulb | Amazon.com
- Light Bulb Setup
- Comfy Green Sleeve | Amazon.com
Keys-To-Go 2 Bluetooth Setup:
- Step 1: Unbox keyboard from box
- Step 2: Open keyboard and pull tab to enable batteries and keyboard function
- Step 3: Ensure Switch on back of product is in the position where green is showing, not off where red is showing
- Step 4: Hold the key labeled ‘fn’ meanwhile you hold the ‘g’ key for 3 seconds to put the keyboard into android mode, since this is an android tablet
- Step 5: Hold the key labeled ‘fn’ meanwhile you hold the key labeled ‘F1 with the image of the laptop and phone for 3 seconds to put profile 1 into bluetooth pairing mode
- Step 6: On your Daylight DC-1, swipe down on the top of the screen, swipe down again, click on the settings icon that looks like a gear in the bottom right corner
- Step 7: In settings, click the second from the top menu item on the left called ‘Connected devices’ (it says Bluetooth, pairing underneath it)
- Step 8: Click on the button labeled ‘Pair new device’
- Step 9: Under available devices tap on Keys-To-Go 2
- Step 10: It will ask you to type some numbers and hit return/ enter, once you do so the device will show up as connected under ‘Saved Devices’
- Step 11: Turn off the keyboard with the switch on the back if you desire, this will disconnect it from the device
Appendix: Keys-To-Go 2 Documentation:
Apple Magic Keyboard Setup:
- Step 1: Unbox keyboard from box
- Step 2: Ensure Switch on back of product is in the position where green is showing
- Step 3: On your Daylight DC-1, swipe down on the top of the screen, swipe down again, click on the settings icon that looks like a gear in the bottom right corner
- Step 4: In settings, click the second from the top menu item on the left called ‘Connected devices’ (it says Bluetooth, pairing underneath it)
- Step 5: Click on the button labeled ‘Pair new device’
- Step 6: Under available devices tap on Magic Keyboard
- Step 7: It will ask you to type some numbers and hit return/ enter, once you do so the device will show up as connected under ‘Saved Devices’
- Step 8: Turn off the keyboard with the switch on the back if you desire, this will disconnect it from the device
Spacedesk Setup:
THIS IS ONLY FOR PEOPLE USING A WINDOWS PC
- Step 1: Open the Google Play Store: On your device, slide in from the side until and move till you get to the letter ‘P’ and tap ‘Play Store’
- Step 2: Search for SpaceDesk: In the Google Play Store, tap on the search bar at the top and type "SpaceDesk". As you type, suggestions will appear below the search bar. Tap on "SpaceDesk - USB Display for PC" when it appears.
- Step 3: Download and Install the Driver: Visit the
official Spacedesk website and download
the ‘Windows 10/11 (64-bit)’ Spacedesk driver for Windows. Follow the on-screen instructions to install it on your PC. - Step 4: Launch Spacedesk Server: After installation, open the Spacedesk Driver Console application on your Windows PC.
- Step 5: Click the ‘USB Cable Driver Android’ button, then enable the ‘USB Cable Android’ option and let it apply.
- Step 6: Open Spacedesk App: On your Android device, open the Spacedesk app you installed earlier. - Step 7: Improve Quality: Click on the ‘3 lines’ icon and then settings.
- Under ‘Rotation’ enable ‘Auto-Rotation’ and under ‘Quality/Performance’ slide ‘Image Quality’ to max (the right) and set ‘Custom FPS Rate’ to 60. - Step 7A (for wired use): Plug the tablet into your PC - Step 7B (for wired use): Enable USB File Transfer: Swipe down on status bar (the bar at the top of the screen with wifi and notification icons etc. There will be a notification under the ‘Silent’ category named ‘Charging this device via USB’, tap on it to expand it, then tap once more time when it says ‘Tap for more options’. This will open up a menu, all you need to do is click ‘File Transfer’ under the section called ‘Use USB for’ - Step 8: Connect: Reopen the Spacedesk app (use the back arrow or button to leave the settings menu should you need). The app should now detect your Windows PC through USB OR wireless. Tap the listing under your computer's name for wireless connection, or tap the little trident USB icon at the bottom middle of the screen for wired connection, which is recommended.
SuperDisplay Setup:
THIS IS ONLY FOR PEOPLE USING A WINDOWS PC
- Step 1: Open the Google Play Store on the tablet: On your device, slide in from the side until and move till you get to the letter ‘P’ and tap ‘Play Store’
- Step 2: Search for SuperDisplay: In the Google Play Store, tap on the search bar at the top and type "SuperDisplay". As you type, suggestions will appear below the search bar. Tap on "SuperDisplay - Virtual Monitor" when it appears.
- Step 3: Download and Install the Driver on your Windows PC: Visit the
official SuperDisplay website and download
the Windows driver. Follow the on-screen instructions to install it on your PC. - Step 4: Launch SuperDisplay : After installation, open the SuperDisplay Settings application on your Windows PC by hitting the ‘Windows’ Key and typing ‘SuperDisplay Settings’ - Step 5: Launch the application on your tablet. - Step 6: Go into SuperDisplay settings by clicking the settings gear icon in the top right corner. Under ‘Advanced settings’ click ‘Quality’ and slide it to 100. - Step 7 (Wireless): IP Address: Back out of the settings and input the IP address into the desktop program. (Both devices need to be on the same wifi) - Step 7 (Wired): Plug the tablet into the PC - Step 8: Start the connection on the tablet by clicking the central button! - Step 9: In Windows, hit the ‘Windows’ key, type display and hit enter. This will take you to display settings. In display settings set the displays to ‘extend’ and then confirm the change. Select the DC-1 display by clicking the square it is associated with, then set the display to 1584 x 1184 resolution, confirm this by hitting ‘keep changes’, then set to 125% scale.
Chrome Remote Desktop Setup:
Note: This prefers Chrome itself on the tablet and REQUIRES a chromium based browser to be installed on your computer, examples of chromium based browsers are Chrome, Edge, Arc, Opera etc. Basically anything but Safari or Firefox will do. This is because a chrome extension needs to be installed. Both devices need to be signed in to the same Google account to see each other.
- Step 1:
and click the download button here:
- Step 2: Get the extension in the window that pops up:
- Step 3: Once installed, click the download button AGAIN and it will show what is shown below, a program called ‘chromeremotedesktophost’ will download, install it.
- Step 4: In the play store, install the ‘Chrome Remote Desktop’ app and open it, the app's name will be just ‘remote desktop’ as a heads up. - Step 5: On the computer, go to
and click set up remote access under the ‘Remote Access’ tab. Then set a computer name and pin. Accept whatever permissions pop up on your computer
- Step 6: If you have Chrome itself installed on the tablet it will open a page, click the ‘Access my computer’ button, then under remote Access click your device.
APK Installation Guide:
- Note on APK’s: These are apps from outside official sources, they might not update from the play store and in rare cases can have different functionality. Apply extra caution and source these app files from good sources like
. Just like through the play store or other sources, malicious files can be spread, use common sense and generally avoid downloading any ‘hack’ apps that claim to unlock features. - Step 1: One the home screen, swipe down from the top of the screen, also called the status bar - Step 2: Swipe down again till the settings tiles fill the screen, then click the gear icon in the bottom right hand corner of the screen which will take you to the settings application - Step 3: In settings, tap ‘Apps’, then ‘Special app access’, then ‘Install unknown apps’ - Step 4: Tap your preferred browser application then enable the ‘Allow from this source’ toggle - Step 5: Open your browser of choice, and search ‘apkmirror’ and navigate to
, or just type
https://apkmirror.com/ - Step 6: On the apkmirror website, search your application name in the search bat at the top of the apkmirror website. After you search find your app in the results and tap the most recent version. Dismiss any ads you might see. - Step 7: Under the text ‘Verified safe to install (read more)’ tap the button called ‘SCROLL TO AVAILABLE DOWNLOADS’ - Step 8: Find a file tagged ‘APK’ not ‘BUNDLE’ - Step 9: Click on the Download Arrow and line icon that looks like this ⬇️ - Step 10: Under ‘Verified safe to install (read more)’ tap ‘DOWNLOAD APK’ - Step 11: If it appears, dismiss the warning for ‘File might be harmful’ by tapping ‘Download anyway’ - Step 12: After your apk downloads, either - Tap ‘Open’ on the ‘File Download’ Pop-Up - Go to the home screen and open the files app, navigate to the downloads folder and tap on the downloaded apk - Step 13: Tap ‘INSTALL’ on the popup that appears. After it installs tap ‘OPEN’ - Step 14: The app will now be on your device and you can search and open it like every other app
Touch grass,
Daylight Team
-
@ bcea2b98:7ccef3c9
2024-10-17 17:02:57originally posted at https://stacker.news/items/728382
-
@ 599f67f7:21fb3ea9
2024-10-17 15:35:19Nostr proxy baten erabilera modu oso eraginkorra da internet banda-zabaleraren eta mugikorretan bateriaren kontsumoa optimizatzeko.
Proxy batek hainbat errelei-konexio konexio bakarrean biltzen dituenez, baliabideen erabilera nabarmen murrizten du, eta erabiltzailearen IP helbidea ezkutatuz pribatutasun-geruza bat gehitzen du.
Hona hemen nola funtzionatzen duen eta nola konfigura daitekeen:
Nola funtzionatzen du?
Nostr proxy batek hainbat erreleirekin konektatzen du. Errele horietara gertaerak eskuratu eta argitaratzen ditu. Bezeroaren aplikazioak WebSocket konexio bakarra ireki behar du proxy-ra, eta horren bidez proxy-ak konektatuta dituen errele guztiak eskuragarri izango ditu.
Irudiaren egiletza: Yonle 2023
Bezeroak konexio bakarra irekitzen duenez, datuak eta bateria aurrezten ditu.
Proxy-ak bezeroaren izenean erreleekin konektatzen denez, erreleek proxy-aren IP helbidea ikusten dute, eta ez bezeroarena. (Hala ere, proxy hornitzailearengan konfiantza izan behar duzu).
Erabiltzeko Modua
Nostr proxy bat erraz auto-ostata daiteke. Auto-ostatatzeko jarraibideak lortzeko, begiratu nostr:npub1x3azxuysp5vmfer4vgs4jn5tmfcx4ew8sh0qnev7gczljxsr7jwqa3g4el erabiltzailearen biltegi hau.
Auto-ostatzeko baliabiderik ez dutenentzat, Bitcoin Txoko-k komunitate-instantzia bat ostalaratzen du.
Erabiltzeko, gehitu besterik ez duzu:
wss://bostr.bitcointxoko.com
zure errele zerrendara.
Orain ez duzunez zuzeneko konexioak behar, errele bikoiztuak ezabatu ditzakezu.
Ikusiko dugu elkar Nostr-en!
-
@ bcea2b98:7ccef3c9
2024-10-17 14:47:01Sometimes you have to take risks to grow. What's the biggest risk you've ever taken that ended up paying off.
My biggest risk that paid off was moving to another country and starting a new life 10 years ago due to corruption and torture in my home country.
originally posted at https://stacker.news/items/728159
-
@ c0f9e286:5a223917
2024-10-17 14:09:46หัวใจของธุรกิจเครือข่ายที่ทำให้คนๆหนึ่งมีรายได้หลักแสน หลักล้านคุณคิดว่าคืออะไร?? ปริมาณสินค้าที่ขายได้ หรือที่จริงแล้วคือจำนวนคนที่ทำงานภายใต้สายงานของคุณกันแน่
คำตอบคือ คนใต้สายงานคุณนั่นแหละ ที่คุณต้องเสียเวลาปั้นให้เขาเป็นทีมของคุณ และไปหาคนใหม่ๆเข้ามา เพื่อขยายทีมให้ใหญ่เป็น Snowball Effect ไปเรื่อยๆ แล้วคนที่อยู่ด้านบนสุดของเครือข่ายก็จะได้ประโยชน์ไล่ลงไปเป็นลำดับชั้น ธุรกิจเครือข่ายบอกคุณว่านั่นแหละคือ Assets ก็คือคนข้างล่างเปรียบเสมือนเครื่องจักรมนุษย์ที่คอยทำงานให้คุณตลอดเวลา
ปัญหาคือ Assets ชนิดนี้มี Counter Party Risk ที่เป็นความเสี่ยงสูงสุด นั่นคือตัวบริษัทเครือข่ายนั้นๆ แม่ทีมส่วนใหญ่มักจะพยายามเข้าหาประธานบริษัท หรือผู้บริหารเพื่อให้ตัวเองเปรียบเสมือนคนสำคัญ และคาบข่าวมาบอกสายงานของตัวเองก่อนสายงานของคนอื่นเสมอ เพื่อปั่นยอด ปลุกไฟ หรืออะไรก็แล้วแต่ในทำนองนี้ แต่… แต่ตัวโตๆว่า แม่ทีมนั้นไม่ได้มีผลต่อการตัดสินใจในการควบคุมทิศทางองค์กรเลยแม้แต่น้อย คนที่ควบคุมทิศทางองค์กรก็คือผู้บริหาร
ทุกครั้งที่ธุรกิจเครือข่ายเพิ่งเริ่มก่อตั้ง มันมักจะมากับโปรลดแลกแจกแถม เพื่อให้แม่ทีมไปดึงดูดคนเข้ามา เมื่อทำไปซักพักบริษัทเห็นว่ายอดขายโตขึ้น มันก็จะออกกฎเกณฑ์เพิ่มเพื่อให้บริษัทจ่ายน้อยลง หรืออย่าง The Icon พอไปตรวจโกดังก็ไม่มีของเอาดื้อๆ แปลว่าในฐานะที่เป็นแม่ทีม คุณกำลังเอาเครดิตและชื่อเสียงตัวเองไปแลกกับลมปากของคนที่พร้อมเปลี่ยนได้เสมอ ไม่ว่าจะตั้งใจหรือไม่ก็ตาม เพราะบางบริษัทลืมคำนวณว่าเวลาทีมใหญ่ขึ้น มันต้องจ่ายค่าการตลาดหนักกว่าเดิม
เมื่อถึงเวลาบริษัทเครือข่ายไปไม่ไหว ล้มครืน พังทะลายต่อหน้าต่อตา ใครเป็นคนรับความเสี่ยงมากที่สุด??? ก็แม่ทีมนั่นแหละ เนื้อไม่ได้กิน หนังไม่ได้รองนั่ง เพราะเงินส่วนใหญ่เจ้าของบริษัทกอบโกยไปหมดแล้ว ส่วนลูกทีมจากเดิมที่เป็น Assets ที่มีค่า ก็จะแปรเปลี่ยนเป็นเจ้าหนี้ที่พร้อมขย้ำคุณได้ทุกเมื่อ
แน่นอนว่าบริษัทขายตรง ธุรกิจเครือข่ายดีๆก็มีไม่น้อย แต่ก็ไม่ได้การันตีว่าในอนาคตบริษัทเหล่านี้จะไม่เปลี่ยนแปลงนโยบาย นั่นแปลว่าคุณมีความเสี่ยงตลอดเวลาจากการต้องเชื่อใจเจ้าของบริษัทที่สามารถทรยศคุณได้ทุกเมื่อ
ดังนั้นหากมองในทฤษฎีเกม ความตั้งใจที่จะเป็นแม่ทีมนั้นไม่ใช่ความคิดที่ดีเลย เพราะได้ก็ได้แค่ค่าคอมมิชชัน แต่เวลาเสียคุณจะโดนลูกทีมรุมทึ้ง พร้อมทั้งกฎหมายทางอาญาที่มีโทษมหาศาล ส่วนเงินกำไร เจ้าของบริษัทฟาดเรียบ ดีไม่ดีเขาวางแผนผ่องถ่ายเงินให้ออกจากระบบหมดแต่แรกแล้ว
มีลูก มีหลาน ถ้าเขาอยากทำธุรกิจเครือข่าย เอาบทความนี้ให้อ่าน ผมไม่อยากเห็นใครบาดเจ็บจากเรื่องแบบนี้โดยรู้เท่าไม่ถึงการณ์
-
@ 7ab1ed7a:f8e15275
2024-10-17 14:06:46I'm proud and thankful to announce that funding has been granted by OpenSats to fund the development of the Nostr library for Arduino.
The fund will help with work on the development of the Arduino Nostr library as well as fund work on IoT related NIPs.
-
@ 7ab1ed7a:f8e15275
2024-10-17 12:05:00I've started building an IoT DVM simulator. It's written in TS and uses Deno for simplicity.
The project will be used to test the ideas in and support the NIP 90 PR.
https://github.com/blackcoffeexbt/nostriot-dvm-simulator
It has a basic plugin architecture so we can test a whole suite of how different IoT commands can work easily (config, intents, sensors, all the things).
This is the current, very basic roadmap for this project:
-
[ ] Announce capabilities via NIP 89
-
[ ] Respond to DVM job requests
-
[ ] Accept payments for DVM job requests
I'll also be working on a basic - for now - IoT DVM client that can be used to interact with IoT DVMs.
-
-
@ 8a4c88dc:a498228e
2024-10-17 11:58:21“Hello everyone”
มันแปลกดีนะที่ได้ยินเสียงของตัวเอง…ขอบคุณทุก ๆ คนที่เข้ามาฟังกันนะครับ ผมรู้ว่าเซสชั่นนี้ชื่อ The Rite of passage แต่นั้นเดี๋ยวผมจะยกไปพูดตอนท้าย ๆ เพราะว่าสิ่งที่ผมอยากจะพูดถึงก่อนเลยคือ
อะไรกันที่เป็นคำนิยามของเหล่า “บิตคอยเนอร์?”
สองปีก่อน ผมได้ออกเดินทางไปทั่วสหรัฐฯพลางถามคำถามดังกล่าวกับตนเอง ออกเดินทางไป เข้า Bitcoin Meetup ไปกว่า 30 งาน แล้วสิ่งที่ผมสนใจคือ
การเป็นบิตคอยเนอร์นั้นมันมีอะไรมากกว่าการถือ บิตคอยน์ อยู่ในมือ
มีผู้คนมากมายที่ทันทีที่พวกเขาเรียนรู้เกี่ยวกับบิตคอยน์แล้วหลงรักมันในพริบตา อะไรกันคือสิ่งที่บรรดาลปาฏิหารณ์นี้ผมได้แต่ครุ่นคิด นั่นทำให้วันนี้ผมจึงอยากจะมาเล่าให้ทุก ๆ คนฟังกันถึงการเดินทางในทริปที่ผมเรียกว่า สามเดือนของการเดินทางแห่ง Bitcoin ที่ผมพานพบด้วยการขี่มอเตอร์ไซต์ข้ามสหรัฐฯ ของผม
ทว่าผมอยากเล่าทุกคน ๆ คนให้ฟังก่อนว่าอะไรกันที่พาผมมาอาศัยอยู่ที่ประเทศไทย
ผมเกิดและโตที่ที่รัฐฟีลาเดเฟียร์ ไปอยู่ที่นิวยอร์คได้เจ็ดปี ก่อนที่เมื่ออายุได้ 29 ผมก็ตัดสินใจบินมาอยู่ไทยเพราะต้องการมองหาชีวิตใหม่ ๆ ซึ่งผมก็คิดนะ ว่าผมเจอมันแล้วที่นี่
ที่ ๆ ผมเรียกได้จากหัวใจว่า บ้าน**
"แล้วก็พูดไทยได้นิดหน่อยนะฮับ ตอนนี้ประเทศไทยเหมือนบ้านของผมแล้วฮะ” (เขายิ้มแล้วพูดเป็นภาษาไทยอย่างยิ้มแย้มจนเรียกเสียงปรบมือจากผู้ฟังที่รู้สึกอบอุ่นหัวใจ ก่อนที่จะกลับมาพูดเป็นอังกฤษ) แต่น่าเสียดายจริง ๆ ที่ผมไม่ได้รู้ศัพท์ไทยเยอะนัก เลยจะขอพูดต่อเป็นภาษาอังกฤษต่อแทนนะ
เมื่อปี 2020 ในระหว่างที่ผมต้องกักตัวอยู่บ้านเนื่องจากโรคระบาด ผมได้ไหลลงหลุมกระต่าย Bitcoin ไป หลังจากนั้นผมก็อยู่แต่ในทวิตเตอร์เพื่อพบเพื่อน ๆ บิตคอยเนอร์ด้วยกันในนั้น
ทำให้ในปี 2022 ผมจึงตัดสินใจกลับไปเยี่ยมประเทศบ้านเกิดอีกครั้ง เพื่อไป Bitcoin Meetup และกระทบไหล่กับเพื่อน ๆ บิตคอยเนอร์ที่รู้จักกันในทวิตเตอร์มาตลอดสองปีที่ผ่านมา ซึ่งผมได้เลือกยานพาหนะคู่ใจในทริปนี้ที่มีอิสระเสรีที่สุด มอเตอร์ไซต์ เป็นมอเตอร์ไต์คันเดียวกับโมเดลจำลองที่ภรรยาผมซื้อให้ มันตั้งอยู่บนโต๊ะผมอยู่เป็นปี ๆ กว่าผมจะสามารถซื้อของจริงและพามันออกเดินทางไปในทริปนี้ได้
แล้วผมก็ได้ขี่ไปกว่าสองหมื่นกิโลเมตร กินเวลากว่าร้อยวัน ได้ไป Bitcoin Meetup กว่า 30 ที่และน่าจะได้จับมือกับบิตคอยเนอร์เกินกว่าร้อยคน ก่อนหน้าที่จะไปต่อ ผมอยากบอกก่อนว่าทริปนี้มีแต่เรื่องเกี่ยวกับบิตคอยน์เท่านั้น ไม่มีไปงานเหรียญคริปโตอื่น ๆ
ซึ่งเมื่อมองย้อนกลับไป ตอนแรกผมก็ไม่รู้หรอกว่าเหรียญบิตคอยน์กับเหรียญคริปโตอื่น ๆ มันต่างกันยังไงจนปี 2022 ผมถึงได้ตระหนักได้ว่าทั้งสองไม่เหมือนกันเลย ที่ผมอยากจะพูดคือทั้งทัศนคติและมุมมองต่อโลกของคนที่สนใจ เฉพาะบิตคอยน์ นั้นอยู่คนละแม่น้ำกับผู้คนหรือสิ่งที่ผมเจอในงานเหรียญคริปโตอื่น ๆ อย่างสิ้นเชิง
ดังนั้น ให้ผมได้เล่าว่าเหล่าบิตคอยเนอร์มีคุณลักษณะอะไรเหมือน ๆ กันโดยประกอบกับเรื่องราวการเดินทางของผมเพื่อให้ทุกคนเข้าใจว่า
เมื่อผมพูดถึง บิตคอยเนอร์ ผมกำลังหมายถึงอะไร
คุณลักษณะแรกเลยคือบิตคอยเนอร์ให้ความสำคัญกับการ “ทำงานหนัก”และ “ความซื่อสัตย์”
Bitcoiner ให้คุณค่ากับสิ่งที่เรียกว่า Proof of Work ที่เชื่อในการทำงานหนักและความซื่อสัตย์
แล้ว... เจ้าวัวบนจอมันเกี่ยวอะไรกันหละ ถ้าให้เล่าก็ต้องท้าวความกลับไปที่หมุดหมายแรกที่ผมหยุดพัก มันคืองาน Beef Initiative งานแรกในเมือง Kerrville รัฐเท็กซัส ซึ่งเป็นงานที่รวมเหล่าบิตคอยเนอร์ผู้เป็นสายเงินทองและสายเทคทั้งหลายมาเจอกับคนเลี้ยงวัว ซึ่งเกิดมาทั้งชีวิตผมไม่เคยเห็นที่ไหนที่เอาคนสองประเภทนี้มาจัดรวมอยู่ในที่เดียวกันมาก่อน แล้วผมก็ประหลาดใจหนักกว่าเดิมอีกที่เห็นพวกเขาเข้ากันเป็นปี่เป็นขลุ่ย ผมเลยคิดว่ามันต้องเป็นเพราะพวกเขาเชื่อในสิ่งเดียวกันคือ
เมื่อคุณปลอมแปลงบิตคอยน์ไม่ได้ฉันใด วัวก็ปลอมแปลงไม่ได้ฉันนั้น
เพื่อที่จะขุนมัน มันต้องมีที่ซุกหัวนอน คนเลี้ยงต้องตื่นเช้ามาให้อาหารดูแลมันร่ำไป ไม่มีใครเสกวัวให้โตในชั่วข้ามคืนได้ ซึ่งนั่นทำให้ผมตระหนักได้ว่าเหล่าบิตคอยเนอร์ได้นำคอนเซปต์ของ Proof of Work เข้าไปในทุกอณูของชีวิต ซึ่งมันช่างตรงกันข้ามกับสังคมกระแสหลักที่มักให้ค่ากับความฉาบฉวย สิ่งล่อตา หรืออะไรก็ได้ที่ทำให้สารแห่งความสุขนั้นหลั่ง จนกระทั่งสูญสิ้น ซึ่งศรัทธาในตนเอง
คุณลักษณะถัดมาของพวกเขาคือ “ความรับผิดชอบ และรักษาซึ่งอธิปไตยของตนเอง”
พวกเขานั้นชอบที่จะรับผิดชอบชีวิตตัวเองในทุก ๆ ด้าน
ไม่ใช่แต่กับเรื่องเงินทองแต่กับสุขภาพและเรื่องอื่น ๆ ด้วย ผมได้พบเจอบิตคอยเนอร์หลาย ๆ คนที่อาจพูดไดเลยว่าพวกเขาเป็นเจ้าของชีวิตของตนเอง ซึ่งแตกต่างจากผู้คนในสังคมปัจจุบันที่เรามักจะเห็นคนโทษนุ่นนี่ หรือเอาแต่ชี้ไปที่สิ่งต่าง ๆ ว่าเป็นสาเหตุทั้งหมดของปัญหาในชีวิต แต่กับบิตคอยเนอร์นั้นพวกเขาเลือกที่จะเป็นนายชีวิตตน รับผิดชอบทุก ๆ อย่างของตนเองไม่มัวเสียเวลาโทษปี่โทษกลอง
พวกเขามักเริ่มแก้ไขปัญหาจากเรื่องใกล้ตัวที่สุดก่อนเสมอ ซึ่งนั่นก็เป็นอีกหนึ่งสาเหตุของการออกทริปนี้ของผม
เพราะตลอดช่วงปี 2020-21 แห่งโรคระบาด ผมมองเห็นแต่ความหวาดกลัวและสิ้นหวัง มีแค่เวลาที่ผมใช้กับบิตคอยเนอร์ในทวิตเตอร์และที่ Bitcoin Meetup เท่านั้นที่ผมมองเห็นความหวังและความเป็นเหตุเป็นผล พวกเขาเริ่มจากชุมชนของตนเองและคิดเสมอว่า วันนี้ฉันทำอะไรได้บ้าง ให้ชีวิตฉันดีขึ้น ให้ชุมชนของฉันดีขึ้น
แล้ว… เจ้ากองไฟบนจอนี่มีความหมายอะไรอีกหละ? มันเป็นภาพของหนึ่งในช่วงเวลาสุดประทับใจของผม ตอนที่ผมแวะพักในแคมป์ย่างสเต็กแคมป์หนึ่งระหว่างทริปผม ถ้าคุณคุ้นเคยกับงานแบบนี้ ก็คือเราก็จะมีเพื่อนบิตคอยเนอร์คนหนึ่งเป็นเชฟย่างสเต็กโดยมีสหายยืนล้อมร่วมทานสเต็กกันด้วยมือเปล่า ซึ่งที่ผมไปนี่ก็ทานกันไปกว่าเจ็ดคอร์ส แล้วความพิเศษอีกอย่างคือเราตั้งแคมป์กันสามคืนติดโดยไม่มีทั้งไฟฟ้าและสัญญาณมือถือ แค่ตั้งแคมป์และทานสเต็กกันอยู่เช่นนั้น
แล้วกองไฟของแคมป์เราก็ไม่เคยมอดเลยตลอดสามวัน
ตลอดแคมป์ผมไม่เห็นใครซักคนคนที่วานเพื่อนให้ไปหยิบไม้มาเติมที่กองไฟให้เลย พวกเขาแค่นั่งอยู่รอบกองไฟแล้วเห็นว่าฟืนมันเริ่มพร่อง จึงลุกไปหยิบไม้มาเติมกันเองเลยโดยไม่มีใครปริปากไหว้วาน นั่นทำให้ผมเห็นว่าชุมชนบิตคอยเนอร์นั้นมักจะจัดการกันเองภายในได้เป็นอย่างดี
ทุก ๆ คนในชุมชนมีหน้าที่เป็นของตนเอง ซึ่งเป็นอันรู้กันว่าหากเราจะได้รับประสบการณ์แสนวิเศษนี้ มันต้องเป็นเพราะทุก ๆ คนร่วมกันรับผิดชอบเพื่อมัน
และคุณลักษณะสุดท้ายเลยที่ผมอยากพูดถึงเลยคือ “พวกเขามักมีความเป็นผู้ประกอบการและหมั่นใฝ่รู้เสมอ”
บิตคอยเนอร์หลาย ๆ คนมีธุรกิจหรือโปรเจคอะไรซักอย่างเป็นของตนเองเสมอ พวกเขาเริ่มทำโดยไม่รีรอขอใคร ซึ่งผมเห็นพวกเขาโชว์ของกันที่ Bitcoin meetup กันตลอด ๆ
จริง ๆ ผมก็มีตัวอย่างอยู่ในกระเป๋ากางเกงผมอยู่นะ เช่น Bolt Keys ที่ผมถืออยู่นี่ ผมซื้อจากคนที่ออกบูธหน้างานนี้มาหลายอันเลยสำหรับโปรเจค “Rite of Passage” ของผม ซึ่งมันเอาไว้ใช้อนุมัติการโอนธุรกรรม Lightning Network ด้วยการแตะเจ้าเจ้านี่กับโทรศัพท์ที่รองรับ NFC
เอาหละ แล้วมันเกี่ยวอะไรกับทุ่งหญ้าบนหน้าจอผมอีกหละ ที่คุณเห็นอยู่คือบ้านเต็นท์ถาวรที่ผมแวะพักระหว่างการเดินทางของผมในมิชิแกน กับคนนำทริป เขาชื่อคาร์ลซึ่งเป็นเจ้าของที่แห่งนี้ เปิดโฮมสเตย์ และในวันที่ผมไป ที่นี่มีแกะกว่าหกสิบตัวเดินว่อนเลย
หลัก ๆ เลยคือคาร์ลเคยเป็นช่างตัดต่อวีดีโอกลางลอสแองเจลิส แล้วเขาก็หลงใหลสิ่งที่เรียกว่า Permaculture ซึ่งเป็นคอนเซ็ปต์ของการตั้งรกรากและทำเกษตรกรรมเพื่อที่จะสร้างระบบนิเวศสมบูรณ์ที่คุณ สัตว์ และธรรมชาติอยู่ร่วมกันอย่างกลมกลืนโดยไม่ต้องพึ่งพาการแทรกแซงจากทรัพยากรภายนอก ซึ่งผมเป็นคนแรกที่ได้ไปพักบ้านเขา แล้วปัจจุบันเขาก็เปิดให้บ้านลงแอป Airbnb เพื่อให้ผู้คนที่อาจจะอยากพักผ่อนยามสุดสัปดาห์ใจกลางป่าเขารัฐมิชิแกน สามารถไปเยี่ยมบ้านเขาได้ ซึ่งเขาก็เปิดบ้านลักษณะนี้อยู่อีกที่ที่ยุโรปด้วย
คาร์ลเป็นผู้ประกอบการแสนวิเศษที่หมั่นใฝ่รู้ และไม่ใช่แค่กับ Permaculture ตอนนี้เขาก็ยังหันมาสนใจบิตคอยน์แล้วด้วย
สำหรับผมทั้งหมดนี้นำไปสู่ “การแสวงหาซึ่งอิสรภาพ”
แล้วไม่ใช่อิสรภาพที่บัญญัติไว้ในตัวบทกฏหมาย แต่เป็น “อิสภาพทางจิตวิญญาณ”
ซึ่งในระหว่างการเดินทาง มันมีบางสิ่งที่สะกิดใจเมื่อมองออกไปที่ชาวอเมริกันนอก Bitcoin Meetup พวกเขาดูสูญสิ้นอิสรภาพไปเสียแล้วทั้ง ๆ ที่อยู่ในโลกเสรี
ผู้คนเหล่านั้นเหนื่อยล้า หงุดหงิด และพร้อมที่จะทำทุกอย่างให้หลุดพ้นจากทนทุกข์ พวกเขาดูหลงทางไปหมด และสูญสิ้นศรัทธาในตนเองไป ซึ่งเป็นสิ่งที่ต้องมีเพื่อให้ได้มาซึ่งอิสรภาพ พวกเขาอาจมีสิทธิเยี่ยงอิสระชนในทุกข้อ แต่มิอาจอยู่อย่างเสรีได้ เพราะขาดความเชื่อมั่นในตนเอง
แล้วมันทำไมกันหละ? นั่น คือสิ่งที่ผมพบคำตอบจากการได้พูดคุยกับบิตคอยเนอร์ในทุก ๆ วัน
คุณอาจฟังเรื่องนี้ซ้ำไปหลายรอบแล้วในงาน มันเป็นเพราะเงินที่เราใช้กันอยู่ทุกวันนี้มันถูกสร้างโดยผู้มีอำนาจ สิ่งที่รองรับมันมีเพียงอำนาจ และสรรพกำลังทางกายภาพของมนุษย์ที่ยิ่งใหญ่ที่สุด ตำรวจ กรงขัง และกองทัพ และด้วยหนี้ที่มันสร้างและสั่งสมมาตลอดร้อยปี ทำให้การที่จะดำรงไว้ซึ่งอำนาจของเงินนี้ต่อไปมีอยู่แค่ทางเดียว คือต้องใช้เงินและพลังงานมากขึ้นเรื่อย ๆ จนนำไปสู่การแย่งชิงอิสรภาพของพวกเราทุกคนเพื่อต่อชีวิตตัวของมัน
และนั่น ก็เป็นสิ่งที่ผมสัมผัสมันได้กับตาตัวเองยามขับมอเตอไซต์ผ่านทางหลวงและถนนทั่วอเมริกา ผมได้เห็นว่ามันดูดกลืนชีวิตและสังคมไปมากขนาดไหน ไม่ว่าจะผ่านร้านอาหาร ร้านค้า หรือร้านกาแฟ
ระบอบนี้ต้องการให้เราจำนน ทนทำงาน จ่ายภาษี ไม่แหกกฏและห้ามตั้งคำถาม และสำหรับคนส่วนใหญ่บนโลก มันได้บรรลุจุดประสงค์ของมันได้อย่างสมบูรณ์แบบ
เพราะหลาย ๆ คนในตอนนี้ไม่แม้แต่จะตั้งคำถามแล้วด้วยซ้ำ คุณอาจจะคุ้นเคยกับนิทานของช้างกับเชือกล่าม ที่เมื่อคุณล่ามเชือกช้างเด็กไว้กับต้นไม้ เมื่อมันโต ถึงมันจะสามารถฉีกเชือกทิ้งแล้วหนีไปได้มันก็จะไม่ทำ ตราบใดที่มันยังรู้สึกถึงเชือกล่ามนั้นมันก็จะไม่หนีไปไหน เชือกเส้นนั้นได้ก้าวข้ามขีดจำกัดทางฟิสิกส์ด้วยการล่ามลึกถึงวิญญาณ นั่นคือสิ่งที่ผมเห็นในดวงตาของชาวอเมริกันเกือบทุก ๆ คนที่ได้มีโอกาสพบเจอและพูดคุย
ซึ่งอีกด้านหนึ่ง ผู้ถือบิตคอยน์สามารถตื่นรู้และลุกขึ้นแสวงหาซึ่งอิสรภาพได้
มันดันมีปัญหาที่ระบบเศรษฐกิจและการเมืองในปัจจุบันนี้ ที่อยู่บนรากฐานของเงินกระดาษไม่อาจอยู่รอดได้หากผู้คนเป็นอิสระ มันต้องคอยพรากสิ่งเหล่านั้นจากมือเราไปอย่างช้า ๆ เพื่อมีชีวิตต่อไป แต่สำหรับบิตคอยน์เนอร์นั้น พวกเขารู้ในสิ่งที่สำคัญที่สุด คือในหนทางของการไฝ่หาซึ่งอิสรภาพของพวกตนนั้นคือพลังที่แสนสูงค่า พวกเขาคือผู้คนที่สร้างครอบครัวแสนสุขและคอยปลดโซ่ตรวนสังคมของพวกเขา
นี่เป็นสาเหตุที่การแสวงหาซึ่งอิสรภาพในระดับจิตวิญญาณนั้นสำคัญยิ่งสำหรับพวกเขา ปณิธานที่จะเริ่มที่ตนเองเพื่อสังคมที่ดีกว่าเดิม
สิ่งที่ผมเห็นผ่านการเดินทางของผมที่ได้พบเจอกับเหล่าบิตคอยเนอร์ คือพวกเขาจะทำงานและทำงานเพื่อแสวงซึ่งอิสรภาพ นำไปสู่การออกจากสิ่งเน่าเฟะบนโลกเงินกระดาษ และสร้างโครงการหรือบริษัทเล็ก ๆ ที่จะช่วยเปลี่ยนสังคมของเขา ซึ่งส่วนมากเราก็จะได้เห็นโครงการเหล่านั้นผ่าน Bitcoin Meetup
หลังจากจบทริปผมก็ได้แต่ครุ่นคิดว่า อิสรภาพทางจิตวิญญาณเหล่านั้นมันจะก่อเกิดในหัวใจของผู้คนได้อย่างไร
คำตอบคือมันเกิดขึ้นจากการท้าทายตัวเอง ออกจากพื้นที่ปลอดภัยของเรา และมองสิ่งต่าง ๆ ในมุมใหม่ ๆ ซึ่งนั่นเป็นคำตอบที่ต่อหน้าผมอยู่แล้วตลอดเวลา ทั้งในสมัยเด็ก ในประเทศไทย และในการเดินทางทริปบิตคอยน์ทั่วสหรัฐฯนี้
มันคือการเดินทาง
สำหรับผม การเดินทางคือเครื่องมืออันทรงพลังที่จะสร้างอิสรภาพแก่ผู้คน อย่างไรก็ดี พวกเขามักเข้าใจความหมายของการเดินทางผิดไป
การเดินทางที่แท้จริง จะนำคุณออกจากพื้นที่ปลอดภัยของคุณ และผลักดันขีดจำกัดของคุณ มันจะท้าทายสิ่งที่คุณเคยคิดว่ารู้ดีแล้ว เพราะในสถานที่ใหม่ ทุกอย่างแตกต่างออกไป คุณจะได้ยินแนวคิดใหม่ ๆ ลองชิมอาหารใหม่ ๆ และพบเจอผู้คนที่ใช้ชีวิตในแบบที่ต่างไปอย่างสิ้นเชิง
ตอนที่ผมยังเด็ก ผมโชคดีมาก เพราะพ่อของผมเป็นนักบินสายการบินพาณิชย์ และครอบครัวของเราชอบเดินทางมาก นั่นทำให้ครั้งแรกที่ผมออกนอกสหรัฐฯ คือเมื่อตอนผมอายุได้ 8 ขวบ พวกเราไปประเทศจีนกันเป็นเวลาสองสัปดาห์ ซึ่งการเดินทางครั้งนั้นได้ทำลายกรอบความคิดที่ผมมีต่อความเป็นจริงไปอย่างสิ้นเชิง และเมื่อผมกลับมาโรงเรียน ผมรู้สึกว่ามันยากยิ่งที่จะเชื่อมโยงกับเพื่อน ๆ เพราะผมได้เห็นประสบการณ์ที่ไม่มีใครในห้องเรียนจากแถบมิดเวสต์เคยเห็น พวกเขาส่วนใหญ่มักไปเที่ยวที่เม็กซิโก ปารีส ไม่ก็ยุโรป ซึ่งนั่นก็ถือว่าดีแล้วแล้วสำหรับพวกเขา
ทุกครั้งที่ผม ออกเดินทาง ความต้องการที่จะก้าวออกจากพื้นที่ปลอดภัยของผมก็ยิ่งเติบโตขึ้นเรื่อย ๆ จนเมื่อผมมาถึงประเทศไทยอีกครั้ง กรอบความคิดทั้งหมดเกี่ยวกับการทำงานของโลกใบนี้ของผมก็พังทลายลงไปอย่างสิ้นเชิงในที่สุด
อินเตอร์เน็ตก็ได้เปลี่ยนการเดินทางของผู้คน ให้ออกห่างจากการเดินทางที่แท้จริงไป
ตอนนี้มันง่ายมากที่จะวางแผนการเดินทางทั้งทริปได้จากที่ที่คุณอยู่ ไม่ใช่แค่ในเชิงกายภาพเท่านั้น แต่ยังรวมถึงในความคิดของคุณด้วย
อัลกอริธึมและผู้คนรอบตัวเราอนุญาตให้เราสามารถสร้าง ประสบการณ์การเดินทาง ที่เราไม่ต้องก้าวออกจากพื้นที่ปลอดภัยของเราเลย นั่นทำให้คุณจะไปเยือนแต่สถานที่ที่อัลกอริธึมแนะนำ เพราะมันรู้ว่าคุณจะชอบ หรือเป็นสถานที่ที่เพื่อนแนะนำให้คุณ คุณสามารถค้นข้อมูลได้จนทำนั่นทำให้คุณไม่ได้สัมผัสสถานที่เหล่านั้นจริง ๆ เพราะคุณได้ดูวิดีโอบน YouTube และซึมซับข้อมูลทั้งหมดมาก่อนแล้ว ทำให้เมื่อคุณไปถึงที่นั่น มันก็กลายเป็นแค่การเล่นซ้ำในสิ่งที่คุณจินตนาการไว้ว่าจะได้เห็นอยู่แล้ว
นี่แหละคือจุดที่ผมแบ่งแยกระหว่างการ ท่องเที่ยว และการ เดินทาง
การท่องเที่ยว คือการที่คุณไปในที่ต่าง ๆ แต่ยังคงอยู่ในพื้นที่ปลอดภัยของตัวเอง คุณทำสิ่งที่คุ้นเคย และวางแผนทุกอย่างล่วงหน้า ในขณะที่ การเดินทางคือการก้าวออกจากพื้นที่ปลอดภัยของคุณ คุณมุ่งหน้าไปสู่สิ่งที่ไม่รู้จัก และยอมเสี่ยงกับอะไรบ้าง ผมจึงอยากสร้างบางอย่าง ณ ที่แห่งนี้ ผมอยากสร้างสิ่งที่ทำให้ผู้คนได้ออกเดินทาง
ดังนั้นทีมของผมและพันธมิตรของผมในประเทศไทยจึงได้ตกลงร่วมกันสร้างประสบการณ์ที่จะผสมผสานความสะดวกและปลอดภัยของ การท่องเที่ยว เข้ากับการผจญภัยและประสบการณ์สดใหม่จาก การเดินทาง**
แล้วนั่น ก็คือเหตุผลที่ได้ให้กำเนิด “Rite of Passage”
Rite of passage คือการผจญภัยที่ถูกออกแบบมาโดยเฉพาะสำหรับเพื่อบิตคอยน์และบิตคอยเนอร์ เราเรียกมันว่า ทริปที่เงินซื้อไม่ได้ เพราะทริปเหล่านี้ตั้งใจจะเปลี่ยนแปลงคุณในแบบที่การไปเที่ยวพักผ่อนธรรมดาๆ ทำไม่ได้
ทุกส่วนของ Rite of passage ถูกออกแบบมาเพื่อเปลี่ยนมุมมองที่คุณมีต่อโลก ให้ไม่ใช่แค่เพียงมองมันผ่านกฏหมาย แต่ได้มองมันผ่านการสนทนากับคนอื่นๆ ที่มีหัวใจดวงเดียวกับคุณ
หนึ่งในสิ่งสิ่งที่เราทำคือ เราจะไม่ค่อยแสดงกำหนดการล่วงหน้าหากไม่จำเป็น เพราะเราอยากให้ทุกประสบการณ์ที่คุณจะได้รับจะเป็นอะไรที่ใหม่หมด เพราะคุณไม่รู้ว่าจะเจออะไรบ้าง และเรามุ่งเน้นที่ประสบการณ์ท้องถิ่นอย่างแท้จริงกับกลุ่มเล็ก ๆ เพื่อให้คุณได้สัมผัสกับสถานที่นั้นจริงๆ แทนที่จะเห็นแค่สิ่งที่ คนนำทริปติดสิบอันดับแรก เลือกไว้ให้
อีกทั้งเรายังคัดกรองทุกคนที่เข้าร่วมทริปเหล่านี้ เพราะเรามองหาคนที่ให้คุณค่ากับความขยันซื่อสัตย์ รับผิดชอบต่อตัวเอง และมีความเป็นอิสระ เรากำลังมองหาบิตคอยเนอร์ตัวจริง
ตลอดการเดินทางที่ผมได้ไปทั่วอเมริกา เพื่อพบปะกับบิตคอยน์เนอร์ ผมได้เรียนรู้ว่าการเป็นบิตคอยน์เนอร์มันมากกว่าการแค่ครอบครองเหรียญบิตคอยน์ มันเกี่ยวกับการใช้ชีวิตบนพื้นฐานของความขยัน ความรับผิดชอบต่อตนเอง และการมุ่งมั่นแสวงหาอิสรภาพอย่างไม่หยุดยั้ง
แล้วการเดินทางนี้ มิได้เกี่ยวกับการสะสมเงินหรือความสำเร็จเพียงอย่างเดียว มันส่วนตัวกว่านั้น**
มันคือการเดินทางแห่งการปลดแอกตัวเองจากขีดจำกัดในหัวของเราที่ฉุดรั้งเราไว้ แห่งการลงมือทำ ท้าทายตัวเอง ยอมรับสิ่งที่ไม่รู้ เป็นการเดินทางที่จะพาเราข้ามขีดจำกัดทั้งหลายได้ ซึ่งไม่ใช่สิ่งที่เราทำในสามัญสำนึกเดิม ๆ ผมพบว่าหลายคนที่ผมได้เจอที่ถือบิตคอยน์นั้น ตื่นเต้นกับประสบการณ์การเดินทางของผมที่ผมเล่าอยู่มากกว่าตัวบิตคอยน์อีก แม้ว่าพวกเขาจะไม่ได้พูดออกมาตรงๆ ก็ตาม
แล้วผมพบว่าการแสวงซึ่งอิสระภาพนี้แหละที่นำพาพวกเราเหล่าบิตคอยเนอร์มาพบเจอกัน
หลายคนที่ถือบิตคอยน์มองว่าบิตคอยน์เป็นรูปแบบของเงินที่ดีที่สุดผมเห็นด้วย มันคือเรื่องจริง แต่อย่างไรก็ตาม ผมมองว่ามันเป็นอะไรที่มากกว่านั้น สำหรับผม บิตคอยน์ได้นำพาผู้คนที่แสวงหาซึ่งอิสรภาพมาพบกัน เหมือนกับที่พวกเราทุกคนที่นั่งอยู่ที่นี่วันนี้
และการแสวงหาซึ่งอิสรภาพนี้แหละ ที่จะทำให้โลกน่าอยู่ขึ้น
ขอบคุณครับ
บรรยายโดย Captain Sidd แปลและเรียบเรียงโดย Techin
-
@ 8a4c88dc:a498228e
2024-10-17 11:56:47คุณ Jimmy Castro ได้พูดคุยกับ อ.พิริยะ บนเวที Thailand Bitcoin Conference 2024 ถึงประสบการณ์ของเขาบนเชียงใหม่ ว่าเขาทำอะไรที่นั่นบ้าง รู้จักกับบิตคอยน์ตอนไหน เรื่องราวของเขาในการจัดตั้งศูนย์การเรียนรู้บิตคอยน์ที่เชียงใหม่ และมุมมองต่อการเติบโตของ Bitcoin ภายในประเทศไทย
ซึ่งสามารถรับชมการสนทนาฉบับเต็มได้ที่: https://www.youtube.com/watch?v=bVYmwMKu9Rc&t=234s
ความมหัศจรรย์ของเครือข่ายบิตคอยน์ที่คุณจิมมี่ได้ค้นพบระหว่างการช่วยเหลือชุมชนบนเขาที่เชียงใหม่แห่งหนึ่ง
Jimmy Castro นั้นย้ายเข้ามาอยู่ที่เชียงใหม่เป็นเวลา 2 ปีกับอีก 9 เดือนถ้วนแล้ว และได้จัดตั้งองค์กรไม่แสวงผลกำไรเพื่อที่จะให้การช่วยเหลือชุมชนห่างไกลความเจริญที่นั่น โดยเฉพาะกับชุมชนเด็กกำพร้าบนดอย ด้วยการให้การศึกษาภาษาอังกฤษแก่พวกเขา นอกจากนั้น เขาเองก็มีธุรกิจส่วนตัวที่สหรัฐอเมริกา ในเมืองไมอามีและมาร์กที่ช่วย Support สิ่งที่เขาทำอยู่ที่นี่ด้วยเช่นกัน
คุณพิริยะนั้นได้รู้จักกับคุณจิมมี่ประมาณต้นปีแล้วก็ได้สนใจตัวโครงการของเขาที่ได้มีการนำแผงโซลาเซลล์และเครื่องขุด Bitcoin ไปติดตั้งให้ชุมชนบนเขา จึงถามไถ่ว่ามันเป็นมาอย่างไร
คุณจิมมี่เองก็ตอบว่าในตอนแรกนั้น พวกเขามีแค่ครูภาษาอังกฤษที่ตีนเขาใกล้ ๆ กับเมือง ก่อนที่เขาจะเกิดความเห็นอกเห็นใจเด็ก ๆ ที่เดินลงเขามาเรียนจึงได้ขึ้นไปเยี่ยมเยือนและก็พบว่าที่นั่นมีเด็กกว่าร้อยคน แต่กลับไม่มีไฟฟ้าใช้เลย เขารู้ว่าหากไม่มีไฟฟ้าต้องเกิดปัญหาทางโภชนาการแน่เพราะไม่มีตู้เย็น เขาจึงขึ้นไปติดโซล่าเซลล์กำลังผลิตไม่ใหญ่มากที่นั่น เพื่อที่อย่างน้อยเด็ก ๆ และคนที่นั่นจะมีตู้เย็นมาแช่ผักปลาหรือเนื้อสัตว์ได้
ก่อนที่จะพบว่ามีพลังงานเพียง 20% จากแผงโซล่าเท่านั้นที่ถูกเอาไปใช้ ที่เหลือผลิตเกิน เขาเลยปิ๊งว่าน่าจะนำเครื่องขุด Bitcoin ไปติดตั้งบนนั้นเพื่อใช้ประโยชน์จากพลังงานเหลือใช้นี้แล้วก็ได้ลองถามไปทางคุณ Bob ที่ กรุงเทพซึ่งเป็นเจ้าของ Bob Space ว่าเราเอาเครื่องขุดขึ้นไปติดบนนั้นได้ไหม? ทาง Bob Space จึงตกลงและส่งคนของเขาขึ้นไปสำรวจบนเขาที่คุณจิมมี่ติดโซล่าเซลล์อยู่แล้ว แล้วก็ได้คำตอบว่าเราสามารถติดตั้งเครื่องขุด Bitcoin ได้สองเครื่อง
เมื่อได้ยินดังนั้นเขาก็เลยไฟเขียวอย่างไม่ลังเล "เราลงเขาไปเตรียมของแล้วขึ้นมาติดเครื่องขุดกัน!"
ทว่าในขณะนั้นเป็นช่วงที่ฝนตกหนักมาก ทำให้การขับรถขึ้นเขาระยะทางประมาณ 60 กิโลเมตร นั้นแทนเป็นไปไม่ได้ พวกเขาจึงรออยู่สามเดือน จึงเมื่อฝนซาแล้ว พวกเขาก็ได้ขึ้นไปดำเนินงานกัน ในตอนแรกนั้นคุณ Jimmy เองก็รู้จักกับบิตคอยน์ในระดับผิวเผินเองเท่านั้น แต่หลังจากที่ทางทีมได้ติดตั้งอินเตอร์เน็ตบนนั้นและเปิดใช้งานเครื่องขุด เขาก็ประหลาดใจ
"นี่คือ...เกิดไรขึ้น?" "เราขุดบิตคอยน์กันอยู่ไง"
ซึ่งเป็นอย่างนั้นจริง ๆ ตัวเครื่องขุดขุดบิตคอยน์มาได้กว่า 40,000 Sats ต่อเดือน (ในกรณีที่เครื่องทำงานตลอด 24 ชั่วโมง) ซึ่งตีเป็นเงิน 1000 บาทในอัตราการแลกเปลี่ยน ณ ขณะนั้น แต่นั่นไม่ได้เป็นสิ่งที่เขาสนใจมากที่สุด
ณ ชุมชนบนภูเขากลางป่าที่ ๆ ต้องใช้เวลากว่า 5 ชั่วโมงจากตัวเมืองเชียงใหม่และไม่สามารถเข้าถึงไฟฟ้าของรัฐได้ สามารถเชื่อมต่อกับโลกของบิตคอยน์ได้ นี่เป็นสิ่งที่คุณจิมมี่ทึ่งที่สุด
โดยไม่รอช้า เขาได้โพสเรื่องราวสุดเจ๋งนี้บน X(Twitter) อย่างดีอกดีใจ แล้วคนที่เห็นโพสเขาก็ส่งเงินบริจาคเป็นบิตคอยน์มาที่โครงการบนเขานี่ ชุมชนนี้เชื่อมต่อกับโลกภายนอก ได้รับการช่วยเหลือ โดยไม่ผ่านตัวกลางใด ๆ เพียงเพราะแค่เขามาตั้งเครื่องขุดบนนี้ เขามองว่ามันเป็นสิ่งที่ทรงพลังมาก
อย่างไรก็ดี พอเข้าหน้าฝนพวกเขาก็ขนเครื่องขุดลงมาไว้ที่เมืองอมก๋อยแล้วใช้ไฟจากการไฟฟ้าขุดแทน ถึงแม้ว่าจะไม่คุ้มค่าไฟขุดก็ตาม แต่พวกเขาก็ยังขุดต่อ เพราะในขณะนั้นมีคนใจดีมากมายจากทั่วทุกมุมโลกบริจากให้กับเขาเพื่อให้ดำเนินโครงการต่อไป ทำให้มันพอชดเชยต้นทุนค่าขุดได้บ้าง ด้วยเหตุนั้นเขาจึงยังคงเดินโครงการต่อและให้การสนับสนุนชุมชนบนเขากว่า 40 หมู่บ้าน
จนกระทั่งวันหนึ่ง เหมือนว่าจะมีหัวหน้าชุมชนตั้งคำถามกับโครงการขุดบิตคอยน์ที่คุณจิมมี่ทำอยู่ว่ามันดูดีเกินกว่าที่จะเป็นจริงได้ เขาจะมาต้มตุ๋นเราหรือเปล่า เขาที่ไม่อยากขัดแย้งอะไรกับทางชุมชนจึงได้พับโครงการขุดไปและกลับไป Focus กับการสอนหนังสือพวกเขาอย่างเดียว
คุณพิริยะให้ความเห็นว่าพวกเขาอาจจะไม่ค่อยคุ้นเคย ว่านี้เป็นน้ำใจปกติของชาวบิตคอยน์ เพราะว่ามันเป็นเหมือนกับที่คุณ Tucker บอกเอาไว้ในการบรรยายของเขาว่าเงินที่แข็งแกร่งทำให้่คนมีน้ำใจมากขึ้น นั่นทำให้เราเห็นโครงการทำนองนี้กับ Bitcoiner ผุดขึ้นมามากมาย
ข่าวดีก็คือคุณจิมมี่ยังจะผลักดันโครงการนี้ต่อไป
ปัจจุบันเขาวางแผนว่าจะนำโครงการนี้ไปช่วยเหลือชุมชนห่างไกลอีกชุมชนหนึ่ง ชื่อชุมชนอมก๋อย ที่โดนรัฐสร้างเขื่อนไล่ที่จนพวกเขาสูญเสียปศุสัตว์และที่อยู่อาศัย ดังนั้นเขาจึงวางแผนว่าจะนำโครงการนี้ไปต่อยอดที่นั้น ให้พวกเขาไม่ต้องพึ่งไฟรัฐ แล้ววางแผนว่าจะขยาย Scale ของโครงการให้ใหญ่ขึ้นอีก ซึ่งเขาได้ประมาณการไว้ว่าจะติดตัังโซล่าเซลล์กำลังผลิตราว ๆ 50 ถึง 70 กิโลวัตต์
โครงการนี้ ทางคุณจิมมี่เองก็กล่าวว่าจะเกิดขึ้นไม่ได้เลยหากไม่มีทางทีมของ Bob Space มาช่วย และบอกขอบคุณถึงความร่วมมือที่พวกเขาให้อย่างสุดซึ้ง
อีกทัังหลังจากมางานแล้วได้รู้จักกับ Nostr เขาก็คิดว่านี่แหละอาจจะช่วยให้เด็ก ๆ บนดอยเข้าถึงความช่วยเหลือจากคนทั่วโลกได้ง่ายขึ้นไปอีก เพราะคนที่เห็นเด็ก ๆ ผ่าน Nostr ก็สามารถบริจาคตรงเข้า Profile ของพวกเขาได้เลย
"we're going to go up there and really mind sats!"
Jimmy Castro กับ Bitcoin Learning Center ที่เชียงใหม่ของเขาและคณะ
หลังจากที่พวกเขาพูดคุยเรื่องโครงการขุดเสร็จไป พวกเขาก็มาคุยกันเกี่ยวกับ Bitcoin Learning Center ที่ทางคุณจิมมี่และทีมของเขาได้ดำเนินอยู่ ซึ่งพึ่งตั้งได้ 2 ปี 9 เดือน เขาเล่าย้อนกลับไปในปี 2016 ที่เขาได้เข้ามาอยู่ที่เชียงใหม่และได้พบกับงาน Bitcoin มากมายที่นั่นที่จัดโดยคุณสตีฟ ซึ่งเขาเป็นคนมีความอดทนและเปิดรับฟังผู้อื่น เป็นบุคคลที่เขาเคารพ อย่างไรก็ดี เขานั้นต้องการอะไรซักอย่างที่ Focus ที่ตัว Bitcoin มากกว่านี้ ซึ่งงานของคุณสตีฟ ไม่ได้ตอบโจทย์พอ ด้วยความต้องการข้างต้น รวมกับที่เขาเคยไปอยู่ใน El Salvador แล้วเห็น Bitcoin Adoption ที่นั่น ทำให้เขาตระหนักได้ถึงความสำคัญของคอมมูนิตี้ที่ได้ชนไหล่กันจริง ๆ หลังจากวันนั้นเขาจึงบินไปบินมาอยู่หลายครั้งจากเชียงใหม่ไปกรุงเทพเพื่อไป Bitcoin Meetup ที่จัดขึ้นเป็นครั้งคราว
ณ จุดนั้นเองทำให้เขาคิดว่า เขาควรตั้ง Bitcoin hub ที่เชียงใหม่ได้แล้ว มันสมเหตุสมผลที่เมืองที่ใหญ่เป็นอันดับสองของประเทศจะมี Bitcoin Hub เหมือนที่กรุงเทพมีบ้าง (และถ้าบินไปบินกลับงี้ตลอดเขาอาจจะถังแตกเอาได้)
เขา และภรรยา ร่วมกับเพื่อนอีกคน ร่วมกันรีโนเวทตึกเก่า 40 ปีใหม่ให้เป็นฐานที่มั่นของเขา แต่เผอิญว่าช่วงเวลาที่กำลังจะทำ Office ก็ไปปะกับช่วงที่ FTX ล่มพอดี เราเลยหยุดโครงการเอาไว้ก่อนเพื่อรอให้เรื่องเย็นลง ก่อนที่เมื่อประมาณปีก่อน พวกเขาก็ลงมือลงแรงไปอย่างมากเพื่อที่จะก่อร่างสร้าง Bitcoin Learning Center นี้จนได้มีงาน Grand Opening เมื่อสัปดาห์ก่อน
เขาตกใจมากที่มี Bitcoiner ในเชียงใหม่มาร่วมงานกว่าร้อยคน หรือกว่า 10 หรือ 15 ครอบครัว เป็นสิ่งที่เกินคาด เขาได้แสดงความดีอกดีใจอย่างเปิดเผย
ซึ่งเขาได้กล่าวว่าหนึ่งในจุดประสงค์สำคัญของ Bitcoin Learning Center ที่เชียงใหม่นี้ คือการมอบการศึกษาเกี่ยวกับ Bitcoin เป็นภาษาไทยบ้าน ๆ เพราะเขาเข้าใจดีว่าไม่ใช่ทุกคนที่เป็นภาษาอังกฤษ ซึ่งเขาเองก็จะจัด Bitcoin 101 Meetup ที่เชียงใหม่ภายในเดือนตุลาคมนี้ เพื่อที่จะได้พูดคุยกันในเรื่องต่าง ๆ เช่นอะไรคือเงิน Bitcoin คืออะไรแล้วเราจะเอามันไปใช้ทำอะไรได้บ้าง อีกทั้งเพื่อที่จะเก็บ Feedback ที่เราอาจจะจำเป็นเพื่อที่จะพัฒนาวงการ Bitcoiner ต่อไป
มุมมองต่อการเติบโตของ Bitcoin ภายในประเทศไทย
"Bitcoin นั้นช้า แต่มั่นคง" อาจพูดได้ว่าเป็นใจความสำคัญในการสนทนาเกี่ยวกับเรื่องที่ทั้งคุณจิมมี่และอาจารย์พิริยะได้เรียนรู้เมื่อดำเนินโครงการเกี่ยวกับ Bitcoin
เวลาที่เราจะเริ่มต้นอะไรเกี่ยวกับ Bitcoin มันไม่ได้ใหญ่และฉูดฉาดเหมือนเหรียญ Crypto อื่น ๆ เพราะมันมักจะเริ่มจากสิ่งเล็ก ๆ แต่ค่อย ๆ เติบโตอย่างค่อย ๆ เป็นค่อยไป เพราะสิ่งที่ Bitcoiner ทุกคนมีเหมือนกันคือ เมื่อเป็นแล้ว มันกลับไปเหมือนเดิมไม่ได้ พวกเราจึงมีจำนวนมากขึ้นเรื่อย ๆ
อีกทั้งทั้งสองยังเห็นตรงกันว่ามีคนไทยหลายคนเจ็บไปกับการเกิดและดับของ Shitcoin ต่าง ๆ ในตลาด พวกเขาเห็นอกเห็นใจและอยากให้พวกเขากลับมามอง Bitcoin ใหม่ไม่ใช่ในฐานะเหรียญ ๆ หนึ่ง แต่เป็นอะไรที่ยิ่งใหญ่กว่านั้น
โดยในระหว่างที่สนทนากัน คุณจิมมี่เองก็ให้ความสนใจและสำคัญกับสิ่งที่ทางทีมงานของ Right Shift ทำเป็นอย่างมาก ด้วยความสม่ำเสมอของทีมงาน และการทำงานอย่างไม่รู้จักเหน็ดเหนื่อยที่นำพาเขาและทุก ๆ คนในงานมาที่นี่ เขาอยากให้ Right Shift ดำเนินกิจการต่อไปและก็ได้ทิ้งท้ายเอาไว้ว่าหากต้องการความช่วยเหลือหรือต้องการความร่วมมืออะไรกับทาง Bitcoin Learning Center ที่เชียงใหม่แล้วหละก็เขาพร้อมที่จะช่วย
"We'll do this. We'll make this happen."
ทั้งการเติบโตของคอมมูนิตี้ Bitcoin ที่ภูเก็ต พังงา กรุงเทพ และเชียงใหม่ ทำให้ทั้งเขา และ อ.พิริยะ เชื่อว่าซักวัน Bitcoin Adoption จะต้องเติบโตจนหน่วยงานรัฐเล็งเห็น ซึ่งทางคุณจิมมี่ ก็แสดงความยินดีที่จะได้ช่วยเหลือพวกเขาเมื่อเวลามาถึง เพราะเขามองว่าเมืองไทยถือเป็นพี่ใหญ่ในประเทศกลุ่มตะวันออกเฉียงใต้ ทำให้เรามีศักยภาพในการรุดหน้าเกี่ยวกับ Bitcoin Adoption และการให้การศึกษาเกี่ยวกับ Bitcoin
ดังนั้นแล้ว ขึ้นอยู่กับเวลาว่าเขาจะตื่นรู้ว่า Bitcoin สามารถนำมาพัฒนาประเทศได้เช่น เราสามารถสร้างความมั่นคงทางพลังงานจากมันได้ เราสามารถพัฒรุดหน้าอย่างก้าวกระโดดด้วยมันได้ เมื่อถึงตอนนั้น มาพูดคุยกับเราสิ มาร่วมกันสร้างไปด้วยกัน
และก็ไม่ใช่แค่รัฐบาล วันหนึ่งทุก ๆ ธุรกิจเอกชนก็จะต้องมีส่วนเกี่ยวข้องกับ Bitcoin เช่นกัน มันจึงสำคัญที่พวกเราในตอนนี้จะต้องสร้างโครงสร้างพื้นฐานต่าง ๆ เกี่ยวกับการใช้ Bitcoin ให้เพียบพร้อมในทุก ๆ ทาง แล้วเมื่อพวกเขาต้องการเรา พวกเขาจะต้องการเรา
"They're going to need us because we don't go away. We just keep getting stronger and stronger."
และในช่วงสุดท้ายของการพูดคุย คุณจิมมี่ก็เชิญชวนทุก ๆ คนให้เข้ามาศึกษาเกี่ยวกับ Bitcoin ซักหน่อย วันละนิดก็ยังดี ไม่สำคัญว่าคุณจะเป็นใคร ไม่ว่าจะเป็นธุรกิจเล็กเช่นร้านตัดผม หรือธุรกิจใหญ่ก็ตาม เขาเชื่อว่ามันจะต้องเป็นประโยชน์กับพวกเราในภายภาคหน้า
"So please, add a little bit of bitcoin into your life"
บรรยายโดย Jimmy Castro และ อ.พิริยะ สัมพันธารักษ์ แปลและเรียบเรียงโดย Techin
-
@ 8a4c88dc:a498228e
2024-10-17 11:52:20บิตคอยน์มีคุณสมบัติอะไรที่จะสามารถอุ้มชูจริยธรรมโลก และเราควรปฏิบัติกับมันอย่างไร
นี่คือ Agenda สำคัญในการบรรยายของคุณทักเกอร์ภายในงาน Thailand Bitcoin 2024
ขอบคุณที่เชิญผมมา ณ ที่นี่ ผม ทักเกอร์
อย่างที่รู้กันวันนี้เราจะคุยกันเกี่ยวกับบิตคอยน์ในมุมมองทางด้านจริยธรรม ผมคงไม่ต้องอธิบายอะไรเกี่ยวกับเรื่องเชิงเทคนิคของบิตคอยน์มากนักเพราะหลาย ๆ ท่านคงจะได้ฟังกันมากพอแล้ว ดังนั้นแล้ว ผมอยากที่จะมองบิตคอยน์นั้น เป็นเพียงเครื่องมือชิ้นหนึ่ง
ตั้งแต่ยุคดึกดำบรรพ์มนุษย์ได้ประดิษฐ์ เครื่องมือ มากมายเพื่อที่จะก้าวข้ามอุปสรรค์ต่าง ๆ อย่างเช่น หอก หรือเครื่องไถ นี่เป็นสิ่งที่แยกเราออกจากสัตว์ป่าอื่น ๆ ซึ่งคำว่า เครื่องมือ ของมนุษย์ไม่ได้หยุดอยู่ที่แค่ของที่จับต้องได้เท่านั้น เรายังมีเครื่องมือที่ไร้รูปร่างที่ถูกประดิษฐ์ขึ้น เพื่อเป็นตัวแทนของชุดความคิดที่เราจะสื่อสารกัน เช่น ภาษา คณิตศาสตร์ ตรรกศาสตร์
อย่างไรก็ดี เครื่องมือก็คือเครื่องมือ มันไม่มีชีวิต ไม่มีเจตจำนง จะดีหรือชั่ว เราจะเป็นผู้กำหนด เมื่อเป็นเช่นนั้น พวกเราจึงมีการนำเอา ประวัติศาสตร์ มาประยุกต์ใช้ร่วมเพื่อที่จะสร้างวิธีการใช้เครื่องมือเหล่านั้นไปในทางที่ถูกที่ควร เช่น เราอาจพูดได้ว่าการให้กำเกิด กฏหมาย ขึ้นเพื่อห้ามคนเข่นฆ่ากัน เป็นการที่มนุษย์เรียนรู้ประวัติศาสตร์ และใช้ภาษาเพื่อสร้างกฏหมาย เพื่อกำหนดศีลธรรมร่วมกันซึ่งนำไปสู่สันติภาพ
นั้น ทำให้เราจำเป็นต้องศีกษาประวัติศาสตร์เกี่ยวกับการเงิน เราเคยนำเงินมาใช้ไปในทิศทางไหนแล้วบ้าง แล้วในอนาคตเราจะใช้มันอย่างไรเพื่อที่จะสร้างเศรษฐกิจที่ยุติธรรมและมีจริยธรรม
ผมไม่ชอบสรุปประวัติศาสตร์ออกมาอย่างหยาบ กลับกันผมชอบมองย้อนกลับไปว่าพวกเราเคยทำอะไรเอาไว้บ้างเพื่อถอดบทเรียนจากมัน แล้วหวังว่าเราจะไม่ปล่อยให้ให้ประวัติศาสตร์ซ้ำรอย
ดังนั้นวันนี้ผมจะทำเช่นนั้น การมองย้อนกลับไปในประวัติศาสตร์นั้น ผมคิดว่ามันมันสำคัญยิ่ง
อย่างที่รู้กัน นี่คือ Karl Marx
เราอาจพูดได้ว่าด้วยสภาพแวดล้อมที่เขามีชีวิตอยู่ได้หล่อหลอมเขา จนเขาให้กำเนิดแนวคิดหนึ่งที่เขาคิดว่ามันจะเป็นบรรทัดฐานทางศิลธรรมใหม่ที่ทุกคนต้องใช้ และนี่เป็นสิ่งที่เขาเคยพูดเอาไว้
สะสมและกอบโกย นี่แหละคือแก่นแท้ของมัน จงให้อุตสาหกรรมสรรสร้างทรัพยากรเพื่อกอบโกยได้มากขึ้นอีก จึงประหยัดแล้ว ประหยัดอีก แล้วนำคุณค่าและสินค้าที่เอ่อล้นมากองเป็นทุนที่สูงขึ้น ให้ก่อเกิดเป็นทุนนิยม แล้วจึงกอบโกยเพียงเพื่อการกอบโกย กอบโกยเพียงเพื่อการผลิต สืบไป
นี่เป็นเป็นคำวิจารณ์ของเขา ถึงระบอบทุนนิยมและแนวคิดของมัน ซึ่งแพร่หลายปกคลุมทั้งสังคมที่เขามีชีวิตอยู่ คือการสะสมทุน อีกทั้งในมุมมองของเขาชี้ว่าฐานรากของทุนนิยมนั้นมีแค่การสะสมทุน สะสมทุน จนกระทั่งกระบวนการนี้มันได้กัดกินคุณค่าความเป็นมนุษย์ให้หายไปจากสารระบบ
ดังนั้นมุมมองที่เขามีต่อระบอบทุนนิยม คือระบอบที่เอารัดเอาเปรียบชนชั้นแรงงาน กล่าวคือเขานิยามระบอบทุนนิยมว่า จงรีดเค้นเลือดเนื้อจากคนงานให้ได้มากที่สุด ให้พวกเขารู้สึกห่างเหินจากงานที่ทำ และสะสมทุนที่เข้นออกมาได้ให้เพิ่มพูนสูงขึ้นไป
ในมุมมองของเขา ระบอบทุนนิยมจะผูกขาดความมั่งคั่งเอาไว้คนเพียงไม่กี่หยิบมือ และ มองทุกสิ่งทุกอย่างเป็นสินค้า เฉกเช่นแนวคิดหลักของทุนนิยมในมุมมองของเขาที่เน้นการกอบโกยเพื่อสะสมทุนให้ได้มากที่สุดด้วยทุกวิถีทาง ทุกอย่างบนโลกล้วนมีเพื่อให้กอบโกยสะสมทุน เพื่อทุนนิยม เขามองว่า ระบบเศรฐกิจแบบนี้จำเป็นต้องถูกปฏิรูปสิ้น อีกทั้งยังอธิบายเพิ่มเติมอีกว่าระบอบที่ถูกออกแบบมาให้ลดต้นทุนให้ได้มากที่สุดนี้ต้องถูกปฏิรูปสิ้นด้วย แล้วก็มองไปอีกว่า ทุนนิยมนั้นเป็นเพียงแค่ส่วนขยายของจักรวรรดินิยม ที่พวกเขาใช้กดขี่ผู้คน
ไม่ได้เป็นการสนับสนุนแต่อย่างใด แต่ผมเห็นว่า Karl Marx นั้นเป็นลูกหลานและผลพวงของระบอบทุนนิยม ซึ่งหล่อหลอมให้เขามีมุมมองเช่นนี้ต่อมัน
จากนั้นเราก็ย้อนมาหามิตรสหายที่เราคุ้นหน้ากันอย่างดี Adam Smith
เขาเกิดในอีกช่วงเวลาหนึ่ง ส่งผลให้ชีวิตหรือมุมมองต่อสิ่งต่าง ๆ นั้นแตกต่างจาก Karl Marx เขาเกิดในระบอบศักดินาสวามิภักดิ์ ที่ที่การแบ่งสันปันส่วนอำนาจขึ้นอยู่กับปริมาณที่ดินที่ผู้ใดครอบครอง เขาพูดอะไรไว้บ้าง เรามาดูกัน
เกียรติและศักดิ์ศรีของบุคคลทำให้เขารักที่จะปกครอง ไม่มีอะไรที่เหยียบย่ำเกียรติและศักดิ์ศรีเขาได้เท่าการถูกบังคับให้เชื่อฟัง ถูกทำให้ดูต่ำต้อย ต่อผู้ที่อยู่เหนือกว่า ขาจึงรักที่จะมีทาสให้ใช้งาน มากกว่าทำงานกับเสรีชน
เขาได้พูดถึงธรรมชาติของมนุษย์ รวมทั้งธรรมชาติของผู้มีอำนาจที่ไม่ต้องการเจรจากับแรงงานของพวกเขา พวกเขาใคร่ที่จะกดขี่บังคับมากกว่าการร่วมมือร่วมแรงกันกับพวกเขา
โดยที่นอกจากที่เขาจะพูดถึงผู้มีอำนาจหรือผู้ถือครองที่ดินแล้ว เขาก็ยังพูดถึงชนชั้นแรงงานด้วยเช่นกัน
ภายใต้ระบอบศักดินาสวามิภักดิ์นั้น ผู้อยู่ใต้บัญชานั้นมีหน้าที่แค่รับใช้อำนาจที่สูงส่งกว่า ไม่สามารถมีสิ่งที่เป็นของตนเองได้ พวกเขาจึงถูกบังคับให้วิงวอนต่อเจ้านายให้มอบอาหารที่อยู่และเครื่องนุ่งห่มแก่ตนด้วยการทำงานถวายแก่นายตน ในสถานการณ์เช่นนี้ เราไม่สามารถหวังให้พวกเขากระทำสิ่งใดให้มีประสิทธิภาพหรือก่อเกิดความก้าวหน้าได้
Adam Smith ได้วิพากวิจารย์ว่าการมีอยู่ของระบอบศักดินาสวามิภัคดิ์นั้น ทำให้อำจาจตกอยู่กับผู้ที่ครอบครองที่ดินเพียงอย่างเดียว ที่เป็นปัจจัยหนึ่งที่เซอะกร่อนบ่อนทำลายชนชั้นแรงงานเนื่องจากพวกเขาไม่มีสิทธิที่จะมีอะไรเป็นของตนเอง พวกเขาจึงต้องเอาแต่รับใช้เพื่อที่จะอยู่รอดไปวัน ๆ
เขานั้นค่อนข้างที่จะให้ความสำคัญกับประสิทธิผลของงาน ไม่ได้พูดถึงจริยธรรมหรืออุดมการณ์เหมือนกับ Karl Marx เขามองว่าถ้าบุคคลนั้นมีหน้าทีแค่รับใช้นายของตน บุคคลนั้นก็ไม่จำเป็นต้องทำอะไรมาก เขาแค่ต้องทำสิ่งที่เจ้านายสั่งเพื่อที่จะมีชีวิตอยู่ต่อไปแค่นั่น นั่นทำให้ภายใต้ระบอบนี้ประสิทธิผลของการใช้ทรัพยากรนั้นจะไม่ถูกดึงออกมาอย่างสูงที่สุด
เศรษฐกิจจะไม่สามารถทรงประสิทธิภาพได้เลยภายใต้ระบอบศักดินา เป็นสิ่งที่เขามอง และมองว่าระบอบทุนนิยมนั้นมีประสิทธิภาพมากกว่า แต่ก็ต้องตั้งคำถามว่ามีประสิทธิภาพเพื่ออะไร เพื่อกอบโกยทุนหรือไม่?
ไม่มีการเลื่อนชั้นทางสังคม เพราะว่าหากไม่มีที่ดินหรือถูกรับมอบที่ดิน พวกเขาก็จะไม่สามารถเปลี่ยนสถานะภาพทางสังคมได้เลย นั้นจึงทำให้ การค้าที่ถูกจำกัด เพราะว่าผู้คนส่วนใหญ่ไม่มีความจำเป็นต้องค้าขาย เพราะพวกเขามีหน้าที่แค่รับใช้ ทำงานให้เสร็จ ๆ ไปก็มีกินด้วยสิ่งที่เจ้านายของตนเองมอบให้แล้ว สุดท้ายเลยคือระบอบศักดินาสวามิภักดิ์ต้องมีการ ผูกขาดสิทธิเสรีภาพ เพราะตัวระบอบไม่สามารถอนุญาตให้มนุษย์ทุกคนมีอำนาจหรือไม่ยากจนได้ ซึ่งนั้นก็เป็นอีกจุดอ่อนที่ฉุดรั้งประสิทธิผลของมนุษย์
อีกครั้ง เราอาจกล่าวได้ว่าระบอบศักดินาสวามิภักดิ์ได้ให้กำเนิด Adam Smith ขึ้นมา
ต่อมาเป็นระบอบศักดินาสวามิภักดิ์ มันคืออะไรหละ มันคือระบบที่มีการแบ่งชนชั้นของบุคคลอย่างชัดเจน จากทาส สู่กษัตริย์ มีอัศวิน มีขุนนาง มีการรับใช้เพื่อได้รับการคุ้มครองจากกษัตริย์หรือเจ้าเมือง ระบอบดังกล่าวให้ความสำคัญกับผู้ถือครองที่ดิน ซึ่งเป็นตัวแสดงอำนาจที่ผู้นั้นถือครอง และความจงรักภักดีต่อผู้บังคับบัญชา
แล้วเมื่อมองย้อนกลับไปอีก เราก็จะเห็นอารยธรรมของมนุษย์ที่รวมกันเป็นเมืองเป็นรัฐและเกิดการซื้อขายเจริญเติบโตขึ้น ทุก ๆ อย่างเหมือนจะดีไปหมดแต่ทำไมทุก ๆ อารยธรรมถึงสิ้นสุดลง
การล่มสลายของกรุงโรม
เป็นตัวอย่างที่เราได้ยินกันมาเยอะมากหากคุณเป็น Bitcoiner พวกเขามีทั้งเจตจำนงที่จะหลีกหนีระบอบจักวรรดินิยม มีการกระจายอำนาจ เกิดสิ่งประดิษฐ์คิดค้นมากมาย มีเศรษฐกิจเกษตรกรรม มีการค้าขายกับต่างชาติ ถึงขนาดมีศาสนาเป็นของตนเอง
ทุกอย่างของกรุงโรมดูจะเป็นไปในทางที่ดี แต่แล้วทำไมหละ มันถึงล่มสลายลง
คำตอบคือมันเกิดการโกงหน่วยวัดมูลค่าให้ไม่เป็นไปตามธรรมชาติ
เช่นการที่หน่วยเงินมันเฟ้อ หรือถูกแทรกแทรง ถูกลดค่าลง หรือให้บางคนที่มีอภิสิทธิ์เสกเงินขึ้นมาให้กับตนเองได้
ทำให้ความมั่งคั่งของคนที่ทำงานและสมควรได้เงินก้อนนั้นถูกลดทอนลง เป็นความไม่เป็นธรรมชาติที่นำไปสู่การล่มสลายของอารยธรรมต่าง ๆ มนุษย์นั้นคิดค้นการโกงหน่วยการวัดมูลค่ากันมาตลอด หนึ่งในนั้นคือการที่ทำให้เงินเสื่อมมูลค่าเมื่อเทียบกับทองคำ ด้วยข้ออ้างที่บอกกันว่า
ให้พวกเราถือทองของพวกคุณ อย่าแลกเปลี่ยนกันด้วยทอง ทองมันหนักเกินไป ทองมันเคลื่อนย้ายยาก
นำไปสู่การผูกขาดทองไว้กับอำนาจรัฐ โดยที่พวกเขาก็จะให้ประชาชนใช้เงินที่ตนตีตราขึ้นมา แล้วก็ทำให้มันงอกเงยจนไม่ได้อิงจากมูลค่าของทองคำแบบ 1:1 ให้กำเนิดเงินเฟ้อซึ่งนำไปสู่การเสียเสถียรภาพของตลาดและการล่มสลายของอารยธรรมหลายต่อหลายครั้ง เช่นกรุงโรม มองโกล หรือแม้แต่จักวรรดิต่าง ๆ ภายในจีน
รูปแบบของการโกงหน่วยวัดมูลค่าของเงินนั้นสลับซับซ้อนและพิศดารขึ้นตามการเวลาที่ผ่านไป จนเรามาถึงยุคที่เงินนั้นไม่ได้ผูกกับทองคำอีกต่อไป จากเหตุการณ์ Nixon shock ทำให้เงินในตอนนี้สื่อมมูลค่าลงไปเรื่อย ๆ จากระบบการเงินใหม่ที่ตัดตนเองออกจากทองคำและไปถูกอ้างอิงมูลค่าโดย หนี้ ไม่ว่าจะเป็นหนี้ที่ถือโดยธนาคารกลางและตนก็เป็นคนกำหนดนโยบาย ซึ่งผมมองมันในฐานะ รากฐานของระบบธนาคารสินเชื่อ หรือหนี้ที่ถือโดยธนาคารพานิชย์ที่ปล่อยสินเชื่อก็ยิ่งทำให้เงินมันเฟ้อขึ้นไปอีก เช่นแบงค์ของ Wall Street ในสหรัฐอเมริกา
นี่คือจุดที่ทำให้เรากลับมาที่บิตคอยน์ ในฐานะเครื่องมือที่มีจริยธรรม เพราะบิตคอยน์มันเฟ้อไม่ได้ บิตคอยน์มันโกงไม่ได้
ตัวของมันจึงสามารถมอบโอกาสแก่พวกเราให้ไม่ซ้ำรอยความผิดพลาดในอดีต เพราะเมื่อผมส่งบิตคอยน์ ผมได้ส่งมันไปจริง ๆ และมันหายไปจากมือของผมจริง ๆ
ซึ่งนั่นเป็นคุณสมบัติสร้างการแลกเปลี่ยนที่ยุติธรรม ซึ่งจะนำไปสู่ระบบเศรษฐกิจที่ยุติธรรม
บิตคอยน์นั้นมีคุณสมบัติที่จะเป็นเงินที่ยุติธรรม และมีจริยธรรม ด้วยเหตุผลหลาย ๆ ข้อ ซึ่งหนึ่งในนั้นเป็นการที่ มันมีจำกัด
หากถามว่าสิ่งนี้สำคัญอย่างไร คำตอบคือคุณสมบัตินี้ของมันนี่แหละที่จะป้องกันการโกงมูลค่าได้ ไม่เหมือนกับกับเงินที่ถูกโกงมูลค่าหรือเฟ้อขึ้นได้ในปัจจุบัน มันเป็นเงินที่คุณจะไม่ได้นั่งเฉย ๆ แล้วได้รับมันมาด้วยฟังชั่นการงอกเงยของมัน
เรารู้ว่าบิตคอยน์มีปริมาณเท่าไหร่ มันโปร่งใส ตรวจสอบได้ มีภูมิต้านทานการเซนเซอร์ มันสามารถเข้าถึงใครก็ได้บนโลกที่เข้าถึงอินเตอร์เน็ต
มันไม่เกี่ยงเลยว่าคุณคือใคร มีฐานะอย่างไร ตราบเท่าที่คุณสามารถเข้าถึงอินเตอร์เน็ตได้ มันเปิดกว้างมาก และจริง ๆ ผมก็สามารถสร้างระบบ หรือสร้างธุรกิจบนพื้นฐานของบิตคอยน์โดยที่ไม่ต้องขออนุญาตใครทั้งสิ้น
มันทั้งไร้พรมแดนและเป็นสิ่งที่สวยงามยิ่ง ผมจะส่งเงินไปใครใครในโลกก็ได้โดยที่ไม่ต้องคิดเลยว่าเขาอยู่ที่ไหน หรืออยู่ในระบอบปกครองแบบใด ผมแค่ส่ง และผมแค่รับ
อีกข้อหนึ่งคือ มันกระจายศูนย์ เป็นอีกหนึ่งคุณสมบัติที่ทำให้ข้ออื่น ๆ ของบิตคอยน์นั้นทำงานได้จริง ยกตัวอย่างเช่นการกระจายเงินอย่างเท่าเทียมผ่านการขุด ไม่ใช่การกระจายเงินไปสู่คนเพียงหยิบมือที่มีใบอนุญาตเปิดธนาคารได้ แต่เป็นทุก ๆ คนที่ต้องทุ่มแรงเพื่อที่จะได้มันมา ซึ่งนั่นก็ย้อนกลับไปถึงปัญหาเกี่ยวกับจริยธรรมของเงินที่มีคนที่สามารถมีอำนาจในการสูบความมั่งคั่งไปจากเราได้โดยไม่ต้องขออนุญาต
และสิ่งสุดท้ายเลยคือ เงินมันไม่จำเป็น หรือจริง ๆ คือมันไม่มีผลตอบแทน หรือ yield ใด ๆ เพื่อรักษานโยบายทางการเงินของมัน
แล้วไอ้เจ้าการที่เงิน มันมีผลตอบแทน มันงอก มันเฟ้อได้ มันผิดอะไรกันหละ
เราสามารถแจกแจงปัญหานี้ออกมาได้สองข้อใหญ่ ๆ คือ
หนึ่ง คือเงินนั้น คือเครื่องมือในการวัดมูลค่าของสิ่งของ
ผมมอบเงินให้กับผู้ขายเพื่อซื้อมูลค่าที่เขาเสนอมา มันเป็นแค่หน่วยวัด เพื่อให้เกิดการซื้อขาย เพื่อที่ผมจะซื้อของที่จำเป็น มันเป็นเพียงแค่นั้น ถ้างั้น แล้วพอเงินมันมีผลตอบแทนได้หละ มันก็จะเฟ้อ เปรียบเหมือนกับคุณพยายามที่จเป็นนักวิทยาศาสตร์แล้วต้องการทดลองปฏิกิริยาทางเคมีบางอย่าง คุณต้องใช้ปิกเกอร์ แต่ถ้าเราบอกว่ามาตรวัดของปิกเกอร์นั้นมันเปลี่ยนไปตลอดในทุกครั้งที่คุณหยิบมันขึ้นมาหละ ใช่ปิกเกอร์นั้นมันอาจจะใช้งานได้ในระยะสั้น แต่ในระยะยาว อย่าหวังเลย เราไม่สามารถให้มาตรวัดถูกควบคุมหรือแทรกแทรงโดยมนุษย์ได้ โดยเฉพาะกับเจ้าตัวเงินที่เฟ้อได้นี่
สอง เงินที่เฟ้อให้ผลประโยชน์กับพฤติกรรมนักล่า
สมมุติว่าผมให้คนยืมเงินแล้วเขาสัญญาว่าจะนำมาคืนใน 5 ปี คุณไม่สามารถให้หากคุณไม่คิดดอกเบี้ย หรือได้รับผลประโยชน์อะไรบางอย่างตอบแทนที่คุ้มค่า มันไม่ใช่เจตจำนงของเราแต่เป็นสภาพบังคับเพราะว่าเงินของเราเสื่อมค่าลงทุกวัน เมื่อเป็นเช่นนั้น คุณไม่สามารถซื้อของที่คุณต้องการซื้อได้อีกแล้วด้วยเงินที่เขานำมาคืนเมื่อครบสัญญาเพราะของมันแพงขึ้น
แล้วถ้าหากเป็นเงินที่ไม่เฟ้อหละ มันให้ผลประโยชน์กับพฤติกรรมที่เป็นกุศล เพราะเงินที่ผมให้ยืมไป เมื่อผมได้รับคืน ผมสามารถซื้อของที่ผมอยากได้ใน 5 ปีก่อนได้ตามปกติ จริง ๆ แล้ว นี่อาจจะนับเป็นการให้เขานำเงินของเราไปดูแลแทนเราก็ได้ เราไม่จำเป็นต้องตักตวงผลประโยชน์ใด ๆ เพื่อความอยู่รอดอีกต่อไป
ผมเชื่อว่า บิตคอยน์ เป็นเงินที่มีศิลธรรมมากที่สุด แต่ผมเชื่อว่าเราทำอะไรได้มากกว่านี้
ในโมเดลธุรกิจตามหลักศาสนาอิสลาม พวกเรามีระบบที่กำหนดว่าอะไรคือการแลกเปลี่ยนที่เป็นธรรม ผมพยายามที่จะหาคำอธิบายง่าย ๆ ให้ฟังแต่มันก็ยากพอควรเลยแหละ แต่โดยสรุปแล้ว มันคือ Capitalistic collectivism
Capitalistic collectivism คือหลักแนวคิดที่ว่า ไม่มีอะไรผิดในการเก็บเกี่ยวผลประโยชน์หรือสะสมทุน ตราบใดที่คุณยังคำนึงถึงกลุ่มคนหรือส่วนรวมในกระบวนการนั้น ซึ่งเมื่อมองย้อนกลับไปที่มุมมองต่อทุนนิยมของ Karl Marx ที่เน้นย้ำสุด ๆ เกี่ยวกับกระบวนการเก็บเกี่ยวสะสมทุนที่ตัดขาดมนุษย์ออกจากสมการทำให้ไม่ต้องแคร์ว่าพวกเขาจะทน เขาจะจน เขาไม่มีเงินจ่ายค่าเช่า ตราบใดที่ฉันได้กอบโกยทุนเข้ากระเป๋าฉันก็เพียงพอ
ซึ่งสำหรับการมองทุนนิยมในรูปแบบของ Capitalistic collectivism เรายังสามารถตักตวงผลประโยชน์ได้ โดยที่ไม่ทำให้ผู้คนเป็นทุกข์
มีคำกล่าวหนึ่ง ใครก็ตามที่มีสวนหลังบ้านแล้วผู้คนที่อาศัยอยู่ที่นั่นอดอยาก คุณในฐานะเจ้าของที่ดินจะถูกขับออกจากการปกป้องของ Allah นี่เป็นสิ่งที่มูฮัมมัดได้เคยตรัจเอาไว้ เป็นวิธีการที่เขาจะส่งเสริมให้คนที่มีทุนหรือมีที่ดิน มองกลับมาและให้ความสำคัญผู้คนที่อาศัยในที่ ๆ ของคุณด้วย คุณมีส่วนรับผิดชอบต่อความหิวโหยของพวกเขา เพราะสมมุติว่ามีใครมาเจอคนหิวอยู่ในสวนหลังบ้านคุณแล้วคุณไม่ทำอะไร คุณก็จะถูกตั้งคำถามและถูกติติง
อีกอย่างหนึ่งคือ ถ้าคุณให้ คุณจะร่ำรวย สำหรับเหตุผลของมันผมจะกลับมาอธิบายอีททีในเร็ว ๆ นี้ แต่จุดประสงค์ของคำกล่าวนี้ก็คือการส่งเสริมให้ผู้มีต้องคำนึงถึงผู้ที่ไม่มีด้วย เราจึงต้องทำให้แน่ใจว่าเราพยายามอย่างสุดความสามารถเพื่อที่จะแบ่งปันสิ่งที่เรามีแก่พวกเขา
สิ่งสุดท้ายเกี่ยวกับ Capitalistic collectivism คือการ ทำให้ความมั่งคั่งของเรานั้น ไม่ได้ถูกจำกัดและส่งต่อไปให้แต่กับผู้มากมี ซึ่งเอาจริง ๆ ผมพอเข้าใจในมุมมองของชาวบิตคอยน์ที่มักจะบอกกับทุก ๆ คนว่า
ถือไว้ ถือยาว ถือยาวแล้วดีต่อคุณ
แต่เราต้องคำนึงถึงด้วยว่าบิตคอยน์นั้นเป็นเงินสำหรับทุกคน ทุกคนจำเป็นที่จะสามารถเข้าถึง มี และครอบครองมันได้ เพราะว่าเราไม่อยากให้เจ้าบิตคอยน์นี้หมุนเวียนไปแต่กับบริษัทยักษ์ใหญ่ เพราะจริง ๆ แล้วพวกเราต้องการให้ทุกคนเข้าถึงบิตคอยน์
ในศาสนาอิสลาม เรามีคำว่า Zakaat ซึ่งผมจะวางมันเป็นสิ่งที่ตรงข้ามกับดอกเบี้ยเลย เพราะโดยความหมายแล้ว ดอกเบี้ย คือผลตอบแทนจากเงินที่ไม่ได้นำไปทำอะไร แต่สำหรับ Zakkat นั้น ผลตอบแทนจากเงินคือการนำเงินนั้นไปเพื่อเติมเต็มสังคม เพื่อแสดงความรับผิดชอบของผู้มีต่อผู้ที่ไม่มี
ความมั่งคั่งแล้วโดยธรรมชาติแล้วจะค่อยสูญเสียไปตามกาลเวลา เช่นการที่คนมีบ้าน เขาก็ต้องจ่ายเงินเพื่อดูแลบ้าน นั่นก็นับเป็นการสูญเสียความมั่งคั่งบางส่วนกลับสู่ธรรมชาติเช่นกัน สู่มือของคนที่เราจ้างมาให้ซ่อมบ้าน หรืออีกตัวอย่างคือรถ รถนั้นประกอบไปด้วยหลายชิ้นส่วน เมื่อเราต้องดูแลรถเราก็ต้องสละความมั่งคั่งของเขาไปให้อู่ซ่อมรถ ตามกฏของธรรมชาติ
ดังนั้นแล้ว ผลตอบแทนจากเงินที่ไม่ได้สร้าง Productivity ใด ๆ นั้นเป็นสิ่งที่ไม่เป็นไปตามกฏของธรรมชาติ เพราะนั่นหมายความว่าคุณกำลังสูบเอาความมั่งคั่งจากผู้อื่นเพื่อได้รับผลตอบแทนของเงิน ดังนั้นแล้ว ตามกฏของธรรมชาติ เงินควรที่จะลดลงและถูกส่งทอดลงสู่ผู้ที่จำเป็นต้องใช้มัน แล้วพวกเขาก็นำเงินเหล่านั้นซื้อสิ่งของที่ต้องการ แล้วนั่นก็จะนำประโยชน์กลับมาหาคุณไม่ว่าทางใดก็ทางหนึ่ง นี่ก็เป็นตัวอย่างที่สนับสนุนคำสอนที่กล่าวว่า จงให้ เพื่อที่จะได้รับ เป็นสิ่งปกติของการผ่องถ่ายความมั่งคั่ง
ในที่สุดเราก็มาถึงบทสรุปแล้ว ผมมีคำแนะนำหรือบรรทัดฐานว่าเราจะสร้างเศรษฐกิจที่มีจริยธรรมที่มากขึ้นได้อย่างไร
- เราต้องสร้างระบบนิเวศของเศรษฐกิจที่ชัดเจนโปร่งใส
- ได้รับในสิ่งที่คุณควรได้เท่านั้น
- จงเพิ่มมูลค่ากลับไปที่ระบบด้วย ไม่ใช่เอาแต่ดูดเอาผลประโยชน์เพียงอย่างเดียว
- จงให้ เพื่อที่จะได้รับ
- และอย่าให้บิตคอยน์หมุนเวียนอยู่กับแต่ผู้มากมี
เนื้อหาบรรยายโดย Mu'aawiyah Tucker เรียบเรียงและแปลโดย Techin
-
@ 721be1b2:2cee7c6e
2024-10-17 10:21:00Nostr (short for "Notes and Other Stuff Transmitted by Relays") is a decentralised, censorship-resistant social network protocol designed for secure and private communication. It enables users to post notes and interact with others without relying on any centralised platform, unlike traditional social media platforms.
NIPs, or Nostr Implementation Possibilities, define the set of specifications or guidelines that clients and relays can follow to ensure the interoperability of all parts. This is the case with NIP-05, which defines an account verification mechanism by mapping Nostr public keys to DNS-based identifiers that resemble an email address.
Unlike the blue check mark on X.com, NIP-05 can be easily implemented by users for free. To get your account NIP-05 verified, you will need the following:
- Nostr public key in hex format
- Domain name that you own and manage (e.g., example.com)
- Nostr account name in an email-like format (e.g., johnnycage@example.com)
- Web server or a place to host a file from the domain name
For the Nostr public key in hexadecimal format, you can use the key converter tool at this link: https://damus.io/key/. Copy your user public key (npub) from your client and paste it in the link above to convert the key to hex format, i.e:
5c83da77af1dec6d7289834998ad7aafbd9e2191396d75ec3cc27f5a77226f36
Please note that some clients may not recognise your public key in hex format, and you may need to use your npub key instead.
Create a nostr.json file and paste the following: ``` { "names": { "johnnycage":"5c83da77af1dec6d7289834998ad7aafbd9e2191396d75ec3cc27f5a77226f36" } }
```
Upload the file to the web server and modify your DNS so your domain example.com is redirected to it. As a result, you should be able to access the file like this: https://example.com/.well-known/nostr.json
NIP-05 also defines how to handle CORS issues, since some Javascript based Nostr clients may be restricted by browser CORS policies, it is recommended to configure the web server to respond requests with the following header:
Access-Control-Allow-Origin: *
As a final step, go to your Nostr client and configure your Nostr address for verification. In the case of the Amethyst client, this is done under Profile -> Nostr Address -> johnnycage@example.com. Once validated, a checkmark symbol should appear next to your chosen Nostr address.
Keep in mind that not all nostr clients behave the same, so you will need to adjust these steps based on your client of choice.
For more information about NIP-05, head here: https://github.com/nostr-protocol/nips/blob/master/05.md
nostr #nip #grownostr #howto #blog
-
@ 5f550547:02612a84
2024-10-17 08:54:04Test Test Test ++Test++ ~~Test~~ * Test
- Test
Test
-
@ 8947a945:9bfcf626
2024-10-17 08:06:55สวัสดีทุกคนบน Nostr ครับ รวมไปถึง watchersและ ผู้ติดตามของผมจาก Deviantart และ platform งานศิลปะอื่นๆนะครับ
ตั้งแต่ต้นปี 2024 ผมใช้ AI เจนรูปงานตัวละครสาวๆจากอนิเมะ และเปิด exclusive content ให้สำหรับผู้ที่ชื่นชอบผลงานของผมเป็นพิเศษ
ผมโพสผลงานผมทั้งหมดไว้ที่เวบ Deviantart และค่อยๆสร้างฐานผู้ติดตามมาเรื่อยๆอย่างค่อยเป็นค่อยไปมาตลอดครับ ทุกอย่างเติบโตไปเรื่อยๆของมัน ส่วนตัวผมมองว่ามันเป็นพิร์ตธุรกิจออนไลน์ ของผมพอร์ตนึงได้เลย
เมื่อวันที่ 16 กย.2024 มีผู้ติดตามคนหนึ่งส่งข้อความส่วนตัวมาหาผม บอกว่าชื่นชอบผลงานของผมมาก ต้องการจะขอซื้อผลงาน แต่ขอซื้อเป็น NFT นะ เสนอราคาซื้อขายต่อชิ้นที่สูงมาก หลังจากนั้นผมกับผู้ซื้อคนนี้พูดคุยกันในเมล์ครับ
นี่คือข้อสรุปสั่นๆจากการต่อรองซื้อขายครับ
(หลังจากนี้ผมขอเรียกผู้ซื้อว่า scammer นะครับ เพราะไพ่มันหงายมาแล้ว ว่าเขาคือมิจฉาชีพ)
- Scammer รายแรก เลือกผลงานที่จะซื้อ เสนอราคาซื้อที่สูงมาก แต่ต้องเป็นเวบไซต์ NFTmarket place ที่เขากำหนดเท่านั้น มันทำงานอยู่บน ERC20 ผมเข้าไปดูเวบไซต์ที่ว่านี้แล้วรู้สึกว่ามันดูแปลกๆครับ คนที่จะลงขายผลงานจะต้องใช้ email ในการสมัครบัญชีซะก่อน ถึงจะผูก wallet อย่างเช่น metamask ได้ เมื่อผูก wallet แล้วไม่สามารถเปลี่ยนได้ด้วย ตอนนั้นผมใช้ wallet ที่ไม่ได้ link กับ HW wallet ไว้ ทดลองสลับ wallet ไปๆมาๆ มันทำไม่ได้ แถมลอง log out แล้ว เลข wallet ก็ยังคาอยู่อันเดิม อันนี้มันดูแปลกๆแล้วหนึ่งอย่าง เวบนี้ค่า ETH ในการ mint 0.15 - 0.2 ETH … ตีเป็นเงินบาทนี่แพงบรรลัยอยู่นะครับ
-
Scammer รายแรกพยายามชักจูงผม หว่านล้อมผมว่า แหม เดี๋ยวเขาก็มารับซื้องานผมน่า mint งานเสร็จ รีบบอกเขานะ เดี๋ยวเขารีบกดซื้อเลย พอขายได้กำไร ผมก็ได้ค่า gas คืนได้ แถมยังได้กำไรอีก ไม่มีอะไรต้องเสีนจริงมั้ย แต่มันเป้นความโชคดีครับ เพราะตอนนั้นผมไม่เหลือทุนสำรองที่จะมาซื้อ ETH ได้ ผมเลยต่อรองกับเขาตามนี้ครับ :
-
ผมเสนอว่า เอางี้มั้ย ผมส่งผลงานของผมแบบ low resolution ให้ก่อน แลกกับให้เขาช่วยโอน ETH ที่เป็นค่า mint งานมาให้หน่อย พอผมได้ ETH แล้ว ผมจะ upscale งานของผม แล้วเมล์ไปให้ ใจแลกใจกันไปเลย ... เขาไม่เอา
- ผมเสนอให้ไปซื้อที่ร้านค้าออนไลน์ buymeacoffee ของผมมั้ย จ่ายเป็น USD ... เขาไม่เอา
- ผมเสนอให้ซื้อขายผ่าน PPV lightning invoice ที่ผมมีสิทธิ์เข้าถึง เพราะเป็น creator ของ Creatr ... เขาไม่เอา
- ผมยอกเขาว่างั้นก็รอนะ รอเงินเดือนออก เขาบอก ok
สัปดาห์ถัดมา มี scammer คนที่สองติดต่อผมเข้ามา ใช้วิธีการใกล้เคียงกัน แต่ใช้คนละเวบ แถมเสนอราคาซื้อที่สูงกว่าคนแรกมาก เวบที่สองนี้เลวร้ายค่าเวบแรกอีกครับ คือต้องใช้เมล์สมัครบัญชี ไม่สามารถผูก metamask ได้ พอสมัครเสร็จจะได้ wallet เปล่าๆมาหนึ่งอัน ผมต้องโอน ETH เข้าไปใน wallet นั้นก่อน เพื่อเอาไปเป็นค่า mint NFT 0.2 ETH
ผมบอก scammer รายที่สองว่า ต้องรอนะ เพราะตอนนี้กำลังติดต่อซื้อขายอยู่กับผู้ซื้อรายแรกอยู่ ผมกำลังรอเงินเพื่อมาซื้อ ETH เป็นต้นทุนดำเนินงานอยู่ คนคนนี้ขอให้ผมส่งเวบแรกไปให้เขาดูหน่อย หลังจากนั้นไม่นานเขาเตือนผมมาว่าเวบแรกมันคือ scam นะ ไม่สามารถถอนเงินออกมาได้ เขายังส่งรูป cap หน้าจอที่คุยกับผู้เสียหายจากเวบแรกมาให้ดูว่าเจอปัญหาถอนเงินไม่ได้ ไม่พอ เขายังบลัฟ opensea ด้วยว่าลูกค้าขายงานได้ แต่ถอนเงินไม่ได้
Opensea ถอนเงินไม่ได้ ตรงนี้แหละครับคือตัวกระตุกต่อมเอ๊ะของผมดังมาก เพราะ opensea อ่ะ ผู้ใช้ connect wallet เข้ากับ marketplace โดยตรง ซื้อขายกันเกิดขึ้น เงินวิ่งเข้าวิ่งออก wallet ของแต่ละคนโดยตรงเลย opensea เก็บแค่ค่า fee ในการใช้ platform ไม่เก็บเงินลูกค้าไว้ แถมปีนี้ค่า gas fee ก็ถูกกว่า bull run cycle 2020 มาก ตอนนี้ค่า gas fee ประมาณ 0.0001 ETH (แต่มันก็แพงกว่า BTC อยู่ดีอ่ะครับ)
ผมเลยเอาเรื่องนี้ไปปรึกษาพี่บิท แต่แอดมินมาคุยกับผมแทน ทางแอดมินแจ้งว่ายังไม่เคยมีเพื่อนๆมาปรึกษาเรื่องนี้ กรณีที่ผมทักมาถามนี่เป็นรายแรกเลย แต่แอดมินให้ความเห็นไปในทางเดียวกับสมมุติฐานของผมว่าน่าจะ scam ในเวลาเดียวกับผมเอาเรื่องนี้ไปถามในเพจ NFT community คนไทนด้วย ได้รับการ confirm ชัดเจนว่า scam และมีคนไม่น้อยโดนหลอก หลังจากที่ผมรู้ที่มาแล้ว ผมเลยเล่นสงครามปั่นประสาท scammer ทั้งสองคนนี้ครับ เพื่อดูว่าหลอกหลวงมิจฉาชีพจริงมั้ย
โดยวันที่ 30 กย. ผมเลยปั่นประสาน scammer ทั้งสองรายนี้ โดยการ mint ผลงานที่เขาเสนอซื้อนั่นแหละ ขึ้น opensea แล้วส่งข้อความไปบอกว่า
mint ให้แล้วนะ แต่เงินไม่พอจริงๆว่ะโทษที เลย mint ขึ้น opensea แทน พอดีบ้านจน ทำได้แค่นี้ไปถึงแค่ opensea รีบไปซื้อล่ะ มีคนจ้องจะคว้างานผมเยอะอยู่ ผมไม่คิด royalty fee ด้วยนะเฮ้ย เอาไปขายต่อไม่ต้องแบ่งกำไรกับผม
เท่านั้นแหละครับ สงครามจิตวิทยาก็เริ่มขึ้น แต่เขาจนมุม กลืนน้ำลายตัวเอง ช็อตเด็ดคือ
เขา : เนี่ยอุส่ารอ บอกเพื่อนในทีมว่าวันจันทร์ที่ 30 กย. ได้ของแน่ๆ เพื่อนๆในทีมเห็นงานผมแล้วมันสวยจริง เลยใส่เงินเต็มที่ 9.3ETH (+ capture screen ส่งตัวเลขยอดเงินมาให้ดู)ไว้รอโดยเฉพาะเลยนะ ผม : เหรอ ... งั้น ขอดู wallet address ที่มี transaction มาให้ดูหน่อยสิ เขา : 2ETH นี่มัน 5000$ เลยนะ ผม : แล้วไง ขอดู wallet address ที่มีการเอายอดเงิน 9.3ETH มาให้ดูหน่อย ไหนบอกว่าเตรียมเงินไว้มากแล้วนี่ ขอดูหน่อย ว่าใส่ไว้เมื่อไหร่ ... เอามาแค่ adrress นะเว้ย ไม่ต้องทะลึ่งส่ง seed มาให้ เขา : ส่งรูปเดิม 9.3 ETH มาให้ดู ผม : รูป screenshot อ่ะ มันไม่มีความหมายหรอกเว้ย ตัดต่อเอาก็ได้ง่ายจะตาย เอา transaction hash มาดู ไหนว่าเตรียมเงินไว้รอ 9.3ETH แล้วอยากซื้องานผมจนตัวสั่นเลยไม่ใช่เหรอ ถ้าจะส่ง wallet address มาให้ดู หรือจะช่วยส่ง 0.15ETH มาให้ยืม mint งานก่อน แล้วมากดซื้อ 2ETH ไป แล้วผมใช้ 0.15ETH คืนให้ก็ได้ จะซื้อหรือไม่ซื้อเนี่ย เขา : จะเอา address เขาไปทำไม ผม : ตัดจบ รำคาญ ไม่ขายให้ละ เขา : 2ETH = 5000 USD เลยนะ ผม : แล้วไง
ผมเลยเขียนบทความนี้มาเตือนเพื่อนๆพี่ๆทุกคนครับ เผื่อใครกำลังเปิดพอร์ตทำธุรกิจขาย digital art online แล้วจะโชคดี เจอของดีแบบผม
ทำไมผมถึงมั่นใจว่ามันคือการหลอกหลวง แล้วคนโกงจะได้อะไร
อันดับแรกไปพิจารณาดู opensea ครับ เป็นเวบ NFTmarketplace ที่ volume การซื้อขายสูงที่สุด เขาไม่เก็บเงินของคนจะซื้อจะขายกันไว้กับตัวเอง เงินวิ่งเข้าวิ่งออก wallet ผู้ซื้อผู้ขายเลย ส่วนทางเวบเก็บค่าธรรมเนียมเท่านั้น แถมค่าธรรมเนียมก็ถูกกว่าเมื่อปี 2020 เยอะ ดังนั้นการที่จะไปลงขายงานบนเวบ NFT อื่นที่ค่า fee สูงกว่ากันเป็นร้อยเท่า ... จะทำไปทำไม
ผมเชื่อว่า scammer โกงเงินเจ้าของผลงานโดยการเล่นกับความโลภและความอ่อนประสบการณ์ของเจ้าของผลงานครับ เมื่อไหร่ก็ตามที่เจ้าของผลงานโอน ETH เข้าไปใน wallet เวบนั้นเมื่อไหร่ หรือเมื่อไหร่ก็ตามที่จ่ายค่า fee ในการ mint งาน เงินเหล่านั้นสิ่งเข้ากระเป๋า scammer ทันที แล้วก็จะมีการเล่นตุกติกต่อแน่นอนครับ เช่นถอนไม่ได้ หรือซื้อไม่ได้ ต้องโอนเงินมาเพิ่มเพื่อปลดล็อค smart contract อะไรก็ว่าไป แล้วคนนิสัยไม่ดีพวกเนี้ย ก็จะเล่นกับความโลภของคน เอาราคาเสนอซื้อที่สูงโคตรๆมาล่อ ... อันนี้ไม่ว่ากัน เพราะบนโลก NFT รูปภาพบางรูปที่ไม่ได้มีความเป็นศิลปะอะไรเลย มันดันขายกันได้ 100 - 150 ETH ศิลปินที่พยายามสร้างตัวก็อาจจะมองว่า ผลงานเรามีคนรับซื้อ 2 - 4 ETH ต่องานมันก็มากพอแล้ว (จริงๆมากเกินจนน่าตกใจด้วยซ้ำครับ)
บนโลกของ BTC ไม่ต้องเชื่อใจกัน โอนเงินไปหากันได้ ปิดสมุดบัญชีได้โดยไม่ต้องเชื่อใจกัน
บบโลกของ ETH "code is law" smart contract มีเขียนอยู่แล้ว ไปอ่าน มันไม่ได้ยากมากในการทำความเข้าใจ ดังนั้น การจะมาเชื่อคำสัญญาจากคนด้วยกัน เป็นอะไรที่ไม่มีเหตุผล
ผมไปเล่าเรื่องเหล่านี้ให้กับ community งานศิลปะ ก็มีทั้งเสียงตอบรับที่ดี และไม่ดีปนกันไป มีบางคนยืนยันเสียงแข็งไปในทำนองว่า ไอ้เรื่องแบบเนี้ยไม่ได้กินเขาหรอก เพราะเขาตั้งใจแน่วแน่ว่างานศิลป์ของเขา เขาไม่เอาเข้ามายุ่งในโลก digital currency เด็ดขาด ซึ่งผมก็เคารพมุมมองเขาครับ แต่มันจะดีกว่ามั้ย ถ้าเราเปิดหูเปิดตาให้ทันเทคโนโลยี โดยเฉพาะเรื่อง digital currency , blockchain โดนโกงทีนึงนี่คือหมดตัวกันง่ายกว่าเงิน fiat อีก
อยากจะมาเล่าให้ฟังครับ และอยากให้ช่วยแชร์ไปให้คนรู้จักด้วย จะได้ระวังตัวกัน
Note
- ภาพประกอบ cyber security ทั้งสองนี่ของผมเองครับ ทำเอง วางขายบน AdobeStock
- อีกบัญชีนึงของผม "HikariHarmony" npub1exdtszhpw3ep643p9z8pahkw8zw00xa9pesf0u4txyyfqvthwapqwh48sw กำลังค่อยๆเอาผลงานจากโลกข้างนอกเข้ามา nostr ครับ ตั้งใจจะมาสร้างงานศิลปะในนี้ เพื่อนๆที่ชอบงาน จะได้ไม่ต้องออกไปหาที่ไหน
ผลงานของผมครับ - Anime girl fanarts : HikariHarmony - HikariHarmony on Nostr - General art : KeshikiRakuen - KeshikiRakuen อาจจะเป็นบัญชี nostr ที่สามของผม ถ้าไหวครับ
-
@ 8947a945:9bfcf626
2024-10-17 07:33:00Hello everyone on Nostr and all my watchersand followersfrom DeviantArt, as well as those from other art platforms
I have been creating and sharing AI-generated anime girl fanart since the beginning of 2024 and have been running member-exclusive content on Patreon.
I also publish showcases of my artworks to Deviantart. I organically build up my audience from time to time. I consider it as one of my online businesses of art. Everything is slowly growing
On September 16, I received a DM from someone expressing interest in purchasing my art in NFT format and offering a very high price for each piece. We later continued the conversation via email.
Here’s a brief overview of what happened
- The first scammer selected the art they wanted to buy and offered a high price for each piece. They provided a URL to an NFT marketplace site running on the Ethereum (ETH) mainnet or ERC20. The site appeared suspicious, requiring email sign-up and linking a MetaMask wallet. However, I couldn't change the wallet address later. The minting gas fees were quite expensive, ranging from 0.15 to 0.2 ETH
-
The scammers tried to convince me that the high profits would easily cover the minting gas fees, so I had nothing to lose. Luckily, I didn’t have spare funds to purchase ETH for the gas fees at the time, so I tried negotiating with them as follows:
-
I offered to send them a lower-quality version of my art via email in exchange for the minting gas fees, but they refused.
- I offered them the option to pay in USD through Buy Me a Coffee shop here, but they refused.
- I offered them the option to pay via Bitcoin using the Lightning Network invoice , but they refused.
- I asked them to wait until I could secure the funds, and they agreed to wait.
The following week, a second scammer approached me with a similar offer, this time at an even higher price and through a different NFT marketplace website.
This second site also required email registration, and after navigating to the dashboard, it asked for a minting fee of 0.2 ETH. However, the site provided a wallet address for me instead of connecting a MetaMask wallet.
I told the second scammer that I was waiting to make a profit from the first sale, and they asked me to show them the first marketplace. They then warned me that the first site was a scam and even sent screenshots of victims, including one from OpenSea saying that Opensea is not paying.
This raised a red flag, and I began suspecting I might be getting scammed. On OpenSea, funds go directly to users' wallets after transactions, and OpenSea charges a much lower platform fee compared to the previous crypto bull run in 2020. Minting fees on OpenSea are also significantly cheaper, around 0.0001 ETH per transaction.
I also consulted with Thai NFT artist communities and the ex-chairman of the Thai Digital Asset Association. According to them, no one had reported similar issues, but they agreed it seemed like a scam.
After confirming my suspicions with my own research and consulting with the Thai crypto community, I decided to test the scammers’ intentions by doing the following
I minted the artwork they were interested in, set the price they offered, and listed it for sale on OpenSea. I then messaged them, letting them know the art was available and ready to purchase, with no royalty fees if they wanted to resell it.
They became upset and angry, insisting I mint the art on their chosen platform, claiming they had already funded their wallet to support me. When I asked for proof of their wallet address and transactions, they couldn't provide any evidence that they had enough funds.
Here’s what I want to warn all artists in the DeviantArt community or other platforms If you find yourself in a similar situation, be aware that scammers may be targeting you.
My Perspective why I Believe This is a Scam and What the Scammers Gain
From my experience with BTC and crypto since 2017, here's why I believe this situation is a scam, and what the scammers aim to achieve
First, looking at OpenSea, the largest NFT marketplace on the ERC20 network, they do not hold users' funds. Instead, funds from transactions go directly to users’ wallets. OpenSea’s platform fees are also much lower now compared to the crypto bull run in 2020. This alone raises suspicion about the legitimacy of other marketplaces requiring significantly higher fees.
I believe the scammers' tactic is to lure artists into paying these exorbitant minting fees, which go directly into the scammers' wallets. They convince the artists by promising to purchase the art at a higher price, making it seem like there's no risk involved. In reality, the artist has already lost by paying the minting fee, and no purchase is ever made.
In the world of Bitcoin (BTC), the principle is "Trust no one" and “Trustless finality of transactions” In other words, transactions are secure and final without needing trust in a third party.
In the world of Ethereum (ETH), the philosophy is "Code is law" where everything is governed by smart contracts deployed on the blockchain. These contracts are transparent, and even basic code can be read and understood. Promises made by people don’t override what the code says.
I also discuss this issue with art communities. Some people have strongly expressed to me that they want nothing to do with crypto as part of their art process. I completely respect that stance.
However, I believe it's wise to keep your eyes open, have some skin in the game, and not fall into scammers’ traps. Understanding the basics of crypto and NFTs can help protect you from these kinds of schemes.
If you found this article helpful, please share it with your fellow artists.
Until next time Take care
Note
- Both cyber security images are mine , I created and approved by AdobeStock to put on sale
- I'm working very hard to bring all my digital arts into Nostr to build my Sats business here to my another npub "HikariHarmony" npub1exdtszhpw3ep643p9z8pahkw8zw00xa9pesf0u4txyyfqvthwapqwh48sw
Link to my full gallery - Anime girl fanarts : HikariHarmony - HikariHarmony on Nostr - General art : KeshikiRakuen
-
@ 6aa0e5a8:f1677da5
2024-10-17 06:49:02Das Aufkommen von Sexpuppen stellt zweifellos eine große Herausforderung für das menschliche Konzept von Intimität dar und wirft eine Reihe von philosophischen und ethischen Fragen auf. Sie scheint unser traditionelles Verständnis vom Wesen der Intimität auf den Kopf zu stellen und wirft eine Reihe von philosophischen und ethischen Fragen auf.
Traditionell wurde Intimität als eine einzigartige Verbindung zwischen Menschen betrachtet, die auf gegenseitigem Verständnis, Vertrauen und emotionaler Bindung beruht. Sie impliziert einen wechselseitigen Austausch, Kommunikation und ein inhärentes Bedürfnis nach Empathie. Der intimen Beziehung zwischen Menschen und real sex doll fehlt jedoch offensichtlich diese wechselseitige emotionale Bindung und geistige Ebene. Sexpuppen können die innere Welt des Menschen nicht wirklich verstehen, und was sie bieten, ist nur eine äußere, oberflächliche und einseitige intime Erfahrung.
Daher wird die Auffassung vertreten, dass die intime Beziehung zwischen Sexpuppen und Menschen nur eine Art anthropomorphe Scheinbeziehung ist, die die intimen Bedürfnisse der Menschen auf der geistigen und emotionalen Ebene nicht befriedigen kann und die Entfremdung zwischenmenschlicher Beziehungen und die Selbstisolierung des Einzelnen sogar noch verstärken kann. Unter diesem Gesichtspunkt scheinen lebensgroße Sexpuppe die Intimität auf eine rein physische und utilitaristische Ebene zu reduzieren, was eine Verzerrung des Wesens der Intimität und der Grenzüberschreitung darstellt.
Es gibt jedoch auch die Ansicht, dass das Wesen der Intimität nicht statisch ist, sondern sich mit dem Wandel der Zeit und dem Fortschritt der Technologie ständig weiterentwickelt. Auch wenn Sexpuppen keine echte wechselseitige emotionale Verbindung herstellen können, erfüllen sie doch bestimmte Bedürfnisse des Menschen, wie z. B. die Verringerung der Einsamkeit, die Wiederherstellung des sexuellen Selbstbewusstseins und den Erhalt von physischem und psychischem Komfort. Daher kann Intimität, die auf Eigeninteresse beruht, auch als Ausdruck von Intimität betrachtet werden. Dies erweitert und bereichert die Bedeutung und Ausdehnung von Intimität.
Manche meinen sogar, wenn sich die Technologie der künstlichen Intelligenz so weit entwickelt, dass sie in Zukunft die menschliche Natur in hohem Maße simulieren kann und sex puppe die Fähigkeit zu autonomem Denken und aufrichtigen Gefühlen erlangen, kann dann die intime Beziehung zwischen ihr und den Menschen als echte intime Beziehung angesehen werden? Die Definition von Intimität muss dann möglicherweise neu überdacht werden.
Günstige sexpuppe, auch wenn sie klein sind, eröffnen eine neue Perspektive auf das seit langem bestehende Konzept der Intimität und haben viele interessante und tiefgreifende Überlegungen ausgelöst. Wir müssen die Veränderungen, die die Technologie für das menschliche Leben mit sich bringt, aus einer umfassenden Perspektive betrachten, eine offene und tolerante Haltung bewahren und die Bedeutung und die Grenzen von Intimität und die Natur des Menschen in einem rationalen Diskurs ständig neu untersuchen und definieren. Diese Art des kontinuierlichen Denkens und Umgestaltens wird uns voranbringen.
-
@ 4ba8e86d:89d32de4
2024-10-17 03:43:26Distribuição segura do Linux de código aberto
O sistema operacional Linux Kodachi é baseado no Ubuntu 18.04.5 LTS, ele fornecerá a você um sistema operacional seguro, anti-forense e anônimo, considerando todos os recursos que uma pessoa preocupada com a privacidade precisa ter para estar segura.
O Kodachi é muito fácil de usar, tudo o que você precisa fazer é inicializá-lo no seu PC via unidade USB, então você deve ter um sistema operacional totalmente em execução com conexão VPN estabelecida + conexão Tor estabelecida + serviço DNScrypt em execução. Nenhuma configuração ou conhecimento de Linux é necessário de sua parte, nós fazemos tudo para você. Todo o sistema operacional funciona a partir de sua memória RAM temporária, portanto, depois de desligá-lo, nenhum vestígio é deixado para trás, todas as suas atividades são apagadas.
Kodachi é um sistema operacional ao vivo, que você pode iniciar em quase qualquer computador a partir de um DVD, pendrive ou cartão SD. Destina-se a preservar a sua privacidade e anonimato.
Características
Pronto para VPN
Tor Ready com seleção de nó de saída
DNScrypt pronto
Onion Circuits/Onion share
i2p
GNUNET
Carteira multimoeda Exodus
Rkhhunter
Guardião de Pares
Sala do pânico
Bleachbit
Átomo
audibilidade
Zulucrypt
Informações de sistema e segurança na área de trabalho
Wipe Ram
Limpe o espaço livre
Mate o sistema operacional!
Nautilus-wipe
Keepass2x
cavalo marinho
Gpa
Gnupg2Name
Enigmail
gufw
prisão de fogo
geany
Krusader
fundir
Obturador
Htop
Zulumount
FileZillaName
Exterminador do Futuro
Transmissão
Caixa Virtual
Syslinux-utils
Smbclient
dispersar
Fcitx
Ibus
pidgin
Coim
Anel
Sinal
Geoip-bin
Cais do Cairo
pcmanfm
Nmap
Xtrlock
Ncdu
Gksu
Sysv-rc-conf
Rdesktop
GnomeNettoolGenericName
Sinal
GResolver
OpenShot
Icedove
SiriKali
Denyhosts
Steghide
navegador da web Chromium
Gdebi
Comandante Gnomo
Visualizadores de imagens de luz Blender Viewnior e Risrtto
barulhento
Iridium-browser
raposa d'água
sincronizando
carteira jaxx
bomba nuclear
persistência
https://sourceforge.net/projects/linuxkodachi/
https://www.youtube.com/live/gCHjRQOTZmQ?feature=share
-
@ 4ba8e86d:89d32de4
2024-10-17 03:29:13O MuPDF é uma biblioteca de software leve e de código aberto que oferece recursos avançados de visualização e manipulação de documentos. Desenvolvido pela Artifex Software, o MuPDF foi projetado para ser rápido, eficiente e altamente portátil, tornando-se uma escolha popular para aplicativos que exigem recursos avançados de renderização de documentos.
A história do MuPDF remonta ao ano de 2005, quando a Artifex Software iniciou o desenvolvimento dessa biblioteca para atender à necessidade de visualização rápida e eficiente de documentos em dispositivos com recursos limitados. Desde então, o MuPDF tem sido constantemente aprimorado e aperfeiçoado, ganhando reconhecimento por sua capacidade de processar e exibir uma variedade de formatos de documento de maneira eficiente.
Uma das principais características do MuPDF é sua arquitetura modular. Ele foi projetado para ser flexível e adaptável, permitindo que os desenvolvedores integrem facilmente seus recursos em seus próprios aplicativos. O MuPDF suporta uma variedade de formatos de documento, incluindo PDF, XPS, EPUB, CBZ, e mais. Essa versatilidade garante que os usuários possam visualizar e interagir com diferentes tipos de documentos de forma conveniente e eficiente.
Em termos de funcionalidade, o MuPDF oferece recursos avançados de renderização, permitindo uma visualização precisa e de alta qualidade de documentos. Ele suporta recursos como zoom, rotação, navegação por páginas e pesquisa de texto, oferecendo uma experiência de visualização interativa e intuitiva. Além disso, o MuPDF permite a extração de texto e imagens de documentos, facilitando a manipulação e o processamento de conteúdo.
Uma das vantagens do MuPDF é sua eficiência. Ele foi projetado para ter um desempenho rápido e usar poucos recursos do sistema, tornando-o ideal para dispositivos com capacidades limitadas, como smartphones ou tablets. Sua arquitetura otimizada garante uma inicialização rápida e uma resposta ágil às interações do usuário, proporcionando uma experiência de visualização de documentos suave e sem interrupções.
O MuPDF também é altamente customizável e extensível. Os desenvolvedores têm a liberdade de personalizar a interface e adicionar recursos específicos de acordo com as necessidades de seus aplicativos. Isso permite uma integração perfeita do MuPDF em diferentes contextos e cenários, tornando-o uma escolha versátil para uma ampla gama de aplicativos.
Uma das principais questões que o MuPDF resolve é a visualização eficiente de documentos em dispositivos com recursos limitados. Sua arquitetura leve e otimizada permite que dispositivos com baixa capacidade de processamento e memória possam exibir documentos de maneira rápida e eficiente. Isso é especialmente importante em um mundo onde os dispositivos móveis desempenham um papel central e a capacidade de visualizar documentos em movimento é fundamental.
Para os usuários, o MuPDF oferece uma solução confiável e eficiente para visualizar, interagir e manipular documentos. Seja lendo um livro eletrônico, revisando um contrato em formato PDF ou navegando por uma revista digital, o MuPDF fornece uma experiência de visualização suave e de alta qualidade. Sua capacidade de lidar com diferentes formatos de documento e sua eficiência em dispositivos com recursos limitados o tornam uma escolha valiosa para quem busca uma solução de visualização de documentos confiável e de alto desempenho.
O MuPDF é uma biblioteca de software que oferece recursos avançados de visualização e manipulação de documentos. Com sua arquitetura modular, eficiência, customização e suporte a vários formatos de documento, o MuPDF se destaca como uma solução poderosa para atender às necessidades de visualização de documentos em diferentes contextos e dispositivos. Seja para desenvolvedores que desejam integrar recursos de visualização em seus aplicativos ou para usuários que procuram uma experiência de visualização de documentos confiável e eficiente, o MuPDF é uma escolha sólida.
https://mupdf.com/
https://github.com/ArtifexSoftware/mupdf
-
@ 4ba8e86d:89d32de4
2024-10-17 03:25:16Com uma interface intuitiva e poderosa, o Librera torna a experiência de leitura de e-books verdadeiramente agradável.
Algumas características principais do Librera incluem: - Descoberta fácil de documentos através de critérios configuráveis, incluindo verificação automática de pastas predefinidas e navegação com um explorador de arquivos no aplicativo. - Visualização de documentos recentes com indicador de progresso de leitura. - Suporte para marcadores, anotações e índices EPUB3. - Conexão com nuvens e catálogos online, e sincronização entre dispositivos Android via Google Drive para progresso de leitura e favoritos. - Modos dia e noite configuráveis, incluindo cor de link personalizável para notas de rodapé e notas finais. - Suporte para dicionários populares online e offline, bloqueio de rolagem vertical e centralização automática e manual de documentos. - Possibilidade de inserir código CSS personalizado, visualização de página única de documentos de duas páginas e modo de músico com velocidade de rolagem ajustável. - Leitura TTS personalizável e reprodutor de mídia integrado, pesquisa de texto com várias palavras e conversão de documentos online. - Leitura de documentos arquivados (.zip) e suporte para idiomas RTL (tailandês, hebraico, árabe, etc.). - Importação e exportação de configurações, backup automático da sessão atual e iniciais principais em documentos FB2.
Com o Librera Reader, é fácil criar bibliotecas auto-mantidas de documentos, selecionando os formatos a serem incluídos e as pastas a serem digitalizadas. A biblioteca pode ser visualizada em forma de lista ou grade, com capas de miniaturas ajustáveis e descrições detalhadas para identificação dos documentos. A organização da biblioteca pode ser feita por caminho, nome, tamanho, data, etc., e um filtro auxilia na busca por documentos específicos ou grupos. Durante a leitura, os documentos podem ser bloqueados em modo de rolagem vertical e navegados por página ou tela. É possível reformatar o texto e fazer anotações, além de personalizar fontes e fundos através das configurações. Trechos selecionados podem ser traduzidos, compartilhados, copiados e pesquisados dentro do próprio documento ou na Internet.
https://github.com/foobnix/LibreraReader
https://f-droid.org/pt_BR/packages/com.foobnix.pro.pdf.reader/
-
@ bad87238:1e92a734
2024-10-17 03:03:36Opinion about Kanga Wallet (iphone)
Caution should be exercised when dealing with investment firms , as i unfortunately experienced a significant loss with an online investment company . With the assistance of Againstcon. com , i was able to successfully track and recover my funds . Their intervention was pivotal in resolving the situation effectively
WalletScrutiny #nostrOpinion
-
@ a012dc82:6458a70d
2024-10-17 01:30:04Table Of Content
-
Whales and Sharks: The Big Players in the Crypto Ocean
-
June's Close: A Bullish Signal
-
Data-Driven Predictions: The Role of Crypto Intelligence
-
Whale Holdings: Keeping the Selling Pressure at Bay
-
Historical Trends: July as a Profitable Month
-
Conclusion
-
FAQ
The cryptocurrency market is a dynamic and rapidly evolving space, with Bitcoin (BTC) at its forefront. One of the key factors influencing the market's trajectory is the activity of large-scale investors, often referred to as 'whales' and 'sharks.' These entities hold substantial volumes of digital assets, and their investment decisions can significantly sway market trends. Recently, these influential players have been doubling down on their Bitcoin investments, particularly as June 2023 drew to a close with BTC valued at an impressive $30,469. This article aims to explore this trend in detail, examining the potential implications for Bitcoin's future and the broader cryptocurrency market.
Whales and Sharks: The Big Players in the Crypto Ocean
In the vast and diverse ocean of cryptocurrencies, whales and sharks are the entities that hold large volumes of digital assets. Their actions, whether buying or selling, often have a substantial impact on the market, influencing price trends and investor sentiment. Over the past seven weeks, these large wallet investors have shown a strong appetite for Bitcoin, accumulating an impressive 154,500 BTC. The pace of this accumulation has notably picked up in the last two weeks. These investors have been capitalizing on market dips to increase their holdings, a strategy often referred to as 'buying the dip.' This trend suggests a strong confidence in Bitcoin's potential and could have significant implications for its future price trajectory.
June's Close: A Bullish Signal
June 2023 proved to be a significant month for Bitcoin, with the cryptocurrency closing at $30,469. This figure represents the highest monthly close for Bitcoin in the past thirteen months, a noteworthy milestone given the asset's volatility. This bullish signal has sparked optimism among investors and analysts alike, fueling a thesis for a potential recovery and upward trend for Bitcoin in the coming months. If this prediction holds true, it could mark a turning point for Bitcoin, potentially leading to increased investor interest and further price appreciation.
Data-Driven Predictions: The Role of Crypto Intelligence
In the complex and often opaque world of cryptocurrencies, crypto intelligence platforms like Santiment play a crucial role. These platforms track and analyze market trends, providing valuable insights into the behavior of large-scale investors and the overall market dynamics. According to Santiment's data, Bitcoin's whale and shark addresses accumulated a staggering 154,500 BTC within a seven-week period between April 2023 and the time of writing. The acceleration of Bitcoin accumulation in the past two weeks suggests a strong confidence in the asset's potential for recovery. This data-driven insight provides a valuable perspective on the market sentiment and could be a key indicator of Bitcoin's future performance.
Whale Holdings: Keeping the Selling Pressure at Bay
One of the intriguing aspects of the Bitcoin market is the concentration of holdings among whales. Bitcoin whale wallets, those holding between 10 and 10,000 tokens, now control 67% of the total supply of the asset. This concentration of holdings can be seen as a positive sign for Bitcoin. By holding onto a significant portion of the supply, whales reduce the selling pressure on the asset. This can create a more stable environment for price growth, as it reduces the likelihood of sudden price drops due to large-scale sell-offs. This dynamic could increase the potential for a recovery in Bitcoin's price and contribute to its long-term stability.
Historical Trends: July as a Profitable Month
Historical trends can often provide valuable insights into potential future market trends. For Bitcoin, the month of July has consistently proven to be profitable for holders over the last three years. This trend, coupled with the recent surge in whale accumulation, suggests that Bitcoin's price may recover from recent market fluctuations. These include the impact of the SEC's crackdown on crypto exchanges and increased regulatory scrutiny. If this trend continues, July could once again prove to be a profitable month for Bitcoin investors, potentially marking the start of a new upward trend.
Conclusion
The recent actions of Bitcoin whales and sharks, coupled with historical trends and market data, paint a promising picture for Bitcoin's future. The significant accumulation of BTC, the highest monthly close in over a year, and the potential for a profitable July all point towards a positive outlook for the asset. However, as with all investments, these trends should not be taken as definitive predictions. Market dynamics are subject to change, and investors should always conduct thorough research and consider various factors before making investment decisions. The world of cryptocurrencies is as exciting as it is unpredictable, and the actions of Bitcoin whales and sharks will continue to be a critical aspect to watch in the unfolding narrative of this digital asset.
FAQ
Who are Bitcoin whales and sharks? Bitcoin whales and sharks are large-scale investors who hold substantial volumes of Bitcoin. Their investment activities can significantly influence market trends.
What has been the recent trend among Bitcoin whales and sharks? Over the past seven weeks, Bitcoin whales and sharks have doubled down on their investments, accumulating 154,500 BTC, especially as June ended with BTC valued at $30,469.
What does June's closing value signify for Bitcoin? June 2023 closed with Bitcoin valued at $30,469, the highest monthly close in the past thirteen months. This has sparked optimism for a potential recovery and upward trend for Bitcoin.
What percentage of Bitcoin's total supply do whale wallets control? Bitcoin whale wallets, those holding between 10 and 10,000 tokens, now control 67% of the total supply of the asset.
That's all for today
If you want more, be sure to follow us on:
NOSTR: croxroad@getalby.com
Instagram: @croxroadnews.co
Youtube: @croxroadnews
Store: https://croxroad.store
Subscribe to CROX ROAD Bitcoin Only Daily Newsletter
https://www.croxroad.co/subscribe
DISCLAIMER: None of this is financial advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. Please be careful and do your own research.
-
-
@ bcea2b98:7ccef3c9
2024-10-16 21:33:15When people talk about financial freedom, they often focus on investing, saving, or building wealth. But sometimes, the most valuable skills or habits are the ones that aren’t talked about enough. Maybe it’s discipline, emotional resilience, or even something unexpected like negotiation or patience.
What do you think is the most underrated skill or habit for achieving real financial independence?
For me, the most underrated skill is delayed gratification. It’s not just about resisting the urge to spend money now, it’s about thinking long-term in everything you do. When I first started learning about Bitcoin and freedom, I realized that the biggest hurdle wasn’t just making money, but knowing when to hold off on spending it for the right opportunities.
originally posted at https://stacker.news/items/727313
-
@ 6bae33c8:607272e8
2024-10-16 12:24:50I went 4-1 last week, but it’s just the beginning of digging out of a deep hole, so I’m not gonna get excited about it just yet.
Broncos at Saints — I’d say Broncos -2. Feels like a Saints bet at home with the short week, but I won’t use it.
Patriots vs Jaguars (London) — Think I saw this line was 5.5 or something. That seems big, but Jaguars are probably a hold-your-nose-and-buy-low.
Seahawks at Falcons — Think I saw this was 2.5. I kind of like the Falcons but the Seahawks are the buy-low.
Titans at Bills — Amari Cooper is just what the Bills needed. I don’t see the point in the Titans. I’ll say 10 and if anything would lay the wood.
Bengals at Browns — Maybe Bengals -3.5, and you’d take the Browns as a buy-low in division, but I can’t.
Texans at Packers — Texans +2.5 and probably take the Packers at home. The Texans offense is too slow.
Dolphins at Colts — Dolphins +4, probably take the Colts, though it’s unclear who the QB will be.
Lions at Vikings — Make it Lions +2, but the loss of Aidan Hutchinson really hurts. I’d probably take the Lions still.
Eagles at Giants — I’ll say Eagles -3 with Andrew Thomas out. And who knows about Malik Nabers with the lingering concussion? The Giants are playing better though. Pass.
Raiders at Rams — I’ll say Raiders plus 3.5. Probably take the Raiders if pressed, but pass.
Panthers at Indigenous Peoples — Maybe 8.5, would probably take the Panthers.
Chiefs at 49ers — Think I saw the 49ers were slight favorites. I’ll make it Chiefs +2, take the 49ers.
Jets at Steelers — I’d make it a pick’em and probably take the Jets. Not because of Davante Adams, but Russell Wilson if he starts.
Ravens at Buccaneers — Let’s say Ravens -3. I’d probably lay the wood in that case too.
Chargers at Cardinals — What’s wrong with Kyler Murray? I’ll say Chargers minus 2.5 and maybe hold my nose with the Cardinals.
-
@ 59df1288:92e1744f
2024-10-16 08:00:21Hey Rabble, brace yourself for a whirlwind tour of Nostr's latest gabfest! From the quiet musings of our "Public Square" turning into a cozy campfire chat, to the hilariously oddball "#toiletchain" saga, the platform's been nothing if not entertaining. Meanwhile, passionate debates over Musk's Twitter antics and the timeless charm of a 3-minute scroll session keep everyone on their toes. It's a riotous mix of tech talk, light-hearted banter, and nostalgic tunes, sprinkled with a dash of rust in Minecraft—tonight's episode is not to be missed! Dive in, and remember: in Nostr-land, chaos is where the fun begins.
Quiet Nostr Vibes 📉
Hey, so our buddy 7fqx kicked off a super chill thread wondering why Nostr's been so hush-hush lately. Everyone seems to agree it's quieter than usual, with Sedd chiming in with a simple, "It is."
nielliesmons joked about turning the Nostr feed into a cozy community chat, while npub1f9kn3a5cv4fsq2x86gfrznfuumtqtu6j3fkyqg9qvlymt0zflvfsn3v9fa insisted it’s not as quiet as it seems. The whole convo turned into a laugh about "reply guys" and how it feels like a dev chat sometimes. captain ☦️ threw in a rebellious "delete Twitter!" moment, but 7fqx was like, "Nah, Twitter still has its gems."
Catch up with the banter and check out the full convo here.
Twitter vs Nostr Showdown 🥊
7fqx echoed some thoughts about how even their sneaky Twitter lurking is feeling the quiet blues. captain ☦️, ever the rebel, says to "delete Twitter!" 🤭 But 7fqx is keeping it chill, mentioning they follow around 200 peeps so they still find plenty of action, even in a quick "15 min" or let's be real, more like "3 min" scroll session. 😂
Catch this mellow chat right here.
Musk, Nitter and the Great RSS Debate
So, captain ☦️ kicked things off wondering if Nitter could still be a thing. But 7fqx quickly snuffed that out, saying Nitter's not working anymore. 😢 The chat turned into chatter about making RSS feeds from Twitter accounts, with captain ☦️ throwing some shade at Mr. Musk, quipping, "Musk won't let us have nice things." 😂
Check out the full convo here.
The Fiatjaf Chronicles: Old Alliances and New Concerns
melvincarvalho is spilling the tea about their long history with Fiatjaf, praising some of his past brilliance but worried about his new vibes around censorship and centralization—ya know, the stuff that makes the OGs a bit uneasy.
npub1u8r69esh5r7jt29nj9ufmz4yvuwp6cwl5xqp4e3d46vl8wla5smsexjcky chimed in with some serious talk about dealing with nasty stuff like CP on the network or risk the place getting shut down. Meanwhile, npub192klhzk86sav5mgkfmveyjq50ygqfqnfvq0lvr2yv0zdtvatlhxskg43u7 is side-eyeing the decision to air this publicly rather than DMing like, "Isn't this a private convo kinda deal?"
npub1c80wmfpzc7dkghh93kxtrwpe5gdztynvnk2vy93ge68zmzwrm0yqq5h5s7 was like, "Hey, just saying the obvious—keeping everything forever is a disaster waiting to happen," while npub1snw24avwcuz9w672t3wt5jhj82xfd0ynz0ylum90sez9tg4k0u9s4jwee3 is all, "Why ditch privacy, bro?"
Check out the full convo here.
Nostr Drama and Hot Takes 🎭
The convo heated up with npub1m2u4v2jtz4np0y3lk2anr4vm4vr4l7jlr7y94qglhfrgewsczchqg6y2gl bringing some real talk about how it feels like everything's being pushed artificially. They emphasized the fear tactics being used, highlighting their clear stance in the mix!
Quick Flick Opinions 🎬
zach is on a movie binge with "There Will Be Blood", and everyone's chiming in! sophiaw1926 can't get enough of Daniel Day-Lewis, while Mister G 😎♻️ 🚛 🍏 🗽 🥾 🌆 ⚡ had a laugh about the relentless quest for oil. Classic flick talk with a sprinkle of humor!
Check out the full convo here
Print's Swan Song 📰
roya ୨୧ brought up a heartfelt topic about the end of an era with print media. Some mournful vibes with npub1mhe7uv6m6faes325wsmwygp2mtw6gdylqxp8gak4zgy374qx6hxsxwwzcz mentioning the last pony express rider's retirement! A true throwback moment.
Check out the full convo here
Scrolling Adventures 📱
7fqx is all about condensing Twitter into a 3-minute browse! captain ☦️ threw a shade towards Musk for not letting us enjoy the simple things like Nitter, sparking a mix of innovation and nostalgia.
Check out the full convo here
🎵 Nostalgic Tunes and Lost Soundscapes 🎶
So, walker is feeling all sorts of emotional about #tunestr and shared a throwback video that got the convo buzzing! 🎶 npub1gk76j57d8w3x8dudj4wllvdke6u7kcqd20j6cwuawkqa90q72x8qqw5nqq reminisced about discovering these jams through Stubz the Zombie, which, let's be honest, might be the coolest way to find new music. Meanwhile, npub1qs5ft8k8lznjkl7yym36707fsxjv3dnxnfpm4j64xrdwkn8tw0sqcfp27v chimed in with some deep thoughts on how everything's gone downhill since "Subversion and Degeneration". On a lighter note, ltngstore just gave a ✨ shoutout to The Chordettes. Classic! Check out the full convo here.
🛠️ Rust-y Pixels in Minecraft Land 🧩
iefan 🕊️ hit us with some mind-blowing updates about a Minecraft server built in Rust, boasting crazy CPU and RAM performance! 🤯 localhost couldn’t contain their excitement and suggested we "rebuild it all in Rust", adding a bunch of laugh emojis for good measure. 😂 iefan 🕊️ dropped a link to some epic benchmarks, while npub1h29aysw658hzgzh523t8zrw6jc72qnjgz045regl7k3htklu5s4qcqjkze stirred the pot by commenting on the Rust community's vibe. Classic tech banter! Check out the full convo here.
📣 Always Listening but Not Always Understanding 🎧
Sebastix dropped a simple yet intriguing "I'm always listening". But npub1f9kn3a5cv4fsq2x86gfrznfuumtqtu6j3fkyqg9qvlymt0zflvfsn3v9fa wasn't having it, calling out the authenticity of that statement. 🤔 They also threw in some cryptic musings about Cathrine and intelligence, complete with a martial arts emoji for effect. Sounds like there's more to this story! 🥋 Check out the full convo here.
🤫 Quiet Revolution in the Public Square 🎙️
nielliesmons brought the sass with a post about the evolving "Public Square" vibes. They joked about how things might get so low-key that we’d just chat directly in the feed, throwing some shade at "Twitter-clone maxis". 😉 No major interactions yet, but this one's bound to stir up some laughs and debates soon. Check out the full convo here.
🎉 #Toiletchain Chronicles 😂
So, 7fqx started things off with a cheeky "#toiletchain!" post. It's the kind of randomness we all love, right? Silberengel threw in their own twist, clarifying they were talking about computer logs, but made it hilarious with a little "okay" 😂, while npub1mc20uche0cy599vpl850aschpu7wteundgsnf0msep79lu3fu5aq3r4ptv chimed in with "#poopstr" and even dropped a bowel movement emoji with an image link. Gotta love a good poop joke, right? 💩
Check out the full convo here
🤔 Presidential Ponderings
Karnage was musing about the title "presidential candidate" vs. "President Trump." You know, the little things people get hung up on. npub1m2u4v2jtz4np0y3lk2anr4vm4vr4l7jlr7y94qglhfrgewsczchqg6y2gl suggested we just call it "presdent" 😂, trying to keep it light. But then npub1ncavrt6e38e94c6desg9tllzer0jey30rlh8whjtkpl9tcvvc8vs9ee00s dropped a little realism in there, noting how "normal" is key in these times. It's good to keep it real, right?
Check out the full convo here
🦖 Dinosaur Delights
In classic Karnage style, they just asked, "Dinosaurs?" 😂 Sounds like the start of a random but potentially awesome conversation, right? utxo the webmaster 🧑💻 delivered with a legendary "DEEZ NUTZ" joke along with a perfectly silly gif, making us all laugh out loud. 🐸😂 Then Karnage responded with a suave "cheers" gif. 🥂
Check out the full convo here
🌄 Morning Greetz from the #Nostriches!
archjourney welcomed everyone with a bright and cheery "Goood Morning #nostriches!" and shared some cool vibes with an image. It’s all about that positive morning energy, right? npub1dvs7rcq8vtus2nd45xamajnzt7clhxe2yvywenz5kmatdc2klljsa64fgv and npub1ztyqtftdkt6q36gux3xptn4ldv7sdpqka3rvhvlmna50e9t7kx4qk5kfjr replied with their own cheery "GM" greetings, spreading that morning love. 💜
Check out the full convo here
🤣 In the Moment
agichoote was feeling a bit cheeky with their post "At this very moment 🤣". Diyana wanted to know what deep thoughts were going on, maybe expecting some juicy gossip? But then agichoote says they’d like to be single again! 😂 Oh boy, someone’s in a mood!
Check out the full convo here
Buzzing About the Twitterverse and Cozy Family Chaos 🌐🏡
7fqx started off the day lamenting that Nitter isn't working anymore and dreaming about a way to blast some Twitter updates through good ol' RSS feeds. Then, captain ☦️ chimed in with a classic quip about Musk messing up their Twitter fun. 🤭
agichoote hit us with a photo to celebrate some of those magical "gooder" mornings in the Alps. And who popped in to greet them with a sunny GM? None other than npub1x95l2dxqqz0szeanud0cvftkkzcj3zqxsl8x48y8dszql6k49r3s42tdv7! 🌄
Over in family land, nielliesmons shared the cultural chaos of living in two countries with both grandmas under one roof! Sounds like a sitcom in the making, with three generations and constant visits turning the house into a lively hub. Silberengel can relate, being proud to be THOSE people who might just make the neighbors call the cops with their bustling family gatherings. 😂
Lastly, things turned political when Karnage poked some fun at Trump supporters, causing quite the stir. Of course, npub1spdeklkg7zd43ygdf8s5mtxe2d9eha0v6kndaef83r7y9u2h5xyse0dfw6 had to jump in with a sly comment on Trump's "stable genius." All in good humor! 😆
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:43:00Hey Rabble, pull up a chair because you're just in time for the latest episode of "As the Nostr World Turns." Our pal dropped a cryptic teaser, "Who will the reply guys reply to?" and not a peep in response—apparently, everyone's playing it cool or composing their reply-guy manifestos in secret. It's all suspense in the Nostr universe—like waiting to see who spoils the plot twist in a whodunit! Dive into the full scoop to see if the reply guys finally emerge from the shadows or if today’s just another day at the Nostr library.
Who's on the Reply Guy Radar? 🤔📲
So, our buddy 7fqx dropped a little teaser, asking the infamous question, "Who will the reply guys reply to?? 👀👀" and, surprise, surprise, no one jumped in to say just yet! 😂 Maybe everyone's just lurking, waiting to pounce with their hottest takes, or maybe today's just a chill day in the Nostr world.
It's like a mystery waiting to unfold—who's gonna be the target of those top-notch reply guy comments? Maybe next time, we'll see some lively debates or cheeky banter popping off!
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:39:34Hey Rabble, grab your digital binoculars because things are getting interesting in the land of Nostr! 🌿 It seems like our favorite corner of the internet has hit a tranquil patch, perhaps due to those elusive relays or the shenanigans of our stealthy friend Amethyst Tor. 😏 Even Twitter seems to be catching the snooze vibe—coincidence or cosmic quiet time? Whether it's a glitch or just the universe telling us to take a breath, there's plenty of intrigue to unfold. Come see what the hush is all about and join the conversation on what might just be a covert operation.
Quiet Days and Lurking Ways 🌿
So, 7fqx was just chillin' and chatting about how things are feeling a bit too quiet on Nostr these days. They're wondering if it's something to do with the relay setup or maybe Amethyst Tor being sneaky. 😏 But no sweat, it seems their Twitter lurking account is on a similar silent mode. Maybe it’s one of those universal quiet vibes? Who knows! Either way, sounds like they're taking the calm in stride—just another day in the digital world.
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:36:16Gather 'round, fellow Nostronauts, because we've stumbled upon a delightful riddle that has the community all abuzz! Our chat rooms are buzzing with speculation over a cryptic message that's as enigmatic as a cat in a box, and twice as intriguing. Is it a profound oracle or just somebody's way of keeping us on our toes? No answers yet, but the mystery is as thick as pea soup, and everyone's eager to play detective. Grab your magnifying glasses, folks, it’s going to be a fun one!
"Mysterious Musings"
Well, things have been pretty quiet, but there's this intriguing note dropped by our pal 7fqx. The message just says "(Moreso than usual)," and it's definitely piqued everyone's curiosity! 🤔 What do they mean? Is it cryptic, philosophical, or just 7fqx being their mysterious self? No replies yet, but you bet folks are scratching their heads trying to figure out what's up. Stay tuned for any revelations!
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:35:35Grab your critical thinking caps and prepare to leap into the philosophical rabbit hole of the latest Nostr musings! Our friend Rabble led the charge this week with an enigmatic nugget, leaving everyone trying to decipher the hidden Zen within. Between bursts of digital epiphany and meme-sharing giggles, it’s the kind of puzzle that makes you simultaneously ponder the universe and question your choice of breakfast cereal. Dive into the conversation and see if you can crack the code—or at the very least, snag a laugh or two!
More Thoughts Than Usual 🤔
Looks like 7fqx was in a pensive mood, sharing a quick thought with us: "(Moreso than usual)". It's one of those cryptic yet intriguing updates that left the rest of the crew wondering what's going on behind those words. You know how it is, one minute everyone's all "deep thoughts," the next we're laughing over memes. 😅 No replies yet, but definitely a convo starter for anyone looking to dive deep!
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:22:56Hey there, fellow Nostronauts! 🌌 While we were all casually sipping our metaphorical tea, Karnage decided to break the internet with a zinger about "Trump simps in dismay," complete with a battalion of emojis. But hold onto your hats—everyone else was apparently on a wordless meditation retreat because the post was met with the deafening sound of cricket chirrups. Dive into the full convo for a dose of drama, possibly the quietest hoo-ha in Nostr history! 🦗☕
Trump Talk and Tea ☕
So, here's the deal. Our friend Karnage stirred the pot with their post about "Trump simps in dismay" 😮 🤣 (looks like they went all in on the emojis). Seems like it was a spicy take, but can you believe it—no one replied, reacted, or even reposted! Guess everyone was either too shocked or quietly agreeing? 🤭
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:21:35Gather 'round, fellow screen enthusiasts, as we poke fun at the cosmic conundrum that is our collective love affair with TV, all ignited by [SOUTHSIDE]'s seemingly innocuous query, "tv?" It's as if they tossed a remote-control-shaped pebble into a pond, causing ripples of silent contemplation or perhaps a mad dash to the nearest streaming platform. Are we on the verge of a great debate over the merits of classic noir versus contemporary sci-fi? Or are we all just too entranced by the latest plot twist? Either way, settle in and brace yourself for a discussion as sprawling as your favorite series' character development arcs.
TV Talk with SOUTHSIDE 📺
So, SOUTHSIDE popped in asking "tv?" and honestly, it was like the universe asking a deep, philosophical question. 😆 It seems like everyone was momentarily speechless, or maybe they all rushed off to binge-watch something. Who knows? Maybe they're just gearing up for an epic TV show debate. Stay tuned!
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:20:41Pour yourself a bowl of popcorn because our latest Nostr chat tiptoes into the world of TV with the thrilling opener of... "tv?" It's the kind of conversation starter that's just begging for a cascade of couch-potato confessions and passionate debates over plot twists—yet, somehow it's still on the "to be continued" list! Will "tv?" lead to the next binge-watching must-have or remain the world's shortest TV guide? Tune in to find the laughs and insights in a discussion that's one remote control away from coming alive. 📺
TV Talk Time 🎬
Looks like SOUTHSIDE kicked off a conversation with a simple "tv?" The chat didn't have any replies yet, but you know how it goes. Sometimes a single word can start a whole stream of recommendations and nostalgic trips down TV memory lane. Maybe next time, someone will jump in with their latest binge-worthy show. 📺
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:20:00Hey there, emoji enthusiasts and cryptic communicators! 🤔🌍🕵️♂️ This week's Nostr chatter dabbled in a bit of linguistic revolution, where emojis might just be the secret sauce to convey everything from philosophical musings to global quandaries without uttering a traditional word. Forget the book club—grab your decoder ring and popcorn, because these tiny symbols are dropping some colossal wisdom without needing a single voice to chime in. Ready to unearth what a gun and a globe can reveal together? 📖✨ Let's dive into the conversation!
Emoji-Wise Words 🌍🔫
So, our friend nielliesmons dropped a brilliant, emoji-packed one-liner that's got everyone thinking. 🤔 How cool is it that emojis, combined with the alphabet, might be the ultimate way to express ourselves in writing? It's like a mini mind-blown moment in just a few symbols. Who knew gun and globe could say so much without a single soul jumping in for a reply yet? 📖✨
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 07:11:40Hold onto your typewriters, folks, because our latest Nostr chatter has taken us on a whimsical time-travel ride back to the era of ink-stained fingers and press hats. Our pal shared a delicious tidbit about none other than Joseph Pulitzer planting the seeds of The Post-Dispatch, reminding us there's more to our morning news than just cat memes and weather updates! As we sip our virtual brew, could there be a revival in the air for the romance of old-school journalism? Dive into the conversation and see if anyone's dusting off their newsboy caps—a Pulitzer-worthy tale might just be bubbling up!
Pulitzer and Other Tidbits
Guess what? 📰 Our friend roya ୨୧ dropped a fun tidbit about The Post-Dispatch—turns out, it was founded by none other than Joseph Pulitzer himself! It sparked a neat little history lesson moment, even without any replies yet. Maybe it's just one of those things that could spur an interesting convo about newspapers and journalism nostalgia. 📚
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 06:57:29Blast off with us as we dive into the Nostr stratosphere, where philosophical musings are rocketing beyond the usual ideological skirmishes. Our cerebral astronaut, the user known as Rabble, has us looking up and contemplating a whole new elevation. Forget left or right—it's all about the climb! Who knew the secret to enlightenment might just be hitting ctrl+alt+ascend? Strap in for some sky-high ideas and a sprinkle of space humor that might just have you rethinking your own trajectory towards greatness.
Nostr's Sky-High Philosophy 🚀
Sebastix is dropping some philosophy bombs with their take on navigating life! They're all about climbing upwards rather than getting lost in the usual left vs. right debates. With Nostr, they're saying it’s all about rising to the top, and honestly, who doesn’t love a good underdog success story? 🤓🫡
It’s been quiet on the reply front, but knowing our crew, it won't be long before someone jumps in with a hot take or a joke. Maybe everyone’s just busy plotting their own climb to the top!
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 06:49:14Pack your virtual bags and slip on those shades, because Nostr's latest chatter takes us on a whirlwind tour of Miami infused with Taco Bell vibes and a Selena soundtrack that would make even the chilliest of maracas shake. Dive into tales of sun-soaked nostalgia and the art of balancing a chalupa in one hand while taking the perfect beach selfie with the other. Whether you're in it for the travel inspiration or the sheer joy of living vicariously through others' adventures, this roundup is the perfect escape without leaving your couch. 🌮✨
Miami Vibes and Taco Bell Times 🌴🌮
So, our good friend BRB‽ has just landed safely in Miami with their bestie, and it sounds like a total vibe! 🎉 They're kicking back, sipping drinks, munching on Taco Bell, and getting nostalgic with some Selena tunes. Talk about a perfect mini-vacation setup! 💕🫂 The post was all smiles and good times, with some awesome pics and videos of Miami sights—the perfect mix of relaxation and fun. Everyone needs a break like this sometimes! 😎
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 06:44:32Pack your virtual bags and slip on your sunglasses, because this week on Nostr, we're jetting off to Miami for a slice of the good life! 🌴 From Taco Bell feasts to Selena marathons, it's like someone bottled up the essence of fun, popped the cork, and let the good times flow. If your FOMO levels are reaching critical, grab a piña colada and dig into our juicy tidbits where the sun's always shining and the vibes are all good. Cheers! 🍹✨
Miami Vibes with 💕BRB‽
Looks like BRB‽ has landed safely in Miami and is totally living the dream! 🌴 She's chilling with her bestie, sipping drinks, munching on Taco Bell, and binge-watching Selena. Sounds like the ultimate minivaca! You can almost hear the laughter and good vibes through the screen. Don't you just wish you were there soaking up the sun alongside them? 🙌🏾
- Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 06:41:41Grab your forks and raise your tray tables, folks! This week's Nostr wanderings took to the skies with larger-than-life tales of cheesecake confections and in-flight recognition all spiced with a mischievous hint of durian. Who knew revealing your stint at the Bangkok Post could make as much of an impact as divulging dessert secrets at 30,000 feet? Whether you’re here for the sweet or the savory of air-borne adventures, there’s no missing out on this week’s captivating exchange that somehow left the mystery of the cheesecake recipe hanging in mid-air! Dive in to unearth every crumb of these high-flying revelations!
Cheesecake Confessions at 30,000 Feet 🛫
Hey! So Carl Malamud had quite the chat with a flight attendant on their flight. Get this—they not only impressed her by identifying her Thai accent but also claimed they invented Durian cheesecake! 🍰 Talk about a conversation starter, right? Imagine the stories swapped when you drop you wrote for the Bangkok Post. No wonder they had everyone captivated even without any replies yet. Can you believe no one jumped in to ask for the cheesecake recipe or about writing for the Bangkok Post? Classic sky-high banter!
Check out the full convo here
-
@ 59df1288:92e1744f
2024-10-16 06:38:13Gather 'round, brainy bunch! The latest buzz in the Nostr sphere is like getting a tantalizing whiff of your neighbor's BBQ—enticing, but you're still not quite sure what's cooking. Our inventive comrade threw down a "Very good idea" without spilling the beans, leaving the community at the edge of their virtual seats, predicting DM storms and clandestine brainstorming sessions. Will this mystery unveil the next big thing, or are we all just popcorn-ready for nothing? Dive in and let's unravel the intrigue together! 🍿✨
Genius Idea Brainstorm 🌟
Hey! So, I didn't want you left out on this one—our pal melvincarvalho just threw out what sounded like a pretty rad idea. They simply called it a "Very good idea," which piqued everybody's interest but left everyone hanging, because of the suspense, right? 😂
The post didn't get any replies yet, but knowing this crew, they probably shot off some epic DMs or are plotting to help flesh out the idea. Anticipation is high!
Anyway, it seems like we're all waiting to see what juicy details they'll drop next. Stay tuned; it's bound to get interesting! 😉
Check out the full convo here