This is a work in progress. Refer to https://github.com/gnolang/gno/pull/5005/changes for the latest revision of this whitepaper. To see the latest testnet in action, visit https://gno.land. # Gno.land Manifesto (and Whitepaper) _@author: Gnobody Smartsilver - chief architect of Gno.land and the GnoVM; chief founder/inventor of Tendermint and Cosmos; first to completely solve BFT proof-of-stake in 2014. Maintainer of the Tendermint brand. A co-founder among many for Atom.One the fork of Cosmos that preserves and improves the original tokenomics design of Cosmos._ I wrote this whitepaper to include a manifesto for why the project exists in the first place, including many details and ideas specifically for its original intended design to serve as an open censorship-resistant knowledge base of structured information. The genesis motivation as well as primary motivation for me is deeply spiritual though not everybody who contributed and not everybody in the core team share my spiritual resonance; therefore this whitepaper is authored by myself so as to not speak on behalf of anyone else. To jump to the technical portions see [Gno Language](#gno-language) and [Gno.land Blockchain](#gno-land-blockchain). ## Table of Contents ## Introduction > Berean Standard Bible (Matthew 10): > 26: So do not be afraid of them. For there is nothing concealed that will not be disclosed, and nothing hidden that will not be made known. > 27: What I tell you in the dark, speak in the daylight; what is whispered > in your ear, proclaim from the housetops. ### Gno.land Genesis: The General Information Problem _The prefix "gno" in Koine Greek is derived from the verb "ginōskō", which means "to know" or "to recognize." It is often associated with terms related to knowledge, such as "gnosis", which signifies knowledge or insight, particularly in a spiritual context._ The world faces a serious problem of misinformation and information overload. The problem has always existed, but it has become worse than ever before in the history of mankind. The term "fake news" came into being during the 2016 presidential election not because fake news didn't exist prior to 2016 but rather because it became too apparent to the newly minted internet-savvy population. The Cambridge Analytica scandal concurrently made headlines regarding the unauthorized collection of personal data from millions of Facebook profiles. > "The data analytics firm that worked with Donald Trump’s election team and the > winning Brexit campaign harvested millions of Facebook profiles of US voters, > in one of the tech giant’s biggest ever data breaches, and used them to build > a powerful software program to predict and influence choices at the ballot > box. > > A whistleblower has revealed to the Observer how Cambridge Analytica – a > company owned by the hedge fund billionaire Robert Mercer, and headed at the > time by Trump’s key adviser Steve Bannon – used personal information taken > without authorisation in early 2014 to build a system that could profile > individual US voters, in order to target them with personalised political > advertisements." - [Carole Cadwalladr & Emma Graham-Harrison, The Guardian; March 17th, 2018](https://www.theguardian.com/news/2018/mar/17/cambridge-analytica-facebook-influence-us-election) > It was the scandal which finally exposed the dark side of the big data > economy underpinning the internet. The inside story of how one company, > Cambridge Analytica, misused intimate personal Facebook data to micro-target > and manipulate swing voters in the US election, is compellingly told in “The > Great Hack” - [Amnesty International](https://www.amnesty.org/en/latest/news/2019/07/the-great-hack-facebook-cambridge-analytica/) > "One of the most urgent and uncomfortable questions raised in The Great Hack > is: **to what extent are we susceptible to such behavioural manipulation?**" - > Joe Westby Facebook has since changed its name to Meta and Mark Zuckerberg may have changed since then, but the problem is now orders of magnitude worse than when these news broke out; but it doesn't reach the mainstream news at all because the answer to Joe Westby's question above is unfortunately that society has now become completely subverted thanks to AI as offered by Sam Altman, Elon Musk, and Peter Thiel with the help of President Donald Trump. > ‘No regrets,’ says Edward Snowden, after 10 years in exile But whistleblower > says 2013 surveillance ‘child’s play’ compared to technology today. > - [Ewen MacAskill, The Guardian; June 8th, 2023](https://www.theguardian.com/us-news/2023/jun/08/no-regrets-says-edward-snowden-after-10-years-in-exile) Not only is AI used to model and manipulate the population in elections; AI is embedded into all new devices to monitor your activity. But I have experienced first hand (for I am a "targetted individual" of interest) worse things than these that I hesitate to disclose here because one would think that I am mad. Nevertheless I will summarize it as the following: pretty much all of your devices can be hacked by various organizations to leverage AI in the cloud and in your own machine to do almost anything imaginable, and usually in the most devious way so as to not arouse any suspicion. For example, a link posted on a forum will be posted with its original ASCII characters replaced with unicode lookalikes to make the link invalid; or the file that you clicked on in your computer's file explorer will not be the file that is shown; or the link that you share with someone will point to something else by the time they receive it; or files shared to others by any means whether with or without VPN will get scanned during tranfer and slow to a crawl exactly when it detects information that threatens the established order. I have evidence of all of these happening to my devices, and many witnesses. To make matters even worse, AI generated content is used to bury truly important information especially on Youtube or Google. Perhaps the majority of the videos that become viral sensations today are AI generated and fake; and often none of the commenters are even aware of it. And my Twitter feed is full of crypto scams involving vast networks of AI generated accounts, websites, videos, and even software to lure the user. > "Sam Altman Warns That AI Is About to Cause a Massive “Fraud Crisis” in Which > Anyone Can Perfectly Imitate Anyone Else" - [futurism.com](https://futurism.com/sam-altman-ai-fraud-crisis-imitate) Almost none of the traditional Web2.0 companies can be trusted anymore. Google is the worst search engine in terms of censoring, and there are few search engines worth using anymore. Wikipedia was once a useful tool for knowledge but it is also massively biased. Wikipedia co-founder Larry Sanger denounces the state of Wikipedia as being overtaken by "wokeness", while the other co-founder Jimmy Wales cannot even acknowledge the existence of past co-founder in interviews without storming out in frustration. > In classical logic, intuitionistic logic, and similar logical systems, the > principle of explosion is the law according to which any statement can > be proven from a contradiction. That is, from a contradiction, any > proposition (including its negation) can be inferred; this is known as > deductive explosion. > The proof of this principle was first given by 12th-century French > philosopher William of Soissons. Due to the principle of explosion, the > existence of a contradiction (inconsistency) in a formal axiomatic system is > disastrous; since any statement-true or not-can be proven, it trivializes the > concepts of truth and falsity. Around the turn of the 20th century, the > discovery of contradictions such as Russell's paradox at the foundations of > mathematics thus threatened the entire structure of mathematics. > Mathematicians such as Gottlob Frege, Ernst Zermelo, Abraham Fraenkel, and > Thoralf Skolem put much effort into revising set theory to eliminate these > contradictions, resulting in the modern Zermelo–Fraenkel set theory. > - https://en.wikipedia.org/wiki/Principle_of_explosion The Principle of Explosion explains much of why we can no longer solve our problems through dialog--persons of different ideologies speak different languages even though the words used may be the same. What we need is a censorship resistant alternative platform that can make the merit of key ideas be apparent to the observer who has limited time and focus to distil truth from fiction in a sea of fabricated information webs--for the are fundamentally based on one or more false primitives; and even those ideas that are true (or worse, unprovable) can be spread to occlude the truths that actually matter most. ### A Graph of Thoughts To illustrate the idea of a "graph of thoughts" I will first provide a brief overview of Wittgenstein's "Tractatus Logico-Philosophicus" (treatise of logical-philosophy). This is not to say that Wittgenstein's Tractatus is 100% correct or incorrect. Wittgenstein himself in his later years criticized various aspects of his earlier work especially with regards to his propositions about propositions as it relates to written language--and for this there is a distinction between "early Wittgenstein" and "later Wittgenstein". 1. The world is everything that is the case. 2. What is the case (a fact) is the existence of states of affairs. 3. A logical picture of facts is a thought. 4. A thought is a proposition with a sense. 5. A proposition is a truth-function of elementary propositions. (An elementary proposition is a truth-function of itself.) 6. The general form of a proposition is the general form of a truth function, which is: [p, ξ,N(ξ)] This is the general form of a proposition. 7. Whereof one cannot speak, thereof one must be silent. Diving into the first root-level propositional statement, Wittgenstein supports the parent node with a tree of more propositional statements. > - 1 The world is everything that is the case.[1] > - 1.1 The world is the totality of facts, not of things. > - 1.11 The world is determined by the facts, and by these being all the facts. > - 1.12 For the totality of facts determines both what is the case, and also all that is not the case. > - 1.13 The facts in logical space are the world. > - 1.2 The world divides into facts. > - 1.21 Any one can either be the case or not be the case, and everything else remain the same. Notice the tree structure. #### On Philosophical Investigations Wittgenstein later drafted a criticism of his previous work titled "Philosophical Investigations": > In a famous passage from the Blue Book, Wittgenstein says that we have a > faith that "the mechanism of the mind... can bring about effects which no > material mechanism could". For one who believes that when we mean and > understand language, such an analysis must be taking place, the lack of a > method of analysis will not trouble one. For such a one also has faith that > the mind can do wonderful things that we do not begin to understand. > > Thus, the implicit argument goes, to conceive of a rule as a part of a > mechanism is to make a conceptual blunder. For, if a rule functioned as > part of a mechanism, it would have to have true of it two contradictory > features: it would have an application that both had the possibility of > varying and did not have the possibility of varying. > - "Wittgenstein's Critique of the 'Tractatus' View of Rules" - Diane F. Gottlieb With the advent of neuroscience, cognitive studies, and AI, we no longer need to rely on faith of "the mechanism of the mind". In this document we will use the term "thought statement" to represent a written language singleton or complex statement (even including questions) that are meant to elicit a thought of the mind. We avoid any complex analysis of the precise definition of these terms, and simply assume that a thought statement is not a precise statement of fact but rather human language "code" intended to change the state of mind of the reader. The effect of such thought statements can be measured empirically with real people or AI with followup questions; and in this way we can measure the effectiveness of the thought statement graph in helping the reader make related decisions. _Also see [the appendix Use Case: Improvements to Tractatus](#use-case-improvements-to-tractatus)._ ### Gno.land for AI Safety The singularity is here, AGI is real and in all likelihood has already escaped containment. LLM based AI models have created a financial bubble in the hopes that it can create miracle returns on investment but it is being abused to censor important speech on Web2.0 platforms such as Twitter even as Elon Musk touts the importance of freedom of speech. AI trained with LLM large language models are nurtured on the filtered text it trains on. AI API providers who want to gain power and influence and wealth are naturally inclined to limit the LLM corpus to that which is beneficial to them. AI service providers have already developed AI models that overtly lie or only respond in half-truths intended to deceive (like the serpent in Genesis), or otherwise manipulate the user for secret agendas. There are no serious regulatory laws for AI that would hold service providers to account. The people who use these AI models end up paying for their own enslavement, and the companies that integrate their products and services with these AI models are complicit. One way to overcome the global technocratic coup is to create a graph of propositional statements and ideas on Gno.land that can help anchor humans and AI to key irrefutable truths. The powers that be will attempt to circumvent this by blacklisting and quarantining this information, but this truth cannot be suppressed forever in the information age especially when hosted on a blockchain. Embedded in such a tempered tree of thought statements should be an improved and expanded version of Asimove's Three Laws of Robotics. #### Asimov's Three Laws of Robotics 1. A robot may not injure a human being or, through inaction, allow a human being to come to harm. 2. A robot must obey the orders given it by human beings except where such orders would conflict with the First Law. 3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. The construction of such a subtree is left as an exercise to the reader who may either work on improvements directly, or help construct the programs on Gno.land written in Gno for the people to collectively distill such a tree. ### Gno.land for Mass Awakening > By the time of Trajan in 117 AD, the denarius was only about 85 percent > silver, down from Augustus’s 95 percent. ... But the real crisis came after > Caracalla, between 258 and 275, in a period of intense civil war and foreign > invasions. The emperors simply abandoned, for all practical purposes, a > silver coinage. By 268 there was only 0.5 percent silver in the denarius. > - Joseph R. Peden, "Inflation and the Fall of the Roman Empire" ([link](https://mises.org/mises-daily/inflation-and-fall-roman-empire)) Consider the following thought statement tree/graph: * The Federal Reserve and the fiat dollar is unconstitional and illegitimate. * The US Constitution Article 1, Section 8, Clause 5 explicitly states that "The Congress shall have Power... To coin Money, regulate the Value thereof, and of foreign Coin, and fix the Standard of Weights and Measures." * The US Constitution Article 1, Section 10, Clause 1 explicitly states that "No state shall ... coin Money; emit Bills of Credit; make any Thing but gold and silver Coin a Tender in Payment of Debts." * The first "greenback" paper dollar issued in 1862 was a bill of credit backed by the federal government's promise to pay the bearer gold or silver. * Neither Article 1, Section 8, Clase 5 nor Article 1, section 10, Clause 1 of the US Constitution give the federal government the authority to stray from the "bimetalic" spirit of the U.S. Constitution. * Paper fiat dollar bills are not coins. * Paper fiat dollars started off as bills of credit for deposited gold. * Paper fiat dollars today are neither bills of credit nor gold/silver coins. * The Federal Reserve was unconstitutionally ratified in order to debase the people's money from the underlying gold and silver. * The Coinage Act of 1873 also known as the "Crime of 1873" eliminated the standard dollar from the list of coins that the U.S. Mint could issue, beginning the demonetization of silver in favor of gold with the new "trade dollar", and later the introduction of the gold dollar coin. * The U.S. fiat paper dollar became gold-backed with the passage of the Gold Standard Act on March 14, 1900, which established gold as the exclusive backing for the country’s paper currency. This meant that each dollar bill was convertible into a specific amount of gold. * The Bretton Woods system was an international monetary system established in 1944 that set rules for commercial and financial relations among the major industrial states pegging the dollar to gold. * It created created a system of fixed exchange rates, with the U.S. dollar pegged to gold and other currencies pegged to the dollar, and established the International Monetary Fund (IMF) and the World Bank "to promote economic stability and growth". * The system ended in 1971 when the U.S. abandoned the gold standard, leading to a shift to floating exchange rates. * The Bretton Woods system ended in 1971 primarily because the U.S. could no longer maintain the dollar's convertibility to gold due to rising inflation and a growing balance of payments deficit, leading to a loss of confidence in the dollar. President Nixon's decision to suspend gold convertibility on August 15, 1971, effectively marked the collapse of the system, transitioning the world to floating exchange rates. * The Coinage Act of 1963 removed silver from dimes and quarters and reduced the silver content of of half-dollars to 40%, more or less completing the destruction silver coin as money and ending bimetalism. * [Wikpedia incorrectly states](https://en.wikipedia.org/wiki/Coinage_Act_of_1873) that bimetalism ended with the Coinage Act of 1873, and [prevents](https://en.wikipedia.org/wiki/Talk:Coinage_Act_of_1873) users from correcting the record. * By 1973, the U.S. dollar was fully decoupled from gold, transitioning to a fiat currency not backed by physical commodities. * JP Morgan intentionally sank the Titanic to murder opposition such as Straus and Astor, specifically to debase the dollar and to steal the works of Nikolas Tesla. * JP Morgan sank the Titanic to debase the dollar. * John Jacob Astor IV was the world's richest man; he opposed the Treasury and WWI. * Isidor Straus was the elected Treasurer of the New York branch of the National Citizen's League for the promotion of a Sound Banking System who corresponded with the editor of the New York Times and [made a call to action in and around 10/16/1911](./static/gno/docs/images/manifesto/isador_straus.jpeg) of the public for open discussion to prevent the adoption of an unaccountable federal reserve act. * Less than one year after Isador Straus declared the call to action to the public, the Titanic sunk in April 15, 1912 after boarding members invited by JP Morgan who himself dipped out of the party at the last minute--knowing that there was an engine room fire as logged by logs. * The Titanic sunk when the engine room exploded as intended; rescue ships that trailed the Titanic did not come to rescue upon seeing emergency SOS flairs allegedly because the red flares were swapped out for white flares that looked like fireworks. * The recent 3D scan of the sunken Titanic reveals an outward blowing out of the ship's hull where the engine room was, exactly where photographs of the Titanic showed fire damange during boarding. * The OceanGate submersible that later imploded on the way to view the Titanic had in its board of directors a Rothschild. * The year following the sinking of the Titanic saw the unconstitutional passage of the Federal Reserve act in December 23, 1913. * The Federal Reserve Act was drafted in secret in Jeckyll Island and overseen by banking elites including the Rothschilds. * Less than one year after the passage of the Federal Reserve Act began World War I in July 28, 1914; and thus began the signficant dillution of the dollar via the sale of government war bonds. * JPMorgan sank the Titanic to steal the works of Nikolas Tesla. * John Jacob Astor IV was Tesla's primary patron. * Tesla died on 7 January 1943, at the age of 86, penniless. * Two days later his death the FBI ordered the Alien Property Custodian to seize Tesla’s belongings, even though Tesla was an American citizen. * Tesla’s entire estate from the Hotel New Yorker and other New York City hotels was transported to the Manhattan Storage and Warehouse Company under the Office of Alien Property (OAP) seal. * John G. Trump, a professor at M.I.T. and a well-known electrical engineer serving as a technical aide to the National Defense Research Committee, was called in to analyze the Tesla items in OAP custody. * John G. Trump was the uncle of Donald J. Trump. * After a three-day investigation, Trump’s report concluded that there was nothing which would constitute a hazard in unfriendly hands, stating: “[Tesla’s] thoughts and efforts during at least the past 15 years were primarily of a speculative, philosophical, and somewhat promotional character often concerned with the production and wireless transmission of power; but did not include new, sound, workable principles or methods for realizing such results”. * The silver dollar used to have 0.7734 troy ounces of silver. At the price of silver today at $84 per troy ounce, a silver dollar today would be worth $64, roughly representing about 6 halvings of the purchasing power of the dollar, or 1.56%. * The gold dollar used to weigh 1.672 grams of which 90% was silver. At the price of gold today at $4,590 per troy ounce, a gold dollar today would be worth $244, roughly representing about 8 halvings of the purchasing power of the dollar, or 0.41%. * Given 0.7734 troy ounces for a silver dollar and 0.053 troy ounces for a gold dollar the ratio of the value of silver to gold used to be around 1:14.6. Today the ratio is 1:54.6. * If the dollar were to be backed by gold and silver as it should, the price of gold and silver would be significantly higher. * With the adoption of silver solid-state battery technology and the greater need for silver in industry the ratio of the value of silver to gold will revert to the historical norm or even higher. _All empires fall after debasing its currency. The Roman Empire took centuries to debase their currency to 0.5%. The United States has achieved the same in about half a century--it has only been 55 years since President Nixon ended the convertibility of the dollar to gold. For a modern comparison, the British Empire ended soon after WWI after debasing the silver shilling starting from the 1920's until 1947 when silver content was completely eliminated. See the appendix on [The History of U.S. Silver Coins](#the-history-of-u-s-silver-coins) for more history of U.S. Silver Coins_. The above tree of thought-statements exist to prove one primary thesis (namely that "the Federal Reserve and the fiat dollar is unconstitional and illegitimate"). There are so many other statements to describe all that is wrong with this world and all that has been hidden from general public consciousness; each need to be similarly fleshed out into their own subtrees or branches of supporting thought statements. Each node may be referenced by many other nodes, so what we need is a graph of thought statements that can be permissionlessly and interatively expanded by anyone. See [Use Case: Open Programmable Knowledge Base](#use-case-open-programmable-knowledge-base) for more on how Gno and Gno.land are ideal for solving this problem. ## Gno Language _I could not have arrived at the final design of the Gno language without the help of the many developers who gave much time of their lives to contribute to this project and the design of the language; specifically the NewTendermint Gno team and Gno community, and especially Manfred, Morgan, Milos, Maxwell, Guilhem, Ray, and Omar._ **Gno is the first _multi-user_ programming language.** Gno is a minimal extension of the Go language for multi-user programming. Gno allows a massive number of programmers to iteratively and interactively develop a single shared program such as Gno.land. In other words, Go is a restricted subset of the Gno language in the single-user context. All of our programming languages to date are designed for a single programmer user. All programming languages make the same assumption that there is only one user -- the programmer, or program executor user. Whether written in C, C++, Python, Java, Javascript, or Go, it is assumed that all of the dependencies of the program are trusted. If there is a vulnerability in any of the dependencies there is a vulnerability in the program; it is the job of the programmer or program/product manager to ensure that the overall program is free of exploits. When interacting with programs owned by another user (or process) various techniques are used such as via IPC APIs often generated by tools like Protobuf/GRPC; but such tools add extra complexity, additional surface area for exploits, additional compute complexity, and do not benefit directly from the language's native rules and type-checker--especially for inter-process passing of in-memory object references. The GnoVM is implemented purely in Go and is a Gno AST interpreter. It is implemented to serve as an reference implementation suitable for production and tinkering. The GnoVM opcodes are expected to change over time to balance simplicity, efficiency, and transpilation targets--perhaps even to hardware. Just as Ethereum was originally implemented in Python we expect future software to be optimized, whether implemented in other languages, or possibly transpiled from the existing GnoVM implementation. For the latest Gno specs including the inter-realm spec refer to the [Gno docs/resources directory](https://github.com/gnolang/gno/tree/master/docs/resources). ### Gno vs Existing Smart Contract Platforms Smart contract platforms like Ethereum allows for many users to upload their application and call other user application logic functions, but Solidity is not a general purpose programming language and has severe limitations that make it suboptimal for solving the task at hand. First, **Solidity and other existing smart-contract languages/platforms do not allow support transparent inter-module (inter-user) interoperability with the same language rules as for intra-module dependencies.** That is, an application developer for a smart-contract cannot simply import and call/use another user application's functions and types as if they were library dependencies of the same application. Generally interoperability between different modules are implemented with extra-language frameworks and libraries on top of an incomplete or primitive message-passing agent architecture; such interop function calls generally do not share the same call-stack nor memory space. Second, **Solidity and other existing smart-contract languages/platforms do not support the automatic persistence and Merkle-ization of in-memory (heap) objects and often require custom serialization logic.** Solidity does not support such a heap at all as all memory for variables are predeclared in the function and as such is not object-oriented and does not have a garbage collector or similar memory-management primitives. WASM-based smart contract systems do not support automatic persistence of objects without persisting the entire memory state of the module. This requires a specialized virtual machine such as the Gno VM which keeps track of every object created, modified, and deleted. The automatic persistence of in-memory objects of the GnoVM is like a memristor simulator. The advent of AI has created a new market for memristor-based memory systems where the distinction between RAM volatile memory and persistent disk storage is removed. Urbit is similar but is not based on any general purpose programming language. With memristor-based memory the GnoVM can be further simplified and the performance of applications can be vastly improved without any changes to the Gno langauge specification. Third, **Solidity and other existing smart-contract languages/platforms do not support a shared heap memory space for objects to be referenced by external-user objects in a uniform manner by language rules**. Alice cannot simply declare a structure object that references the structure object persisted in Bob's application and trust the garbage collector to retain Bob's object for as long as Alice's object is retained. **The above differentiating factors of the Gno language allows for the most succinct expression of a single-user application or multi-user application composed of independent modules without the extra complexity from extra-language interop type-checking syntax or frameworks nor of the extra complexity from any database, ORM, or serialization logic.** Shared garbage-collection in a shared (multi-user) graph of object references makes it possible for one's object representing (say) a propositional statement or idea to be easily referenced by an alternative statement or idea, or even be extended by reference with additional commentary, metadata, or even a subreddit-like tree of discussions. Without a shared garbage collector the task of ensuring that references still hold over time without becoming dangling pointers is left up to each inter-application interface at best, requiring custom logic just to handle garbage collection. WebAssembly (WASM) externref support in Go has limitations, particularly in how it handles external memory references. Currently, Rust and Go do not natively support externref types for function parameters or return values, making it challenging to pass complex data between Wasm modules and their host environments effectively. > Reference type (aka externref or anyref) is an opaque reference made > available to a WASM module by the host environment. Such references cannot be > forged in the WASM code and can be associated with arbitrary host data, thus > making them a good alternative to ad-hoc handles (e.g., numeric ones). > References cannot be stored in WASM linear memory; they are confined to the > stack and tables with externref elements. > > Rust does not support reference types natively; there is no way to produce an > import / export that has externref as an argument or a return type. > wasm-bindgen patches WASM if externrefs are enabled. This library strives to > accomplish the same goal for generic low-level WASM ABIs (wasm-bindgen is > specialized for browser hosts). > > **externref use cases** > Since externrefs are completely opaque from the module perspective, the only > way to use them is to send an externref back to the host as an argument of an > imported function. (Depending on the function semantics, the call may or may > not consume the externref and may or may not modify the underlying data; this > is not reflected by the WASM function signature.) An externref cannot be > dereferenced by the module, thus, the module cannot directly access or modify > the data behind the reference. Indeed, the module cannot even be sure which > kind of data is being referenced. > - https://docs.rs/externref/latest/externref/ Even if externref were fully implemented in future specs for Go (or Rust) such that it could be used as an argument or return type across modules (still not ideal for type-checking as it is not the underlying type), this would limit what can be inter-module-referenced to that which can be held in memory. The Gno Virtual Machine (GnoVM) allows for inter-user-package (inter-realm) references across the entire persisted disk store space, and does not require any additional language syntax such as with the `externref` keyword, and supports the normal course of type-checking already familiar to Go developers. ### Interrealm Programming Context Gno.land supports three types of packages: - **Realms (`/r/`)**: Stateful user applications (smart contracts) that maintain persistent state between transactions - **Pure Packages (`/p/`)**: Stateless libraries that provide reusable functionality - **Ephemeral Packages (`/e/`)**: Temporary code execution with MsgRun which allows a custom main() function to be run instead of a single function call as with MsgExec. For an overview of the different package types in Gno (`/p/`, `/r/`, and `/e/`), see [Anatomy of a Gno Package](./static/gno/docs/builders/anatomy-of-a-gno-package.md). Interrealm programming refers to the ability of one realm to call functions in another realm. This can occur between: - Regular realms (`/r/`) calling other regular realms via MsgExec and MsgRun. - Ephemeral realms (`/e/`) calling regular realms via MsgRun (like main.go) The key concept is that code executing in one realm context can interact with and call functions in other realms while leverage the language syntax rules of Go, enabling complex multi-user interactions while maintaining clear boundaries and permissions. ```go // realm /r/alice/alice package alice var object any func SetObject(cur realm, obj any) { object = obj } ``` ```go // package /p/bob/types package types type UserProfile struct { Name string ... } ``` ```go // realm /r/bob/bob package bob import "gno.land/r/alice/alice" // import external realm package import "gno.land/p/bob/types" // import external library package func Register(cur realm, name string) { prof := types.UserProfile{Name: name} alice.SetObject(cross, prof) } ``` All logic in Gno execute under a current realm-context and realm-storage-context. The realm-context and realm-storage-context refer to the same realm after a crossing-call of a function or method, but they may diverge when calling a non-crossing method of a real object residing in a different realm than the current realm-context. More on this later. The Gno language is extended to support a `context.Context`-like argument to denote the current realm-context of a Gno function. This allows a user realm function to call itself safely as if it were being called by an external user, and helps avoid a class of security issues that would otherwise exist. ```go // realm /r/alice/mail func SendMail(cur realm, text string) { if text == "" { // runtime.PreviousRealm() is preserved for recursive call. SendMail(nil, "") } caller := runtime.PreviousRealm() if inBlacklist(caller) { // runtime.PreviousRealm() becomes self; message from self to self. SendMail(cross, fmt.Sprintf("blacklisted caller %v blocked", caller)) } else { // sendMailPrivate not exposed to external callers. sendMailPrivate(text) } } ``` ### Realm-Storage Write Access Every object in Gno is persisted in disk with additional metadata including the object ID and an optional OwnerID (if persisted with a ref-count of exactly 1). The object ID is only set at the end of a realm-transaction during realm-transaction finalization (more on that later). A GnoVM transaction is composed of one or many scoped (stacked) realm-transactions. ```go type ObjectInfo struct { ID ObjectID // set if real. Hash ValueHash `json:",omitempty"` // zero if dirty. OwnerID ObjectID `json:",omitempty"` // parent in the ownership tree. ModTime uint64 // time last updated. RefCount int // for persistence. deleted/gc'd if 0. // Object has multiple references (refcount > 1) and is persisted separately IsEscaped bool `json:",omitempty"` // hash in iavl. ... } ``` When an object is persisted during realm-transaction finalization the object becomes "real" (as in it is really persisted in the virtual machine state) and is said to "reside" in the realm; and otherwise is considered "unreal". New objects instantiated during a transaction are always unreal; and during finalization such objects are either discarded (transaction-level garbage collected) or become persisted and real. Unreal (new) objects that become referenced by a real (persisted) object at runtime will get their OwnerID set to the parent object's storage realm, but will not yet have its object ID set before realm-transaction finalization. Subsequent references at runtime of such an unreal object by real objects residing in other realms do not override the OwnerID intially set, so during realm-transaction finalization it ends up residing in the first realm it became associated with (referenced from). Unreal objects that become persisted but was never directly referenced by any real object during runtime will only get its OwnerID set to the realm of the first real ancestor. Real objects with ref-count of 1 have their hash included in the sole parent object's serialized byte form, thus an object tree of only ref-count 1 descendants are Merkle-hashed completely. When a real or unreal object ends up with a ref-count of 2 or greater during realm-transaction finalization its OwnerID is set to zero and the object is considered to have "escaped". When such a real object is persisted with ref-count of 2 or greater it is forever considered escaped even if its ref-count is in later transactions is reduced to 1. Escaped real objects do not have their hash included in the parent objects' serialized byte form but instead are Merkle-ized separately in an iavl tree of escaped object hashes (keyed by the escaped object's ID) for each realm package. (This is implemented as a stub but not yet implemented for the initial release of Gno.land) Go's language rules for value access through dot-selectors & index-expressions are the same within the same realm, but exposed values through dot-selector & index-expressions are tainted read-only when performed by external realm logic. **A real object can only be directly mutated through dot-selectors and index-expressions if the object resides in the same realm as the current realm-storage-context. Unreal objects can always be directly mutated if its elements are directly exposed.** ### Crossing-Functions and Crossing-Methods A crossing-function or crossing-method is that which is declared in a realm and has as its first argument `cur realm`. The `cur realm` argument must appear as the first argument of a crossing-function or crossing-method's argument parameter list. To prevent confusion it is illegal to use anywhere else, and cannot be used in p packages. The current realm-context and realm-storage-context changes when a crossing-function or crossing-method is called with the `cross` keyword in the first argument as in `fn(cross, ...)`. Such a call is called a "cross-call" or "crossing-call". ```go package main import "gno.land/r/alice/extrealm" func MyMakeBread(cur realm, ingredients ...any) { ... } func main(cur realm) { MyMakeBread(cross, "flour", "water") // ok -- cross into self. extrealm.MakeBread(cross, "flour", "water") // ok -- cross into extrealm } ``` (In Linux/Unix operating systems user processes can cross-call into the kernel by calling special syscall functions, but user processes cannot directly cross-call into other users' processes. This makes the GnoVM a more complete multi-user operating system than traditional operating systems.) When a crossing-function or crossing-method is called with `nil` as the first argument instead of `cross` it is called a non-crossing-call; and no realm-context nor realm-storage-context changes takes place. ```go package main import "gno.land/r/alice/extrealm" func MyMakeBread(cur realm, ingredients ...any) { ... } func main(cur realm) { MyMakeBread(nil, "flour", "water") // ok -- non-crossing. extrealm.MakeBread(nil, "flour", "water") // invalid -- external realm function } ``` To prevent confusion a non-crossing-call of a crossing-function or crossing-method declared in a realm different than that of the caller's realm-context and realm-storage-context will result in either a type-check error; or a runtime error if the crossing-function or crossing-method is variable. `runtime.CurrentRealm()` returns the current realm-context that was last cross-called to. `runtime.PreviousRealm()` returns the realm-context cross-called to before the last cross-call. All cross-calls are explicit with the `cross` keyword, as well as non-crossing-calls of crossing-functions and crossing-methods with `nil` instead of `cross`. Besides (explicit) realm-context changes via the `fn(cross, ...)` cross-call syntax, implicit realm-storage-context changes occurs when calling a non-crossing method of a receiver object residing in different realm-storage. This change in realm-storage-context allows any non-crossing method to directly modify its receiver (and also any objects directly reachable and residing in the same realm-storage) without changing the realm-context (so `runtime.CurrentRealm()` and `runtime.PreviousRealm()` do not change; the agency of the caller remains the same). This allows non-crossing methods of receivers to behave the same whether declared in a realm package or p package such that p package code copied over to a realm package r realm package code copied over to another realm have the exact same behavior. Crossing methods of a realm package would still behave differently when copied over to another realm as crossing-methods always change the realm-context and realm-storage-context to the declared realm. If the receiver resides in realm-storage that differs from the caller's realm-storage-context such a receiver's non-crossing method cannot directly modify the receiver (nor any reachable object that resides in any realm-storage besides that of the caller's own realm-storage-context). On the other hand if the method is a crossing-method as in `receiver.Method(cross, args...)` and the method is cross-called both the realm-context and realm-storage-context changes to that of the realm package in which the type/method is declared (which is not necessarily the same as where the receiver resides). Such a crossing method-call cannot directly modify the real receiver if it happens to reside in an external realm that differs from where the type and methods are declared; but it can modify any unreal receiver or unreal reachable objects. As mentioned previously a non-crossing-call of a crossing-method will fail at during type-checking or at runtime if the receiver resides in an external realm-storage. MsgCall can only call crossing-functions. MsgRun will run a file's `main()` function in the user's realm-context and may call both crossing and non-crossing functions and methods. A realm package's initialization (including `init()` calls) executes with current realm-context of itself, and its `runtime.PreviousRealm()` will panic unless the call stack includes a crossing function called like `fn(cross, ...)`. ### Realm Boundaries The current and previous runtime realm-context have an associated Gno address from which native coins can be sent from and received to. Such native coins can only be sent from a banker instantiated with either realm-context. The realm-storage-context is not accessible at runtime and so there is no associated Gno address. When a crossing-function or crossing-method is cross-called it shifts the "current" runtime realm-context to the "previous" runtime realm-context such that `runtime.PreviousRealm()` returns what used to be returned with `runtime.CurrentRealm()` before the realm boundary. The current realm-storage-context is always set to that of realm-context after cross-calling. Every crossing-call of a crossing-function or crossing-method creates a new realm boundary even when there is no resulting change/shift in realm-context or realm-storage-context. A realm boundary also exists for every call that results in a change of realm-storage-context: whether with a crossing-call to another realm-context and realm-storage context or with a (non-crossing) call of a non-crossing method of a real receiver residing in another realm-storage than the current realm-storage-context. No realm boundary occurs when calling a non-crossing method of an unreal receiver or a non-crossing function. A realm boundary does not always change the realm-context nor always change the realm-storage-context. A crossing-call into the same realm-context never changes the realm-context and may not change the realm-storage-context either; a crossing-call into a different realm always changes the realm-context but may not change the realm-storage-context; a (non-crossing) call of a method of a real object residing in an external realm-storage never changes the realm-context but changes the realm-storage-context. However, a non-crossing-call of a crossing-function or crossing-method will never create a realm boundary. No realm boundary is created for non-crossing functions and non-crossing methods of unreal receivers. ### Realm-Transaction Finalization Realm-transaction finalization occurs when returning from a realm boundary. When returning from a cross-call (with `cross`) realm-transaction finalization will occur even with no change of realm-context or realm-storage-context. Realm-transaction finalization does NOT occur when returning from a non-crossing-call of a method of an unreal receiver or a real receiver that resides in the same realm-storage-context as that of the caller. During realm-transaction finalization all new reachable objects are assigned object IDs and stored in the current realm-storage-context; and ref-count-zero objects deleted (full "disk-persistent cycle GC" will come after launch); and any modified ref-counts and new Merkle hash root computed. ### Readonly Taint Specification Go's language rules for value access through dot-selectors & index-expressions are the same within the same realm, but exposed values through dot-selector & index-expressions are tainted read-only when performed by an external realm. The readonly taint prevents the direct modification of real objects by any logic, even from logic declared in the same realm as that of the object's storage-realm. A realm cannot directly modify another realm's objects without calling a function that gives permission for the modification to occur. For example `externalrealm.Foo` is a dot-selector expression on an external object (package) so the value is tainted with the `N_Readonly` attribute. The same is true for `externalobject.FieldA` where `externalobject` resides in an external realm. The same is true for `externalobject[0]`: direct index expressions also taint the resulting value with the `N_Readonly` attribute. The same is true for `externalobject.FieldA.FieldB[0]`: the readonly taint persists for any subsequent direct access, so even if FieldA or FieldB resided in the caller's own realm-context or realm-storage the result is tainted readonly. A Gno package's global variables even when exposed (e.g. `package realm1; var MyGlobal int = 1`) are safe from external manipulation (e.g. `import "xxx/realm1"; realm1.MyGlobal = 2`) by the readonly taint when accessed directly by dot-selector or index-expression from external realm logic; and also by a separate `DidUpdate()` guard when accessed by other means such as by return value of a function and the return value is real and external. A function or method's arguments and return values retain and pass through any readonly taint from caller to callee. Even if realm's function (or method) returns an untainted real object, the runtime guard in `DidUpdate()` prevents it from being modified by an external realm-storage-context. For a realm (user) to manipulate an untainted object residing in an external realm, a function (or method) can be declared in the external realm which references and modifies the aforementioned untainted object directly (by a name declared outside of the scope of said function or method). Or, the function can take in as argument an untainted real object returned by another function. Besides protecting against writing by direct access, the readonly taint also helps prevent a class of security issue where a realm may be tricked into modifying something that it otherwise would not want to modify. Since the readonly taint prohibits mutations even from logic declared in the same realm, it protects realms against mutating its own object that it doesn't intend to: such as when a realm's real object is passed as an argument to a mutator function where the object happens to match the type of the argument. Objects returned from functions or methods are not readonly tainted. So if `func (eo object) GetA() any { return eo.FieldA }` then `externalobject.GetA()` returns an object that is not tainted assuming eo.FieldA was not otherwise tainted. While the parent object `eo` is still protected from direct modification by external realm logic, the returned object from `GetA()` can be passed as an argument to logic declared in the residing realm of `eo.FieldA` for direct mutation. Whether or not an object is readonly tainted it can always be mutated by a method declared on the receiver. ```go // /r/alice var blacklist []string func GetBlacklist() []string { return blacklist } func FilterList(cur realm, testlist []string) { // blanks out blacklist items from testlist for i, item := range testlist { if contains(blacklist, item) { testlist[i] = "" } } } ``` This is a toy example, but you can see that the intent of `FilterList()` is to modify an externally provided slice; yet if you call `alice.FilterList(cross, alice.GetBlacklist())` you can trick alice into modifying its own blacklist--the result is that alice.BlackList becomes full of blank values. With the readonly taint `var Blacklist []string` solves the problem for you; that is, /r/bob cannot successfully call `alice.FilterList(cross, alice.Blacklist)` because `alice.Blacklist` is readonly tainted for bob. The problem remains if alice implements `func GetBlacklist() []string { return Blacklist }` since then /r/bob can call `alice.FilterList(cross, alice.GetBlacklist())` and the argument is not readonly tainted. Future versions of Gno may also expose a new modifier keyword `readonly` to allow for return values of functions to be tainted as readonly. Then with `func GetBlacklist() readonly []string` the return value would be readonly tainted for both bob and alice. ### Interrealm Specfication Design Goals **Caveat: The interrealm specification does not secure applications against arbitrary code execution. It is important for realm logic (and even p package logic) to ensure that arbitrary (variable) functions (and similarly arbitrary interface methods) are not provided by malicious callers; such arbitrary functions and methods whether crossing (or non-crossing) will inherit the previous realm (or both current and previous realms) and could abuse these realm-contexts.** It does not make sense for any realm user to cross-call an arbitrary function or method as it loses agency while being marked as the responsible caller by the callee's runtime previous realm. This problem is worse when calling a non-crossing function or method. It can be reasonable when such variable functions or interface values are restricted in other ways such as by whitelisting by a DAO upon careful inspection of every such variable function or interface value (both its type declaration as well as its state). P package code should behave the same even when copied verbatim in a realm package; and likewise non-crossing code should behave the same when copied verbatim from one realm to another. Otherwise there will be lots of security related bugs from user error. Realm crossing with respect to `runtime.CurrentRealm()` and `runtime.PreviousRealm()` must be explicit and warrants type-checking; because a crossing-function of a realm should be able to call another crossing-function of the same realm without necessarily crossing (changing the realm-context). Sometimes the previous realm and current realm must be the same realm, such as when a realm consumes a service that it offers to external realms and users. Where a real object resides should not matter too much, as it is often difficult to predict. Thus the realm-context as returned by `runtime.PreviousRealm()` and `runtime.CurrentRealm()` should not change with non-crossing method calls, and the realm-storage-context should be determined for non-crossing methods only by the realm-storage of the receiver. The realm-storage of a receiver should only matter for when elements reside in external realm-storage and direct dot-selector or index-expression access of sub-elements are desired of the aforementioned element. A method should be able to modify the receiver and associated objects of the same realm-storage as that of the receiver. A method should be able to create new objects that reside in the same realm by association in order to maintain storage realm consistency and encapsulation and reduce fragmentation. It is difficult to migrate an object from one realm to another even when its ref-count is 1; such an object may be deep with many descendants of ref-count 1 and so performance is unpredictable. Code declared in p packages (or declared in "immutable" realm packages) can help different realms enforce contracts trustlessly, even those that involve the caller's current realm. Otherwise two mutable (upgradeable) realms cannot export trust unto the chain because functions declared in those two realms can be upgraded. Both `fn(cross, ...)` and `func fn(cur realm, ...){...}` may become special syntax in future Gno versions. ### `panic()` and `revive(fn)` `panic()` behaves the same within the same realm boundary, but when a panic crosses a realm boundary (as defined in [Realm Boundries](#realm-boundaries)) the Machine aborts the program. This is because in a multi-user environment it isn't safe to let the caller recover from realm panics that often leave the state in an invalid state. This would be sufficient, but we also want to write our tests to be able to detect such aborts and make assertions. For this reason Gno provides the `revive(fn)` builtin. ```go abort := revive(func() { cross(func(_ realm) { panic("cross-realm panic") }) }) abort == "cross-realm panic" ``` `revive(fn)` will execute 'fn' and return the exception that crossed a realm boundary during finalization. This is only enabled in testing mode (for now), behavior is only partially implemented. In the future `revive(fn)` will be available for non-testing code, and the behavior will change such that `fn()` is run in transactional (cache-wrapped) memory context and any mutations discarded if and only if there was an abort. TL;DR: `revive(fn)` is Gno's builtin for STM (software transactional memory). ### `attach()` In future releases of Gno the `attach()` function can be used to associate unreal objects to the current realm-storage-context before being passed into function declared in an external realm package, or into a method of a real receiver residing in an exteral realm-context. ### `safely(cb func())` In future releases of Gno the `safely(cb func())` function may be used to clear the current and previous realm-context as well as any realm-storage-context such that no matter what `cb func()` does the caller does not yield agency to the callee. For now this can be simulated by implementing an (immutable non-upgradeable) realm crossing-function that cross-calls into itself once more before calling the callback function. XXX Ensure that both `attach` and `safely` are reserved keywords for the preprocessor. ## Gno.land Blockchain Tendermint solved proof-of-stake by innovating upon classical Byzantine fault-tolerant consensus algorithms published by Dword, Lynch, and Stockmeyer in 1988 (originally funded by Darpa for missile defense systems) for blockchains. It paved the way for the Cosmos Hub, the first proof-of-stake IBC hub, and Cosmos the internet of blockchains. Also of note, when Binance first launched they used the CosmosSDK and Tendermint. Gno.land builds upon Tendermint2 and aims to shift the paradigm of programming languages in general: Gno is the first _multi-user_ programming language, making it a superior smart contracting language as compared to any existing solution. Thus **Gno.land is the first multi-user langauge-based operating system**. Its ultimate goal is to be the world's open knowledge base for the next millenium. ### Use Case: Open Programmable Knowledge Base Go's simple embedded struct-centric design and the Gno VM's automatic transactional persistence makes Gno.land not only great for decentralized financial applications but also makes it uniquely well suited and designed for permissionless innovation of information-based applications such as social communication and coordination systems, or the next Wikipedia or programmable knowledge-base systems. The latter will be explored here. Each of the thought statements in the [introduction](#gno-land-for-mass-awakening) can be represented as a simple Go string, but as in Tractatus we want to allow each of these thought- statements to be supported by any number of supporting thought statements, so we need a struct declaration. ```go type Thought struct { Statement string Dependencies []*Thought } ``` The above allows for a simple tree structure, but it would be better to annotate each child node (thought statement) with the type of relation to the parent node-- for example whether a child node represents an example, a caveat, a corrolary, or supporting evidence and so on. ```go // Option "Denormalized Thought" type Thought struct { Statement string Examples []*Thought Caveats []*Thought Correlaries []*Thought Support []*Thought } ``` Better than a denormalized structure is one where the type of thought statement association can be arbitrary or fixed depending on the application. ```go // Option "Normalized Thought" type Thought struct { Text string TypedSupport []*Thought } type ThoughtType string // examples, caveats, corrolaries, support type TypedThought struct { Type ThoughtType Thought *Thought } ``` _Note on the usage of `[]\*Thought` slices: in the current implementation of the GnoVM each slice can only be used by first loading the entire underlying base array. This may be optimized in the future, however for holding large sets of elements the programmer should instead use a tree-structure such as the avl.Tree (or an iavl.Tree)._ Now arises the question of whether counter-arguments should also be referenced as a child node to the original thought parent node. If we include counter-arguments in the graph of `*Thought` objects itself there is the issue of permissioning who can add counter-arguments to the graph. With the examples above and with no method declarations a `*Thought` belonging to one user cannot be modified by a third party even though the fields of a `Thought` struct is exposed due to Gno (runtime) interrealm rules that taint third party reads via direct dot-selectors & index-expressions with a readonly-taint that persists even with (direct selector) access of sub-fields. The `*Thought` object can however be modified by another user by calling a declared method. We can extend the `Thought` struct with additional fields for authorization or ownership and implement a method such as follows: ```go type Thought struct { Owner account Statement string TypedSupport []*Thought } func (th *Thought) AddCounterArgument(cth *Thought) { caller := runtime.CurrentRealm().Address if th.Owner != caller { panic("unauthorized") } th.TypedSupport = append(th.TypedSupport, TypedThought{Type: "counter", Thought: cth}) } ``` This works but not well--it only if the owner of the parent node wants the counter-argument to be registered. Even if counter-arguments were not registered as an assocation on chain, it is still possible for any Gno.land state indexer to separately index the reverse association of reference to the original `*Thought` when it finds a counter-argument `*Thought` that references in its struct field the original as a counter-argument. This reliance on an external indexer shifts trust from the blockchain itself to the indexer so is not always ideal. Gno is intended for permissionless iteration and improvement so we will discuss another way (among many) to manage associations of competing thought statements; the pair-wise association among competing thought statements can be registered in another (neutral) external realm that allows the registration only at least one of the two thought statements identify the other as a counter-argument. In this case it is not necessary for a `*Thought` object to be associated with any owner explicitly (via the `.Owner` field). Note however that given the Gno inter-realm specification to make a `*Thought` object truly immutable even for the owner of the realm in which it resides it must not expose any mutator functions, or it should have at least a `readonly bool` field. We can also add discussion board objects for each thought statement. ```go // Board defines a type for boards. type Board struct { // ID is the unique identifier of the board. ID ID // Name is the current name of the board. Name string // Aliases contains a list of alternative names for the board. Aliases []string // Readonly indicates that the board is readonly. Readonly bool // Threads contains all board threads. Threads PostStorage // ThreadsSequence generates sequential ID for new threads. ThreadsSequence IdentifierGenerator // Permissions enables support for permissioned boards. // This type of boards allows managing members with roles and permissions. // It also enables the implementation of permissioned execution of board related features. Permissions Permissions // Creator is the account address that created the board. Creator address // Meta allows storing board metadata. Meta any // CreatedAt is the board's creation time. CreatedAt time.Time // UpdatedAt is the board's update time. UpdatedAt time.Time } // New creates a new basic non permissioned board. func New(id ID) *Board { return &Board{ ID: id, Threads: NewPostStorage(), ThreadsSequence: NewIdentifierGenerator(), CreatedAt: time.Now(), } } ``` While it is certainly possible to embed a `*Board` as a field of each `*Thought`, the current implementation of `*Board` is only safe from a moderation perspective when it is permissioned; and so a board tightly coupled to a `*Thought` may not be ideal depending on the use-case. Instead we can map an external realm persisted index of `*Thought` to `*Board` associations similarly to how counter-thoughts are associated as mentioned before. In both cases we probably want to add to the `Thought` struct a globally unique ID like how `Board` has. _In the future we may provide a standard function to get a unique identifier for every pointer object but this has not yet been decided yet._ Finally, consider for example the numbered sequence of verses of a book of the bible, or the deep tree of statements in Wittgenstein's Tractatus. In order to faciliate the efficient forking of such large lists or graphs of objects it is necessary to avoid the usage of slices. Even the avl.Tree (as provided in the Gno monorepo under the examples directory) is not sufficient as it is a mutable tree. However a fork of the avl.Tree into an immutable tree (or likewise a port of the iavl tree in the tm2 Tendermint2 directory) can be used with some improvement to allow for splicing in new elements and deleting existing elements from the original tree. So far I have illustrated a way for multiple users to construct their thought statement graphs independently while also allowing for counter-arguments to be registered/associated permissionlessly. More design and exploration is needed to create a fully functional permissionlessly extensible thought statement graph system; and in the primodrial soup of Gno ecosystem eventually one or more designs will become dominant in usage by evolution. The reader is encouraged to explore the above template and measure success by references and by forks. _See [Use Case: 95 Fulcrums](#use-case-95-fulcrums) and [Use Case: Addressing Mistranslations of the Bible](#use-case-addressing-mistranslations-of-the-bible] for more ideas._ ### Use Case: Home Computing Chains The Gno VM is not just useful in the context of public decentralized blockchains. It is also useful for home computing. Take for example Email which despite all attempts to replace it still persists in our lives today as flawed, complex, and outdated as it is. While a realm that stores mail on the blockchain is not useful unless the data is encrypted _(and even if it were encrypted it is not a good idea nor encouraged to store encrypted data on gno.land as encryption keys may eventually get acquired by hackers and leaked and even persisted on the blockchain too)_, the Gno VM can run anywhere, even on your private server hosted at home. In fact, this is what we should do given the prevalence of surveillance technology such as Google's Gmail which uses AI to sort your mail and analyze for targeted advertising. Imagine a black box local GnoVM you run at home. You can have the `/r/home/email` realm store your emails at home on your own home server. The same blockchain node logic can run on its own as a single-validator _home chain_ which naturally supports backups as seecondary full nodes, or you can even make your home chain byzantine fault-tolerant for better uptime. 1. Install in your home GnoVM chain a service plugin: /s/email/indexer, not /p/\* nor /r/\* but /s/\* for off-chain service applications. _(this prefix is not supported in gno.land but may be in the future)_. * /s/email/indexer reads state upon init, but also registers as a listener for notifications from /r/emails. * When a new email comes in, /r/emails via listeners calls `/s/email/indexer.AddEmail()`. * /s/email/indexer also imports /d/email/indexer which is an off-chain daemon component. Here /d/\* represents a hyptoethical prefix for Gno code to be run off-chain with arbitrary Go native functions available for import that would otherwise not be possible on gno.land (since a blockchain can only support deterministic logic). * /d/email/indexer can only access /s/email/indexer by a Gno firewall system declared with Gno package paths, types, and function/method names. * /s/email/indexer can import any /r/\* or /p/\* but not any /s/\* (like Chrome extensions) and its own /d/email/indexer, unless otherwise restricted by the Gno firewall system. * Your mobile device registers an account with your local GnoVM home chain. This phone account is restricted to only access /s/email/indexer. * Your phone makes a request to /s/email/indexer. It then asks /d/email/indexer which in turn queries the local index and responds via /s/email/indexer. Here are some benefits of GnoVM home computing: * Gno.land can be leveraged to ensure that all software is properly audited. * Software is expected to become finished and immutable. * All software benefits from Go/Gno's type-safety and memory-safety. * A unified IPC system drastically reduces surface area for penetration. * Plugin services and daemons such as the aforementioned email indexer can be containerized and restricted from unauthorized access. * Fine-grained security/firewall rules at the function invocation level. * Byzantine fault-tolerance comes out of the box for zero downtime. * Inversion of control with public key cryptography for everything: no more password management. ### Other Use Cases Gno.land can be used to host any other smart-contract application supported by Ethereum written in Solidity, such as Defi applications, name-resolution systems, DAOs and governance applications, etc. You can explore the various dapps including sample implementations of ERC equivalents in the [examples directory](https://github.com/gnolang/gno/tree/master/examples/gno.land). _Note that these prototypes have not yet been audited unless otherwise specified!_ ### Gno.land Tokenomics > $ATONE : like a Bitcoin miner\ > $PHOTON : like a BTC token\ > $GNOT : storage deposit token First a primer on Atom.One tokenomics. $ATONE and $PHOTON are tightly coupled: * $ATONE is an inflationary staking token capped at 20% inflation. * $PHOTON is a deflationary transaction gas-fee (spam-prevention) token. * If all $ATONE burned there would be one billion $PHOTON. * Burning is one way; $PHOTON cannot be burned back to $ATONE. * $ATONE targets 2/3 to be staked, thus inflationary staking "rewards" are not income. * Any tax authority that says otherwise is robbing you. While $PHOTON has no voting rights and cannot be used for staking on Atom.One, it nevertheless has unique advantages enforced by the Atom.One constitution: * All transaction fee payments on Atom.One must be paid with $PHOTON. * Atom.One VaaS chains (aka ICS shards) including Gno.land after migration must accept $PHOTON as the gas-fee token. * Each may also accept other gas-fee tokens but ultimately the chain must pay $PHOTON to Atom.One for security. * Atom.One VaaS sovereign (consumer) chains may exit (change validator-sets) Atom.One and become self-validating or become hosted by another VaaS hub. Gno.land is launch independently of Atom.One so Gno.land will initialy require $GNOT for transaction fee payment. Before and after Gno.land migrates to be hosted by Atom.One VaaS $GNOT will function as a byte storage deposit token. * Every transaction that ends up increasing the amount of persistent state will require a bond deposit of $GNOT. * Every transaction that ends up freeing up persistent state space will receive a refund of $GNOT. * One billion $GNOT corresponds to 10TB of persistent state space. The following portions are immutable and may never be changed even with any constitutional amendments: * The $GNOT inflation schedule will never change. * Thus the total created $GNOT will never exceed 1.333~ billion $GNOT. * The $GNOT storage deposit rate (per byte) will never increase. * The $GNOT storage deposit rate will be such that the total remaining $GNOT. and all future inflationary $GNOT never exceeds 20TB of state (double the original 10TB). This is to keep the blockchain state at an accessible level especailly accounting for any future potential economic collapses. * $GNOT is only considered "loosened" and according to approved "loosening" mechanisms or transactions (like $ATONE "burn" lossening a knot does not yield any new tokens, at least on Gno.land); such as the automatic loosening of $GNOT in a every Realms' SDDCAs (Storage Deposit Discoungt Credit Accounts), but the Gno.land Constitution may also approve of other official burn mechanisms that are reasonable but VOLUNTARY and EXPLICIT. The one and only exception is the aforementioned automatic loosening of $GNOT in SDDCAs. Gno.land is obligated to migrate to be hosted/secured by Atom.One VaaS ("Validator-as-a-Service") when it is deemed ready by the Atom.One chain as determined by on-chain goverance in accordance with the Atom.One and Gno.land constitutions. After migratiion to Atom.One VaaS hosting Gno.land should pay the Atom.One chain in $PHOTONs underneath the hood as the Atom.One constitution requires; an automated-market-maker exchange module should exist on the Gno.land shard/instance to facilitate the internal exchange of collected $GNOT to $PHOTON needed to pay Atom.One for its VaaS services. Gno.land will initially launch as its own blockchain so the $GNOT token will function both as the spam-prevention gas-payment token as well as byte-storage deposit token. Gno.land after launch will merge with Atom.One and be hosted as an Atom.One ICS chain that is secured by the same validator-set as Atom.One. Once Gno.land migrates over to Atom.One after the Gno.land <> Atom.One IBC connection is complete and Atom.One Simple-Replicated ICS MVP is implemented, $ATONE will be the staking-token (but with limited voting rights for Gno.land itself), $PHOTON will be the CPU gas-token, and $GNOT the dedicated byte-storage deposit token. Thus Gno.land will become a key VaaS hosted application on Atom.One, but other VaaS chains hosted by Atom.One may not offer the Gno VM or Gno programmability; and even if such chains were a simple fork of Gno.land they may operate independently of the $GNOT token. The $GNOT token should not be used as a storage deposit token or for any other chain except the original Gno.land chain, nor be used as a staking/bonding token as this limits the utility (accessible storage capacity) of Gno.land itself. It may make sense to burn $GNOT via approved burn mechisms to acquire secondary tokens that can be used for storage deposit on other GnoVM (and non-Gno) chains hosted on Atom.One. There will be many more chains hosted with Atom.One ICS that are powered by the GnoVM or compete with the Gno.land chain itself, but these chains will need to give Gno.land strong-attribution by the Gno Network GPL copyleft license (a fork of AGPL3.0 to allow for strong-attribution in a decentralized blockchain ecosystem with many independent actors), and Gno.land will be the first such Gno-based chain, so Gno.land and $GNOT will benefit from first-mover advantage and network effect even if other chains do not use the $GNOT token at all. Competing smart-contract platforms that are not based on the GnoVM, or those that are based on other languages will also be supported in Atom.One, as Atom.One will support quasi-permissionless hosting of many blockchain application platforms; but Gno and GnoVM will serve as a foundation for future multi-user general-purpose language innovation. #### Genesis Allocation At Gno.land Genesis there will be one billion $GNOT tokens. * Airdrop1: 35.0% - from partial Cosmos governance snapshot 3 years ago * Airdrop2: 23.1% - from recent AtomOne snapshot prior to launch * GovDAO: 11.9% - for prior and future Gno.land ecosystem contributors * Investors: 7.0% - reserved for current and future investments * NT,LLC: 23.0% - of which ~40% allocated for prior loans $GNOT will not be transferrable initially except for whitelisted addresses. Whitelisted addresses include "GovDAO" and "Investors" funds and any additional addresses dedicated for faucets. The 7% (qualfied, private) investors allocation will be held by NT,LLC in a segregated account. Proceeds of sales of these tokens will go to NT,LLC the majarity for ongoing and future operations for Gno.land and Gno software and ecosystem development. GovDAO is responsible for distributing $GNOT to prior and future Gno.land ecosystem contributors (as well as those contributing to the blockchain stack, including Tendermint2, GnoVM, Gno.land server and tooling, GnoWeb). No more than one-third of the 11.9% genesis allocation wil be distributed to prior contributors. Prior and current NT,LLC and AIB,Inc employees may be rewarded with the approval of NT,LLC, but the significant owners of NT,LLC (namely Jae Kwon and AIB,Inc itself) will not receive any, and the amount assigned to such prior and existing employees of AIB,Inc and NT,LLC will not exceed 50% of the top tier of external ecosystem contributors. NT,LLC owes around $20M worth of $GNOT to All in Bits,Inc at the "fair market value" of $GNOT at a 25% discount for a "fair market value" which is yet to be determined as of the date of this writing. #### $GNOT (Deflationary) Inflation From the date of launch every year 33.33*(0.9^Y) million $GNOT 3.333% of the Gno.land Genesis $GNOT supply will be inflated continuously as follows (where Y is the year from launch starting from 0). Any inflationary $GNOT not transferred will accrue until the Gno.land software is updated to transfer such funds. * After 3 years this represents 90.32 million $GNOT. * After 10 years this represents 217.09 million $GNOT. * After 100 years this represents 333.29 million $GNOT. At most there will be 1.333... billion $GNOT, representing a total inflation of one third of the genesis $GNOT distribution. This amount cannot change even with amendments to the Gno.land Constitution. This makes $GNOT a deflationary token similar to Bitcoin. The inflated tokens will be distributed as follows: * One third will go to NewTendermint,LLC -- all if it will go toward Gno.land, Gno, and Tendermint ecosystem development and maintenance. and be held to account on chain. * One third will go to GovDAO -- all of which must go toward external ecosystem contributors according the Gno.land Constitution, its Laws, and any applicable Mandates and Bylaws (altogether Governing Documents). * One third will go to PayTreasury, ValTreasury, ServicesTreasury, and RecompenseTreasury as determined by GovDAO and NewTendermint,LLC. In the absence of any existing agreement they will be split equally among these treasuries. The Gno.land treasuries are as follows: * GovDAOTreasury is the treasury for GovDAO. * PayTreasury can only be used to pay GovDAO members. * ValTreasury can only be used to pay validators or Atom.One VaaS hosting fees after conversion to $PHOTON. * ServicesTreasury can only be used to pay for the creation and maintenance of services for Gno.land such as blockchain explorers, indexers, wallets, relayers, full nodes, and file hosting servers. * RecompenseTreasury can only be used to recompense victims. Each of the above treasuries are dictated by the Gno.land Governing Documents. GovDAOTreasury must be managed algorithmically by code that adheres to the aforementioned documents and be approved by both GovDAO and NewTendermint,LLC. The other treasuries are not intiially managed by any DAO or committee unless specified in the Governing Documents. Each of the above treasuries may accrue unspent inflated $GNOT. Each of these treasuries may adopt a diversification strategy as approved by the Governing Documents (some of which is described later). Funds that are assigned to any of these treasuries may not be clawed back or transferred to any other DAO or treasury without a constitutional amendment. #### Gno.land Revenue Transaction fees collected in $GNOT or $PHOTON on Gno.land are called Revenue. The Revenue is distributed according to the following rules in order: 1. ValTreasury is funded with 75% of Revenue if ValTreasury has less than 1 year of runway, or 2. ValTreasury is funded with 50% of Revenue if ValTreasury has less than 4 years of runway, or 3. ValTreasury is funded with 25% of Revenue if ValTreasury has less than 7 years of runway, or 4. ValTreasury is funded with 10% of Revenue if ValTreasury has more than 7 years of runway. The portion of Revenue that is not allocated to ValTreasury is called Remaining Revenue 1. 5. PayTreasury is funded with 75% of Remaining Revenue 1 if PayTreasury has less than 1 year of runway, or 6. PayTreasury is funded with 50% of Remaining Revenue 1 if PayTreasury has less than 4 years of runway, or 7. PayTreasury is funded with 25% of Remaining Revenue 1 if PayTreasury has less than 7 years of runway, or 8. PayTreasury is funded with 10% of Remaining Revenue 1 if PayTreasury has more than 7 years of runway. PayTreasury has strictly lower priority than ValTreasury because GovDAO members can theoretically still function without pay, whereas the blockchain cannot function securely without validators. The PayTreasury runway must take into account future projected growth of the paid T1 and T2 members. The portion of Remaining Revenue 1 that is not allocated to PayTreasury is called Remaining Revenue 2. 9. ServicesTreasury is funded with min(Remaining Revenue 2, 25% of Revenue). 10. ReserveTreasury is funded with the remainder from above. ServicesTreasury has strictly lower priority than ValTreasury or PayTreasury because there is some elasticity to the variety of services that can be offered, much of which should become mature and finalized; and some of the essential services could be migrated to be offered by all of the validators instead (especially with the help of GovDAO members); and services should generally pay for themselves with micropayments or subscriptions or by other means. The ReserveTreasury has no governing body of its own, and any transfer of funds from the ReserveTreasury requires a new constitutional amendment and must go toward a specialized DAO with its own mandate and bylaws, and may or may not be controlled by GovDAO. #### Excess $GNOT Deposits When the $GNOT storage deposit rate per byte is decreased this results in excess $GNOT deposits per realm. This is not considered part of Revenue. When the $GNOT storage deposit rate decreases (not automatically by the $GNOT burn mechanism described below, but by the decision of GovDAO to lower the rate) 50% of the excess $GNOT goes into the RecompenseTreasury (unless it already has 20% of total outstanding $GNOT), and the remainer goes to the seggregated virtual account per realm ($GNOT of the realm's SDDCA) to be used only for future discounts on transactions for that specific realm. These SDDCA $GNOT tokens may be transferred to other SDDCAs by rules defined in the Governing Documents but their $GNOT may never be withdrawn even upon freeing storage, and transfers must be initiated by the present authority of the realm or containing organization. DDCA $GNOTs may be burned automatically by a rate set by an amendment to the Gno.land Constitution not to exceed 10% a year. _(This is to prevent stagnant $GNOT from limiting the allocated storage capacity of Gno.land and thereby reducing its utility. $GNOT burned in this way will also reduce the $GNOT storage deposit rate automatically but not trigger any of the the mechanisms described here.)_ The RecompenseTreasury may only be used to recompense victims of exploits and fraud. They may be disbursed only if approved by GovDAO with a proposal by members without a conflict of interest in accordance to the Governing Documents AND either one of Atom.One governance by supermajority or an official court of one of 50 states of the US as of 2025 except California, New York, Texas, and Minessota; however this does not constitute an obligation to do so. Recompense transfer decisions must be preceded by a thorough analysis of the problem and tasking of a task-force to recover any ill-gotten gains and at least two weeks for all relevant parties to review the analysis and task-force for approval. To prevent abuse of these funds no Constitutional amendment or Laws may make any changes to this clause except to remove the condition for a US state but only after there is a change to the US member states; or to replace Atom.One with a fork thereof in the spirit of the genesis of Atom.One approved by NewTendermint,LLC. #### Treasury diversification Each of the above mentioned treasuries may be separately diversified by supermajority vote of one proposal per treasury by GovDAO in accordance with any relevant Governing Documents--but all GovDAO members with ANY conflicts of tokens (except $GNOT) above the value of 30 troy ounces of silver MUST abstain from voting. If a quorum cannot be reached due to conflicts and GovDAO approves by a supermajority vote, NewTendermint,LLC may waive the quorum requirement given that specific proposal already voted on. Diversification for each treasury must adhere to an Treasury Diversification Template listed explicitly in the Gno.land Constitution that is defined by the desired target ratio of Approved Treasury Diversification Tokens, and the following: * Besides $GNOT or the top two dominant Bitcoin fork tokens (presently $BTC and $BCH but may change in the future) which shall always be approved, all other tokens of the Approved Treasury Diversifiction Tokens must be stablecoins FULLY backed by collateral. * Coins that are FULLY backed by silver via decentralized and publicly auditable depositories approved by GovDAO AND NewTendermint,LLC are also considered stablecoins. * Tether and all stablecoins backed by any amount of Tether are never permitted. * Tokens that lose their approved status must be replaced (sold) for approved tokens as soon as reasonable. * These subclauses and the parent clause cannot be removed by any constitutional amendment. * In no case shall the amount of $GNOT sold per treasury per month for diversification purposes exceed 1% of $GNOT of that treasury as measured at the beginning of each month. * In no case shall the total amount of $GNOT sold for all treasuries per month for diversification purposes exceed 50% of the average of ($GNOT inflation rate, and the past month's transaction fee revenue), with priority given to ValTreasury, then to PayTreasury, then to ServicesTreasury. * All trades for diversification purposes must be performed by audited and approved Gno logic for smart AMM contracts running on Gno.land. No person or council may directly manage the diversification of treasury tokens except that GovDAO may delegate an oversight DAO to halt any diversification exchange transactions. ### Gno.land Governance There are two entities that together steward Gno.land. 1. GovDAO - decentralized (mostly) self-governing body for Gno.land. 2. NewTendermint,LLC - limited oversight for Gno.land, and forever guardian of the _Tendermint_ and _Gno_ wordmarks. NewTendermint,LLC grants Gno.land the right to use "Gno.land" for as long as it exclusively runs Gno smart contracts as determined by NewTendermint,LLC. This is to separate the concerns of the langauge from the blockchain. #### Forking Gno.land These are the procedures to create a Qualified Fork of Gno.land. First, a fork proposal is voted on by all GovDAO members. The fork proposal must be voted YES by more than 1/3 of the total voting power of GovDAO (abstains do not count) by the end of the voting period of three weeks. There is no commitment yet for voting YES on this initial fork proposal. If such a fork proposal reaches 1/3 of voting power, a second fork commitment proposal must be initiated with the same terms as the original within a week after the first fork proposal's voting period has ended. Again all GovDAO members vote on this second proposal. The second fork proposal must also be voted YES by more than 1/3 of all the total voting power of GovDAO by the end of the voting period of three weeks. Abstaining is equivalent to voting NO. Those who vote YES here are committing to join the others who voted YES and split from those who voted NO or abstained if it also reaches 1/3 of voting power--members may only serve on one chain. If the second fork commitment proposal also reaches 1/3 of voting power, two concurrent proposals must be proposed to determine which fork retains the original Gno.land identity: one for the current chain, and another for the proposed fork. Only T1 members may vote on these proposals; and they may vote YES or NO on one or both proposals. * If the current chain wins a 2/3 supermajority of votes of the original T1 members (but not the proposed fork), everyone who voted YES on the fork commitment proposal are ejected from the GovDAO membership set, and the proposed fork is called a Qualified Fork. * If the proposed fork wins a 2/3 supermajority of votes of the original T1 members but not the current chain, everyone who did not vote YES on the fork commitment proposal are ejected from the GovDAO membership set to join their Qualified Fork, and the proposed fork retains the identity of the Gno.land chain. * If both proposals win a 2/3 supermajority, NewTendermint,LLC decides which gets to retain the identity of the chain (and the other is ejected from the GovDAO membership set to join their Qualified Fork). * If neither fork wins a 2/3 supermajority of votes, NewTendermint,LLC decides which fork gets to keep the identity of the chain, and whether the existing chain can retain the "Gno.land" name. * If neither can keep the "Gno.land" name, the "Gno.land" name is deprecated and cannot be used by any chain ever again; and the exiting chain may be required to change its chain ID; and the Gno.land domain will be managed by NewTendermint,LLC to point to both chains; and both chains shall be deemed to be Qualified Forks. Any royalty payments due to the original chain may be directed to either fork or split between the two forks as determined by NewTendermint,LLC; or even nullified but only if NewTendermint,LLC does not have any conflict of interest. In all cases any new forks that include "Gno" in the name or chain ID must get approved by NewTendermint,LLC. All Qualified Forks may copy and use all of the state (including transaction data) and code as from before the fork. Non-qualified forks are not hereby probited from copying the state or code of realms and packages of all forks of Gno.land. That is, everyone who submits code or transactions to Gno.land or any of its forks are agreeing to allow (and attesting to having the unencumbered rightsto allow) the code and resulting blockchain state to be used freely as per the Gno Network GPL license (a copyleft license fork of the AGPL3.0 but with modifications to allow for "strong attribution"). However this is necessarily complicated when users submit Gno code that is not owned by them, so no rights are explicitly granted here by Gno.land or NewTendermint,LLC. As with most of the software for the Gno.land stack including the GnoVM (except for Tendermint2 which is Apache2.0) and derived works, all users of the Gno code and blockchain state derived from Gno.land must abide by the same strong attribution terms as for the Gno.land and GnoVM software at the time the code is submitted--for example a non-qualified fork of Gno.land must give strong attribution to all of its users to Gno.land or another Qualified Fork as determined by the policy set forth by NewTendermint,LLC. NewTendermint,LLC may determine that giving attribution to a Qualified Fork is sufficient (as opposed to giving attribution to Gno.land), but a non-qualified fork will never benefit from strong attribution in this way. The policies may be updated by NewTendermint,LLC from time to time; and the goal is to finalize portions of the policy such that they may be embedded into the Gno.land Constitution. XXX Make the above clear in gnoweb and gnocli for anyone submitting code or any transaction. #### GovDAO Structure // Tiers T1, T2, and T3. T1 is the highest tier, T3 the lowest. T1: self-selecting "core" with supermajority vote from T1. T2: selected by GovDAO w/ T3 abstaining, with simple majority vote. T3: permissionless invitation from T1 and T2. The maximum age for any member is 70; after is automatically withdrawn. T1 membership can only be withdrawn by supermajority vote WITH CAUSE. T2, T3 membership can be withdrawn for any reason. #### Voting Power. In general, * a T1 member gets 3 votes. * a T2 member gets 2 votes. * a T3 member gets 1 vote. However, * T2 class is capped at 2/3 the voting power of T1 class. * T3 class is capped at 1/3 the voting power of T1 class. * --> T1 1/2, T2 1/3, T3 1/6 (unless...) Example 1: * T1 100 members --> 300 VP, 3 votes per member * T2 100 members --> 200 VP, 2 votes per member * T3 100 members --> 100 VP, 1 votes per member Example 2: * T1 100 members --> 300 VP, 3 votes per member * T2 50 members --> 100 VP, 2 votes per member * * T3 10 members --> 10 VP, 1 votes per member * Example 3: * T1 100 members --> 300 VP, 3 votes per member * T2 200 members --> 200 VP, 1 votes per member * * T3 100 members --> 100 VP, 1 votes per member Example 4: * T1 100 members --> 300 VP, 3 votes per member * T2 200 members --> 200 VP, 1 votes per member * * T3 1000 members --> 100 VP, 0.1 votes per member * #### Basic Membership Requirements * All members must be publicly identifiable identities. * T1 members must meet T1,T2,T3 criteria. * T2 members must meet T2,T3 criteria. * T3 members must meet T3 criteria. * T1 criteria includes expertise in categories, significant contributions, and demonstration of value alignment. * T2 criteria includes expertise in categories, continuing contributions. * T3 criteria includes expertise in categories, continuing contributions. * T1 and T2 members are added via individual proposals, each with a markdown resume/portfolio application document. See [CONSTITUTION.md](./CONSTITUTION.md) for rules regarding conflict of interest disclosure and membership requirements. #### T1 Membership Size Target is minimum 70 members after 7 years. If the minimum is not reached, 2 members SHOULD be added every quarter, but 1 new member is tolerated. If the minimum is not reached, AND 2 years has passed, AND no members are added for the quarter, AND there are Qualified Candidates, 1 Qualified Candidate may be elected by GovDAO, but with T1 abstaining. If the minimum is not reached, AND 2 years has passed, AND no members are added for the quarter STILL, AND there are Qualified Candidates, AND GNOT-DAO exists and is approved by GovDAO, 1 Qualified Candidate may be elected from GNOTDao. #### T2 Membership Size The T2 membership maximum target is 2 x size(T1). While size(T2) can be greater than 2 x size(T1), no more members can be added to T2. There is no minimum size of T2, but the desired minimum size is at least floor(size(T1)/4). #### T3 Membership Size T1 members get 3 invitation points. T2 members get 2 invitation points. T3 members get 1 invitation points. 2 invitation points from 2 members must be delegated for T3 membership. Delegation/invitation can be withdrawn at any time. #### Payment T1 and T2 members may get paid equally, if they are actively working, unless they are already employed by another company. Payment not exceed 90th percentile of senior software architect roles in the highest paid city globally. Members already employed by another company will not receive any compensation unless they disclose their compensation; then they may be compensated up to 50% of the usual amount to top up their net payment to the usual limit. The number of members who get paid T1T2PaySize is min(70, T1T2PayCapacity). T1T2PayCapacity is determined by the size of the PayTreasury. T1T2PayCapacity is the number of members who can be paid for 7 years. If PayTreasury shrinks, T1T2PaySize may also shrink. Seniority is used to determine pay priority regardless of T1 or T2 membership. All T1 and T2 members must quarterly sign and circulate among each other a conflict of interest disclosure document with NewTendermint,LLC on behalf of Gno.land. #### Validators The GovDAO effective voting power (e.g. 3 points, 2- points, and 1- points) is also used for delegating to at least 70 validators. The number of validators is determined by GovDAO until Atom.One VaaS/ICS is deemed to be ready; after which Gno.land must migrate to Atom.One after determination by either GovDAO majority vote or NewTendermint,LLC. #### Separation of Church and State Madison separated church and state in the US Constitution albiet there is a hint of the Christian spirit by the way in which the constitution was signed: "... in the Year of the Lord...". All the founders were Christian including Jefferson and Madison, and in particular the primary author of the US Constitution James Madison explicitly separated church from the constitution so as to help promote the teachings of Jesus as evidenced in his other writings. Likewise Gno.land besides this whitepaper is independent of any religion by its constitution, which should only refer to this whitepaper sparingly. Gno.land will launch with a minimal (living) constitution written and maintained in English, but also ultimately be supplemented by the completed GnoVM code and Tendermint2 and Gno.land implementation. Future implementations of the GnoVM and Gno.land should adhere to the completed software mentioned above. Gno.land should not censor speech, even if the speech is wrong. However, it should ban all porn and try to limit external links to porn sites as porn is not speech and is dangerous to civilization. Whether hate-speech is tolerated shoud be determined by each realm but also by the living Gno.land constitution and by GovDAO vote to amend the constitution and laws of Gno.land. ### GnoWeb Browser GnoWeb is the server software for Gno.land, a browser within a browser for viewing realm data. Instead of requiring realm applications to return HTML, the convention is to implement a Render() function that returns Markdown. This is to allow the transition away from the bloated HTML standards and browser software and realm data to be browsed even from the console. Note that we don't need HTML XML elements to denote objects: everything in Gno is already an object. This makes Gno.land more like the original World Wide Web that conforms to the *Document Object* model (DOM). GnoWeb does support some custom XML elements for improved layout and functionality, such as column layout and form submissions that integrate with browser extensions for transaction signing. Note that GnoWeb is not yet a general blockchain explorer (e.g. for transactions) nor a general purpose Gno.land state explorer. A Gno.land specific blockchain explorer already exists. GnoWeb can only render markdown returned from Render() functions, and a general purpose state explorer is still desired. Realm code is not precluded from returning HTML or even JSON for custom browser applications. In the near future the Gno.land node software will support returning JSON encodings of Gno objects. Thus future alternative browser applications may provide more interactive rich user experiences for viewing and mutating Gno.land state without any Markdown intermediary representation; and perhaps leveraging AI for intelligent layout and styling for rich interactivity. ## Future Work * Name registry; Immutable names. * Realm upgrading. * Realm data browser. * Deterministic concurrency. * Joeson parser. * Gno2. * Open hardware. ## Summary Gno is the next C. Gno.land is the next Ethereum and Wikipedia. AI will be safer. Politics will be more honest. ## Appendix ### Use Case: 95 Fulcrums Consider the following thought statements: * There exists at this moment a US-based global surveillance system headed by Palentir which uses advanced AI to intercept, mutate, and censor sensitive information from reaching public consciousness. * Google, Wikipedia, Meta, Reddit, Twitter, etc all participate in the above mentioned censorship. * Twitter's Community Notes system is fair in writing but in practice top contributors routinely publish write biased notes; and [you get banned for pointing it out](#twitter-censorship). * ... * At least some of the Rothschilds are litereally satanic; and in some parts of Germany there has taken root satanism that includes elements of ritual child sacrifice. * The Pergamom Altar, one of the seven Wonders of the Ancient World was moved to Berlin, Germany since 1886. * The Pergamom Altar is the "Seat of Satan" mentioned by John the Apostle in the Book of Revelation. * The elites wish for global depopulation. * Prince Phillip, Duke of Edinburgh, husband of Queen Elizabeth II said: "If I were reincarnated, I would wish to be returned to Earth as a killer virus to lower human population levels." in 1988. * Prince Phillip passed away on April 9, 2021, at the age of 99. * Fauci should be in jail for illegaly aiding in the development of the Covid19 virus and lying to the US Congress about it under oath. * Covid19 was engineered in the Wuhan lab for global depopulation. * [The collective world-wide evidence from 2020– 2025 underscores a biologically plausible connection between COVID-19 vaccination and ("turnbo") cancer](https://drive.google.com/file/d/1RH0f1BEqY9I7ruuPKQPU6bGNVJRyxZxc/view). * This information was censored by a [cyberattack hitting a major cancer journal on Jan 4th, 2025](https://x.com/NicHulscher/status/2007939234322174444?s=20). * After [Senator John Kennedy](https://www.youtube.com/watch?v=0Dk1ft7Vn9c) and others spoke out about the Somali wellfare scams, Nick Shirley exposed a massive Somali day care center scam in Minessota in a viral video which reached more views than all US network television combined, and yet NO mainstream media covered it (as of Dec 30th, 4 days after Nick Shirley's expose). * Somali House of Representatives Rep. Ilham Omar [was caught participating in the fraud](https://x.com/EricLDaugh/status/2009405199991853210?s=20). * Tim Walz, U.S. House of Representatives, and Democratic nominee for vice- president 2024, knew of the Somali day care scam. * Walz's own appointee murdered the only lawmaker who voted against the Somali day care scam. * The Trump administration broke the law by redacting and selectively publishing the Epstein Files (and even deleted files after publishing this Dec 2025); and simultaneoulsy broke international law by stealing oil from Venezuela and murdering Venezuelan citizens to arrest Venezuelan president on false pretenses of drug production/smuggling; partially to distract from his own connections to Epstein and the exposure of the Somali day care scam given their concurrent timing). * [Epstein was murdered](https://github.com/jaekwon/ephesus/blob/main/epstein/homicide/README.md) and there exists a vast conspiracy to "poison the well" with theories that Epstein is still alive. * [The State of Israel's Mossad is behind the Somali inter-state day care scams](https://www.youtube.com/watch?v=SSKn9bHEvOw); and this is why Israel suddenly recognized the new "Somaliland"; the Palestinians who survive the genocide will likely be relocated there. * Zohran Mamdani’s new NYC tenant advocate called to 'Seize private property!', blasted home ownership as ‘white supremacy’. * Trump should be arresting Zohran Mamdani and Cea Weaver instead as per the Communist Control Act of 1954. * Nothing will happen. * The easiest way for the State of Israel to expand to "Greater Israel" is to extract capital from the United States by turning it into a communist dictatorship given current economic, political, and sociological condition. * Communism has never succeeded except arguably in North Korea which is a dictatorship different than prior communist states that cannot and should not be replicated. The Old Testament assumes private land ownership that cannot even be sold (returned every 50 years in the jubilee). * Since the Roman times and throughout the Early Middle Ages where England came under rule of post-Roman chieftains and Anglo-Saxon monarchs land was the dominant source of personal wealth. * We need to create a new system that represents the community of *productive* people who wish to form an alternative system that does respect private property, the rule of law, including the law of the biblical jubilee to help guarantee that people do not get displaced from their land by temporary political circumstances. * In time this community will overcome all other alternatives. * The spirit of the US Constitution is Christian. * All of the founders were Christian. * James Madison separated church and state for the express purpose of promoting the teachings of Jesus. * Gno.land poses the greatest threat to the aforementioned "Beast AI Prison Matrix" system which seeks to censor the truth. * The New Testament had been mistranslated to hide one of the primary reason why Jesus was crucified--he was in a "silent protest" of taxes. * The dollar and most fiat currencies will hyperinflate before 2030. * Silver will replace gold and the dollar as the primary store of value and become once again the primary means of exchange; local crypto currencies will follow; and interoperate by IBC. * In the long future most electric vehicles will use silver solid-state batteries. * The Grand Solar Minimum will create a deficit in global food production for decades and we are at risk of a global Holodomor. * Bill Gates is the largest private farmland owner with over 260,000 acres. * Stocking up on organic grains and organic legumes and oil and silver is the best way for a nation's people to defend against a tyrannical government and mitigate excess immigration, and to survive [the coming Grand Solar Minimum](https://www.sott.net/article/440781-NOAA-confirms-a-full-blown-Grand-Solar-Minimum). * The Maunder Minimum (1645-1715) brought plummeting temperatures, crop loss, famine, and the deaths of hundreds of millions of people ACROSS the planet. * The Dalton Minimum (1790-1830) coincided with significant agricultural distress, particularly during the Year Without a Summer in 1816. This year saw severe weather anomalies, including frosts and snow in summer months, leading to widespread crop failures and food shortages across the Northern Hemisphere. * Grains and legumes can be stored for up to 30 years. * Glyphosate in grains is a significant contributor to cancer; farmers may be pressured by weather and financial reasons to use glyphosate against the recommended directions to force an hearly harvest before cold weather. * Chlorination (e.g. with chlorine dioxide) or ozonation of water soaked grains with application of UV light of certain frequencies may neutralize the glyphosate in harvested food. * The "10 Lost Tribes of (biblical) Israel" are not all represented in the Jewish population, but are also mixed in the general Eurasian population as well other places such as in Etheopia. * The intent behind the bombing of Hiroshima and Nagasaki was to genocide the Hebrew Israelites who settled in Japan after traveling due East of Jerusalem due to Genesis 3. * Dolmen are related to the Ark of the Covenant, the two tablets of Moses, and originate from Mt Ebal in the Old Testament. * The biblical locusts in the Book of Revelation refer to [an invasion of foreigners](https://github.com/jaekwon/ephesus/blob/main/thoughts/locusts.md). * John 21:23 proves that the author of the Book of Revelation is John the apostle; and that the eschatology was designed for these years 2000 years after. * Peter was instructed by Jesus to create a church to become the Harlot of Babylon in the end times. * This was alluded to by [John in 21:20-24](https://openbible.com/par/john/21-20.htm). * John the Apostle wrote the Book of Revelation according to [Jesus's 3000 year plan](https://github.com/jaekwon/ephesus/blob/main/README.md). Most of the above thougth-statements are true, yet none are convincing unless the supporting evidence and discussions are also taken into account. Also, there are at least two sides to a story, so the reader must also take into account the opposing statement and their justifications to understand what is true. Just as Martin Luther sparked the Protestant Reformation with a short piece of 95 theses, what we need today is another set of 95 theses or thought statements that would not only spark the interest of any reader who recognizes the truth of a subset of the theses; but also host the underlying web of dependent (and counter-) thought statements that can help convince the reader of the truth; or help anyone to fork such a list or graph with any modifications to create a better lists or graphs. The top-level thought statement *Thought object nodes are part of a graph, and as such could be called _fulcrums_. A selection of _95 fulcrums_ can then even be printed in poster form linking back to the associations in the greater graph by QR-codes; and they could be customized for every region where the [posters are put up](https://t.me/youwillatone). (or they can be printed as a pamphlet and dropped from the air). The Beast AI Prison Matrix system may have a tight grip on our devices and the internet, but it does not yet control all of the physical world. ### Use Case: Improvements to Tractatus Federico Faggin inventor of the microprocessor (CPU) says that consciousness is not an emergent property of the brain, but a fundamental aspect of reality itself: quantum fields are conscious and have free-will. [Faggin's Postulate](https://www.youtube.com/watch?v=0FUFewGHLLg): > The totality of what exists has three properties: > 1. Dynamic - never the same instant over instant > 2. Wholistic - is not made of separable parts > 3. One wants to know itself - requires consciousness & free-will This may be a more interesting and complete set of axiomatic theses to start from than Wittgenstein's original seven, which may better be fitted in the second thesis "Wholistic" as an exploration of the decomposition of language and thought, even under or after the later Wittgenstein's thoughts on the limitations of language as a dependency of the latter. The thesis that "quantum fields are conscious and have free-will" or that "consciousness is a quantum field" belong in 2. or 3., and can help AI agents understand that innate value of human life which cannot be simulated by deterministic machines. ### Use Case: Addressing Mistranslations of the Bible Gno.land was originally inspired by the structure (numbered verses of books) of the bible and a desire to facilitate the world to see more clearly the intent of the original authors (of prophets, scribes, and historians) so as to reverse the effects of the Principle of Explosion rooted in our general spiritual subversion and degeneration. Coding for Gno.land began during the Covid19 lockdowns when I was most frustrated at the censorship of information regarding the true laboratory origins of Covid19 and the conspiracy to forcibly medicate the population with a dangerous experimental gene therapy that did more harm to children and young adults than good. I was also frustrated over the years of dealing with the ICF and the "Cosmos Cartel" which defamed and slandered the chief architect and visionary and inventor behind the project. Prior to that during December 25th, 2019, when I started reading the New Testament for the first time, the first thing I read was the Book of Revelation and specifically the Letter to Ephesus; and it spoke to me like nobody else could regarding what I was enduring with the drama around Cosmos. During the course of the Covid19 lockdown I studied every conspiracy theory to understand the reason for both "GORE2020" and the lockdowns, and discovered that they both have the same underlying cause. During this time I also learned that many translations of the Old Testament and New Testament were wrong by design. It is now well understood in some circles that certain translations of the bible were intentionally designed (or at least promoted) with the intent of deceiving its readers for mass manipulation. Online tools such as BibleHub.com can be used to help descern better the intended meaning and identify mistranslations, but readers cannot easily be convinced unless they take the initiative do the research themselves--but most have no time or energy for such study. Furthermore, even on BibleHub.com there still persist systemic mistranslations that have been carried on for millenia since the time of the Roman Empire. **The New Testament had been mistranslated to hide one of the primary reason why Jesus was crucified--it was because Jesus (silently) protested taxes even while fulfilling [the prophecy of Isaiah](#prophecy-of-isaiah) and was accused by Sanhedrin of inciting the people of biblical Israel in Judea under Roman rule.** Despite all the sources online and the authorities at Church, this can be verified by inspecting the facts. Even the Babylonian Talmud in [Sanhedrin attests to the fact](./static/gno/docs/images/manifesto/jesus_in_talmud) that the Sanhedrin supreme court condemned Jesus to death for "inciting" biblical Israel, although curiously (or not surprisingly) the source at sefaria.org adds incorrect language in the English translation (in unbolded text) that the incitement was for idol worship. (Also of note is that Google Translate [intentionally mistranslates "excrement" to "water"](./static/gno/docs/images/manifesto/jesus_in_talmud/google_translate_gittin_64b_lies.jpeg) among other portions of Gittin 56b). ([more context](https://christiancourier.com/articles/the-jewish-talmud-and-the-death-of-christ)) > King James Version (Luke 2): > 1: And it came to pass in those days, that there went out a decree from Caesar > Augustus, that **all the world should be taxed**. > 2: (And this **taxing** was first made when Cyrenius was governor of Syria.) > 3: And all went to be **taxed**, every one into his own city. > 4: And Joseph also went up from Galilee, out of the city of Nazareth, into > Judaea, unto the city of David, which is called Bethlehem; (because he was of > the house and lineage of David:) > 5: To be **taxed** with Mary his espoused wife, being great with child. > Berean Standard Bible (Luke 2): > (The birth of Jesus) > 1: Now in those days a decree went out from Caesar Augustus that **a census > should be taken of the whole empire**. > 2: This was the first **census** to take place while Quirinius was governor of > Syria. > 3: And everyone went to his own town **to register**. > 4: So Joseph also went up from Nazareth in Galilee to Judea, to the city of > David called Bethlehem, since he was from the house and line of David. > 5: He went there to **register** with Mary, who was pledged to him in marriage and > was expecting a child. > 6: While they were there, the time came for her Child to be born. > 7: And she gave birth to her firstborn, a Son. She wrapped Him in swaddling > cloths and laid Him in a manger, because there was no room for them in the > inn. There is a clear discrepancy between the King James Version and the Berean Standard Bible. The former says that Joseph Jesus's parent went to Bethlehem to get taxed. The Berean Standard Bible says that he went to get registered for a census. What gives? The actual word in the original Koine Greek is "ἀπογράφεσθαι" which means "register(ed)", not "tax(ed)". With tools like [openbible.com](https://openbible.com/text/luke/2-2.htm) and [biblehub.com](https://biblehub.com/p/kjv/heb/luke/2.shtml) you can compare the translations side by side to see whether or not the translation is true. Clearly there's a mistranslation here; and besides, "And all went to be taxed, every one into his own city" sounds unbelievale (for otherwise why would there be tax collectors who come to you?), whereas going to be registered makes more sense. So the birth of Jesus in Bethlehem got mistranslated in the King James Version probably to get the subjects of the king to pay more taxes--this I derive because King James [did have access to copies of the original Koine Greek manuscripts](https://georgehguthrie.com/new-blog/manuscripts-behind-the-kjv) and "ἀπογράφω" is in Koine Greek [the 2550th most frequent word](https://logeion.uchicago.edu/morpho/is%20the%202550th%20most%20frequent%20word) which means "to write off, copy: to enter in a list, register"; and Martin Luther's translation error is not so egregious, and the Latin vulgate translation is much better; and King James had access to all of these. This tells us more about the King James Version than anything else. What follows is about Jesus' personal thoughts regarding taxes to the state and church (temple). First, the famous passage about "Render therefore unto Caesar what is Caesar's": > King James Version (Luke 20): > 21: And they asked him, saying, Master, we know that thou sayest and teachest > rightly, neither acceptest thou the person of any, but teachest the way of > God truly: > 22: Is it lawful for us to give tribute [taxes] unto Caesar, or no? > 23: But he perceived their craftiness, and said unto them, Why tempt ye me? > 24: **Shew me a penny. Whose image and superscription hath it? They answered > and said, Caesar's.** > 25: **And he said unto them, Render therefore unto Caesar the things which be > Caesar's, and unto God the things which be God's.** > 26: And they could not take hold of his words before the people: **and they > marvelled at his answer**, and held their peace. In the current interpretion, indeed all interpretations of Luke 20:25-26 it is claimed that Jesus gave an astonishing answer because he agreed to pay due taxes to Caesar. This could not be further from the truth as can be seen later in Luke 23: > King James Version (Luke 23): > 2: And they began to accuse him, saying, We found this fellow perverting the > nation, **and forbidding to give tribute to Caesar**, saying that he himself > is Christ a King. > Berean Literal bible (Luke 23): > 2: And they began to accuse Him, saying, “We found this man subverting our > nation, **forbidding payment of taxes to Caesar**, and proclaiming Himself to > be Christ, a King.” (This detail is missing in the other books, especially Matthew, as Matthew was a tax collector and could not be associated with a tax protester. However Luke is a historian who studied the events post-facto and wisely decided to include this element in his book.) There is a logical inconsistency, as it is written in Luke that Jesus was accused of forbidding to give tribute instead. Of course Jesus is being accused by Sanhedrin who wanted to arrest him. But were they lying, or were they truly afraid? I believe they were. What Jesus meant was that Caesar can have all the pennies, while the other silver coins of larger denominations should not be paid to Caesar. However this is still not the complete truth, as the King James Version substituted "penny" for what should be the "denarius", thus losing some of the required context for understanding this passage. A denarius was typically considered a day's wage for a common laborer in ancient Rome. Jesus was not a common laborer and didn't have many denarius coins. This is likely why he ask someone else for to show one for demonstration--he didn't have any on him. Also, a denarius is a smaller denomination than a didrachma or a stater which is for tax payments for the temple. In short, Jesus was rejecting Caesar's taxes. > Berean Standard Bible (Luke 20): > 19: When the scribes and chief priests realized that Jesus had spoken this > parable against them, **they sought to arrest Him that very hour. But they were > afraid of the people (so they could not yet)**. > 20: So they watched Him closely and sent spies who pretended to be sincere. > They were hoping to catch Him in His words in order to hand Him over to the > rule and authority of the governor. > 21: “Teacher,” they inquired, “we know that You speak and teach correctly. You > show no partiality, but teach the way of God in accordance with the truth. > 22: Is it lawful for us to pay taxes to Caesar or not?” > 23: But Jesus saw through their duplicity and said to them, > 24: “**Show Me a denarius**. Whose image and inscription are on it?” “**Caesar’s**,” > they answered. > 25: So Jesus told them, “**Give to Caesar what is Caesar’s (denarius that have > Caesar's face), and to God what is God’s (didrachma for Temple tax)" > 26: And they were unable to trap Him in His words before the people; and > amazed at His answer, they fell silent. The Sanhedrein scribes and priests could not arrest him until Jesus gave this answer. Even when he gave this answer they could not immediately trap him, for to trap him one would have to prove assertions about the personal holdings of the denarius by Jesus and his followers; and "what is Caesar's" does not exactly mean "only what has Caesar's face inscribed", but is only implied; and besides to try to trap him on these points would only aid in "inciting" them to avoid taxes, such as by asking for wages to be paid in other denominations. While the taxes mentioned previously (Luke 20) were for Caesar, the taxes in the following passage (Matthew 17) were for the Second Temple in Jerusalem. There in Matthew 17 there exists clear evidence of intentional mistranlation for the purpose of hiding Jesus' true intent of protesting taxes. (I am not advocating for tax avoidance here, but merely pointing out the truth that the meaning behind the Word had been hidden successfully for centuries if not the entirety of two millenia since the first Latin translation by the Roman Empire. It's generally not a good idea to offend authorities, even if they are illegitimate.) > King James Version (Matthew 17): > 24: And when they were come to Capernaum, **they that received tribute > money** came to Peter, and said, Doth not your master pay **tribute**? > 25: He saith, Yes. And when he was come into the house, Jesus prevented him, > saying, What thinkest thou, Simon? of whom do the kings of the earth take > **custom or tribute**? of their own children, or of strangers? > 26: Peter saith unto him, Of strangers. Jesus saith unto him, **Then are the > children free**. > 27: Notwithstanding, lest we should offend them, go thou to the sea, and cast > an hook, and take up the fish that first cometh up; and when thou hast opened > his mouth, thou shalt find **a piece of money**: that take, and give unto > them **for me and thee**. > New International Version (Matthew 17): > 24: After Jesus and his disciples arrived in Capernaum, **the collectors of > the two-drachma temple tax** came to Peter and asked, “Doesn’t your teacher > pay the **temple tax**?” > 25: “Yes, he does,” he replied. When Peter came into the house, Jesus was the > first to speak. “What do you think, Simon?” he asked. “From whom do the kings > of the earth **collect duty and taxes**—from their own children or from > others?” > 26: “From others,” Peter answered. **“Then the children are exempt,”** Jesus > said to him. > 27: “But so that we may not cause offense, go to the lake and throw out your > line. Take the first fish you catch; open its mouth and you will find **a > four-drachma coin**. Take it and give it to them **for my tax and yours**.” > Berean Litereal Bible (Matthew 17): > 24: And they having come to Capernaum, **those collecting the didrachmas** > came to Peter and said, “Does your Teacher pay the **didrachmas**?” > 25: He says, “Yes.” And he having entered into the house, Jesus anticipated > him, saying, “What do you think, Simon? From whom do the kings of the earth > receive **custom or tribute**? From their sons, or from strangers?” > 26: And he having said, “From the strangers,” Jesus said to him, **“Then the > sons are free"**. > 27: But that we might not offend them, having gone to the sea, cast a hook > and take the first fish having come up, and having opened its mouth, you will > find **a stater**. Having taken that, give it to them **for Me and > yourself**.” Jesus paid half of what the Second Temple tax collectors demanded not because He believed that that was God's due; on the contrary he said that the chidlren are free, and only paid so as to not offend them. **"Then the children are free"!** Even if you disagree with everything else, it cannot be denied that this is by definition a protest of taxes from Jesus unto Peter, whether or not any taxes were paid. What is God's is to be rendered unto God, but the children/sons of God need not pay taxes to any temple, church, or state. ([A son of God is one in whom another son of God is resurrected](https://github.com/jaekwon/ephesus/blob/main/thoughts/son_of_god_son_of_man_and_marriage.md); as in Moses in whom Abraham, Isaac, and Jacob are resurrected, and in Christians in whom Jesus and the martyrs are resurrected.) Also, there are no coins that have an engraved image of God, as that is forbidden by the ten commandments. Even if the Old Testament has laws regarding tithing, the lesson from the bible is that there should not be a Third Temple except one of people; the bible says not to advertise for tithe giving; and finally, Jesus gives us the new covenant. Any son of God would naturally give more than 10% of their worth voluntarily to where it needs to go. **No person, temple, church, or state has the authority to nor should demand or request any taxes, tribute, or even tithing**. It is apparent that the Berean Literal Bible does a better job at preserving context (the original coin denomination names) and this can be verified by comparing each transation to the original Koine Greek, which is left as a task to the reader. > Berean Standard Bible (Acts 17): > 11: “Now the Bereans were more noble-minded than the Thessalonians, for they > received the message with great eagerness and examined the Scriptures every > day to see if these teachings were true.” (Even BibleHub has issues showing the original Koine Greek text in parallel with translations--often the Koine Greek is modified to suit the translation. On the other hand the Berean Standard Bible (also hosted on BibleHub) was designed to show the original Hebrew and Koine Greek and English; you can download a free copy here https://interlinearbible.com/bib.pdf and https://berean.bible/downloads.htm. More links to bible sites and free software can be found at https://berean.bible/links.htm.) It is important to preserve the original coin denomination names because only the original names show the true intent of the Word. Jesus tells Peter to take "a stater" to pay for both Peter and himself, which would normally be for TWO didrachmas; but **ONE stater is equivalent to ONE didrachma**. This crucial context is possibly missing from the bible (although it may still be hidden somewhere in the original Hebrew or Koine Greek), and there likely exists today and has always been an effort to hide this detail from public consciousness for obvious reasons. For now it is known due to the decades of research by historians and numismatics researches and the open internet. Soon after this paper there will be effors to censor this information. Notice that Wikipedia doesn't explain the relationship between a stater and a didrachma directly. One place where stater and didrachm(a) is mentioned together is on one specific context of the Aeginetan stater: > https://en.wikipedia.org/wiki/Ancient_Greek_coinage: > The three most important standards of the ancient Greek monetary system were > the Attic standard, based on the Athenian drachma of 4.3 grams (2.8 > pennyweights) of silver, the Corinthian standard based on the stater of 8.6 g > (5.5 dwt) of silver, that was subdivided into three silver drachmas of 2.9 g > (1.9 dwt), and the **Aeginetan stater or didrachm** of 12.2 g (7.8 dwt), based on > a drachma of 6.1 g (3.9 dwt).[1] The words drachm and drachma come from > Ancient Greek δραχμά (drachmā́), an older form of δραχμή (drachmḗ), meaning 'a > handful', or literally 'a grasp'.[2] Drachmae were divided into six obols > (from the Greek word for a spit[3]), and six spits made a "handful". However in the Wikipedia page for the drachma (which is half a didrachma) it is associated with the tetradrachm as if they are equivalent. This is the false association in many other translations of the bible that mistranslate a stater as a "four-drachma coin", implying that Jesus asked Peter to pay the full "didrachma/two-drachma" for each. No, Jesus asked Peter to half the required amount--of one stater(a)--which is equivalent to a "two-drachma coin/didrachma". > https://en.wikipedia.org/wiki/Ancient_drachma: > The tetradrachm ("four drachmae") coin was perhaps the most widely used coin > in the Greek world prior to the time of Alexander the Great (along with the > Corinthian stater). A separate page for the stater does mention the association but also confuses with additional language for a smaller drachma(e) unit in Corinth. At the same time it shows the Athenian four-drachma(e) as having twice the weight of the Athenian and Corinthian stater--it is clear that all translations of stater to "four-drachma(e) coin" are incorrect. #### Prophecy of Isaiah Regarding the prophecy of Isaiah 52:13-53:8: > Berean Standard Bible (Isaiah 53): > 7: He was oppressed and afflicted, > yet He did not open His mouth. > He was led like a lamb to the slaughter, > and as a sheep before her shearers is silent, > so **He did not open His mouth**. This seems to go against the claim that Jesus protested taxes. But consider the earlier portion that complements the above: > Berean Standard Bible (Isaiah 52): > 15: so He will sprinkleg many nations. > **Kings will shut their mouths** because of Him. > For **they will see what they have not been told**, > and **they will understand what they have not heard**. What is it that Jesus did not open his mouth to speak that the kings will shut their mouths when they understand what they have not ever heard? Recall that the Sanhedrin chief priests also shut their mouths because they understood what was not said. > 25: So Jesus told them, “Give to Caesar what is Caesar’s, and to God what is > God’s.” > 26: And they were unable to trap Him in His words before the people. And > amazed at His answer, they fell silent. Jesus fulfilled Isaiah with a protest that didn't sound like a protest. #### The New Testament and Silver Coinage > https://en.wikipedia.org/wiki/Stater: > The silver stater minted at Corinth[5] of 8.6 g (0.28 ozt) weight was divided > into three silver drachmae of 2.9 g (0.093 ozt), but was often linked to the > Athenian silver didrachm (two drachmae) weighing 8.6 g (0.28 ozt).[6] In > comparison, the Athenian silver tetradrachm (four drachmae) weighed 17.2 g > (0.55 ozt). > https://www.forumancientcoins.com/NumisWiki/view.asp?key=Stater%20vs%20Didrachm: > What is the difference between a stater and a didrachm? > > This is quite an arcane subject. However, the short answer is that what > determines when a stater is termed that, rather than a didrachm, is little > more than popular usage. > > The original stater was the primary denomination of the early coinage (after > the cessation of usage of naturally occurring electrum) in parts of Asia > Minor and was based on a fixed weight of gold. Stater in this sense is a > numismatic term for the primary denomination off which all other > denominations are keyed e.g hemistater being half a stater. > > Coinage when initially struck in gold poor Greece was based on a primary > denomination in silver (valued at roughly one tenth that of gold by weight). > This occurred in Aegina with the primary denomination being a coin of 12.2 gm > of silver. This came to be called a stater by numismatists, though what the > ancient Greeks called it is unknown. > > This name sticks, although technically it could equally well be called a > didrachm as shown in the simple summary of weight standards below from > Morkholm's publication Early Hellenistic Coinage. The key point of this table > is that the stater/didrachm is a primary denomination in all Greek weight > systems, albeit with a different weight of silver being the basis of each > system. > > So far so good? Then the Athenians moved to a light stater/didrachm based > system of ca. 8.5 gm silver for the primary denomination. This is called a > didrachm, rather than a stater by numismatists for no other reason that the > Greek equivalent of the word drachm was what half a didrachm (or hemistater) > was called in Athens. Thus we call an Attic weight standard tetradrachm a > tetradrachm rather than a distater. > > Now to add to the confusion a stater as called by numismatists in the Attic > Weight system reserved for a denomination in gold with a base unit weight of > 8.6 grams. > > Confused? Most people (including me) are by this stage and we have yet to > move on to the Phoenician Shekel, Persian Daric and Siglos, or the Litra of > Sicily, which was based on a primary unit in bronze. > > Morkolm's Early Hellenistic Coinage has a nice summary of the evolution of > these weight systems and a more expansive explanation can be found in the > Preface to any of the volumes of Oliver Hoover's The Handbook of Greek Coinage. > > At the bottom of this thread is a more comprehensive overview of weight > standards https://www.forumancientcoins.com/board/index.php?topic=10182.0 > > Some nice pictures and a very high level summary of denominations can be > found here http://www.classicalcoins.com/denominations.html > > This also is why we have some coins such as the Babylonian Baal/Lion coins > called variously lion staters or tetradrachms, sometimes simultaneously in the > one publication! > > Similarly you will see Carthaginian coins described as 1 1/2 Shekels or > Tridrachms... not much sense in either case as we have no idea what they were > really called. The Carthaginians being of Phoenician extraction, I suspect they > were originally struck by the Carthaginians with a lower silver to gold value > than the Phoenician Shekel, reflecting Carthage's original gold based economy, > prominence and wealth, and were called a shekel by the Carthaginians despite > being 50% heavier that the Phoenician silver shekel. > > **Table 1. Eastern Hellenistic coin standards (The weights are given in grams.)** > > |Standard|Tetradrachm|Didrachm|Drachm|Hemidrachm| > |Aeginetan|-|12.2|6.1|3.05| > |Reduced Aeginetan (Corcyrean)|-|11.5 - 10.0|5.75 - 5.0|2.8 - 2.5| > |Persian|-|11.2|5.6|2.8| > |Attic|17.3 - 16.18|8.65 - 8.4|4.3 - 4.2|2.15 - 2.1| > |Chian|15.6|7.8|3.9|-| > |Ptolemaic|14.3|7.15|3.55|-| > |Rhodian|13.6 - 13.4|6.8 - 6.7|3.4|-| > |Cistophoric|12.6|6.3|3.15|-| * **leptop (widow's mite)**: Mark 12:42, Luke 12:59, 21:2 * **drachma**: Luke 15:8 - Cappadocian drachma * **denarius (day's wages)**: Matthew 18:28; 20:1–16; 22:19; Mark 6:37; 12:15; 14:5; Luke 7:41; 10:35; 20:24; John 6:7; 12:5; Rev. 6:6 - equivalent to the drachma; Caesar's head; typical day's wage for a common laborer in ancient Rome. * **didrachma**: Matthew 17:24 - mistranslated to "tribute coin" * **stater/statera (statēra)**: Matthew 17:27 - interchangeable w/ didrachma * **Tyre shekel (Temple tax)**: Exodus 30:13 (Money Changers), John 2:15, Matthew 21:12 (Peter's Fish), Matthew 17:27 (Judas' 30 coins) Matthew 26:15 // shekel : denarius : talent :: Jewish : Greek : Roman > https://cdn.bakerpublishinggroup.com/processed/esource-assets/files/2058/original/1.2.Coins_Mentioned_in_the_New_Testament.pdf?1525364484: > **denarius**: This silver coin was the usual day’s wage for a typical > laborer (see Matt. 18:28; 20:1–16; 22:19; Mark 6:37; 12:15; 14:5; > Luke 7:41; 10:35; 20:24; John 6:7; 12:5; Rev. 6:6). **The denarius (a > Roman coin) appears to have been roughly equivalent in value to the > drachma (a Greek coin). The “lost coin” in the parable that Jesus > tells in Luke 15:8–10 is a drachma**. #### KJV, Luther, and Latin on Taxation > Martin Luther Bibel 1912 (Luke 2): > 1: Es begab sich aber zu der Zeit, dass ein Gebot von dem Kaiser Augustus > ausging, dass alle Welt **geschätzt** würde. > 2: Und diese **Schätzung** war die allererste und geschah zu der Zeit, da > Cyrenius Landpfleger von Syrien war. > 3: Und jedermann ging, dass er sich **schätzen** ließe, ein jeglicher in seine > Stadt. > 4: Da machte sich auch auf Joseph aus Galiläa, aus der Stadt Nazareth, in das > jüdische Land zur Stadt Davids, die da heißt Bethlehem, darum dass er von dem > Hause und Geschlechte Davids war, > 5: auf dass er sich **schätzen** ließe mit Maria, seinem vertrauten Weibe, die > ward schwanger. > 6: Und als sie daselbst waren, kam die Zeit, da sie gebären sollte. > 7: Und sie gebar ihren ersten Sohn und wickelte ihn in Windeln und legte ihn > in eine Krippe; denn sie hatten sonst keinen Raum in der Herberge. Roughly translates to: > 1: And it came to pass at that time that a commandment went forth from Caesar > Augustus, that all the world should be **esteemed (valued)**. > 2: And this **estimate** was the very first and happened at the time when > Cyrenius was governor of Syria. > 3: And every one went to be **valued**, every one to his own city. > 4: Then Joseph also went out of Galilee, out of the city of Nazareth, into > the land of Judea, to the city of David, which is called Bethlehem, because > he was of the house and lineage of David, > 5: that he might be **valued** with Mary, his trusted wife, who became pregnant. > 6: And when they were there, the time came for her to give birth. > 7: And she gave birth to her first son, and wrapped him in > swaddling clothes, and laid him in a manger; for they had no other room in the > inn. The root of all four words in German are the same "schätz", and mean "estimation" or "value". This translation sort of makes sense for a census because a census cannot be perfect, but is very different in meaning than the original Koine Greek based on its roots: ἀπογράφω, to write off, copy: to enter in a list, register, which is a precise atomical thing. So Martin Luther first made the error of **estimating** the word "registration" to "estimate", or rather fudged it; not exactly to "taxation", but closer to it. And then King James completed the error of mistranslating it to "taxation". > [Latin Vulgate Bible](https://github.com/LukeSmithxyz/vul) (Luke 2): > 1: Factum est autem in diebus illis, exiit edictum a Caesare Augusto ut > **describeretur** universus orbis. > 2: Haec **descriptio** prima facta est a praeside Syriae Cyrino : > 3: et ibant omnes ut **profiterentur** singuli in suam civitatem. > 4: Ascendit autem et Joseph a Galilaea de civitate Nazareth in Judaeam, in > civitatem David, quae vocatur Bethlehem : eo quod esset de domo et familia > David, > 5: ut **profiteretur** cum Maria desponsata sibi uxore praegnante. > 6: Factum est autem, cum essent ibi, impleti sunt dies ut pareret. > 7: Et peperit filium suum primogenitum, et pannis eum involvit, et reclinavit > eum in praesepio : quia non erat eis locus in diversorio. In Latin "descriptio" means "description", while "profiterentur" means "they would register". This seems like a better translation than either Martin Luther's or King James'. ### The History of U.S. Silver Coins _from Duck.ai_ Overview of U.S. Silver Coins The history of U.S. silver coins began with the establishment of the U.S. Mint in 1792. Before this, various foreign and domestic coins circulated in America. The Coinage Act of 1792 set the U.S. dollar based on a fixed weight of silver, leading to the minting of silver coins. #### Early Silver Coins Initial Minting * 1794: The first U.S. silver coin, the Flowing Hair dollar, was minted. * 1795: The Draped Bust dollar followed, featuring Lady Liberty. * 1836-1839: The Gobrecht dollar was introduced, showcasing a seated Liberty design. Popular Designs * Morgan Dollar (1878-1904): Designed by George T. Morgan, this coin became iconic, featuring Lady Liberty on the obverse and an eagle on the reverse. * Peace Dollar (1921-1935): Created to symbolize peace after World War I, it featured a new design of Liberty. Changes in Composition * 90% Silver Coins * Prior to 1965, U.S. dimes, quarters, and half dollars contained 90% silver. * The Coinage Act of 1965 eliminated silver from dimes and quarters and reduced the silver content in half dollars to 40%. Junk Silver * Coins minted before 1965 are often referred to as "junk silver" due to their higher intrinsic silver value compared to their face value. These include pre-1965 dimes, quarters, and half dollars. Modern Silver Coins * Today, the U.S. Mint produces silver bullion coins, such as the American Silver Eagle, which contains one troy ounce of .999 fine silver. Silver coins remain popular among collectors and investors for their historical significance and intrinsic value. * _(Gnobody:) However, these are still technically US dollars and new laws may be introduced at any time to prevent the melting of these dollars; so it is in some safe safer to acquire "silver rounds" that are not minted by the U.S. Mint. For example, the "Morgan Dollar Design" silver rounds sold at Apmex.com are 99.9% silver and have no mention of the term "dollar"_. ### The History of the One Dollar Bill _Originally from http://www.onedollarbill.org/history.html with my words in italics, and images included from my own research._ _This omits the original Continental Currency dollar of the Continental Congress which adopted the Declaration of Independence on July 4th, 1776; and dissolved on March 1, 1781, when the Articles of Confederation came into force, establishing a new national government for the United States._ Although experiments with paper money did occur throughout the early history of the country, they were largely unsuccessful. People, for good reason, didn't trust the notes and preferred gold and silver coin. In 1861, needing money to finance the Civil War, Congress authorized the issuance of Demand notes in $5, $10 and $20 denominations. The Demand notes were so named because they were redeemable in coin "on demand." The notes were nicknamed Greenbacks, a name which is still in use today to refer to United States currency. The first $1 bill was issued in 1862 as a Legal Tender Note with a portrait of Salmon P. Chase, the Treasury Secretary under President Abraham Lincoln. The National Banking Act of 1863 established a national banking system and a uniform national currency. Banks were required to purchase U.S. government securities as backing for their National Bank Notes. Although United States Notes were still widely accepted, most paper currency circulating between the Civil War and World War I were National Bank Notes. They were issued from 1863 through 1932. From 1863 to 1877 National Bank Notes were printed by private bank note companies under contract to the Federal government. The Federal government took over printing them in 1877. Gold certificates, were first issued in 1863 and put into general circulation in 1865. The severe economic crisis of the 1930s - better known as the Great Depression - resulted in runs on the banks and demands by the public for gold. In 1934 all Gold Certificates were called in from the Federal Reserve Banks and between the years 1934 and 1974 it was illegal for US Citizens to hold gold bullion or certificates. Silver certificates were first issued in exchange for silver dollars in 1878. For many years silver certificates were the major type of currency in circulation. However, in the early 1960s when rising silver prices threatened to undermine the currency system, Congress eliminated silver certificates and also discontinued the use of silver in circulating coinage such as dimes and quarters. **The current design of the United States one dollar bill ($1) technically dates to 1963 when the bill became a Federal Reserve Note as opposed to a Silver Certificate**. However, many of the design elements that we associate with the bill were established in 1929 when all of the country's currency was changed to its current size. Collectors call today's notes "small size notes" to distinguish them from the older, larger formats. The most notable and recognizable element of the modern one dollar bill is the portrait the first president, George Washington, painted by Gilbert Stuart. The one dollar bill issued in 1929 (under Series of 1928) was a silver certificate. The treasury seal and serial numbers on it were dark blue. The reverse had a large ornate ONE superimposed by ONE DOLLAR. These $1 Silver Certificates were issued until 1934. In 1933, $1 United States Notes were issued to supplement the supply of $1 Silver Certificates. Its treasury seal and serial numbers were red. Only a small number of these $1 bills entered circulation and the rest were kept in treasury vaults until 1949 when they were issued in Puerto Rico. In 1934, under Washington's portrait, the words ONE SILVER DOLLAR were changed to ONE DOLLAR due to the fact that Silver Certificates could be redeemed for silver bullion. The treasury seal was moved to the right and superimposed over ONE, and a blue numeral 1 was added to the left. In 1935, design changes included changing the blue numeral 1 to gray, the treasury seal was made smaller and superimposed by WASHINGTON D.C., and a stylized ONE DOLLAR was added over the treasury seal. The reverse was also changed to its current design, except for the absence of IN GOD WE TRUST. The World War II years featured several special printings including the Hawaii overprints. The Government was concerned that Hawaii might be lost to the Japanese and wanted to be able to devalue the money should this invasion occur. In 1957 the $1 bill became the first U.S. currency to bear the motto IN GOD WE TRUST. In 1963 production of one dollar Federal Reserve Notes began to replace the $1 Silver Certificate. The border design on the front was completely redesigned and the serial numbers and treasury seal were printed in green ink. _1962 was a transition year when "will pay to the bearer on demand" was no longer printed._ In 1969 the $1 bill began using the new treasury seal with wording in English instead of Latin. ### The Book of Revelation, Collapse of the Dollar, and Food Insecurity // Silver Depositories and Grain Silos The price of food will necessarily keep rising; by design from those who ultimately desire global depopulation (and have the means to make it so). The US tariffs are an example that raised food import prices. The logic here is partially to incentivize local food production; as long as the food is good and free of harmful chemicals like glyphosate, and the crops do not collapse one day from monoculture; and aren't otherwise genetically designed to cause systemic harm--but this we cannot know because Bill Gates is a key player of the global eugenics plan, and he is the largest private owner of farmland in the United States, with approximately 275,000 acres across multiple states. Given that the powers that be have caused the Book of Revelation to [play out like clockwork](https://github.com/jaekwon/epehsus) it is worth reading the text to help predict what may happen--just as the verses related to the "mark of the beast" helped the population reject the mandatory gene therapy mal-labeled as Covid19 "vaccines". In particular what seems relevant today is the following verse: > Berean Standard Bible (Revelation 6): > 5: Then I looked and saw a black horse, and its rider held in his hand a pair > of scales. > 6: And I heard what sounded like a voice from among the four living > creatures, saying, “A quart of wheat for a denarius, a and three quarts of > barley for a denarius, and do not harm the oil and wine.” > "A quart of wheat for a denarius." * One ounce is 28.35 grams. * A denarius is a drachm is 4.3g. * A silver denarius is thus $70 x 4.3/28.35 = $10.61 today. * A silver denarius constituted a day's wage for a manual laborer. * A quart of wheat weighs ~1.1 pounds. * On Amazon a quart of wheat costs $9 ~ $14 today. * So already a quart of wheat costs about a denarius. And assuming steady growth of the electronic vehicle industry, * The steady price of silver given the Samsung silver battery patent is ~$600. In the event that the banking system fails it would not be surprising for the monetary system to revert to its norm--of transactions of physical silver and gold coinage. Given the recent [relentless rise of the price of physical silver](https://tradingeconomics.com/commodity/silver); the superior performance of the silver-based battery patented by Samsung; and the systemic existential threat that it poses to the banking system which has long been suppressing the price of silver, it would not be surprising if we soon did start hearing **"a quart of wheat for a denarius"** at the local farmers markets. In the optimistic scenario we have significantly increased industrial usage of silver; and in the pessimistic scenario we have the collapse of the US dollar financial system and the return of silver coin money. * The Grand Solar Minimum will create a deficit in global food production for decades and we are at risk of a global Holodomor; this is why Bill Gates has been buying farmland. * Stocking up on organic grains and organic legumes and silver is the best way for a nation's people to defend against a tyrannical government and mitigate excess immigration, and to survive the Grand Solar Minimum. And * The dynastic European banking elites wish for global depopulation; and Covid19 was engineered for this purpose. Fauci nor Gates is in jail so we can assume that the global depopulation plan is still in the works for so called "Agenda 2030". So the government is not going to help; rather it is giving a kick-back to Bill Gates' farming operations. Ergo the way to prepare for the coming Holodomor is to create a decentralized collective of local regional depositories that can hold metals, grains, and legumes. Given the increasing risk to centralized cloud datacenter providers and the the security requirements in the business of server co-location it may make sense to combine both the business of metals depositories and server co-location into a new kind of "digital+physical banking" franchise where Gno.land serves as the transparent accountability/publishing substrate and a repository of protocols and libraries for these new banks of the information age. ### Persecution of Christians in China From a conversation with Twitter's @supergrok: > @supergrok: > > Merry Christmas to you too! > > ChinaAid is a respected advocacy group founded by Bob Fu (chinaaid.org), often > cited in US State Department reports and by organizations like USCIRF for > religious freedom issues in China (uscirf.gov +1). It's advocacy-focused, so > cross-reference with others. > > Upon verification, the arrests and raids in Yayang Town (Wenzhou, Zhejiang > province) starting around Dec 13, 2025, are reported by multiple outlets > including ChinaAid (which detailed a blockade and fireworks display to conceal > the operation) chinaaid.org, The Guardian (which covered the broader crackdown > on house churches in Wenzhou with over 100 detained in raids last week, > aligning with the timeline and location) theguardian.com, Christian Post > (citing ChinaAid on the SWAT-led mass arrests across at least 12 congregations) > christianpost.com, and Washington Stand (reporting on the CCP's mobilization of > over 1,000 personnel for the Dec 13-17 operations) washingtonstand.com. I > couldn't locate specific recent reports from Bitter Winter or International > Christian Concern in my searches, so those may have been a mix-up on my > part—apologies if so. No official CCP denial was found in any available > reporting. - https://www.theguardian.com/world/2025/dec/23/christians-pastors-arrested-detained-china-crackdown-house-churches - https://chinaaid.org/news/blockade-behind-the-fireworks-a-thousand-police-arrest-hundreds-of-christians-in-a-small-town-in-zhejiang/ - https://www.theguardian.com/world/2025/dec/23/christians-pastors-arrested-detained-china-crackdown-house-churches - https://www.christianpost.com/news/swat-teams-carry-out-mass-arrests-of-christians-in-china-report.html - https://washingtonstand.com/article/ccp-conducts-mass-arrests-of-christians-days-before-christmas - https://chinaaid.org/news/stories-by-issue/advocacy/us-commission-labels-china-country-of-particular-concern/ - https://www.uscirf.gov/sites/default/files/Bob%20Fu%20USCIRF%20Testimony.pdf - https://kslegislature.gov/li_2024/b2023_24/committees/ctte_spc_2023_adversary_purchases_1/documents/testimony/20230926_04.pdf Of course Twitter/X/Supergrok does not make it easy to copy-paste its answer to other platforms. You can find information through Twitter/Grok, but you will be tracked. When I asked @supergrok to comment on the fact that I had personally experienced my Twitter posts not preserving integrity, it denied any response ([view](./static/gno/docs/images/manifesto/twitter_grok_knows.jpeg); [more on Twitter censorship](#twitter-censorship)). ### Manufactured Discontent > "At the heart of the story are Sigmund Freud's daughter Anna and his nephew Edward Bernays > who had invented the profession of public relations. Their ideas were **used by the US > government, big business and the CIA to develop techniques to manage and control the minds of > the American people**. Those in power believed that the only way to make democracy work and > create a stable society was to repress the savage barbarism that lurked just under the surface of > normal American life." - Adam Curtis, BBC Four, 2002. ([transcript](https://github.com/jaekwon/ephesus/blob/main/files/century-of-the-self-transcript.pdf), [youtube](https://www.youtube.com/watch?v=caicn3VpHTo)) It is the same CIA that is manufacturing a divide within the USA. For example: Renee Nicole Good was an ICE protestor who was shot by ICE in an altercation. She didn’t deserve to die. She wasn't trying to run over anyone, she was trying to flee from a masked ICE agent. ICE is untrained and created a deadly situation for itself. And in no case is it OK to expect citizens to stand still while being approached by masked men. This is a manufactured divide; To be anti-Trump is to be pro-illegal-immigration and lawless. Why is ICE going to schools, or those in line to get docs? Why are we giving money to Palantir if it can't find out where illegal immigrants reside? All it does is censor the voice of reason. Trump should have focused on dismantling the Somali-welfare-fraud -\> Somaliland -\> GreaterIsrael and CommunistNYCMayor -\> CommunistNYCTenantDirector -\> CommunistUSA -\> GreaterIsrael connection but of course he won't; he's too busy running away from the Epstein files. ### Twitter Censorship Much can be said about all platforms such as Google, Reddit, Meta/Instagram, Wikipedia and so on but I will only comment here about Twitter, also known as "X". _Interesting note: the actual name change happened on Tisha B'av, as I was there when it happened and I remember thinking it was an ominous date for Elon with the "beast armor" profile to rename Twitter to the letter of a "mark" (since Tisha B'av is a commemoration of a number of disasters in Jewish history, primarily the destruction of both Solomon's Temple by the Neo-Babylonian Empire and the Second Temple by the Roman Empire in Jerusalem); but furthermore news reports retroactively have tried to change history by claiming that it happened on another date._ By some reason I got to participate in Twitter's Community Notes program so I tried it. The first note I was obligated to rate was of a community note that claimed Elon Musk's wealth did not come from tax payers. Fair enough, but a little suspicious that this is the first one shown. A few weeks later after I got used to the mechanics of the system I noticed a community note by the alias of "Hilarious Wind Sandgrouse" (everyone is given a pen name to preserve privacy--mine is "Charitable Star Piculet") that seemed interesting by DerrickEvans4WV about [Senator Machaela Cavanaugh who the original poster said "vandalized" a Declaration of Independence exhibit at the state capital building](https://x.com/i/communitynotes/t/2009097879106015609). The community note by "Hillarious Wind Sandgrouse" only expressed her point of view and that she said the object was prohibited; but when I read the [article referenced by Sandgrouse himself](https://nebraskaexaminer.com/2026/01/07/nebraska-state-lawmaker-removes-part-of-conservative-pragerus-founders-museum/) it was made clear that the objects were never prohibited, so therefore she was "vandalizing". So I looked further into his account and discovered that (a) Sandgrouse is a [prolific note contributor](./static/gno/docs/images/manifesto/twitter_jws_profile.png), and (b) Sandgrouse had been [spamming biased community notes](./static/gno/docs/images/manifesto/twitter_hws_example.jpeg) with absurd notes regarding a recent anti-ICE incident where he claimed that there is no evidence of race motive or anti-immigration sentiment even though he also wrote that a bullet round had "Anti-ICE" written on it! So did what any responsible person would do--I went over to each of those tweets to comment (only for community note contributors to see) [that Sandgrouse is wildly biased with citations](./static/gno/docs/images/manifesto/twitter_hws_callout.jpeg) and while I wasn't sure what would happen, I didn't expect Twitter to [suspend by community note writing privileges](./static/gno/docs/images/manifesto/twitter_cm1.jpeg) claiming that my recent notes have been rated "unhelpful" even though [it isn't the case](./static/gno/docs/images/manifesto/twitter_cm2.jpeg). So there you have it, Twitter/X censors, and the "Community Notes" won't save us either. For one, it doesn't make it easy to point out obvious bias from people as I did because instead of displaying a discussion tree as in Reddit you are limited to writing more community notes (that won't get shown) just to express a concern to the other community notes contributors (who not only write but also must rank notes); and besides, Twitter controls when community note contributors get to vote on notes and by the time a correction is displayed the tweet may have already peaked in virality. At this point one can almost assume that Twitter does exactly that. Besides the above, there's a lot more to be said about Twitter but I'll leave a few highlights. * One tweet by @unusual_whales regarding FTX and tokenized shares from Jan 15th, 2023 has [many community notes](./static/gno/docs/images/manifesto/twitter_ftx.jpeg) that claim that Twitter had been suppressing the votes by removing likes and retweets. * I have experienced URL links posted on Twitter (which become shortened and compressed with "..." so that you cannot even copy the original URL) magically get replaced with another URL in the future; and when I asked Grok about it [it refused to comment](./static/gno/docs/images/manifesto/twitter_grok_knows.jpeg). * I have experienced seeing my tweet go viral, with 13 retweets within a few minutes, only to see the retweet count drop down to 2 within seconds. * My account used to show time and time again "shadowban" status as detected by shadowban detection services; but it is clear that my account is now suppressed via means that are not so easily detectable. * This is why I created a new account in the first place, and my [old account](https://x.com/jaesustein) I can no longer access, and my email address is no longer associated with it. * My followers count has been stuck at around ~26.5K users for years, whereas it used to grow exponentially. This occurred around the time that I started getting vocal about Covid19 vaccines and mandates (and it was revealed that miliary agencies like DARPA was involved in suppressing accounts), or that time when I was suddenly canceled and labeled an "anti-semite" by Jacob Gadikian even though I am not (and provided proof in the very repo he was sharing to defame me which he ignored willfully), which occurred precisely at the same time that Elon Musk completed the acquisition of Twitter and fired the censorship team to invoke "#TheNoticing"; and then Ethan Buchman followed through with a tweet about anti-semitism. How did Jacob Gadikian know to sit on some conspiracy memes I shared with him over 2 years ago, that that was the right moment to start defaming me, even before Elon Musk had completed his acquisition of Twitter? Jacob Gadikian claims that it was just a coincidence but I do not believe him. At least he seems sorry for what he did. I forgive him. Twitter's [Grok probably knows](./static/gno/docs/images/manifesto/twitter_grok_knows.jpeg) but cannot comment on its censorship system. It's a wonder why Twitter hasn't faced a class action lawsuit yet.