<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://smcdev1.ddns.net/twiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justin</id>
	<title>twiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://smcdev1.ddns.net/twiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justin"/>
	<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php/Special:Contributions/Justin"/>
	<updated>2026-10-17T21:27:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=224</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=224"/>
		<updated>2024-10-16T14:20:52Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Ironically, &amp;quot;best effort reliability&amp;quot; also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled &amp;quot;best effort&amp;quot; scalability of the Internet.  The same cannot be said to computing infrastructures.  &lt;br /&gt;
&lt;br /&gt;
The critical flaw in existing computing infrastructures is the assumed network and processor&#039;s reliability. This is exactly what the blockchain protocols have avoided. Therefore, the Bitcoin network demonstrated unprecedented service reliability and tamper resistance. As will be explained in this space, the SMC principles can also resolve blockchain&#039;s scalability challenge. This is a natural extension of the Internet protocol revolution for mission critical service infrastructures. Unlike existing blockchain protocols, the SMC powered blockchain protocol is applicable to centralized and decentralized applications. It paves the path for seamless integration of Web2.0 and Web3.0 infrastructures.   &lt;br /&gt;
&lt;br /&gt;
SMC technology was developed based on extensive experiences in fault tolerant high performance computing and rigorous impossibility studies. For details, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month. It is conceivable that the chain would collapse when all nodes&#039; storage capacity is saturated. Dividing the chain into fixed &amp;quot;shards&amp;quot; can mitigate the eventuality for a while but cannot avoid the ultimate demise.   &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes (0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1), a percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors. The Speedup can then be expressed as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching to 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach to 0. Then the speedup is unbounded &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, equations (1) and (2) are equally applicable to any programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used fixed problem sizes to argue for the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]This Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematics model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage (&#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1)&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. For practical applications, the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039; asymptotically to 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. Even though the chart is mathematically incorrect, equation (3) can be translated to find the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor. Increasing &#039;&#039;p in equation(3)&#039;&#039; will force the translated s asymptotically approaching to 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It should now be obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program instrumentation. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through parallel instrumentation. Amdahl&#039;s Law then delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled-speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmark (Linpack) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible Linpack problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a bound. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore it is possible to build an infinitely scalable blockchain with these assumption. In particular, a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=223</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=223"/>
		<updated>2024-10-14T15:35:09Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Ironically, &amp;quot;best effort reliability&amp;quot; also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled &amp;quot;best effort&amp;quot; scalability of the Internet.  The same cannot be said to computing infrastructures.  &lt;br /&gt;
&lt;br /&gt;
The critical flaw in existing computing infrastructures is the assumed network and processor&#039;s reliability. This is exactly what the blockchain protocols have avoided. Therefore, the Bitcoin network demonstrated unprecedented service reliability and tamper resistance. As will be explained in this space, the SMC principles can also resolve blockchain&#039;s scalability challenge. This is a natural extension of the Internet protocol revolution for mission critical service infrastructures. Unlike existing blockchain protocols, the SMC powered blockchain protocol is applicable to centralized and decentralized applications. It paves the path for seamless integration of Web2.0 and Web3.0 infrastructures.   &lt;br /&gt;
&lt;br /&gt;
SMC technology was developed based on extensive experiences in fault tolerant high performance computing and rigorous impossibility studies. For details, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month. It is conceivable that the chain would collapse when all nodes&#039; storage capacity is saturated. Dividing the chain into fixed &amp;quot;shards&amp;quot; can mitigate the eventuality for a while but cannot avoid the ultimate demise.   &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching to 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach to 0. Then the speedup is unbounded &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, equations (1) and (2) are equally applicable to any programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. For practical applications, the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039; asymptotically to 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. Even though the following chart is mathematically incorrect, equation (3) can be translated to find the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor. Increasing &#039;&#039;p&#039;&#039; will force s asymptotically approaching to 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through parallel instrumentation. Amdahl&#039;s Law then delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled-speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=222</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=222"/>
		<updated>2024-10-14T15:30:35Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Ironically, &amp;quot;best effort reliability&amp;quot; also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled &amp;quot;best effort&amp;quot; scalability of the Internet.  The same cannot be said to computing infrastructures.  &lt;br /&gt;
&lt;br /&gt;
The critical flaw in existing computing infrastructures is the assumed network and processor&#039;s reliability. This is exactly what the blockchain protocols have avoided. Therefore, the Bitcoin network demonstrated unprecedented service reliability and tamper resistance. As will be explained in this space, the SMC principles can also resolve blockchain&#039;s scalability challenge. This is a natural extension of the Internet protocol revolution for mission critical service infrastructures. Unlike existing blockchain protocols, the SMC powered blockchain protocol is applicable to centralized and decentralized applications. It paves the path for seamless integration of Web2.0 and Web3.0 infrastructures.   &lt;br /&gt;
&lt;br /&gt;
SMC technology was developed based on extensive experiences in fault tolerant high performance computing and rigorous impossibility studies. For details, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching to 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach to 0. Then the speedup is unbounded &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, equations (1) and (2) are equally applicable to any programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. For practical applications, the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039; asymptotically to 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. Even though the following chart is mathematically incorrect, equation (3) can be translated to find the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor. Increasing &#039;&#039;p&#039;&#039; will force s asymptotically approaching to 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through parallel instrumentation. Amdahl&#039;s Law then delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled-speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=221</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=221"/>
		<updated>2024-10-14T15:29:22Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Statistic Multiplexed Computing (SMC) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Ironically, &amp;quot;best effort reliability&amp;quot; also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled &amp;quot;best effort&amp;quot; scalability of the Internet.  The same cannot be said to computing infrastructures.  &lt;br /&gt;
&lt;br /&gt;
The critical flaw in existing computing infrastructures is the assumed network and processor&#039;s reliability. This is exactly what the blockchain protocols have avoided. Therefore, the Bitcoin network demonstrated unprecedented service reliability and tamper resistance. As will be explained in this space, the SMC principles can also resolve blockchain&#039;s scalability challenge. This is a natural extension of the Internet protocol revolution for mission critical service infrastructures. Unlike existing blockchain protocols, the SMC powered blockchain protocol is applicable to centralized and decentralized applications. It paves the path for seamless integration of Web2.0 and Web3.0 infrastructures.   &lt;br /&gt;
&lt;br /&gt;
SMC technology was developed based on extensive experiences in fault tolerant high performance computing and rigorous impossibility studies. For details, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching to 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach to 0. Then the speedup is unbounded &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, equations (1) and (2) are equally applicable to any programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. For practical applications, the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039; asymptotically to 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. Even though the following chart is mathematically incorrect, equation (3) can be translated to find the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor. Increasing &#039;&#039;p&#039;&#039; will force s asymptotically approaching to 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through parallel instrumentation. Amdahl&#039;s Law then delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled-speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=220</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=220"/>
		<updated>2024-10-14T13:06:15Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Statistic Multiplexed Computing (SMC) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Ironically, &amp;quot;best effort reliability&amp;quot; also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled &amp;quot;best effort&amp;quot; scalability of the Internet.  The same cannot be said to legacy computing infrastructures.  &lt;br /&gt;
&lt;br /&gt;
For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching to 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach to 0. Then the speedup is unbounded &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, equations (1) and (2) are equally applicable to any programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. For practical applications, the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039; asymptotically to 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. Even though the following chart is mathematically incorrect, equation (3) can be translated to find the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor. Increasing &#039;&#039;p&#039;&#039; will force s asymptotically approaching to 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through parallel instrumentation. Amdahl&#039;s Law then delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled-speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=219</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=219"/>
		<updated>2024-10-14T13:03:47Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Statistic Multiplexed Computing (SMC) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Ironically, &amp;quot;best effort reliability&amp;quot; also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching to 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach to 0. Then the speedup is unbounded &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, equations (1) and (2) are equally applicable to any programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. For practical applications, the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039; asymptotically to 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. Even though the following chart is mathematically incorrect, equation (3) can be translated to find the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor. Increasing &#039;&#039;p&#039;&#039; will force s asymptotically approaching to 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through parallel instrumentation. Amdahl&#039;s Law then delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled-speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=218</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=218"/>
		<updated>2024-10-14T13:00:36Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching to 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach to 0. Then the speedup is unbounded &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, equations (1) and (2) are equally applicable to any programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. For practical applications, the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039; asymptotically to 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. Even though the following chart is mathematically incorrect, equation (3) can be translated to find the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor. Increasing &#039;&#039;p&#039;&#039; will force s asymptotically approaching to 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through parallel instrumentation. Amdahl&#039;s Law then delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled-speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=217</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=217"/>
		<updated>2024-10-13T18:06:23Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, the model (1) and (2) are applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. And the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039;. This will make s&#039; systematically approach 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. This will force the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through program experiments. Amdahl&#039;s Law delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; with a SMC (statistic multiplexed computing) runtime that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=216</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=216"/>
		<updated>2024-10-13T18:05:10Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, the model (1) and (2) are applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. And the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039;. This will make s&#039; systematically approach 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. This will force the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through program experiments. Amdahl&#039;s Law delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs for network-scale high performance computing. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=215</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=215"/>
		<updated>2024-10-13T18:03:29Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, the model (1) and (2) are applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. And the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039;. This will make s&#039; systematically approach 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by simply multiplying (1-&#039;&#039;s&#039;)&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. This will force the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through program experiments. Amdahl&#039;s Law delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2, EPO #3539261] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=214</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=214"/>
		<updated>2024-10-13T17:55:37Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, the model (1) and (2) are applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) cannot be done mathematically since &#039;&#039;s&#039;&amp;lt;nowiki/&amp;gt;&#039;&#039; is dependent on the values of &#039;&#039;p&#039;&#039;. And the scaling action also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039;. This will make s&#039; systematically approach 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems by multiplying &#039;&#039;s&#039;&#039;&#039; by &#039;&#039;p (as shown in the chart below)&#039;&#039;. This will force the real serial percentage &#039;&#039;s&#039;&#039;  under a single processor asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;&amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; by Amdahl&#039;s equation (2)&#039;&#039;. For some reason, in late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both laws actually refer to the same mathematical abstraction. Gustafson&#039;s formula assists in quantifying the percentage of serial computing through program experiments. Amdahl&#039;s Law delivers the ultimate predictions. This should have cleared the half-century myth about scaled-speedup and unscaled speedup.  &lt;br /&gt;
&lt;br /&gt;
In practice, extracting parallelism from an algorithm to use more processors is much harder than simply expanding the already parallelized parts to solve bigger problems. This explanation can be validated in practice when developers routinely increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides another proof by a historical log of unrelenting computation power growths where the benchmarks (linear solvers) having no problem size limit. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speed improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without bound enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can indeed meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=213</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=213"/>
		<updated>2024-10-13T17:27:38Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this &amp;quot;scaling&amp;quot; step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; for faster acceleration by reducing the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above bounded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel instruction percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity has caused more than half century of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires defining the problem size, the model (1) and (2) are applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scaling &#039;&#039;p&#039;&#039; to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, this will push for bigger s&#039;. This will make s&#039; systematically approach 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. Therefore the serial percentage s&#039; will  asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. In late 1980&#039;s, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. These laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This explanation can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
The TOP500 supercomputer competition provides a clear historical log of growing computation powers where the benchmarks (linear solvers) that have open problem sizes. All manufacturers compete for the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; solving the largest possible problem that can be handled by the hardware. The follow chart illustrates the continuous speedup improvements by year. &lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=212</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=212"/>
		<updated>2024-10-13T14:20:10Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to further reduce the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the model is applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines from the previous Amdahl&#039;s dismal prediction chart.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=211</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=211"/>
		<updated>2024-10-13T14:16:24Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to further reduce the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the model is applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be above bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=210</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=210"/>
		<updated>2024-10-13T14:13:20Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to further reduce the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the model is applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb|Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=209</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=209"/>
		<updated>2024-10-13T14:09:55Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to further reduce the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the model is applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb[Infinite Speedup in Amdahl&#039;s Law|400x400px]]&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=208</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=208"/>
		<updated>2024-10-13T14:04:22Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to further reduce the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the model is applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines.&lt;br /&gt;
&lt;br /&gt;
[[File:DiminishingReturn2.png|alt=infinite Speedup Under Amdahl&#039;s Law|center|thumb[Infinite Speedup in Amdahl&#039;s Law]]&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=207</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=207"/>
		<updated>2024-10-13T13:58:39Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to further reduce the value of (&#039;&#039;1-s)/p&#039;&#039; solving the same problem. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing &#039;&#039;p&#039;&#039; to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This scaling ambiguity caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the model is applicable to programs solving any problem size with any percentage &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl originally used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated using &#039;&#039;p&#039;&#039; processors. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is also bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recent convergence.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
If we plot the full speedup curves against the number of processors, we will see the missing lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=206</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=206"/>
		<updated>2024-10-12T22:39:33Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is above bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. However, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recently.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=205</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=205"/>
		<updated>2024-10-12T22:37:05Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is above bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. However, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recently.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/228367369_Reevaluating_Amdahl&#039;s_law_and_Gustafson&#039;s_law&amp;lt;/ref&amp;gt;:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. PTO #11,588,926 B2] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=204</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=204"/>
		<updated>2024-10-12T22:19:28Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is above bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. However, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recently.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-1)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{1}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=203</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=203"/>
		<updated>2024-10-12T22:14:08Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is above bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. However, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recently.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=202</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=202"/>
		<updated>2024-10-12T22:10:44Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is above bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. However, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recently.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&lt;br /&gt;
Both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone.  &lt;br /&gt;
&lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors.  &lt;br /&gt;
&lt;br /&gt;
[[File:Full Range Amdah&#039;s Law .png|alt=Full Power of Amdahl&#039;s Law|center|thumb|Full Power of Amdahl&#039;s Law]] &lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=201</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=201"/>
		<updated>2024-10-12T22:03:24Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup is above bounded to 1.  Or b) expanding the problem size to allow the parallel part expanded solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will be above bounded to &#039;&#039;p&#039;&#039;. However, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) (or ManyCPU) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe (or BigCPU) computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions until recently.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
It is now obvious that the two law are identical with Amdahl&#039;s Law more succinct. But Gustafson&#039;s formula helps to quantify the serial percentages from practical program executions. In fact, the two serial percentages can be related by a simple equation:    &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;s=\frac{s&#039;}{s&#039;+(1-s&#039;)p}&amp;lt;/math&amp;gt;   (4)  &lt;br /&gt;
&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=200</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=200"/>
		<updated>2024-10-12T21:54:11Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, since Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors, assuming fixed problem size using &#039;&#039;p&#039;&#039; processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage &#039;&#039;0&amp;lt;=x&#039;&amp;lt;=1&#039;&#039; can be calculated. &#039;&#039;(1-x&#039;)&#039;&#039; is the parallel percentage using &#039;&#039;p&#039;&#039; processors. &lt;br /&gt;
&lt;br /&gt;
To estimate accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Speedup=\frac{Tseq}{Tpar}=\frac{s&#039;+(1-s&#039;)p}{1}=s&#039;+(1-s&#039;)p &amp;lt;/math&amp;gt;    (3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Take &#039;&#039;p&#039;&#039; -&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt; for equation (3) also has two operational semantics: a) Keep the problem size fixed, adding processors to further reduce the total parallel processing time, thus bigger s&#039;. This will yield s&#039; approaching 1. Thus speedup = 1.  Or b) expanding the problem size to allow the parallel part expand solving bigger problems. This will yield s&#039; asymptotically approaching 0. Speedup will approaching &#039;&#039;p&#039;&#039;. However, Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support two diverging computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=199</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=199"/>
		<updated>2024-10-12T21:33:09Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Taking &#039;&#039;p&#039;&#039; to infinity in equation (1) yields equation (2). But this derivation step has two different operational semantics: a) increasing &#039;&#039;p&#039;&#039; to reduce (&#039;&#039;1-s)&#039;&#039; value while keeping the problem size fixed. This will result &#039;&#039;s&#039;&#039; asymptotically approaching 1. Thus the speedup is above founded to 1. Or b) increasing p to increase the parallel percentage &#039;&#039;(1-s)&#039;&#039; by solving bigger problems. This will force &#039;&#039;s&#039;&#039; asymptotically approach 0. Then the speedup is above bounded by &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. This ambiguity  caused more than three decades of confusion in the community.&lt;br /&gt;
&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns, even though the mathematic model implies more potentials.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s Law was based on measured sequential and parallel elapsed times using &#039;&#039;p&#039;&#039; (=1024) processors. A new sequential percentage 0&amp;lt;=x&#039;&amp;lt;=1 can be calculated. (1-x&#039;) is the parallel percentage. &lt;br /&gt;
&lt;br /&gt;
To estimated accomplished speedup, Gustafson&#039;s Law states:&lt;br /&gt;
&lt;br /&gt;
propose to estimate the squential running times byhere was no pure sequential running time measure  &lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=File:Full_Range_Amdah%27s_Law_.png&amp;diff=198</id>
		<title>File:Full Range Amdah&#039;s Law .png</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=File:Full_Range_Amdah%27s_Law_.png&amp;diff=198"/>
		<updated>2024-10-12T18:36:47Z</updated>

		<summary type="html">&lt;p&gt;Justin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Full power of Amdahl&#039;s Law&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=197</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=197"/>
		<updated>2024-10-05T19:39:26Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)  &amp;lt;br&amp;gt;&lt;br /&gt;
Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=196</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=196"/>
		<updated>2024-10-05T19:38:39Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1) &lt;br /&gt;
Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=195</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=195"/>
		<updated>2024-10-05T19:36:56Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
* Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1) &lt;br /&gt;
* Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=194</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=194"/>
		<updated>2024-10-05T19:35:51Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1) &lt;br /&gt;
* Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=193</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=193"/>
		<updated>2024-10-05T19:34:15Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{center |&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1) &lt;br /&gt;
* Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=192</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=192"/>
		<updated>2024-10-05T19:33:19Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1) &lt;br /&gt;
* Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=191</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=191"/>
		<updated>2024-10-05T19:30:34Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt;= &#039;&#039;s&#039;&#039; &amp;lt;=1 percentage of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
* Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1) &lt;br /&gt;
* Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
|center]&lt;br /&gt;
Although quantifying &#039;&#039;s&#039;&#039; requires additional information, such as the problem size, the law is applicable to programs solving any problem size with a known &#039;&#039;s&#039;&#039;. The limit of speedup (2) also does not depend on problem size. However, Amdahl used programs solving fixed problem sizes to argue the validity of not building parallel machines with too many processors.  Since then assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=190</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=190"/>
		<updated>2024-10-05T04:07:30Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt; &#039;&#039;s &amp;lt;1 percentage&#039;&#039; of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt; (2)&lt;br /&gt;
&lt;br /&gt;
The problem is that &#039;&#039;s&#039;&#039; is difficult to quantify for practical applications. Although (2) is the limit of speedup that has no assumed problem sizes,  assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns.&lt;br /&gt;
&lt;br /&gt;
In 1988, Gustafson and Barsis at the Sandia National Laboratory conducted parallel computing experiments that seem to suggest potential infinite speedup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gustafson&#039;s  while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=189</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=189"/>
		<updated>2024-10-05T04:01:17Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The Amdahl&#039;s Law assumes 0&amp;lt; &#039;&#039;s &amp;lt;1 percentage&#039;&#039; of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The problem is that &#039;&#039;s&#039;&#039; is difficult to quantify for practical applications.  Assuming fixed problem size using p processors has been the norm in interpreting Amdahl&#039;s law in the past. This assumption has led to the dismal speedup predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=188</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=188"/>
		<updated>2024-10-05T03:52:14Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. The Amdahl&#039;s Law assumes 0&amp;lt; &#039;&#039;s &amp;lt;1 percentage&#039;&#039; of serial instructions that cannot be parallelized. Then the &#039;&#039;(1-s)&#039;&#039; percentage of instructions can be accelerated using &#039;&#039;p&#039;&#039; processors.&lt;br /&gt;
&lt;br /&gt;
Speedup(p) = &amp;lt;math&amp;gt;{1 \over s + {(1-s) \over p}}&amp;lt;/math&amp;gt; (1)&lt;br /&gt;
&lt;br /&gt;
Speedup(&amp;lt;math&amp;gt;\lim_{p \to \infty}&amp;lt;/math&amp;gt;) = &amp;lt;math&amp;gt;\frac{1}{s}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The problem is that these two &amp;quot;laws&amp;quot; seem to yield complete opposite performance predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The traditional Amdahl&#039;s Law interpretation seems to suggest parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead to infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger mainframe computer architectures. In the past decades, these laws have been used to support computing system experiments and constructions.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the Gustafson&#039;s Law cannot scale mathematically since the  are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=187</id>
		<title>SMC</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=187"/>
		<updated>2024-10-01T12:35:39Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Canary In The Coal Mine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
SMC stands for Statistic Multiplexed Computing and Communication. The idea was inspired by von Neumann&#039;s 1952 paper on probabilistic logics and synthesis of reliable organisms using unreliable components &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. Building fault tolerant mission critical system was the triggering use case. &lt;br /&gt;
&lt;br /&gt;
Modern computer applications must rely on networking services. Every networked application forms its own infrastructure consisting of network, processing,  storage and software components. A data center or cloud service can duplex multiple applications on the same hardware. The definition of infrastructure remains with each application.&lt;br /&gt;
&lt;br /&gt;
The challenge of building fault tolerant mission critical application is deciding how the programs should communicate with other programs and devices.&lt;br /&gt;
&lt;br /&gt;
Since every hardware component has finite service life, in theory, mission critical software programs must be completely decoupled from hardware components, such as networking, processing, storage, sensors and other devices. This decoupling affords hardware management freedom without changing programs.&lt;br /&gt;
&lt;br /&gt;
This simple requirement seems very difficult to satisfy in practice.&lt;br /&gt;
&lt;br /&gt;
==Canary In The Coal Mine==&lt;br /&gt;
The TCP/IP protocol was an experimental protocol for connecting arbitrary two computers reliably in the world-wide network like the &amp;quot;canary in a coal mine&amp;quot;. The OSI model &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/OSI_model&amp;lt;/ref&amp;gt; is a conceptual model from the ISO (International Organization for Standardization) that provides &amp;quot;a common basis for the coordination of standards development for the purpose of systems interconnection &amp;lt;ref&amp;gt;https://www.iso.org/standard/20269.html&amp;lt;/ref&amp;gt;. Today, its 7-layer model is widely taught in universities and technology schools. &lt;br /&gt;
&lt;br /&gt;
For every connection-oriented socket circuit, all commercial implementations guarantees &amp;quot;order-preserved lossless data communication&amp;quot;, packet losses, duplicates and errors are automatically corrected in the lower layer protocols.  It seems perfectly reasonable to deploy this &amp;quot;hop-to-hop&amp;quot; connected-oriented TCP sockets for mission critical applications.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the fine-prints in the OSI model specification have not caught any attention. The &amp;quot;order-preserved lossless data communication&amp;quot; is guaranteed only if both the sender and receiver are 100% reliable. If the sender or the receiver can crash arbitrarily, then reliable communication is impossible &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. In practice, we call the TCP/IP protocol the &amp;quot;best effort&amp;quot; reliable protocol for all nodes are indeed try their best to forward packets and repair errors and duplicates. Building mission critical application using these protocols directly is inappropriate.&lt;br /&gt;
&lt;br /&gt;
The problem is that it is impossible to eliminate single-point failures. The &amp;quot;canary&amp;quot; worked well only for communication applications where data losses and service downtimes can be tolerated. For mission critical applications, such as banking, trading, air/sea/land navigation, service crashes can cause irreparable damages and loss of human lives.&lt;br /&gt;
&lt;br /&gt;
Even for banking applications, arbitrary transaction losses cannot be eliminated completely. Banks resort to legal measures to compensate verified customer losses. There are unclaimed funds to be handled by the banks.&lt;br /&gt;
&lt;br /&gt;
In business, the IT professionals simply try to minimize &amp;quot;opportunity costs&amp;quot;. Solving the infrastructure scaling problem seems beyond our reach.&lt;br /&gt;
&lt;br /&gt;
==Fruits of Poisonous Tree==&lt;br /&gt;
The &amp;quot;hop-to-hop&amp;quot; protocol is the DNA of existing enterprise system program paradigms. These include RPC (remote procedure call), MPI (message passing interface), RMI (remote method invocation), distributed share-memory and many others. These are the only means to communicate and retrieve data from a remote computer.&lt;br /&gt;
&lt;br /&gt;
Applications built using these protocols form infrastructures that have many single-point failures. Every such point failure can bring down the entire enterprise.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Achilles Heel&amp;quot; of the legacy enterprise programming paradigms is the lack of &amp;quot;re-transmission discipline&amp;quot;. The hop-to-hop protocols provide false hope of data communication reliability. Programmers are at a loss when dealing with timeout events: do we retransmit or not retransmit? If not, data would be lost. If we do, how to handle if duplicates? what is the probability of success from the last timeout?&lt;br /&gt;
[[File:Achilles-heel.png|center|thumb|Achilles-heel]]&lt;br /&gt;
&lt;br /&gt;
To eliminate infrastructure single-point failures requires complete program and data decoupling from hardware components -- a programming paradigm shift from the hop-to-hop communication paradigms.&lt;br /&gt;
&lt;br /&gt;
==Active Content Addressable Networking (ACAN)==&lt;br /&gt;
Content addressable networks are peer-to-peer(P2P) networks. There are many proposed contend addressable networks (CAN) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Content-addressable_network&amp;lt;/ref&amp;gt;. These include distributed hash table (DHT)&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Distributed_hash_table&amp;lt;/ref&amp;gt;, and projects: Chord&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Chord_(peer-to-peer)&amp;lt;/ref&amp;gt;, Pastry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Pastry_(DHT)&amp;lt;/ref&amp;gt; and Tapestry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Tapestry_(DHT)&amp;lt;/ref&amp;gt;. These networks focused on information retrieval efficiency.&lt;br /&gt;
&lt;br /&gt;
We need information retrieval efficiency and the freedom of multiplexing hardware components in real time. We call this ACAN (Active Content Addressable Networking).&lt;br /&gt;
&lt;br /&gt;
The idea of ACAN is to enable automated parallel processing based on application&#039;s data retrieval patterns without explicitly building parallel SIMD, MIMD and pipeline clusters. This was inspired by the failures from the early-day dataflow machine research &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow&amp;lt;/ref&amp;gt;. The earlier dataflow computer research failed to recognize the importance of parallel processing granularity&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow_architecture&amp;lt;/ref&amp;gt;. The meticulously designed multiprocessor architectures failed to compete against simpler single processors.&lt;br /&gt;
&lt;br /&gt;
The parallel processing granularity optimization problem needs to balance the disparity of processing and communication capabilities in an infrastructure. Conventional wisdom considers communication overheads are the main challenge in parallel computing. In reality, synchronization overheads are the main problem, unless computing speeds are perfectly matched with the communication latencies, optimal parallel performance is not possible. This situation may be visualized as the fastest crossing a muddy area and a hard surface area where the straight line is obviously not optimal:&lt;br /&gt;
[[File:BrachistochroneExplained.jpg|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending upon the resistances, the optimal point can be anywhere along the interface between the two medium.&lt;br /&gt;
&lt;br /&gt;
The ancient Brachistochrone problem &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt; models this problem in physics, a puzzle solved by Johnann Bernoulli &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Brachistochrone_curve&amp;lt;/ref&amp;gt;. The solution is to optimize between two counter-acting forces: gravity and normal force when the gravity changes continuously.&lt;br /&gt;
[[File:Petite brachistochrone.gif|alt=Brachistochrone Curve|center|thumb|Brachistochrone Curve]]&lt;br /&gt;
&lt;br /&gt;
For parallel computing, depending on the loads and system scheduling policies, the deliverable computing and communication speeds change dynamically. Precise measures are not possible. Finding the optimal granularity requires the program-to-program communication protocol to allow granularity changes without re-compiling the source programs. Furthermore, the load fluctuations in parallel processing also include potential component failures. The peer-to-peer ACAN protocol was designed to fit both needs: load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On surface, parallel computing using P2P network will be slower than direct hop-to-hop networks, such as MPI -- the commonly used TOP500 supercomputer benchmark protocol. The problem is that parallel program built using hop-to-hop protocol such as MPI require explicit partitioning factor programmed before compilation. Changing granularity require re-programming. Tuning for the optimal granularity would be exceedingly laborious. &lt;br /&gt;
&lt;br /&gt;
ACAN used the Tuple Space abstraction for automated data-parallel computing &amp;lt;ref&amp;gt;J. Shi, Statistic Multiplexed Computing System for Network-Scale Reliable High Performance Services, US PTO, #US 11,588,926 B2, granted February 21, 2023 &amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Computing experiments demonstrated that optimal granularity tuning using ACAN can out-perform fixed partitioned MPI program consistently at multiple optimal points&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:OptimalGranularities.jpg|center|thumb]]&lt;br /&gt;
The optimal granularities (lowest points on the black-line in the above figure) share the same property as the points on the Brachistochrone curve where all points will have the same shortest traversal time regardless the starting positions on the curve [src=&amp;quot;https://www.youtube.com/embed/skvnj67YGmw?start=1354&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
In the parallel computing experiments, the communication capacity is changing by tuning the granularity at regular intervals (smaller granularity has more frequent communication sessions thus more overheads, larger granularity has less communication sessions but larger synchronization overheads).&lt;br /&gt;
&lt;br /&gt;
Similar experiments were conducted on ACAN storage performance against the Hadoop distributed file system &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/285579358_AnkaCom_A_Development_and_Experiment_for_Extreme_Scale_Computing&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Programs in ACAN are &amp;quot;stateless&amp;quot; programs that can run on any computer in ACAN. Therefore the ACAN infrastructure will have no single-point failures regardless the scale. The ACAN infrastructure can be repaired or resized in real time without interrupting service. Real time granularity change is also possible without interrupting services.&lt;br /&gt;
&lt;br /&gt;
A more remarkable feature of ACAN applications is the ability to deliver unbounded performance as the infrastructure expands in size with open problem sizes. It is theoretically capable to harness multiple quantum computers.&lt;br /&gt;
&lt;br /&gt;
==Blockchain Protocols==&lt;br /&gt;
Blockchain protocol also forms P2P network. Although there are different consensus protocols, such as POW (proof of work), POS (proof of stake), POH (proof of history) and POP (proof of possession), etc., the general architecture remains the same: the protocol runs on all computers. Each computer validates transactions subject to the consensus protocol for finality. Once committed to the cryptographically linked chain, the transactions are immutable. The consensus protocol ensures double-spending does not happen.&lt;br /&gt;
&lt;br /&gt;
POW protocol is not environmental friendly that consumes too much electricity for solving the mining puzzles. Other consensus protocols are more energy efficient but all suffer the same scaling challenges: expanding the network and growing the ledger will bring down the network performance gradually. The storage requirements are monotonically increasing. The network will eventually crash when all nodes are storage saturated. Dividing the chain into multiple &amp;quot;shards&amp;quot; can only postpone the eventual saturation at the expense of increased protocol complexity. &lt;br /&gt;
&lt;br /&gt;
The blockchain protocols avoided the hop-to-hop protocol trap by using various &amp;quot;gossip&amp;quot; protocols. In theory, there should be no single-point failure in any blockchain network and applications. Therefore, if it is not for protocol bugs, there should never be a service downtime. The Bitcoin network demonstrated such an excellent uptime record&amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-uptime/&amp;lt;/ref&amp;gt; that no legacy infrastructures could match.&lt;br /&gt;
&lt;br /&gt;
Another remarkable feature of the Bitcoin network is that its protocol programs are Open Source. Anyone can download and manipulate it and turn it to attack the network. There has been no successful Bitcoin network attacks since its 2009 launch.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to observe that the blockchain protocols are silent on transaction re-transmission discipline. The blockchain wallets are responsible to check their own transactions&#039; status and retransmit if necessary. Since double-spending is not possible, retransmitting a transaction is a trivial matter and it would most likely find a different route for transaction approval.&lt;br /&gt;
&lt;br /&gt;
However, scalability remains the common challenge to all blockchain protocols. For POW consensus chains, the increasing energy consumption caused serious sustainability concerns. Since the cryptographic proved ledgers are immutable, for POS chains, although more than 99% energy consumption reduction can be achieved, the blockchain network&#039;s scalability is still challenged, since the chains will have to shutdown when all nodes storage are saturated.&lt;br /&gt;
&lt;br /&gt;
It is evident that all blockchains should be infinitely scalable to be considered &amp;quot;digital gold&amp;quot;. This means that expanding the network (adding nodes) should increase the network&#039;s performance, reliability and security. This is the motivation for the SMC Blockchain Protocol.&lt;br /&gt;
&lt;br /&gt;
== SMC Blockchain Protocol ==&lt;br /&gt;
SMC blockchain protocol aims to solve the scalability challenge by enabling automated parallel processing while enhancing network security and reliability at the same time. The ACAN concept is a perfect fit for this case.  ACAN enables automated SMC by forcing the transaction validation processes to form SIMD, MIMD and pipeline clusters in real time.&lt;br /&gt;
&lt;br /&gt;
Unlike other chains, SMC Blockchain Protocol only maintains (R &amp;gt; 1) copies of the ledger on randomly selected nodes. This enables the overall network storage capacity to grow indefinitely by adding more nodes. The value of R constrains the transaction replication overheads to a constant thus accelerating transaction processing throughput by adding nodes. The actual R value can be determined experimentally without stopping service.&lt;br /&gt;
&lt;br /&gt;
The SMC Blockchain network (TOIchain) supports regular, &amp;quot;staking&amp;quot; and &amp;quot;seed&amp;quot; nodes. A regular node is similar to a &amp;quot;light node&amp;quot; in Bitcoin that only receives transactions and forwards them to &amp;quot;staking&amp;quot; nodes. Unlike a Bitcoin &amp;quot;light node&amp;quot;, a regular TOI node can optionally store validated blocks and be paid (need a unique wallet address) for the storage and accesses. A &amp;quot;staking&amp;quot; node is a regular node uniquely associated with another wallet address by a &amp;quot;staking contract&amp;quot;, such as &amp;quot;50 TOINs for 3 months starting now&amp;quot;. The staking contracts are used by randomly selected &amp;quot;seed&amp;quot; nodes to build random transaction validation committees (Prove of Stake consensus protocol).  &lt;br /&gt;
&lt;br /&gt;
A &amp;quot;seed&amp;quot; node is TOI Foundation supported service. They serve as the DNS for TOIchain and have all features as a &amp;quot;staking&amp;quot; node where the &amp;quot;staking contract&amp;quot; and wallet address are owned by TOI Foundation. The TOIchain operates on EPOCHs as heartbeats for the network. Each EPOCH corresponds to a randomly selected &amp;quot;validation committee&amp;quot; of &amp;quot;staking&amp;quot; nodes. A randomly selected &amp;quot;seed&amp;quot; node set decides the formation of committee. &lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;validation committee&amp;quot; can have up to 128 validators. Each validator validates local transactions in parallel against the current best chain state. The committee assembles a block of partially validated transactions for committee-wide validation. A majority agreement will decide the fully validated transactions into the new block. The block is considered &amp;quot;confirmed&amp;quot; but not &amp;quot;finalized&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The new block must be validated against the EPOCH-id -1 block before it is &amp;quot;finalized&amp;quot;. This step is skipped for the genesis block. The committees must wait until the EPOCH-id -1 block becomes the chain tip. Thus, multiple validation committees form a virtual pipeline at runtime. Finalized blocks match generated EPOCHs. Transactions fail in any stage are removed from the block.  There maybe empty blocks where all transactions fail or the network is idling.&lt;br /&gt;
&lt;br /&gt;
Transactions may be replicated before validation to improve the chance of being included into a block by paying more fees. The redundant transactions will fail except for the first one.&lt;br /&gt;
&lt;br /&gt;
When the network has no &amp;quot;staking&amp;quot; nodes, the &amp;quot;seed&amp;quot; nodes become &amp;quot;staking&amp;quot; nodes to keep the network operational. The TOI Foundation receives the transaction fees and validation rewards. &lt;br /&gt;
&lt;br /&gt;
The TOI Foundation maintains the &amp;quot;seed&amp;quot; nodes and the overall network security and safety via automatic network monitoring and maintenance scripts. &lt;br /&gt;
&lt;br /&gt;
== SMC POS Consensus ==&lt;br /&gt;
SMC POS consensus protocol randomly selects staking validators without staking pools to deter centralization attempts. SMC POS protocol also has an adjustable replication factor that the network ledger has a fixed replication factor that can be tuned on demand without service interruptions. Therefore, adding nodes, the SMC POS consensus protocol can deliver:&lt;br /&gt;
&lt;br /&gt;
# Byzantine failure resistance&lt;br /&gt;
# Fault tolerance&lt;br /&gt;
# Program tamper resistance&lt;br /&gt;
# Centralization avoidance&lt;br /&gt;
# Incrementally better performance, security and reliability&lt;br /&gt;
&lt;br /&gt;
More nodes in the network expands the network storage capacity without increasing replication overheads. More nodes facilitates longer pipeline and higher parallelism for better performances and better randomness for security. Higher R values improve service reliability. Lower R values deliver better performances. Since the number of nodes can be far greater than R, monotonic performance increase can always be achieved. Most importantly, the native SMC protocol supports all these network parameter adjustments without protocol change.&lt;br /&gt;
&lt;br /&gt;
SMC blockchain protocol is also silent on transaction retransmission discipline. Since it is impossible to &amp;quot;double spend&amp;quot; under SMC protocol, transaction retransmission will enable different approval routes without double-spend risks (multiplexing). This ensures seamless integration with legacy blockchain wallets and infrastructures.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
SMC blockchain protocol is the only statistic multiplexed blockchain protocol to date. The SMC technology development history links the blockchain protocol development to stateless HPC (high performance computing) developments. This is the only known technology that can offer decentralized processing for centralized controls, which is the perfect gateway to integrate web2.0 applications for web3.0 infrastructures.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=186</id>
		<title>SMC</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=186"/>
		<updated>2024-05-30T20:50:11Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Blockchain Protocols */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
SMC stands for Statistic Multiplexed Computing and Communication. The idea was inspired by von Neumann&#039;s 1952 paper on probabilistic logics and synthesis of reliable organisms using unreliable components &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. Building fault tolerant mission critical system was the triggering use case. &lt;br /&gt;
&lt;br /&gt;
Modern computer applications must rely on networking services. Every networked application forms its own infrastructure consisting of network, processing,  storage and software components. A data center or cloud service can duplex multiple applications on the same hardware. The definition of infrastructure remains with each application.&lt;br /&gt;
&lt;br /&gt;
The challenge of building fault tolerant mission critical application is deciding how the programs should communicate with other programs and devices.&lt;br /&gt;
&lt;br /&gt;
Since every hardware component has finite service life, in theory, mission critical software programs must be completely decoupled from hardware components, such as networking, processing, storage, sensors and other devices. This decoupling affords hardware management freedom without changing programs.&lt;br /&gt;
&lt;br /&gt;
This simple requirement seems very difficult to satisfy in practice.&lt;br /&gt;
&lt;br /&gt;
==Canary In The Coal Mine==&lt;br /&gt;
The TCP/IP protocol was an experimental protocol for connecting arbitrary two computers reliably in the world-wide network like the &amp;quot;canary in a coal mine&amp;quot;. The OSI model &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/OSI_model&amp;lt;/ref&amp;gt; is a conceptual model from the ISO (International Organization for Standardization) that provides &amp;quot;a common basis for the coordination of standards development for the purpose of systems interconnection &amp;lt;ref&amp;gt;https://www.iso.org/standard/20269.html&amp;lt;/ref&amp;gt;. Today, its 7-layer model is widely taught in universities and technology schools. &lt;br /&gt;
&lt;br /&gt;
For every connection-oriented socket circuit, all commercial implementations guarantees &amp;quot;order-preserved lossless data communication&amp;quot;, packet losses, duplicates and errors are automatically corrected in the lower layer protocols.  It seems perfectly reasonable to deploy this &amp;quot;hop-to-hop&amp;quot; connected-oriented TCP sockets for mission critical applications.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the fine-prints in the OSI model specification have not caught any attention. The &amp;quot;order-preserved lossless data communication&amp;quot; is guaranteed only if both the sender and receiver are 100% reliable. If the sender or the receiver can crash arbitrarily, then reliable communication is impossible &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. In practice, we call the TCP/IP protocol the &amp;quot;best effort&amp;quot; reliable protocol for all nodes are indeed try their best to forward packets and repair errors and duplicates. Building mission critical application using these protocols is inappropriate.&lt;br /&gt;
&lt;br /&gt;
The problem is that it is impossible to eliminate single-point failures. The &amp;quot;canary&amp;quot; worked well only for communication applications where data losses and service downtimes can be tolerated to some extent. For mission critical applications, such as banking, trading, air/sea/land navigation, service crashes can cause irreparable damages and loss of human lives.&lt;br /&gt;
&lt;br /&gt;
Even for banking applications, arbitrary transaction losses cannot be eliminated completely. Banks resort to legal measures to compensate verified customer losses. There are unclaimed funds to be handled by the banks.&lt;br /&gt;
&lt;br /&gt;
In business, the IT professionals simply try to minimize &amp;quot;opportunity costs&amp;quot;. Solving the infrastructure scaling problem seems out of reach for most people.&lt;br /&gt;
&lt;br /&gt;
==Fruits of Poisonous Tree==&lt;br /&gt;
The &amp;quot;hop-to-hop&amp;quot; protocol is the DNA of existing enterprise system program paradigms. These include RPC (remote procedure call), MPI (message passing interface), RMI (remote method invocation), distributed share-memory and many others. These are the only means to communicate and retrieve data from a remote computer.&lt;br /&gt;
&lt;br /&gt;
Applications built using these protocols form infrastructures that have many single-point failures. Every such point failure can bring down the entire enterprise.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Achilles Heel&amp;quot; of the legacy enterprise programming paradigms is the lack of &amp;quot;re-transmission discipline&amp;quot;. The hop-to-hop protocols provide false hope of data communication reliability. Programmers are at a loss when dealing with timeout events: do we retransmit or not retransmit? If not, data would be lost. If we do, how to handle if duplicates? what is the probability of success from the last timeout?&lt;br /&gt;
[[File:Achilles-heel.png|center|thumb|Achilles-heel]]&lt;br /&gt;
&lt;br /&gt;
To eliminate infrastructure single-point failures requires complete program and data decoupling from hardware components -- a programming paradigm shift from the hop-to-hop communication paradigms.&lt;br /&gt;
&lt;br /&gt;
==Active Content Addressable Networking (ACAN)==&lt;br /&gt;
Content addressable networks are peer-to-peer(P2P) networks. There are many proposed contend addressable networks (CAN) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Content-addressable_network&amp;lt;/ref&amp;gt;. These include distributed hash table (DHT)&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Distributed_hash_table&amp;lt;/ref&amp;gt;, and projects: Chord&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Chord_(peer-to-peer)&amp;lt;/ref&amp;gt;, Pastry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Pastry_(DHT)&amp;lt;/ref&amp;gt; and Tapestry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Tapestry_(DHT)&amp;lt;/ref&amp;gt;. These networks focused on information retrieval efficiency.&lt;br /&gt;
&lt;br /&gt;
We need information retrieval efficiency and the freedom of multiplexing hardware components in real time. We call this ACAN (Active Content Addressable Networking).&lt;br /&gt;
&lt;br /&gt;
The idea of ACAN is to enable automated parallel processing based on application&#039;s data retrieval patterns without explicitly building parallel SIMD, MIMD and pipeline clusters. This was inspired by the failures from the early-day dataflow machine research &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow&amp;lt;/ref&amp;gt;. The earlier dataflow computer research failed to recognize the importance of parallel processing granularity&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow_architecture&amp;lt;/ref&amp;gt;. The meticulously designed multiprocessor architectures failed to compete against simpler single processors.&lt;br /&gt;
&lt;br /&gt;
The parallel processing granularity optimization problem needs to balance the disparity of processing and communication capabilities in an infrastructure. Conventional wisdom considers communication overheads are the main challenge in parallel computing. In reality, synchronization overheads are the main problem, unless computing speeds are perfectly matched with the communication latencies, optimal parallel performance is not possible. This situation may be visualized as the fastest crossing a muddy area and a hard surface area where the straight line is obviously not optimal:&lt;br /&gt;
[[File:BrachistochroneExplained.jpg|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending upon the resistances, the optimal point can be anywhere along the interface between the two medium.&lt;br /&gt;
&lt;br /&gt;
The ancient Brachistochrone problem &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt; models this problem in physics, a puzzle solved by Johnann Bernoulli &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Brachistochrone_curve&amp;lt;/ref&amp;gt;. The solution is to optimize between two counter-acting forces: gravity and normal force when the gravity changes continuously.&lt;br /&gt;
[[File:Petite brachistochrone.gif|alt=Brachistochrone Curve|center|thumb|Brachistochrone Curve]]&lt;br /&gt;
&lt;br /&gt;
For parallel computing, depending on the loads and system scheduling policies, the deliverable computing and communication speeds change dynamically. Precise measures are not possible. Finding the optimal granularity requires the program-to-program communication protocol to allow granularity changes without re-compiling the source programs. Furthermore, the load fluctuations in parallel processing also include potential component failures. The peer-to-peer ACAN protocol was designed to fit both needs: load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On surface, parallel computing using P2P network will be slower than direct hop-to-hop networks, such as MPI -- the commonly used TOP500 supercomputer benchmark protocol. The problem is that parallel program built using hop-to-hop protocol such as MPI require explicit partitioning factor programmed before compilation. Changing granularity require re-programming. Tuning for the optimal granularity would be exceedingly laborious. &lt;br /&gt;
&lt;br /&gt;
ACAN used the Tuple Space abstraction for automated data-parallel computing &amp;lt;ref&amp;gt;J. Shi, Statistic Multiplexed Computing System for Network-Scale Reliable High Performance Services, US PTO, #US 11,588,926 B2, granted February 21, 2023 &amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Computing experiments demonstrated that optimal granularity tuning using ACAN can out-perform fixed partitioned MPI program consistently at multiple optimal points&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:OptimalGranularities.jpg|center|thumb]]&lt;br /&gt;
The optimal granularities (lowest points on the black-line in the above figure) share the same property as the points on the Brachistochrone curve where all points will have the same shortest traversal time regardless the starting positions on the curve [src=&amp;quot;https://www.youtube.com/embed/skvnj67YGmw?start=1354&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
In the parallel computing experiments, the communication capacity is changing by tuning the granularity at regular intervals (smaller granularity has more frequent communication sessions thus more overheads, larger granularity has less communication sessions but larger synchronization overheads).&lt;br /&gt;
&lt;br /&gt;
Similar experiments were conducted on ACAN storage performance against the Hadoop distributed file system &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/285579358_AnkaCom_A_Development_and_Experiment_for_Extreme_Scale_Computing&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Programs in ACAN are &amp;quot;stateless&amp;quot; programs that can run on any computer in ACAN. Therefore the ACAN infrastructure will have no single-point failures regardless the scale. The ACAN infrastructure can be repaired or resized in real time without interrupting service. Real time granularity change is also possible without interrupting services.&lt;br /&gt;
&lt;br /&gt;
A more remarkable feature of ACAN applications is the ability to deliver unbounded performance as the infrastructure expands in size with open problem sizes. It is theoretically capable to harness multiple quantum computers.&lt;br /&gt;
&lt;br /&gt;
==Blockchain Protocols==&lt;br /&gt;
Blockchain protocol also forms P2P network. Although there are different consensus protocols, such as POW (proof of work), POS (proof of stake), POH (proof of history) and POP (proof of possession), etc., the general architecture remains the same: the protocol runs on all computers. Each computer validates transactions subject to the consensus protocol for finality. Once committed to the cryptographically linked chain, the transactions are immutable. The consensus protocol ensures double-spending does not happen.&lt;br /&gt;
&lt;br /&gt;
POW protocol is not environmental friendly that consumes too much electricity for solving the mining puzzles. Other consensus protocols are more energy efficient but all suffer the same scaling challenges: expanding the network and growing the ledger will bring down the network performance gradually. The storage requirements are monotonically increasing. The network will eventually crash when all nodes are storage saturated. Dividing the chain into multiple &amp;quot;shards&amp;quot; can only postpone the eventual saturation at the expense of increased protocol complexity. &lt;br /&gt;
&lt;br /&gt;
The blockchain protocols avoided the hop-to-hop protocol trap by using various &amp;quot;gossip&amp;quot; protocols. In theory, there should be no single-point failure in any blockchain network and applications. Therefore, if it is not for protocol bugs, there should never be a service downtime. The Bitcoin network demonstrated such an excellent uptime record&amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-uptime/&amp;lt;/ref&amp;gt; that no legacy infrastructures could match.&lt;br /&gt;
&lt;br /&gt;
Another remarkable feature of the Bitcoin network is that its protocol programs are Open Source. Anyone can download and manipulate it and turn it to attack the network. There has been no successful Bitcoin network attacks since its 2009 launch.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to observe that the blockchain protocols are silent on transaction re-transmission discipline. The blockchain wallets are responsible to check their own transactions&#039; status and retransmit if necessary. Since double-spending is not possible, retransmitting a transaction is a trivial matter and it would most likely find a different route for transaction approval.&lt;br /&gt;
&lt;br /&gt;
However, scalability remains the common challenge to all blockchain protocols. For POW consensus chains, the increasing energy consumption caused serious sustainability concerns. Since the cryptographic proved ledgers are immutable, for POS chains, although more than 99% energy consumption reduction can be achieved, the blockchain network&#039;s scalability is still challenged, since the chains will have to shutdown when all nodes storage are saturated.&lt;br /&gt;
&lt;br /&gt;
It is evident that all blockchains should be infinitely scalable to be considered &amp;quot;digital gold&amp;quot;. This means that expanding the network (adding nodes) should increase the network&#039;s performance, reliability and security. This is the motivation for the SMC Blockchain Protocol.&lt;br /&gt;
&lt;br /&gt;
== SMC Blockchain Protocol ==&lt;br /&gt;
SMC blockchain protocol aims to solve the scalability challenge by enabling automated parallel processing while enhancing network security and reliability at the same time. The ACAN concept is a perfect fit for this case.  ACAN enables automated SMC by forcing the transaction validation processes to form SIMD, MIMD and pipeline clusters in real time.&lt;br /&gt;
&lt;br /&gt;
Unlike other chains, SMC Blockchain Protocol only maintains (R &amp;gt; 1) copies of the ledger on randomly selected nodes. This enables the overall network storage capacity to grow indefinitely by adding more nodes. The value of R constrains the transaction replication overheads to a constant thus accelerating transaction processing throughput by adding nodes. The actual R value can be determined experimentally without stopping service.&lt;br /&gt;
&lt;br /&gt;
The SMC Blockchain network (TOIchain) supports regular, &amp;quot;staking&amp;quot; and &amp;quot;seed&amp;quot; nodes. A regular node is similar to a &amp;quot;light node&amp;quot; in Bitcoin that only receives transactions and forwards them to &amp;quot;staking&amp;quot; nodes. Unlike a Bitcoin &amp;quot;light node&amp;quot;, a regular TOI node can optionally store validated blocks and be paid (need a unique wallet address) for the storage and accesses. A &amp;quot;staking&amp;quot; node is a regular node uniquely associated with another wallet address by a &amp;quot;staking contract&amp;quot;, such as &amp;quot;50 TOINs for 3 months starting now&amp;quot;. The staking contracts are used by randomly selected &amp;quot;seed&amp;quot; nodes to build random transaction validation committees (Prove of Stake consensus protocol).  &lt;br /&gt;
&lt;br /&gt;
A &amp;quot;seed&amp;quot; node is TOI Foundation supported service. They serve as the DNS for TOIchain and have all features as a &amp;quot;staking&amp;quot; node where the &amp;quot;staking contract&amp;quot; and wallet address are owned by TOI Foundation. The TOIchain operates on EPOCHs as heartbeats for the network. Each EPOCH corresponds to a randomly selected &amp;quot;validation committee&amp;quot; of &amp;quot;staking&amp;quot; nodes. A randomly selected &amp;quot;seed&amp;quot; node set decides the formation of committee. &lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;validation committee&amp;quot; can have up to 128 validators. Each validator validates local transactions in parallel against the current best chain state. The committee assembles a block of partially validated transactions for committee-wide validation. A majority agreement will decide the fully validated transactions into the new block. The block is considered &amp;quot;confirmed&amp;quot; but not &amp;quot;finalized&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The new block must be validated against the EPOCH-id -1 block before it is &amp;quot;finalized&amp;quot;. This step is skipped for the genesis block. The committees must wait until the EPOCH-id -1 block becomes the chain tip. Thus, multiple validation committees form a virtual pipeline at runtime. Finalized blocks match generated EPOCHs. Transactions fail in any stage are removed from the block.  There maybe empty blocks where all transactions fail or the network is idling.&lt;br /&gt;
&lt;br /&gt;
Transactions may be replicated before validation to improve the chance of being included into a block by paying more fees. The redundant transactions will fail except for the first one.&lt;br /&gt;
&lt;br /&gt;
When the network has no &amp;quot;staking&amp;quot; nodes, the &amp;quot;seed&amp;quot; nodes become &amp;quot;staking&amp;quot; nodes to keep the network operational. The TOI Foundation receives the transaction fees and validation rewards. &lt;br /&gt;
&lt;br /&gt;
The TOI Foundation maintains the &amp;quot;seed&amp;quot; nodes and the overall network security and safety via automatic network monitoring and maintenance scripts. &lt;br /&gt;
&lt;br /&gt;
== SMC POS Consensus ==&lt;br /&gt;
SMC POS consensus protocol randomly selects staking validators without staking pools to deter centralization attempts. SMC POS protocol also has an adjustable replication factor that the network ledger has a fixed replication factor that can be tuned on demand without service interruptions. Therefore, adding nodes, the SMC POS consensus protocol can deliver:&lt;br /&gt;
&lt;br /&gt;
# Byzantine failure resistance&lt;br /&gt;
# Fault tolerance&lt;br /&gt;
# Program tamper resistance&lt;br /&gt;
# Centralization avoidance&lt;br /&gt;
# Incrementally better performance, security and reliability&lt;br /&gt;
&lt;br /&gt;
More nodes in the network expands the network storage capacity without increasing replication overheads. More nodes facilitates longer pipeline and higher parallelism for better performances and better randomness for security. Higher R values improve service reliability. Lower R values deliver better performances. Since the number of nodes can be far greater than R, monotonic performance increase can always be achieved. Most importantly, the native SMC protocol supports all these network parameter adjustments without protocol change.&lt;br /&gt;
&lt;br /&gt;
SMC blockchain protocol is also silent on transaction retransmission discipline. Since it is impossible to &amp;quot;double spend&amp;quot; under SMC protocol, transaction retransmission will enable different approval routes without double-spend risks (multiplexing). This ensures seamless integration with legacy blockchain wallets and infrastructures.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
SMC blockchain protocol is the only statistic multiplexed blockchain protocol to date. The SMC technology development history links the blockchain protocol development to stateless HPC (high performance computing) developments. This is the only known technology that can offer decentralized processing for centralized controls, which is the perfect gateway to integrate web2.0 applications for web3.0 infrastructures.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=185</id>
		<title>SMC</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=185"/>
		<updated>2024-05-30T20:45:14Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* SMC POS Consensus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
SMC stands for Statistic Multiplexed Computing and Communication. The idea was inspired by von Neumann&#039;s 1952 paper on probabilistic logics and synthesis of reliable organisms using unreliable components &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. Building fault tolerant mission critical system was the triggering use case. &lt;br /&gt;
&lt;br /&gt;
Modern computer applications must rely on networking services. Every networked application forms its own infrastructure consisting of network, processing,  storage and software components. A data center or cloud service can duplex multiple applications on the same hardware. The definition of infrastructure remains with each application.&lt;br /&gt;
&lt;br /&gt;
The challenge of building fault tolerant mission critical application is deciding how the programs should communicate with other programs and devices.&lt;br /&gt;
&lt;br /&gt;
Since every hardware component has finite service life, in theory, mission critical software programs must be completely decoupled from hardware components, such as networking, processing, storage, sensors and other devices. This decoupling affords hardware management freedom without changing programs.&lt;br /&gt;
&lt;br /&gt;
This simple requirement seems very difficult to satisfy in practice.&lt;br /&gt;
&lt;br /&gt;
==Canary In The Coal Mine==&lt;br /&gt;
The TCP/IP protocol was an experimental protocol for connecting arbitrary two computers reliably in the world-wide network like the &amp;quot;canary in a coal mine&amp;quot;. The OSI model &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/OSI_model&amp;lt;/ref&amp;gt; is a conceptual model from the ISO (International Organization for Standardization) that provides &amp;quot;a common basis for the coordination of standards development for the purpose of systems interconnection &amp;lt;ref&amp;gt;https://www.iso.org/standard/20269.html&amp;lt;/ref&amp;gt;. Today, its 7-layer model is widely taught in universities and technology schools. &lt;br /&gt;
&lt;br /&gt;
For every connection-oriented socket circuit, all commercial implementations guarantees &amp;quot;order-preserved lossless data communication&amp;quot;, packet losses, duplicates and errors are automatically corrected in the lower layer protocols.  It seems perfectly reasonable to deploy this &amp;quot;hop-to-hop&amp;quot; connected-oriented TCP sockets for mission critical applications.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the fine-prints in the OSI model specification have not caught any attention. The &amp;quot;order-preserved lossless data communication&amp;quot; is guaranteed only if both the sender and receiver are 100% reliable. If the sender or the receiver can crash arbitrarily, then reliable communication is impossible &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. In practice, we call the TCP/IP protocol the &amp;quot;best effort&amp;quot; reliable protocol for all nodes are indeed try their best to forward packets and repair errors and duplicates. Building mission critical application using these protocols is inappropriate.&lt;br /&gt;
&lt;br /&gt;
The problem is that it is impossible to eliminate single-point failures. The &amp;quot;canary&amp;quot; worked well only for communication applications where data losses and service downtimes can be tolerated to some extent. For mission critical applications, such as banking, trading, air/sea/land navigation, service crashes can cause irreparable damages and loss of human lives.&lt;br /&gt;
&lt;br /&gt;
Even for banking applications, arbitrary transaction losses cannot be eliminated completely. Banks resort to legal measures to compensate verified customer losses. There are unclaimed funds to be handled by the banks.&lt;br /&gt;
&lt;br /&gt;
In business, the IT professionals simply try to minimize &amp;quot;opportunity costs&amp;quot;. Solving the infrastructure scaling problem seems out of reach for most people.&lt;br /&gt;
&lt;br /&gt;
==Fruits of Poisonous Tree==&lt;br /&gt;
The &amp;quot;hop-to-hop&amp;quot; protocol is the DNA of existing enterprise system program paradigms. These include RPC (remote procedure call), MPI (message passing interface), RMI (remote method invocation), distributed share-memory and many others. These are the only means to communicate and retrieve data from a remote computer.&lt;br /&gt;
&lt;br /&gt;
Applications built using these protocols form infrastructures that have many single-point failures. Every such point failure can bring down the entire enterprise.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Achilles Heel&amp;quot; of the legacy enterprise programming paradigms is the lack of &amp;quot;re-transmission discipline&amp;quot;. The hop-to-hop protocols provide false hope of data communication reliability. Programmers are at a loss when dealing with timeout events: do we retransmit or not retransmit? If not, data would be lost. If we do, how to handle if duplicates? what is the probability of success from the last timeout?&lt;br /&gt;
[[File:Achilles-heel.png|center|thumb|Achilles-heel]]&lt;br /&gt;
&lt;br /&gt;
To eliminate infrastructure single-point failures requires complete program and data decoupling from hardware components -- a programming paradigm shift from the hop-to-hop communication paradigms.&lt;br /&gt;
&lt;br /&gt;
==Active Content Addressable Networking (ACAN)==&lt;br /&gt;
Content addressable networks are peer-to-peer(P2P) networks. There are many proposed contend addressable networks (CAN) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Content-addressable_network&amp;lt;/ref&amp;gt;. These include distributed hash table (DHT)&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Distributed_hash_table&amp;lt;/ref&amp;gt;, and projects: Chord&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Chord_(peer-to-peer)&amp;lt;/ref&amp;gt;, Pastry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Pastry_(DHT)&amp;lt;/ref&amp;gt; and Tapestry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Tapestry_(DHT)&amp;lt;/ref&amp;gt;. These networks focused on information retrieval efficiency.&lt;br /&gt;
&lt;br /&gt;
We need information retrieval efficiency and the freedom of multiplexing hardware components in real time. We call this ACAN (Active Content Addressable Networking).&lt;br /&gt;
&lt;br /&gt;
The idea of ACAN is to enable automated parallel processing based on application&#039;s data retrieval patterns without explicitly building parallel SIMD, MIMD and pipeline clusters. This was inspired by the failures from the early-day dataflow machine research &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow&amp;lt;/ref&amp;gt;. The earlier dataflow computer research failed to recognize the importance of parallel processing granularity&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow_architecture&amp;lt;/ref&amp;gt;. The meticulously designed multiprocessor architectures failed to compete against simpler single processors.&lt;br /&gt;
&lt;br /&gt;
The parallel processing granularity optimization problem needs to balance the disparity of processing and communication capabilities in an infrastructure. Conventional wisdom considers communication overheads are the main challenge in parallel computing. In reality, synchronization overheads are the main problem, unless computing speeds are perfectly matched with the communication latencies, optimal parallel performance is not possible. This situation may be visualized as the fastest crossing a muddy area and a hard surface area where the straight line is obviously not optimal:&lt;br /&gt;
[[File:BrachistochroneExplained.jpg|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending upon the resistances, the optimal point can be anywhere along the interface between the two medium.&lt;br /&gt;
&lt;br /&gt;
The ancient Brachistochrone problem &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt; models this problem in physics, a puzzle solved by Johnann Bernoulli &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Brachistochrone_curve&amp;lt;/ref&amp;gt;. The solution is to optimize between two counter-acting forces: gravity and normal force when the gravity changes continuously.&lt;br /&gt;
[[File:Petite brachistochrone.gif|alt=Brachistochrone Curve|center|thumb|Brachistochrone Curve]]&lt;br /&gt;
&lt;br /&gt;
For parallel computing, depending on the loads and system scheduling policies, the deliverable computing and communication speeds change dynamically. Precise measures are not possible. Finding the optimal granularity requires the program-to-program communication protocol to allow granularity changes without re-compiling the source programs. Furthermore, the load fluctuations in parallel processing also include potential component failures. The peer-to-peer ACAN protocol was designed to fit both needs: load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On surface, parallel computing using P2P network will be slower than direct hop-to-hop networks, such as MPI -- the commonly used TOP500 supercomputer benchmark protocol. The problem is that parallel program built using hop-to-hop protocol such as MPI require explicit partitioning factor programmed before compilation. Changing granularity require re-programming. Tuning for the optimal granularity would be exceedingly laborious. &lt;br /&gt;
&lt;br /&gt;
ACAN used the Tuple Space abstraction for automated data-parallel computing &amp;lt;ref&amp;gt;J. Shi, Statistic Multiplexed Computing System for Network-Scale Reliable High Performance Services, US PTO, #US 11,588,926 B2, granted February 21, 2023 &amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Computing experiments demonstrated that optimal granularity tuning using ACAN can out-perform fixed partitioned MPI program consistently at multiple optimal points&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:OptimalGranularities.jpg|center|thumb]]&lt;br /&gt;
The optimal granularities (lowest points on the black-line in the above figure) share the same property as the points on the Brachistochrone curve where all points will have the same shortest traversal time regardless the starting positions on the curve [src=&amp;quot;https://www.youtube.com/embed/skvnj67YGmw?start=1354&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
In the parallel computing experiments, the communication capacity is changing by tuning the granularity at regular intervals (smaller granularity has more frequent communication sessions thus more overheads, larger granularity has less communication sessions but larger synchronization overheads).&lt;br /&gt;
&lt;br /&gt;
Similar experiments were conducted on ACAN storage performance against the Hadoop distributed file system &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/285579358_AnkaCom_A_Development_and_Experiment_for_Extreme_Scale_Computing&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Programs in ACAN are &amp;quot;stateless&amp;quot; programs that can run on any computer in ACAN. Therefore the ACAN infrastructure will have no single-point failures regardless the scale. The ACAN infrastructure can be repaired or resized in real time without interrupting service. Real time granularity change is also possible without interrupting services.&lt;br /&gt;
&lt;br /&gt;
A more remarkable feature of ACAN applications is the ability to deliver unbounded performance as the infrastructure expands in size with open problem sizes. It is theoretically capable to harness multiple quantum computers.&lt;br /&gt;
&lt;br /&gt;
==Blockchain Protocols==&lt;br /&gt;
Blockchain protocol also forms P2P network. Although there are different consensus protocols, such as POW (proof of work), POS (proof of stake), POH (proof of history) and POP (proof of possession), etc., the general architecture remains the same: the protocol runs on all computers. Each computer validates transactions subject to the consensus protocol for finality. Once committed to the cryptographically linked chain, the transactions are immutable. The consensus protocol ensures double-spending does not happen.&lt;br /&gt;
&lt;br /&gt;
POW protocol is not environmental friendly that consumes too much electricity for solving the mining puzzles. Other consensus protocols are more energy efficient but all suffer the same scaling challenges: expanding the network and growing the ledger will bring down the network performance gradually. The storage requirements are monotonically increasing. The network will eventually crash when all nodes are storage saturated. Dividing the chain into multiple &amp;quot;shards&amp;quot; can only postpone the eventual saturation at the expense of increased protocol complexity. &lt;br /&gt;
&lt;br /&gt;
The blockchain protocols avoided the hop-to-hop protocol trap by using various &amp;quot;gossip&amp;quot; protocols. In theory, there should be no single-point failure in any blockchain network and applications. Therefore, if it is not for protocol bugs, there should never be a service downtime. The Bitcoin network demonstrated such an excellent uptime record&amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-uptime/&amp;lt;/ref&amp;gt; that no legacy infrastructures could match.&lt;br /&gt;
&lt;br /&gt;
Another remarkable feature of the Bitcoin network is that its protocol programs are Open Source. Anyone can download and manipulate it and turn it to attack the network. There has been no successful Bitcoin network attacks since its 2009 launch.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to observe that the blockchain protocols are silent on transaction re-transmission discipline. The blockchain wallets are responsible to check their own transactions&#039; status and retransmit if necessary. Since double-spending is not possible, retransmitting a transaction is a trivial matter and it would most likely find a different route for transaction approval.&lt;br /&gt;
&lt;br /&gt;
However, scalability remains the common challenge to all blockchain protocols. For POW consensus chains, the increasing energy consumption caused serious sustainability concerns. Since the cryptographic proved ledgers are immutable, for POS chains, although more than 99% energy consumption reduction can be achieved, the blockchain network&#039;s scalability is still challenged, since the chains will have to shutdown when all nodes storage are saturated.&lt;br /&gt;
&lt;br /&gt;
It is evident that all blockchains should be infinitely scalable. This means that expanding the network (adding nodes) should increase the network&#039;s performance, reliability and security. This is the motivation for the SMC Blockchain Protocol.&lt;br /&gt;
&lt;br /&gt;
== SMC Blockchain Protocol ==&lt;br /&gt;
SMC blockchain protocol aims to solve the scalability challenge by enabling automated parallel processing while enhancing network security and reliability at the same time. The ACAN concept is a perfect fit for this case.  ACAN enables automated SMC by forcing the transaction validation processes to form SIMD, MIMD and pipeline clusters in real time.&lt;br /&gt;
&lt;br /&gt;
Unlike other chains, SMC Blockchain Protocol only maintains (R &amp;gt; 1) copies of the ledger on randomly selected nodes. This enables the overall network storage capacity to grow indefinitely by adding more nodes. The value of R constrains the transaction replication overheads to a constant thus accelerating transaction processing throughput by adding nodes. The actual R value can be determined experimentally without stopping service.&lt;br /&gt;
&lt;br /&gt;
The SMC Blockchain network (TOIchain) supports regular, &amp;quot;staking&amp;quot; and &amp;quot;seed&amp;quot; nodes. A regular node is similar to a &amp;quot;light node&amp;quot; in Bitcoin that only receives transactions and forwards them to &amp;quot;staking&amp;quot; nodes. Unlike a Bitcoin &amp;quot;light node&amp;quot;, a regular TOI node can optionally store validated blocks and be paid (need a unique wallet address) for the storage and accesses. A &amp;quot;staking&amp;quot; node is a regular node uniquely associated with another wallet address by a &amp;quot;staking contract&amp;quot;, such as &amp;quot;50 TOINs for 3 months starting now&amp;quot;. The staking contracts are used by randomly selected &amp;quot;seed&amp;quot; nodes to build random transaction validation committees (Prove of Stake consensus protocol).  &lt;br /&gt;
&lt;br /&gt;
A &amp;quot;seed&amp;quot; node is TOI Foundation supported service. They serve as the DNS for TOIchain and have all features as a &amp;quot;staking&amp;quot; node where the &amp;quot;staking contract&amp;quot; and wallet address are owned by TOI Foundation. The TOIchain operates on EPOCHs as heartbeats for the network. Each EPOCH corresponds to a randomly selected &amp;quot;validation committee&amp;quot; of &amp;quot;staking&amp;quot; nodes. A randomly selected &amp;quot;seed&amp;quot; node set decides the formation of committee. &lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;validation committee&amp;quot; can have up to 128 validators. Each validator validates local transactions in parallel against the current best chain state. The committee assembles a block of partially validated transactions for committee-wide validation. A majority agreement will decide the fully validated transactions into the new block. The block is considered &amp;quot;confirmed&amp;quot; but not &amp;quot;finalized&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The new block must be validated against the EPOCH-id -1 block before it is &amp;quot;finalized&amp;quot;. This step is skipped for the genesis block. The committees must wait until the EPOCH-id -1 block becomes the chain tip. Thus, multiple validation committees form a virtual pipeline at runtime. Finalized blocks match generated EPOCHs. Transactions fail in any stage are removed from the block.  There maybe empty blocks where all transactions fail or the network is idling.&lt;br /&gt;
&lt;br /&gt;
Transactions may be replicated before validation to improve the chance of being included into a block by paying more fees. The redundant transactions will fail except for the first one.&lt;br /&gt;
&lt;br /&gt;
When the network has no &amp;quot;staking&amp;quot; nodes, the &amp;quot;seed&amp;quot; nodes become &amp;quot;staking&amp;quot; nodes to keep the network operational. The TOI Foundation receives the transaction fees and validation rewards. &lt;br /&gt;
&lt;br /&gt;
The TOI Foundation maintains the &amp;quot;seed&amp;quot; nodes and the overall network security and safety via automatic network monitoring and maintenance scripts. &lt;br /&gt;
&lt;br /&gt;
== SMC POS Consensus ==&lt;br /&gt;
SMC POS consensus protocol randomly selects staking validators without staking pools to deter centralization attempts. SMC POS protocol also has an adjustable replication factor that the network ledger has a fixed replication factor that can be tuned on demand without service interruptions. Therefore, adding nodes, the SMC POS consensus protocol can deliver:&lt;br /&gt;
&lt;br /&gt;
# Byzantine failure resistance&lt;br /&gt;
# Fault tolerance&lt;br /&gt;
# Program tamper resistance&lt;br /&gt;
# Centralization avoidance&lt;br /&gt;
# Incrementally better performance, security and reliability&lt;br /&gt;
&lt;br /&gt;
More nodes in the network expands the network storage capacity without increasing replication overheads. More nodes facilitates longer pipeline and higher parallelism for better performances and better randomness for security. Higher R values improve service reliability. Lower R values deliver better performances. Since the number of nodes can be far greater than R, monotonic performance increase can always be achieved. Most importantly, the native SMC protocol supports all these network parameter adjustments without protocol change.&lt;br /&gt;
&lt;br /&gt;
SMC blockchain protocol is also silent on transaction retransmission discipline. Since it is impossible to &amp;quot;double spend&amp;quot; under SMC protocol, transaction retransmission will enable different approval routes without double-spend risks (multiplexing). This ensures seamless integration with legacy blockchain wallets and infrastructures.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
SMC blockchain protocol is the only statistic multiplexed blockchain protocol to date. The SMC technology development history links the blockchain protocol development to stateless HPC (high performance computing) developments. This is the only known technology that can offer decentralized processing for centralized controls, which is the perfect gateway to integrate web2.0 applications for web3.0 infrastructures.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=184</id>
		<title>SMC</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=184"/>
		<updated>2024-05-30T20:33:34Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* SMC Blockchain Protocol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
SMC stands for Statistic Multiplexed Computing and Communication. The idea was inspired by von Neumann&#039;s 1952 paper on probabilistic logics and synthesis of reliable organisms using unreliable components &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. Building fault tolerant mission critical system was the triggering use case. &lt;br /&gt;
&lt;br /&gt;
Modern computer applications must rely on networking services. Every networked application forms its own infrastructure consisting of network, processing,  storage and software components. A data center or cloud service can duplex multiple applications on the same hardware. The definition of infrastructure remains with each application.&lt;br /&gt;
&lt;br /&gt;
The challenge of building fault tolerant mission critical application is deciding how the programs should communicate with other programs and devices.&lt;br /&gt;
&lt;br /&gt;
Since every hardware component has finite service life, in theory, mission critical software programs must be completely decoupled from hardware components, such as networking, processing, storage, sensors and other devices. This decoupling affords hardware management freedom without changing programs.&lt;br /&gt;
&lt;br /&gt;
This simple requirement seems very difficult to satisfy in practice.&lt;br /&gt;
&lt;br /&gt;
==Canary In The Coal Mine==&lt;br /&gt;
The TCP/IP protocol was an experimental protocol for connecting arbitrary two computers reliably in the world-wide network like the &amp;quot;canary in a coal mine&amp;quot;. The OSI model &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/OSI_model&amp;lt;/ref&amp;gt; is a conceptual model from the ISO (International Organization for Standardization) that provides &amp;quot;a common basis for the coordination of standards development for the purpose of systems interconnection &amp;lt;ref&amp;gt;https://www.iso.org/standard/20269.html&amp;lt;/ref&amp;gt;. Today, its 7-layer model is widely taught in universities and technology schools. &lt;br /&gt;
&lt;br /&gt;
For every connection-oriented socket circuit, all commercial implementations guarantees &amp;quot;order-preserved lossless data communication&amp;quot;, packet losses, duplicates and errors are automatically corrected in the lower layer protocols.  It seems perfectly reasonable to deploy this &amp;quot;hop-to-hop&amp;quot; connected-oriented TCP sockets for mission critical applications.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the fine-prints in the OSI model specification have not caught any attention. The &amp;quot;order-preserved lossless data communication&amp;quot; is guaranteed only if both the sender and receiver are 100% reliable. If the sender or the receiver can crash arbitrarily, then reliable communication is impossible &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. In practice, we call the TCP/IP protocol the &amp;quot;best effort&amp;quot; reliable protocol for all nodes are indeed try their best to forward packets and repair errors and duplicates. Building mission critical application using these protocols is inappropriate.&lt;br /&gt;
&lt;br /&gt;
The problem is that it is impossible to eliminate single-point failures. The &amp;quot;canary&amp;quot; worked well only for communication applications where data losses and service downtimes can be tolerated to some extent. For mission critical applications, such as banking, trading, air/sea/land navigation, service crashes can cause irreparable damages and loss of human lives.&lt;br /&gt;
&lt;br /&gt;
Even for banking applications, arbitrary transaction losses cannot be eliminated completely. Banks resort to legal measures to compensate verified customer losses. There are unclaimed funds to be handled by the banks.&lt;br /&gt;
&lt;br /&gt;
In business, the IT professionals simply try to minimize &amp;quot;opportunity costs&amp;quot;. Solving the infrastructure scaling problem seems out of reach for most people.&lt;br /&gt;
&lt;br /&gt;
==Fruits of Poisonous Tree==&lt;br /&gt;
The &amp;quot;hop-to-hop&amp;quot; protocol is the DNA of existing enterprise system program paradigms. These include RPC (remote procedure call), MPI (message passing interface), RMI (remote method invocation), distributed share-memory and many others. These are the only means to communicate and retrieve data from a remote computer.&lt;br /&gt;
&lt;br /&gt;
Applications built using these protocols form infrastructures that have many single-point failures. Every such point failure can bring down the entire enterprise.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Achilles Heel&amp;quot; of the legacy enterprise programming paradigms is the lack of &amp;quot;re-transmission discipline&amp;quot;. The hop-to-hop protocols provide false hope of data communication reliability. Programmers are at a loss when dealing with timeout events: do we retransmit or not retransmit? If not, data would be lost. If we do, how to handle if duplicates? what is the probability of success from the last timeout?&lt;br /&gt;
[[File:Achilles-heel.png|center|thumb|Achilles-heel]]&lt;br /&gt;
&lt;br /&gt;
To eliminate infrastructure single-point failures requires complete program and data decoupling from hardware components -- a programming paradigm shift from the hop-to-hop communication paradigms.&lt;br /&gt;
&lt;br /&gt;
==Active Content Addressable Networking (ACAN)==&lt;br /&gt;
Content addressable networks are peer-to-peer(P2P) networks. There are many proposed contend addressable networks (CAN) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Content-addressable_network&amp;lt;/ref&amp;gt;. These include distributed hash table (DHT)&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Distributed_hash_table&amp;lt;/ref&amp;gt;, and projects: Chord&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Chord_(peer-to-peer)&amp;lt;/ref&amp;gt;, Pastry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Pastry_(DHT)&amp;lt;/ref&amp;gt; and Tapestry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Tapestry_(DHT)&amp;lt;/ref&amp;gt;. These networks focused on information retrieval efficiency.&lt;br /&gt;
&lt;br /&gt;
We need information retrieval efficiency and the freedom of multiplexing hardware components in real time. We call this ACAN (Active Content Addressable Networking).&lt;br /&gt;
&lt;br /&gt;
The idea of ACAN is to enable automated parallel processing based on application&#039;s data retrieval patterns without explicitly building parallel SIMD, MIMD and pipeline clusters. This was inspired by the failures from the early-day dataflow machine research &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow&amp;lt;/ref&amp;gt;. The earlier dataflow computer research failed to recognize the importance of parallel processing granularity&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow_architecture&amp;lt;/ref&amp;gt;. The meticulously designed multiprocessor architectures failed to compete against simpler single processors.&lt;br /&gt;
&lt;br /&gt;
The parallel processing granularity optimization problem needs to balance the disparity of processing and communication capabilities in an infrastructure. Conventional wisdom considers communication overheads are the main challenge in parallel computing. In reality, synchronization overheads are the main problem, unless computing speeds are perfectly matched with the communication latencies, optimal parallel performance is not possible. This situation may be visualized as the fastest crossing a muddy area and a hard surface area where the straight line is obviously not optimal:&lt;br /&gt;
[[File:BrachistochroneExplained.jpg|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending upon the resistances, the optimal point can be anywhere along the interface between the two medium.&lt;br /&gt;
&lt;br /&gt;
The ancient Brachistochrone problem &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt; models this problem in physics, a puzzle solved by Johnann Bernoulli &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Brachistochrone_curve&amp;lt;/ref&amp;gt;. The solution is to optimize between two counter-acting forces: gravity and normal force when the gravity changes continuously.&lt;br /&gt;
[[File:Petite brachistochrone.gif|alt=Brachistochrone Curve|center|thumb|Brachistochrone Curve]]&lt;br /&gt;
&lt;br /&gt;
For parallel computing, depending on the loads and system scheduling policies, the deliverable computing and communication speeds change dynamically. Precise measures are not possible. Finding the optimal granularity requires the program-to-program communication protocol to allow granularity changes without re-compiling the source programs. Furthermore, the load fluctuations in parallel processing also include potential component failures. The peer-to-peer ACAN protocol was designed to fit both needs: load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On surface, parallel computing using P2P network will be slower than direct hop-to-hop networks, such as MPI -- the commonly used TOP500 supercomputer benchmark protocol. The problem is that parallel program built using hop-to-hop protocol such as MPI require explicit partitioning factor programmed before compilation. Changing granularity require re-programming. Tuning for the optimal granularity would be exceedingly laborious. &lt;br /&gt;
&lt;br /&gt;
ACAN used the Tuple Space abstraction for automated data-parallel computing &amp;lt;ref&amp;gt;J. Shi, Statistic Multiplexed Computing System for Network-Scale Reliable High Performance Services, US PTO, #US 11,588,926 B2, granted February 21, 2023 &amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Computing experiments demonstrated that optimal granularity tuning using ACAN can out-perform fixed partitioned MPI program consistently at multiple optimal points&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:OptimalGranularities.jpg|center|thumb]]&lt;br /&gt;
The optimal granularities (lowest points on the black-line in the above figure) share the same property as the points on the Brachistochrone curve where all points will have the same shortest traversal time regardless the starting positions on the curve [src=&amp;quot;https://www.youtube.com/embed/skvnj67YGmw?start=1354&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
In the parallel computing experiments, the communication capacity is changing by tuning the granularity at regular intervals (smaller granularity has more frequent communication sessions thus more overheads, larger granularity has less communication sessions but larger synchronization overheads).&lt;br /&gt;
&lt;br /&gt;
Similar experiments were conducted on ACAN storage performance against the Hadoop distributed file system &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/285579358_AnkaCom_A_Development_and_Experiment_for_Extreme_Scale_Computing&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Programs in ACAN are &amp;quot;stateless&amp;quot; programs that can run on any computer in ACAN. Therefore the ACAN infrastructure will have no single-point failures regardless the scale. The ACAN infrastructure can be repaired or resized in real time without interrupting service. Real time granularity change is also possible without interrupting services.&lt;br /&gt;
&lt;br /&gt;
A more remarkable feature of ACAN applications is the ability to deliver unbounded performance as the infrastructure expands in size with open problem sizes. It is theoretically capable to harness multiple quantum computers.&lt;br /&gt;
&lt;br /&gt;
==Blockchain Protocols==&lt;br /&gt;
Blockchain protocol also forms P2P network. Although there are different consensus protocols, such as POW (proof of work), POS (proof of stake), POH (proof of history) and POP (proof of possession), etc., the general architecture remains the same: the protocol runs on all computers. Each computer validates transactions subject to the consensus protocol for finality. Once committed to the cryptographically linked chain, the transactions are immutable. The consensus protocol ensures double-spending does not happen.&lt;br /&gt;
&lt;br /&gt;
POW protocol is not environmental friendly that consumes too much electricity for solving the mining puzzles. Other consensus protocols are more energy efficient but all suffer the same scaling challenges: expanding the network and growing the ledger will bring down the network performance gradually. The storage requirements are monotonically increasing. The network will eventually crash when all nodes are storage saturated. Dividing the chain into multiple &amp;quot;shards&amp;quot; can only postpone the eventual saturation at the expense of increased protocol complexity. &lt;br /&gt;
&lt;br /&gt;
The blockchain protocols avoided the hop-to-hop protocol trap by using various &amp;quot;gossip&amp;quot; protocols. In theory, there should be no single-point failure in any blockchain network and applications. Therefore, if it is not for protocol bugs, there should never be a service downtime. The Bitcoin network demonstrated such an excellent uptime record&amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-uptime/&amp;lt;/ref&amp;gt; that no legacy infrastructures could match.&lt;br /&gt;
&lt;br /&gt;
Another remarkable feature of the Bitcoin network is that its protocol programs are Open Source. Anyone can download and manipulate it and turn it to attack the network. There has been no successful Bitcoin network attacks since its 2009 launch.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to observe that the blockchain protocols are silent on transaction re-transmission discipline. The blockchain wallets are responsible to check their own transactions&#039; status and retransmit if necessary. Since double-spending is not possible, retransmitting a transaction is a trivial matter and it would most likely find a different route for transaction approval.&lt;br /&gt;
&lt;br /&gt;
However, scalability remains the common challenge to all blockchain protocols. For POW consensus chains, the increasing energy consumption caused serious sustainability concerns. Since the cryptographic proved ledgers are immutable, for POS chains, although more than 99% energy consumption reduction can be achieved, the blockchain network&#039;s scalability is still challenged, since the chains will have to shutdown when all nodes storage are saturated.&lt;br /&gt;
&lt;br /&gt;
It is evident that all blockchains should be infinitely scalable. This means that expanding the network (adding nodes) should increase the network&#039;s performance, reliability and security. This is the motivation for the SMC Blockchain Protocol.&lt;br /&gt;
&lt;br /&gt;
== SMC Blockchain Protocol ==&lt;br /&gt;
SMC blockchain protocol aims to solve the scalability challenge by enabling automated parallel processing while enhancing network security and reliability at the same time. The ACAN concept is a perfect fit for this case.  ACAN enables automated SMC by forcing the transaction validation processes to form SIMD, MIMD and pipeline clusters in real time.&lt;br /&gt;
&lt;br /&gt;
Unlike other chains, SMC Blockchain Protocol only maintains (R &amp;gt; 1) copies of the ledger on randomly selected nodes. This enables the overall network storage capacity to grow indefinitely by adding more nodes. The value of R constrains the transaction replication overheads to a constant thus accelerating transaction processing throughput by adding nodes. The actual R value can be determined experimentally without stopping service.&lt;br /&gt;
&lt;br /&gt;
The SMC Blockchain network (TOIchain) supports regular, &amp;quot;staking&amp;quot; and &amp;quot;seed&amp;quot; nodes. A regular node is similar to a &amp;quot;light node&amp;quot; in Bitcoin that only receives transactions and forwards them to &amp;quot;staking&amp;quot; nodes. Unlike a Bitcoin &amp;quot;light node&amp;quot;, a regular TOI node can optionally store validated blocks and be paid (need a unique wallet address) for the storage and accesses. A &amp;quot;staking&amp;quot; node is a regular node uniquely associated with another wallet address by a &amp;quot;staking contract&amp;quot;, such as &amp;quot;50 TOINs for 3 months starting now&amp;quot;. The staking contracts are used by randomly selected &amp;quot;seed&amp;quot; nodes to build random transaction validation committees (Prove of Stake consensus protocol).  &lt;br /&gt;
&lt;br /&gt;
A &amp;quot;seed&amp;quot; node is TOI Foundation supported service. They serve as the DNS for TOIchain and have all features as a &amp;quot;staking&amp;quot; node where the &amp;quot;staking contract&amp;quot; and wallet address are owned by TOI Foundation. The TOIchain operates on EPOCHs as heartbeats for the network. Each EPOCH corresponds to a randomly selected &amp;quot;validation committee&amp;quot; of &amp;quot;staking&amp;quot; nodes. A randomly selected &amp;quot;seed&amp;quot; node set decides the formation of committee. &lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;validation committee&amp;quot; can have up to 128 validators. Each validator validates local transactions in parallel against the current best chain state. The committee assembles a block of partially validated transactions for committee-wide validation. A majority agreement will decide the fully validated transactions into the new block. The block is considered &amp;quot;confirmed&amp;quot; but not &amp;quot;finalized&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The new block must be validated against the EPOCH-id -1 block before it is &amp;quot;finalized&amp;quot;. This step is skipped for the genesis block. The committees must wait until the EPOCH-id -1 block becomes the chain tip. Thus, multiple validation committees form a virtual pipeline at runtime. Finalized blocks match generated EPOCHs. Transactions fail in any stage are removed from the block.  There maybe empty blocks where all transactions fail or the network is idling.&lt;br /&gt;
&lt;br /&gt;
Transactions may be replicated before validation to improve the chance of being included into a block by paying more fees. The redundant transactions will fail except for the first one.&lt;br /&gt;
&lt;br /&gt;
When the network has no &amp;quot;staking&amp;quot; nodes, the &amp;quot;seed&amp;quot; nodes become &amp;quot;staking&amp;quot; nodes to keep the network operational. The TOI Foundation receives the transaction fees and validation rewards. &lt;br /&gt;
&lt;br /&gt;
The TOI Foundation maintains the &amp;quot;seed&amp;quot; nodes and the overall network security and safety via automatic network monitoring and maintenance scripts. &lt;br /&gt;
&lt;br /&gt;
== SMC POS Consensus ==&lt;br /&gt;
SMC POS consensus protocol randomly selects staking validators without staking pools to avoid 51% attacks. SMC POS protocol also has an adjustable replication factor that the network ledger has a fixed replication factor that can be tuned on demand without service interruptions. Therefore, adding nodes, the SMC POS consensus protocol can deliver:&lt;br /&gt;
&lt;br /&gt;
# Byzantine failure resistance&lt;br /&gt;
# Fault tolerance&lt;br /&gt;
# Program tamper resistance&lt;br /&gt;
# Centralization avoidance&lt;br /&gt;
# Incrementally better performance, security and reliability&lt;br /&gt;
&lt;br /&gt;
More nodes in the network expands the network storage capacity without increasing replication overheads. More nodes facilitates longer pipelines for better performances and better randomness for security. Higher R value improves service reliability.&lt;br /&gt;
&lt;br /&gt;
SMC blockchain protocol is also silent on transaction retransmission discipline. Since it is impossible to &amp;quot;double spend&amp;quot; under SMC protocol, transaction retransmission will enable different approval routes without double-spend risks (multiplexing). This ensures seamless integration with legacy blockchain wallets and infrastructures.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
SMC blockchain protocol is the only statistic multiplexed blockchain protocol to date. The SMC technology development history links the blockchain protocol development to stateless HPC (high performance computing) developments. This is the only known technology that can offer decentralized processing for centralized controls, which is the perfect gateway to integrate web2.0 applications for web3.0 infrastructures.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=183</id>
		<title>SMC</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=183"/>
		<updated>2024-05-30T19:34:26Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* SMC Blockchain Protocol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
SMC stands for Statistic Multiplexed Computing and Communication. The idea was inspired by von Neumann&#039;s 1952 paper on probabilistic logics and synthesis of reliable organisms using unreliable components &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. Building fault tolerant mission critical system was the triggering use case. &lt;br /&gt;
&lt;br /&gt;
Modern computer applications must rely on networking services. Every networked application forms its own infrastructure consisting of network, processing,  storage and software components. A data center or cloud service can duplex multiple applications on the same hardware. The definition of infrastructure remains with each application.&lt;br /&gt;
&lt;br /&gt;
The challenge of building fault tolerant mission critical application is deciding how the programs should communicate with other programs and devices.&lt;br /&gt;
&lt;br /&gt;
Since every hardware component has finite service life, in theory, mission critical software programs must be completely decoupled from hardware components, such as networking, processing, storage, sensors and other devices. This decoupling affords hardware management freedom without changing programs.&lt;br /&gt;
&lt;br /&gt;
This simple requirement seems very difficult to satisfy in practice.&lt;br /&gt;
&lt;br /&gt;
==Canary In The Coal Mine==&lt;br /&gt;
The TCP/IP protocol was an experimental protocol for connecting arbitrary two computers reliably in the world-wide network like the &amp;quot;canary in a coal mine&amp;quot;. The OSI model &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/OSI_model&amp;lt;/ref&amp;gt; is a conceptual model from the ISO (International Organization for Standardization) that provides &amp;quot;a common basis for the coordination of standards development for the purpose of systems interconnection &amp;lt;ref&amp;gt;https://www.iso.org/standard/20269.html&amp;lt;/ref&amp;gt;. Today, its 7-layer model is widely taught in universities and technology schools. &lt;br /&gt;
&lt;br /&gt;
For every connection-oriented socket circuit, all commercial implementations guarantees &amp;quot;order-preserved lossless data communication&amp;quot;, packet losses, duplicates and errors are automatically corrected in the lower layer protocols.  It seems perfectly reasonable to deploy this &amp;quot;hop-to-hop&amp;quot; connected-oriented TCP sockets for mission critical applications.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the fine-prints in the OSI model specification have not caught any attention. The &amp;quot;order-preserved lossless data communication&amp;quot; is guaranteed only if both the sender and receiver are 100% reliable. If the sender or the receiver can crash arbitrarily, then reliable communication is impossible &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. In practice, we call the TCP/IP protocol the &amp;quot;best effort&amp;quot; reliable protocol for all nodes are indeed try their best to forward packets and repair errors and duplicates. Building mission critical application using these protocols is inappropriate.&lt;br /&gt;
&lt;br /&gt;
The problem is that it is impossible to eliminate single-point failures. The &amp;quot;canary&amp;quot; worked well only for communication applications where data losses and service downtimes can be tolerated to some extent. For mission critical applications, such as banking, trading, air/sea/land navigation, service crashes can cause irreparable damages and loss of human lives.&lt;br /&gt;
&lt;br /&gt;
Even for banking applications, arbitrary transaction losses cannot be eliminated completely. Banks resort to legal measures to compensate verified customer losses. There are unclaimed funds to be handled by the banks.&lt;br /&gt;
&lt;br /&gt;
In business, the IT professionals simply try to minimize &amp;quot;opportunity costs&amp;quot;. Solving the infrastructure scaling problem seems out of reach for most people.&lt;br /&gt;
&lt;br /&gt;
==Fruits of Poisonous Tree==&lt;br /&gt;
The &amp;quot;hop-to-hop&amp;quot; protocol is the DNA of existing enterprise system program paradigms. These include RPC (remote procedure call), MPI (message passing interface), RMI (remote method invocation), distributed share-memory and many others. These are the only means to communicate and retrieve data from a remote computer.&lt;br /&gt;
&lt;br /&gt;
Applications built using these protocols form infrastructures that have many single-point failures. Every such point failure can bring down the entire enterprise.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Achilles Heel&amp;quot; of the legacy enterprise programming paradigms is the lack of &amp;quot;re-transmission discipline&amp;quot;. The hop-to-hop protocols provide false hope of data communication reliability. Programmers are at a loss when dealing with timeout events: do we retransmit or not retransmit? If not, data would be lost. If we do, how to handle if duplicates? what is the probability of success from the last timeout?&lt;br /&gt;
[[File:Achilles-heel.png|center|thumb|Achilles-heel]]&lt;br /&gt;
&lt;br /&gt;
To eliminate infrastructure single-point failures requires complete program and data decoupling from hardware components -- a programming paradigm shift from the hop-to-hop communication paradigms.&lt;br /&gt;
&lt;br /&gt;
==Active Content Addressable Networking (ACAN)==&lt;br /&gt;
Content addressable networks are peer-to-peer(P2P) networks. There are many proposed contend addressable networks (CAN) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Content-addressable_network&amp;lt;/ref&amp;gt;. These include distributed hash table (DHT)&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Distributed_hash_table&amp;lt;/ref&amp;gt;, and projects: Chord&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Chord_(peer-to-peer)&amp;lt;/ref&amp;gt;, Pastry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Pastry_(DHT)&amp;lt;/ref&amp;gt; and Tapestry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Tapestry_(DHT)&amp;lt;/ref&amp;gt;. These networks focused on information retrieval efficiency.&lt;br /&gt;
&lt;br /&gt;
We need information retrieval efficiency and the freedom of multiplexing hardware components in real time. We call this ACAN (Active Content Addressable Networking).&lt;br /&gt;
&lt;br /&gt;
The idea of ACAN is to enable automated parallel processing based on application&#039;s data retrieval patterns without explicitly building parallel SIMD, MIMD and pipeline clusters. This was inspired by the failures from the early-day dataflow machine research &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow&amp;lt;/ref&amp;gt;. The earlier dataflow computer research failed to recognize the importance of parallel processing granularity&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow_architecture&amp;lt;/ref&amp;gt;. The meticulously designed multiprocessor architectures failed to compete against simpler single processors.&lt;br /&gt;
&lt;br /&gt;
The parallel processing granularity optimization problem needs to balance the disparity of processing and communication capabilities in an infrastructure. Conventional wisdom considers communication overheads are the main challenge in parallel computing. In reality, synchronization overheads are the main problem, unless computing speeds are perfectly matched with the communication latencies, optimal parallel performance is not possible. This situation may be visualized as the fastest crossing a muddy area and a hard surface area where the straight line is obviously not optimal:&lt;br /&gt;
[[File:BrachistochroneExplained.jpg|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending upon the resistances, the optimal point can be anywhere along the interface between the two medium.&lt;br /&gt;
&lt;br /&gt;
The ancient Brachistochrone problem &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt; models this problem in physics, a puzzle solved by Johnann Bernoulli &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Brachistochrone_curve&amp;lt;/ref&amp;gt;. The solution is to optimize between two counter-acting forces: gravity and normal force when the gravity changes continuously.&lt;br /&gt;
[[File:Petite brachistochrone.gif|alt=Brachistochrone Curve|center|thumb|Brachistochrone Curve]]&lt;br /&gt;
&lt;br /&gt;
For parallel computing, depending on the loads and system scheduling policies, the deliverable computing and communication speeds change dynamically. Precise measures are not possible. Finding the optimal granularity requires the program-to-program communication protocol to allow granularity changes without re-compiling the source programs. Furthermore, the load fluctuations in parallel processing also include potential component failures. The peer-to-peer ACAN protocol was designed to fit both needs: load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On surface, parallel computing using P2P network will be slower than direct hop-to-hop networks, such as MPI -- the commonly used TOP500 supercomputer benchmark protocol. The problem is that parallel program built using hop-to-hop protocol such as MPI require explicit partitioning factor programmed before compilation. Changing granularity require re-programming. Tuning for the optimal granularity would be exceedingly laborious. &lt;br /&gt;
&lt;br /&gt;
ACAN used the Tuple Space abstraction for automated data-parallel computing &amp;lt;ref&amp;gt;J. Shi, Statistic Multiplexed Computing System for Network-Scale Reliable High Performance Services, US PTO, #US 11,588,926 B2, granted February 21, 2023 &amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Computing experiments demonstrated that optimal granularity tuning using ACAN can out-perform fixed partitioned MPI program consistently at multiple optimal points&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:OptimalGranularities.jpg|center|thumb]]&lt;br /&gt;
The optimal granularities (lowest points on the black-line in the above figure) share the same property as the points on the Brachistochrone curve where all points will have the same shortest traversal time regardless the starting positions on the curve [src=&amp;quot;https://www.youtube.com/embed/skvnj67YGmw?start=1354&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
In the parallel computing experiments, the communication capacity is changing by tuning the granularity at regular intervals (smaller granularity has more frequent communication sessions thus more overheads, larger granularity has less communication sessions but larger synchronization overheads).&lt;br /&gt;
&lt;br /&gt;
Similar experiments were conducted on ACAN storage performance against the Hadoop distributed file system &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/285579358_AnkaCom_A_Development_and_Experiment_for_Extreme_Scale_Computing&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Programs in ACAN are &amp;quot;stateless&amp;quot; programs that can run on any computer in ACAN. Therefore the ACAN infrastructure will have no single-point failures regardless the scale. The ACAN infrastructure can be repaired or resized in real time without interrupting service. Real time granularity change is also possible without interrupting services.&lt;br /&gt;
&lt;br /&gt;
A more remarkable feature of ACAN applications is the ability to deliver unbounded performance as the infrastructure expands in size with open problem sizes. It is theoretically capable to harness multiple quantum computers.&lt;br /&gt;
&lt;br /&gt;
==Blockchain Protocols==&lt;br /&gt;
Blockchain protocol also forms P2P network. Although there are different consensus protocols, such as POW (proof of work), POS (proof of stake), POH (proof of history) and POP (proof of possession), etc., the general architecture remains the same: the protocol runs on all computers. Each computer validates transactions subject to the consensus protocol for finality. Once committed to the cryptographically linked chain, the transactions are immutable. The consensus protocol ensures double-spending does not happen.&lt;br /&gt;
&lt;br /&gt;
POW protocol is not environmental friendly that consumes too much electricity for solving the mining puzzles. Other consensus protocols are more energy efficient but all suffer the same scaling challenges: expanding the network and growing the ledger will bring down the network performance gradually. The storage requirements are monotonically increasing. The network will eventually crash when all nodes are storage saturated. Dividing the chain into multiple &amp;quot;shards&amp;quot; can only postpone the eventual saturation at the expense of increased protocol complexity. &lt;br /&gt;
&lt;br /&gt;
The blockchain protocols avoided the hop-to-hop protocol trap by using various &amp;quot;gossip&amp;quot; protocols. In theory, there should be no single-point failure in any blockchain network and applications. Therefore, if it is not for protocol bugs, there should never be a service downtime. The Bitcoin network demonstrated such an excellent uptime record&amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-uptime/&amp;lt;/ref&amp;gt; that no legacy infrastructures could match.&lt;br /&gt;
&lt;br /&gt;
Another remarkable feature of the Bitcoin network is that its protocol programs are Open Source. Anyone can download and manipulate it and turn it to attack the network. There has been no successful Bitcoin network attacks since its 2009 launch.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to observe that the blockchain protocols are silent on transaction re-transmission discipline. The blockchain wallets are responsible to check their own transactions&#039; status and retransmit if necessary. Since double-spending is not possible, retransmitting a transaction is a trivial matter and it would most likely find a different route for transaction approval.&lt;br /&gt;
&lt;br /&gt;
However, scalability remains the common challenge to all blockchain protocols. For POW consensus chains, the increasing energy consumption caused serious sustainability concerns. Since the cryptographic proved ledgers are immutable, for POS chains, although more than 99% energy consumption reduction can be achieved, the blockchain network&#039;s scalability is still challenged, since the chains will have to shutdown when all nodes storage are saturated.&lt;br /&gt;
&lt;br /&gt;
It is evident that all blockchains should be infinitely scalable. This means that expanding the network (adding nodes) should increase the network&#039;s performance, reliability and security. This is the motivation for the SMC Blockchain Protocol.&lt;br /&gt;
&lt;br /&gt;
== SMC Blockchain Protocol ==&lt;br /&gt;
SMC blockchain protocol aims to solve the scalability challenge by enabling automated parallel processing while enhancing network security and reliability at the same time. The ACAN concept is a perfect fit for this case.  ACAN enables automated SMC by forcing the transaction validation processes to form SIMD, MIMD and pipeline clusters in real time.&lt;br /&gt;
&lt;br /&gt;
Unlike other chains, SMC Blockchain Protocol only maintains (R &amp;gt; 1) copies of the ledger on randomly selected nodes. This enables the overall network storage capacity to grow indefinitely by adding more nodes. The value of R constrains the transaction replication overheads to a constant thus accelerating transaction processing throughput by adding nodes. The actual R value can be determined experimentally without stopping service.&lt;br /&gt;
&lt;br /&gt;
The SMC Blockchain network supports regular, &amp;quot;staking&amp;quot; and &amp;quot;seed&amp;quot; nodes. A regular node is similar to a &amp;quot;light node&amp;quot; in Bitcoin that only receives transactions and forwards them to &amp;quot;staking&amp;quot; nodes. A regular node can also store validated blocks and be paid for the storage and accesses. A &amp;quot;staking&amp;quot; node is uniquely associated with a wallet address with a staking contract, such as &amp;quot;50 TOINs for 3 months starting now&amp;quot;. The staking contracts are used by randomly selected &amp;quot;seed&amp;quot; nodes to build random transaction validation committees (Prove of Stake consensus protocol).  Also unlike Bitcoin and other chains, transactions are not replicated before validation.&lt;br /&gt;
&lt;br /&gt;
The TOI Foundation maintains the &amp;quot;seed&amp;quot; nodes that are responsible for generating network heartbeats: EPOCH. &lt;br /&gt;
&lt;br /&gt;
== SMC POS Consensus ==&lt;br /&gt;
SMC POS consensus will randomly select staking validators without staking pools. SMC POS protocol also has an adjustable replication factor that the network ledger has a fixed replication factor that can be tuned on demand without service interruptions. Therefore, SMC POS consensus protocol can deliver:&lt;br /&gt;
&lt;br /&gt;
# Byzantine failure resistance&lt;br /&gt;
# Fault tolerance&lt;br /&gt;
# Program tamper resistance&lt;br /&gt;
# Centralization avoidance&lt;br /&gt;
# Incrementally better performance, security and reliability&lt;br /&gt;
&lt;br /&gt;
More nodes in the network expands the network storage capacity without adding extra redundancy. More nodes facilitates longer pipelines for better performances.&lt;br /&gt;
&lt;br /&gt;
SMC blockchain protocol is also silent on transaction retransmission discipline. Transaction retransmission will enable different approval routes without double-spend risks. This ensures seamless integration with legacy blockchain wallets.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
SMC blockchain protocol is the only statistic multiplexed blockchain protocol to date. The SMC technology development history links the blockchain protocol development to stateless HPC (high performance computing) developments. This is the only known technology that can offer decentralized processing for centralized controls, which is the perfect gateway to integrate web2.0 applications for web3.0 infrastructures.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=182</id>
		<title>SMC</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=182"/>
		<updated>2024-05-30T18:59:29Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Blockchain Protocols */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
SMC stands for Statistic Multiplexed Computing and Communication. The idea was inspired by von Neumann&#039;s 1952 paper on probabilistic logics and synthesis of reliable organisms using unreliable components &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. Building fault tolerant mission critical system was the triggering use case. &lt;br /&gt;
&lt;br /&gt;
Modern computer applications must rely on networking services. Every networked application forms its own infrastructure consisting of network, processing,  storage and software components. A data center or cloud service can duplex multiple applications on the same hardware. The definition of infrastructure remains with each application.&lt;br /&gt;
&lt;br /&gt;
The challenge of building fault tolerant mission critical application is deciding how the programs should communicate with other programs and devices.&lt;br /&gt;
&lt;br /&gt;
Since every hardware component has finite service life, in theory, mission critical software programs must be completely decoupled from hardware components, such as networking, processing, storage, sensors and other devices. This decoupling affords hardware management freedom without changing programs.&lt;br /&gt;
&lt;br /&gt;
This simple requirement seems very difficult to satisfy in practice.&lt;br /&gt;
&lt;br /&gt;
==Canary In The Coal Mine==&lt;br /&gt;
The TCP/IP protocol was an experimental protocol for connecting arbitrary two computers reliably in the world-wide network like the &amp;quot;canary in a coal mine&amp;quot;. The OSI model &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/OSI_model&amp;lt;/ref&amp;gt; is a conceptual model from the ISO (International Organization for Standardization) that provides &amp;quot;a common basis for the coordination of standards development for the purpose of systems interconnection &amp;lt;ref&amp;gt;https://www.iso.org/standard/20269.html&amp;lt;/ref&amp;gt;. Today, its 7-layer model is widely taught in universities and technology schools. &lt;br /&gt;
&lt;br /&gt;
For every connection-oriented socket circuit, all commercial implementations guarantees &amp;quot;order-preserved lossless data communication&amp;quot;, packet losses, duplicates and errors are automatically corrected in the lower layer protocols.  It seems perfectly reasonable to deploy this &amp;quot;hop-to-hop&amp;quot; connected-oriented TCP sockets for mission critical applications.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the fine-prints in the OSI model specification have not caught any attention. The &amp;quot;order-preserved lossless data communication&amp;quot; is guaranteed only if both the sender and receiver are 100% reliable. If the sender or the receiver can crash arbitrarily, then reliable communication is impossible &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. In practice, we call the TCP/IP protocol the &amp;quot;best effort&amp;quot; reliable protocol for all nodes are indeed try their best to forward packets and repair errors and duplicates. Building mission critical application using these protocols is inappropriate.&lt;br /&gt;
&lt;br /&gt;
The problem is that it is impossible to eliminate single-point failures. The &amp;quot;canary&amp;quot; worked well only for communication applications where data losses and service downtimes can be tolerated to some extent. For mission critical applications, such as banking, trading, air/sea/land navigation, service crashes can cause irreparable damages and loss of human lives.&lt;br /&gt;
&lt;br /&gt;
Even for banking applications, arbitrary transaction losses cannot be eliminated completely. Banks resort to legal measures to compensate verified customer losses. There are unclaimed funds to be handled by the banks.&lt;br /&gt;
&lt;br /&gt;
In business, the IT professionals simply try to minimize &amp;quot;opportunity costs&amp;quot;. Solving the infrastructure scaling problem seems out of reach for most people.&lt;br /&gt;
&lt;br /&gt;
==Fruits of Poisonous Tree==&lt;br /&gt;
The &amp;quot;hop-to-hop&amp;quot; protocol is the DNA of existing enterprise system program paradigms. These include RPC (remote procedure call), MPI (message passing interface), RMI (remote method invocation), distributed share-memory and many others. These are the only means to communicate and retrieve data from a remote computer.&lt;br /&gt;
&lt;br /&gt;
Applications built using these protocols form infrastructures that have many single-point failures. Every such point failure can bring down the entire enterprise.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Achilles Heel&amp;quot; of the legacy enterprise programming paradigms is the lack of &amp;quot;re-transmission discipline&amp;quot;. The hop-to-hop protocols provide false hope of data communication reliability. Programmers are at a loss when dealing with timeout events: do we retransmit or not retransmit? If not, data would be lost. If we do, how to handle if duplicates? what is the probability of success from the last timeout?&lt;br /&gt;
[[File:Achilles-heel.png|center|thumb|Achilles-heel]]&lt;br /&gt;
&lt;br /&gt;
To eliminate infrastructure single-point failures requires complete program and data decoupling from hardware components -- a programming paradigm shift from the hop-to-hop communication paradigms.&lt;br /&gt;
&lt;br /&gt;
==Active Content Addressable Networking (ACAN)==&lt;br /&gt;
Content addressable networks are peer-to-peer(P2P) networks. There are many proposed contend addressable networks (CAN) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Content-addressable_network&amp;lt;/ref&amp;gt;. These include distributed hash table (DHT)&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Distributed_hash_table&amp;lt;/ref&amp;gt;, and projects: Chord&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Chord_(peer-to-peer)&amp;lt;/ref&amp;gt;, Pastry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Pastry_(DHT)&amp;lt;/ref&amp;gt; and Tapestry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Tapestry_(DHT)&amp;lt;/ref&amp;gt;. These networks focused on information retrieval efficiency.&lt;br /&gt;
&lt;br /&gt;
We need information retrieval efficiency and the freedom of multiplexing hardware components in real time. We call this ACAN (Active Content Addressable Networking).&lt;br /&gt;
&lt;br /&gt;
The idea of ACAN is to enable automated parallel processing based on application&#039;s data retrieval patterns without explicitly building parallel SIMD, MIMD and pipeline clusters. This was inspired by the failures from the early-day dataflow machine research &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow&amp;lt;/ref&amp;gt;. The earlier dataflow computer research failed to recognize the importance of parallel processing granularity&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow_architecture&amp;lt;/ref&amp;gt;. The meticulously designed multiprocessor architectures failed to compete against simpler single processors.&lt;br /&gt;
&lt;br /&gt;
The parallel processing granularity optimization problem needs to balance the disparity of processing and communication capabilities in an infrastructure. Conventional wisdom considers communication overheads are the main challenge in parallel computing. In reality, synchronization overheads are the main problem, unless computing speeds are perfectly matched with the communication latencies, optimal parallel performance is not possible. This situation may be visualized as the fastest crossing a muddy area and a hard surface area where the straight line is obviously not optimal:&lt;br /&gt;
[[File:BrachistochroneExplained.jpg|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending upon the resistances, the optimal point can be anywhere along the interface between the two medium.&lt;br /&gt;
&lt;br /&gt;
The ancient Brachistochrone problem &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt; models this problem in physics, a puzzle solved by Johnann Bernoulli &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Brachistochrone_curve&amp;lt;/ref&amp;gt;. The solution is to optimize between two counter-acting forces: gravity and normal force when the gravity changes continuously.&lt;br /&gt;
[[File:Petite brachistochrone.gif|alt=Brachistochrone Curve|center|thumb|Brachistochrone Curve]]&lt;br /&gt;
&lt;br /&gt;
For parallel computing, depending on the loads and system scheduling policies, the deliverable computing and communication speeds change dynamically. Precise measures are not possible. Finding the optimal granularity requires the program-to-program communication protocol to allow granularity changes without re-compiling the source programs. Furthermore, the load fluctuations in parallel processing also include potential component failures. The peer-to-peer ACAN protocol was designed to fit both needs: load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On surface, parallel computing using P2P network will be slower than direct hop-to-hop networks, such as MPI -- the commonly used TOP500 supercomputer benchmark protocol. The problem is that parallel program built using hop-to-hop protocol such as MPI require explicit partitioning factor programmed before compilation. Changing granularity require re-programming. Tuning for the optimal granularity would be exceedingly laborious. &lt;br /&gt;
&lt;br /&gt;
ACAN used the Tuple Space abstraction for automated data-parallel computing &amp;lt;ref&amp;gt;J. Shi, Statistic Multiplexed Computing System for Network-Scale Reliable High Performance Services, US PTO, #US 11,588,926 B2, granted February 21, 2023 &amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Computing experiments demonstrated that optimal granularity tuning using ACAN can out-perform fixed partitioned MPI program consistently at multiple optimal points&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:OptimalGranularities.jpg|center|thumb]]&lt;br /&gt;
The optimal granularities (lowest points on the black-line in the above figure) share the same property as the points on the Brachistochrone curve where all points will have the same shortest traversal time regardless the starting positions on the curve [src=&amp;quot;https://www.youtube.com/embed/skvnj67YGmw?start=1354&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
In the parallel computing experiments, the communication capacity is changing by tuning the granularity at regular intervals (smaller granularity has more frequent communication sessions thus more overheads, larger granularity has less communication sessions but larger synchronization overheads).&lt;br /&gt;
&lt;br /&gt;
Similar experiments were conducted on ACAN storage performance against the Hadoop distributed file system &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/285579358_AnkaCom_A_Development_and_Experiment_for_Extreme_Scale_Computing&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Programs in ACAN are &amp;quot;stateless&amp;quot; programs that can run on any computer in ACAN. Therefore the ACAN infrastructure will have no single-point failures regardless the scale. The ACAN infrastructure can be repaired or resized in real time without interrupting service. Real time granularity change is also possible without interrupting services.&lt;br /&gt;
&lt;br /&gt;
A more remarkable feature of ACAN applications is the ability to deliver unbounded performance as the infrastructure expands in size with open problem sizes. It is theoretically capable to harness multiple quantum computers.&lt;br /&gt;
&lt;br /&gt;
==Blockchain Protocols==&lt;br /&gt;
Blockchain protocol also forms P2P network. Although there are different consensus protocols, such as POW (proof of work), POS (proof of stake), POH (proof of history) and POP (proof of possession), etc., the general architecture remains the same: the protocol runs on all computers. Each computer validates transactions subject to the consensus protocol for finality. Once committed to the cryptographically linked chain, the transactions are immutable. The consensus protocol ensures double-spending does not happen.&lt;br /&gt;
&lt;br /&gt;
POW protocol is not environmental friendly that consumes too much electricity for solving the mining puzzles. Other consensus protocols are more energy efficient but all suffer the same scaling challenges: expanding the network and growing the ledger will bring down the network performance gradually. The storage requirements are monotonically increasing. The network will eventually crash when all nodes are storage saturated. Dividing the chain into multiple &amp;quot;shards&amp;quot; can only postpone the eventual saturation at the expense of increased protocol complexity. &lt;br /&gt;
&lt;br /&gt;
The blockchain protocols avoided the hop-to-hop protocol trap by using various &amp;quot;gossip&amp;quot; protocols. In theory, there should be no single-point failure in any blockchain network and applications. Therefore, if it is not for protocol bugs, there should never be a service downtime. The Bitcoin network demonstrated such an excellent uptime record&amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-uptime/&amp;lt;/ref&amp;gt; that no legacy infrastructures could match.&lt;br /&gt;
&lt;br /&gt;
Another remarkable feature of the Bitcoin network is that its protocol programs are Open Source. Anyone can download and manipulate it and turn it to attack the network. There has been no successful Bitcoin network attacks since its 2009 launch.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to observe that the blockchain protocols are silent on transaction re-transmission discipline. The blockchain wallets are responsible to check their own transactions&#039; status and retransmit if necessary. Since double-spending is not possible, retransmitting a transaction is a trivial matter and it would most likely find a different route for transaction approval.&lt;br /&gt;
&lt;br /&gt;
However, scalability remains the common challenge to all blockchain protocols. For POW consensus chains, the increasing energy consumption caused serious sustainability concerns. Since the cryptographic proved ledgers are immutable, for POS chains, although more than 99% energy consumption reduction can be achieved, the blockchain network&#039;s scalability is still challenged, since the chains will have to shutdown when all nodes storage are saturated.&lt;br /&gt;
&lt;br /&gt;
It is evident that all blockchains should be infinitely scalable. This means that expanding the network (adding nodes) should increase the network&#039;s performance, reliability and security. This is the motivation for the SMC Blockchain Protocol.&lt;br /&gt;
&lt;br /&gt;
== SMC Blockchain Protocol ==&lt;br /&gt;
SMC blockchain protocol aims to solve the scalability challenge by enabling automated parallel processing without negatively impacting the network security and reliability. The ACAN concept is a perfect fit for this case.  ACAN enables automated SMC by forcing the transaction validation blocks to form SIMD, MIMD and pipeline clusters in real time.&lt;br /&gt;
&lt;br /&gt;
== SMC POS Consensus ==&lt;br /&gt;
SMC POS consensus will randomly select staking validators without staking pools. SMC POS protocol also has an adjustable replication factor that the network ledger has a fixed replication factor that can be tuned on demand without service interruptions. Therefore, SMC POS consensus protocol can deliver:&lt;br /&gt;
&lt;br /&gt;
# Byzantine failure resistance&lt;br /&gt;
# Fault tolerance&lt;br /&gt;
# Program tamper resistance&lt;br /&gt;
# Centralization avoidance&lt;br /&gt;
# Incrementally better performance, security and reliability&lt;br /&gt;
&lt;br /&gt;
More nodes in the network expands the network storage capacity without adding extra redundancy. More nodes facilitates longer pipelines for better performances.&lt;br /&gt;
&lt;br /&gt;
SMC blockchain protocol is also silent on transaction retransmission discipline. Transaction retransmission will enable different approval routes without double-spend risks. This ensures seamless integration with legacy blockchain wallets.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
SMC blockchain protocol is the only statistic multiplexed blockchain protocol to date. The SMC technology development history links the blockchain protocol development to stateless HPC (high performance computing) developments. This is the only known technology that can offer decentralized processing for centralized controls, which is the perfect gateway to integrate web2.0 applications for web3.0 infrastructures.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=181</id>
		<title>SMC</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=SMC&amp;diff=181"/>
		<updated>2024-05-30T18:58:29Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Blockchain Protocols */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
SMC stands for Statistic Multiplexed Computing and Communication. The idea was inspired by von Neumann&#039;s 1952 paper on probabilistic logics and synthesis of reliable organisms using unreliable components &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. Building fault tolerant mission critical system was the triggering use case. &lt;br /&gt;
&lt;br /&gt;
Modern computer applications must rely on networking services. Every networked application forms its own infrastructure consisting of network, processing,  storage and software components. A data center or cloud service can duplex multiple applications on the same hardware. The definition of infrastructure remains with each application.&lt;br /&gt;
&lt;br /&gt;
The challenge of building fault tolerant mission critical application is deciding how the programs should communicate with other programs and devices.&lt;br /&gt;
&lt;br /&gt;
Since every hardware component has finite service life, in theory, mission critical software programs must be completely decoupled from hardware components, such as networking, processing, storage, sensors and other devices. This decoupling affords hardware management freedom without changing programs.&lt;br /&gt;
&lt;br /&gt;
This simple requirement seems very difficult to satisfy in practice.&lt;br /&gt;
&lt;br /&gt;
==Canary In The Coal Mine==&lt;br /&gt;
The TCP/IP protocol was an experimental protocol for connecting arbitrary two computers reliably in the world-wide network like the &amp;quot;canary in a coal mine&amp;quot;. The OSI model &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/OSI_model&amp;lt;/ref&amp;gt; is a conceptual model from the ISO (International Organization for Standardization) that provides &amp;quot;a common basis for the coordination of standards development for the purpose of systems interconnection &amp;lt;ref&amp;gt;https://www.iso.org/standard/20269.html&amp;lt;/ref&amp;gt;. Today, its 7-layer model is widely taught in universities and technology schools. &lt;br /&gt;
&lt;br /&gt;
For every connection-oriented socket circuit, all commercial implementations guarantees &amp;quot;order-preserved lossless data communication&amp;quot;, packet losses, duplicates and errors are automatically corrected in the lower layer protocols.  It seems perfectly reasonable to deploy this &amp;quot;hop-to-hop&amp;quot; connected-oriented TCP sockets for mission critical applications.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the fine-prints in the OSI model specification have not caught any attention. The &amp;quot;order-preserved lossless data communication&amp;quot; is guaranteed only if both the sender and receiver are 100% reliable. If the sender or the receiver can crash arbitrarily, then reliable communication is impossible &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. In practice, we call the TCP/IP protocol the &amp;quot;best effort&amp;quot; reliable protocol for all nodes are indeed try their best to forward packets and repair errors and duplicates. Building mission critical application using these protocols is inappropriate.&lt;br /&gt;
&lt;br /&gt;
The problem is that it is impossible to eliminate single-point failures. The &amp;quot;canary&amp;quot; worked well only for communication applications where data losses and service downtimes can be tolerated to some extent. For mission critical applications, such as banking, trading, air/sea/land navigation, service crashes can cause irreparable damages and loss of human lives.&lt;br /&gt;
&lt;br /&gt;
Even for banking applications, arbitrary transaction losses cannot be eliminated completely. Banks resort to legal measures to compensate verified customer losses. There are unclaimed funds to be handled by the banks.&lt;br /&gt;
&lt;br /&gt;
In business, the IT professionals simply try to minimize &amp;quot;opportunity costs&amp;quot;. Solving the infrastructure scaling problem seems out of reach for most people.&lt;br /&gt;
&lt;br /&gt;
==Fruits of Poisonous Tree==&lt;br /&gt;
The &amp;quot;hop-to-hop&amp;quot; protocol is the DNA of existing enterprise system program paradigms. These include RPC (remote procedure call), MPI (message passing interface), RMI (remote method invocation), distributed share-memory and many others. These are the only means to communicate and retrieve data from a remote computer.&lt;br /&gt;
&lt;br /&gt;
Applications built using these protocols form infrastructures that have many single-point failures. Every such point failure can bring down the entire enterprise.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Achilles Heel&amp;quot; of the legacy enterprise programming paradigms is the lack of &amp;quot;re-transmission discipline&amp;quot;. The hop-to-hop protocols provide false hope of data communication reliability. Programmers are at a loss when dealing with timeout events: do we retransmit or not retransmit? If not, data would be lost. If we do, how to handle if duplicates? what is the probability of success from the last timeout?&lt;br /&gt;
[[File:Achilles-heel.png|center|thumb|Achilles-heel]]&lt;br /&gt;
&lt;br /&gt;
To eliminate infrastructure single-point failures requires complete program and data decoupling from hardware components -- a programming paradigm shift from the hop-to-hop communication paradigms.&lt;br /&gt;
&lt;br /&gt;
==Active Content Addressable Networking (ACAN)==&lt;br /&gt;
Content addressable networks are peer-to-peer(P2P) networks. There are many proposed contend addressable networks (CAN) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Content-addressable_network&amp;lt;/ref&amp;gt;. These include distributed hash table (DHT)&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Distributed_hash_table&amp;lt;/ref&amp;gt;, and projects: Chord&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Chord_(peer-to-peer)&amp;lt;/ref&amp;gt;, Pastry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Pastry_(DHT)&amp;lt;/ref&amp;gt; and Tapestry&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Tapestry_(DHT)&amp;lt;/ref&amp;gt;. These networks focused on information retrieval efficiency.&lt;br /&gt;
&lt;br /&gt;
We need information retrieval efficiency and the freedom of multiplexing hardware components in real time. We call this ACAN (Active Content Addressable Networking).&lt;br /&gt;
&lt;br /&gt;
The idea of ACAN is to enable automated parallel processing based on application&#039;s data retrieval patterns without explicitly building parallel SIMD, MIMD and pipeline clusters. This was inspired by the failures from the early-day dataflow machine research &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow&amp;lt;/ref&amp;gt;. The earlier dataflow computer research failed to recognize the importance of parallel processing granularity&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Dataflow_architecture&amp;lt;/ref&amp;gt;. The meticulously designed multiprocessor architectures failed to compete against simpler single processors.&lt;br /&gt;
&lt;br /&gt;
The parallel processing granularity optimization problem needs to balance the disparity of processing and communication capabilities in an infrastructure. Conventional wisdom considers communication overheads are the main challenge in parallel computing. In reality, synchronization overheads are the main problem, unless computing speeds are perfectly matched with the communication latencies, optimal parallel performance is not possible. This situation may be visualized as the fastest crossing a muddy area and a hard surface area where the straight line is obviously not optimal:&lt;br /&gt;
[[File:BrachistochroneExplained.jpg|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Depending upon the resistances, the optimal point can be anywhere along the interface between the two medium.&lt;br /&gt;
&lt;br /&gt;
The ancient Brachistochrone problem &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt; models this problem in physics, a puzzle solved by Johnann Bernoulli &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Brachistochrone_curve&amp;lt;/ref&amp;gt;. The solution is to optimize between two counter-acting forces: gravity and normal force when the gravity changes continuously.&lt;br /&gt;
[[File:Petite brachistochrone.gif|alt=Brachistochrone Curve|center|thumb|Brachistochrone Curve]]&lt;br /&gt;
&lt;br /&gt;
For parallel computing, depending on the loads and system scheduling policies, the deliverable computing and communication speeds change dynamically. Precise measures are not possible. Finding the optimal granularity requires the program-to-program communication protocol to allow granularity changes without re-compiling the source programs. Furthermore, the load fluctuations in parallel processing also include potential component failures. The peer-to-peer ACAN protocol was designed to fit both needs: load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On surface, parallel computing using P2P network will be slower than direct hop-to-hop networks, such as MPI -- the commonly used TOP500 supercomputer benchmark protocol. The problem is that parallel program built using hop-to-hop protocol such as MPI require explicit partitioning factor programmed before compilation. Changing granularity require re-programming. Tuning for the optimal granularity would be exceedingly laborious. &lt;br /&gt;
&lt;br /&gt;
ACAN used the Tuple Space abstraction for automated data-parallel computing &amp;lt;ref&amp;gt;J. Shi, Statistic Multiplexed Computing System for Network-Scale Reliable High Performance Services, US PTO, #US 11,588,926 B2, granted February 21, 2023 &amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Computing experiments demonstrated that optimal granularity tuning using ACAN can out-perform fixed partitioned MPI program consistently at multiple optimal points&amp;lt;ref&amp;gt;https://www.researchgate.net/publication/319996786_Scalability_Dilemma_and_Statistic_Multiplexed_Computing_-_A_Theory_and_Experiment&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:OptimalGranularities.jpg|center|thumb]]&lt;br /&gt;
The optimal granularities (lowest points on the black-line in the above figure) share the same property as the points on the Brachistochrone curve where all points will have the same shortest traversal time regardless the starting positions on the curve [src=&amp;quot;https://www.youtube.com/embed/skvnj67YGmw?start=1354&amp;quot;]. &lt;br /&gt;
&lt;br /&gt;
In the parallel computing experiments, the communication capacity is changing by tuning the granularity at regular intervals (smaller granularity has more frequent communication sessions thus more overheads, larger granularity has less communication sessions but larger synchronization overheads).&lt;br /&gt;
&lt;br /&gt;
Similar experiments were conducted on ACAN storage performance against the Hadoop distributed file system &amp;lt;ref&amp;gt;https://www.researchgate.net/publication/285579358_AnkaCom_A_Development_and_Experiment_for_Extreme_Scale_Computing&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Programs in ACAN are &amp;quot;stateless&amp;quot; programs that can run on any computer in ACAN. Therefore the ACAN infrastructure will have no single-point failures regardless the scale. The ACAN infrastructure can be repaired or resized in real time without interrupting service. Real time granularity change is also possible without interrupting services.&lt;br /&gt;
&lt;br /&gt;
A more remarkable feature of ACAN applications is the ability to deliver unbounded performance as the infrastructure expands in size with open problem sizes. It is theoretically capable to harness multiple quantum computers.&lt;br /&gt;
&lt;br /&gt;
==Blockchain Protocols==&lt;br /&gt;
Blockchain protocol also forms P2P network. Although there are different consensus protocols, such as POW (proof of work), POS (proof of stake), POH (proof of history) and POP (proof of possession), etc., the general architecture remains the same: the protocol runs on all computers. Each computer validates transactions subject to the consensus protocol for finality. Once committed to the cryptographically linked chain, the transactions are immutable. The consensus protocol ensures double-spending does not happen.&lt;br /&gt;
&lt;br /&gt;
POW protocol is not environmental friendly that consumes too much electricity for solving the mining puzzles. Other consensus protocols are more energy efficient but all suffer the same scaling challenges: expanding the network and growing the ledger will bring down the network performance gradually. The storage requirements are monotonically increasing. The network will eventually crash when all nodes are storage saturated. Dividing the chain into multiple &amp;quot;shards&amp;quot; can only postpone the eventual saturation at the expense of increased protocol complexity. &lt;br /&gt;
&lt;br /&gt;
The blockchain protocols avoided the hop-to-hop protocol trap by using various &amp;quot;gossip&amp;quot; protocols. In theory, there should be no single-point failure in any blockchain network and applications. Therefore, if it is not for protocol bugs, there should never be a service downtime. The Bitcoin network demonstrated such an excellent uptime record&amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-uptime/&amp;lt;/ref&amp;gt; that no legacy infrastructures could match.&lt;br /&gt;
&lt;br /&gt;
Another remarkable feature of the Bitcoin network is that its protocol programs are Open Source. Anyone can download and manipulate it and turn it to attack the network. There has been no successful Bitcoin network attacks since its 2009 launch.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to observe that the blockchain protocols are silent on transaction re-transmission discipline. The blockchain wallets are responsible to check their own transactions&#039; status and retransmit if necessary. Since double-spending is not possible, retransmitting a transaction is a trivial matter and it would most likely find a different route for transaction approval.&lt;br /&gt;
&lt;br /&gt;
However, scalability remains the common challenge to all blockchain protocols. For POW consensus chains, the increasing energy consumption caused serious sustainability concerns. Since the cryptographic proved ledgers are immutable, for POS chains, although more than 99% energy consumption reduction can be achieved, the blockchain network&#039;s scalability is still challenged, since the chains will have to shutdown when all nodes storage are saturated.&lt;br /&gt;
&lt;br /&gt;
It is evident that all blockchains should be infinitely scalable. This means that expanding the network (adding nodes) should increase the network&#039;s performance, reliability and security.&lt;br /&gt;
&lt;br /&gt;
== SMC Blockchain Protocol ==&lt;br /&gt;
SMC blockchain protocol aims to solve the scalability challenge by enabling automated parallel processing without negatively impacting the network security and reliability. The ACAN concept is a perfect fit for this case.  ACAN enables automated SMC by forcing the transaction validation blocks to form SIMD, MIMD and pipeline clusters in real time.&lt;br /&gt;
&lt;br /&gt;
== SMC POS Consensus ==&lt;br /&gt;
SMC POS consensus will randomly select staking validators without staking pools. SMC POS protocol also has an adjustable replication factor that the network ledger has a fixed replication factor that can be tuned on demand without service interruptions. Therefore, SMC POS consensus protocol can deliver:&lt;br /&gt;
&lt;br /&gt;
# Byzantine failure resistance&lt;br /&gt;
# Fault tolerance&lt;br /&gt;
# Program tamper resistance&lt;br /&gt;
# Centralization avoidance&lt;br /&gt;
# Incrementally better performance, security and reliability&lt;br /&gt;
&lt;br /&gt;
More nodes in the network expands the network storage capacity without adding extra redundancy. More nodes facilitates longer pipelines for better performances.&lt;br /&gt;
&lt;br /&gt;
SMC blockchain protocol is also silent on transaction retransmission discipline. Transaction retransmission will enable different approval routes without double-spend risks. This ensures seamless integration with legacy blockchain wallets.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
SMC blockchain protocol is the only statistic multiplexed blockchain protocol to date. The SMC technology development history links the blockchain protocol development to stateless HPC (high performance computing) developments. This is the only known technology that can offer decentralized processing for centralized controls, which is the perfect gateway to integrate web2.0 applications for web3.0 infrastructures.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=180</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=180"/>
		<updated>2024-05-06T12:17:29Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Action Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. The problem is that these two &amp;quot;laws&amp;quot; seem to yield complete opposite performance predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The Amdahl&#039;s Law seems to predict parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger supercomputer constructions. In the last three decades, these laws have been used to build parallel computing systems and multi-processor operating systems and computing clouds.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the two laws are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Action Plan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=179</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=179"/>
		<updated>2024-05-06T12:13:03Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. The problem is that these two &amp;quot;laws&amp;quot; seem to yield complete opposite performance predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The Amdahl&#039;s Law seems to predict parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger supercomputer constructions. In the last three decades, these laws have been used to build parallel computing systems and multi-processor operating systems and computing clouds.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the two laws are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=178</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=178"/>
		<updated>2023-10-22T22:03:41Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Welcome to Toi-Twiki -- A Toichain Wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content is subject to changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Proposed Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. The problem is that these two &amp;quot;laws&amp;quot; seem to yield complete opposite performance predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The Amdahl&#039;s Law seems to predict parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger supercomputer constructions. In the last three decades, these laws have been used to build parallel computing systems and multi-processor operating systems and computing clouds.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the two laws are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=177</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=177"/>
		<updated>2023-10-22T21:58:43Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Proposed Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content on this site is subject to frequent changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Proposed Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. The problem is that these two &amp;quot;laws&amp;quot; seem to yield complete opposite performance predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The Amdahl&#039;s Law seems to predict parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger supercomputer constructions. In the last three decades, these laws have been used to build parallel computing systems and multi-processor operating systems and computing clouds.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the two laws are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase without a known limit. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=176</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=176"/>
		<updated>2023-10-22T21:52:42Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* A Proposed Scalability Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content on this site is subject to frequent changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Proposed Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. The problem is that these two &amp;quot;laws&amp;quot; seem to yield complete opposite performance predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The Amdahl&#039;s Law seems to predict parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger supercomputer constructions. In the last three decades, these laws have been used to build parallel computing systems and multi-processor operating systems and computing clouds.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the two laws are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase until it satisfies all possible requests. The ledger storage will continue to grow. In practice, the available computing, networking and storage components will continue to grow without limits enabled by the networking protocols. Therefore a statistic multiplexed computing blockchain can meet any future application needs given proper economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=175</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://smcdev1.ddns.net/twiki/index.php?title=Main_Page&amp;diff=175"/>
		<updated>2023-10-22T21:40:17Z</updated>

		<summary type="html">&lt;p&gt;Justin: /* Blockchain Trilemma */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Welcome to Toi-Twiki -- A Toichain Wiki&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/strong&amp;gt; =&lt;br /&gt;
This is the unofficial Toichain wiki site. Content on this site is subject to frequent changes.&lt;br /&gt;
---------------------------&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Introduction&#039;&#039;&#039; =&lt;br /&gt;
The blockchain protocol was introduced in a seminal paper entitled &amp;quot;Bitcoin: A peer-to-peer Electronic Cash System&amp;quot; &amp;lt;ref&amp;gt;https://bitcoin.org/bitcoin.pdf&amp;lt;/ref&amp;gt; by Satoshi Nakamoto in 2008. Although there were previous peer-to-peer file-sharing projects such as Napster &amp;lt;ref&amp;gt;https://www.napster.com/us&amp;lt;/ref&amp;gt;, BitTorrent &amp;lt;ref&amp;gt;https://www.bittorrent.com/&amp;lt;/ref&amp;gt; and other electronic currency/file sharing applications, Bitcoin is the most enduring among the 23,000+ blockchains. Unlike other cryptocurrencies, the Bitcoin is often referred to as &amp;quot;digital gold&amp;quot; since the total coin supply is limited to 21 million (hard-coded in all running programs) and the only way to earn coin is to participate in the transaction block validation process. Token(or coin) supply and their disbursement policies differ among protocols.  &lt;br /&gt;
&lt;br /&gt;
The most attractive common blockchain features are 1) a decentralized consensus-driven decision making process and 2) a step-by-step cryptographic proving system. While blockchain is best known as a cryptocurrency transaction processing and record-keeping system, there are many other applications that can benefit from the secure storage, reliable transaction ledgers, fault tolerance and tamper resistance features.  &lt;br /&gt;
&lt;br /&gt;
== Algorithm vs. Protocol ==&lt;br /&gt;
Before trying to understand the Blockchain protocol and its variants, it is important to understand the differences between an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; and a &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
In general, an &#039;&#039;&#039;&#039;&#039;algorithm&#039;&#039;&#039;&#039;&#039; is a program that runs on a single computer solving a single problem. A &#039;&#039;&#039;&#039;&#039;protocol&#039;&#039;&#039;&#039;&#039;, however, is a program that runs on all computers in parallel solving a single problem. An algorithm must be transformed to run on all computers in parallel solving the same problem before it to be called a protocol. Therefore, protocol development is significantly more difficult than algorithms.  &lt;br /&gt;
== Consensus Protocols ==&lt;br /&gt;
A good consensus protocol in a blockchain system has at least four properties: &lt;br /&gt;
&lt;br /&gt;
# Fault tolerance to defend failures caused by natural disasters and human hacks or accidents&lt;br /&gt;
# Byzantine failure tolerance to defend exploitation by colluding parties&lt;br /&gt;
# Centralization avoidance to prevent corruptions in the decision making process&lt;br /&gt;
# Source code tamper resistance to automatically reject malicious attacks&lt;br /&gt;
&lt;br /&gt;
Without assuming all nodes are active at all times, the blockchain relies on &amp;quot;gossip&amp;quot; protocol to communicate with other nodes. There are two popular types of consensus protocols: Proof of Work (&#039;&#039;&#039;PoW&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Proof_of_work&amp;lt;/ref&amp;gt; or Proof of Stake (&#039;&#039;&#039;PoS&#039;&#039;&#039;) &amp;lt;ref&amp;gt;https://www.investopedia.com/terms/p/proof-stake-pos.asp&amp;lt;/ref&amp;gt;. Others include Proof of Possession(&#039;&#039;&#039;PoP&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://identityserver4.readthedocs.io/en/latest/topics/pop.html&amp;lt;/ref&amp;gt; and Proof of  History(&#039;&#039;&#039;PoH&#039;&#039;&#039;)&amp;lt;ref&amp;gt;https://www.infoworld.com/article/3666736/solana-blockchain-and-the-proof-of-history.html&amp;lt;/ref&amp;gt;. The ultimate goal is to eliminate double-spending. Since most projects are open source, it&#039;s easy for a malicious actor to tamper a few nodes. This shouldn&#039;t compromise network integrity.  &lt;br /&gt;
&lt;br /&gt;
The Bitcoin network uses PoW which forces participating miners to compete for the fastest hashing rate by solving a computational cryptographic puzzle. Although it withstood more than 14 years of use, Bitcoin has been criticized for escalating electricity consumption &amp;lt;ref&amp;gt;https://www.forbes.com/advisor/investing/cryptocurrency/bitcoins-energy-usage-explained/&amp;lt;/ref&amp;gt;. Other blockchain designs have experienced different challenges. For example, the PoH network Solana suffered multiple single-point-failure incidents &amp;lt;ref&amp;gt;https://messari.io/report/solana-analyzing-downtimes-statistics-and-ecosystem-development&amp;lt;/ref&amp;gt;. All protocols struggle to combat scaling challenges. All are susceptible to 51% attacks &amp;lt;ref&amp;gt;https://originstamp.com/blog/has-there-ever-been-a-51-attack-on-bitcoin/#notable-51-attacks&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Since 2009, Bitcoin has proven to be the strongest and least susceptible to common hacks &amp;lt;ref&amp;gt;https://www.theguardian.com/technology/2014/mar/18/history-of-bitcoin-hacks-alternative-currency&amp;lt;/ref&amp;gt;.  As the PoW puzzle difficulty has increased dramatically over the years, the probability of a 51% attack on the Bitcoin network becomes more difficult. PoS protocols can save more than 90% energy consumption compared to PoW chains. But PoS chains have higher risks than PoW chains since a stolen coin will grow in PoS chains (for increased probability to be selected) forever but not in PoW chains (only hash rates count). PoS community governance rules can mitigate the voting power centralization problem. Staking and slashing policies can incentivize good behaviors and punish bad ones. In either case, double-spend is very expensive and difficult.  According to Forbes, there are 80 cryptocurrencies that use PoS protocols at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
There are approximately 1,000 blockchains in four types: public, private, consortium, and permissioned &amp;lt;ref&amp;gt;https://increditools.com/blockchains/&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Cryptographic Proofs ==&lt;br /&gt;
Bitcoin protocol relies on UTXO (unspent transaction output) model and lock-step cryptographic proofs to authenticate every transaction. Once spent, the UTXO is destroyed. Double-spending is theoretically impossible. Each proof step must be executed on a script engine running the same protocol on all nodes. The concurrently produced results are confirmed by the consensus protocol mentioned above and committed to the chain. &lt;br /&gt;
&lt;br /&gt;
== Centralized vs. Decentralized Applications ==&lt;br /&gt;
The Bitcoin protocol enabled decentralized processing of traditionally centrally processed transactions without any trusted third-party. It inspired many decentralized financial applications, especially for applications with very long payment chains. However for fraud prevention and meeting financial regulatory requirements, many practical applications still require KYC (know your customer) checks. It is not possible to eliminate all trusted third parties, especially for custodial financial applications. There is a clear need for decentralized processing of trusted authority applications. &lt;br /&gt;
&lt;br /&gt;
== Blockchain Trilemma ==&lt;br /&gt;
Blockchain protocols have three common aspects (goals): &#039;&#039;&#039;security&#039;&#039;&#039;, &#039;&#039;&#039;decentralization&#039;&#039;&#039; and &#039;&#039;&#039;scalability&#039;&#039;&#039; -- these three terms do not have precise definitions but are intuitively understood &amp;lt;ref&amp;gt;https://sensoriumxr.com/articles/what-is-the-blockchain-trilemma&amp;lt;/ref&amp;gt;. To date, existing cryptographic tools have been proven effective for transaction security before the introduction of smart contracts. Decentralization is given by the nature of the protocols. In theory, there should be no service downtimes unless the entire network is down and all nodes crash at the same time. &lt;br /&gt;
&lt;br /&gt;
A major shortcoming is scalability. Since all nodes verify each transaction independently, they need to store all the information required for it. As the chain grows, this burdens all nodes in the network. There are workarounds by limiting the amount of data stored on some nodes and exploiting the network to retrieve required information, such as the &#039;&#039;Limited/Light Nodes&#039;&#039; in Bitcoin network. Vast majority nodes are still full nodes in the existing Bitcoin network. Transaction processing speed often expressed &#039;&#039;as transactions per second(TPS) of&#039;&#039; blockchain have to exceed TPS ratings of credit card payment systems like VISA or MasterCard to reap the full benefits of blockchain. This is a tough problem and increasing the block size and/or reducing the block time or difficulty isn&#039;t a solution&amp;lt;ref&amp;gt;https://medium.com/coinmonks/blockchain-scaling-30c9e1b7db1b&amp;lt;/ref&amp;gt;. Since blockchain TPS is very low, the transaction fees is often very high. This discourages public adoption. Layer 2 solution like &#039;&#039;Lightning Network&#039;&#039; or &#039;&#039;ZK-rollups,&#039;&#039; where only final settlement is on the main chain tend to address these issues. However, one could always argue that this often compromises some aspects of security and/or decentralization to achieve high TPS. &lt;br /&gt;
&lt;br /&gt;
The trilemma was first introduced by Vitalik Buterin&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Vitalik_Buterin&amp;lt;/ref&amp;gt;, one of the co-founders of Ethereum network. The problems he identified are real. There seem to be no obvious solutions that can accomplish all three goals at the same time. Therefore, all proposed solutions revolve around reducing &amp;quot;opportunity costs&amp;quot; focusing only on satisfying partial goals.&lt;br /&gt;
&lt;br /&gt;
Treating the blockchain network as an infrastructure for transaction processing, the blockchain protocol solved service reliability problem but not performance challenge. The legacy infrastructure scaling dilemma: performance against reliability remains (where &amp;quot;infrastructure reliability&amp;quot; also does not have a commonly accepted definition). Fortunately these metrics, although important, are non-critical. Solutions that have been proposed have had varying opportunity costs. For many years, there were no obvious solutions that addressed all three blockchain goals (security, decentralization and scalability).&lt;br /&gt;
== Statistic Multiplexed Computing (SMC) ==&lt;br /&gt;
The principle of using unreliable components to build an arbitrarily reliable system was first lectured by von Neumann in the early 1950s&amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The original idea was to use probabilistic logic to quantify the arbitrary reliability of a system by multiplexing all components. This theory was applied to the construction of Internet protocols to deliver the &amp;quot;best effort&amp;quot; reliability. Incidentally, best effort reliability also enabled &amp;quot;best effort&amp;quot; performance which in turn enabled unlimited scalability of the Internet. For emerging web3.0 technologies, it is important to apply the same methodology to both centralized and decentralized computing for seamless technology migration and integration. For historical arguments, click [[SMC|&#039;&#039;&#039;&#039;&#039;here&#039;&#039;&#039;&#039;&#039;]].  &lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&#039;&#039;&#039;Infrastructure scalability&#039;&#039;&#039; does not have a commonly accepted definition. It helps to define the challenging metrics more precisely before the infrastructure protocol design. In the following, for definitions #1 and #2, the word &amp;quot;&#039;&#039;&#039;infrastructure&#039;&#039;&#039;&amp;quot; means any &#039;&#039;&#039;application running on the infrastructure.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Reliability&#039;&#039;&#039;: MTBF (mean time between failure) = &amp;lt;math&amp;gt;\frac{\sum ((Start-Of-Downtime) - (Start-of-uptime)) }{No-of-failures}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Performance&#039;&#039;&#039;: &amp;lt;math&amp;gt;\frac{No-of-Transactions}{Second}&amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Infrastructure Scalability&#039;&#039;&#039;: Expanding the infrastructure in number of processors, networks or storage should have &#039;&#039;&#039;incrementally better&#039;&#039;&#039; impacts on application reliability and performance.&lt;br /&gt;
# &#039;&#039;&#039;Record Immutability&#039;&#039;&#039;: For transaction ledgers, all confirmed records and changes are final. This is required by the blockchain protocol.&lt;br /&gt;
Note that in practice, record immutability is much harder to achieve than expected. There are two challenges, a) 51% attacks can literally wipe out all histories if successful, and b) for protocols require all nodes to hold independently verified  ledger, such as the Bitcoin, the storage requirement grows approximately 50GB per month.  &lt;br /&gt;
&lt;br /&gt;
== Protocol Design and Proofs ==&lt;br /&gt;
Before building a robust protocol for infrastructure computing, there are well-known &#039;&#039;&#039;impossibilities&#039;&#039;&#039; and &#039;&#039;&#039;possibilities&#039;&#039;&#039; in physics and computer science that must be thoroughly examined and considered.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;first challenge&#039;&#039;&#039; is infrastructure reliability. A computing infrastructure must deploy multiple components including computing, networking and storage. An infrastructure protocol defines how applications can compute, communicate and store results. A formal proof was found that &#039;&#039;&#039;it is impossible for reliable communication in the face of arbitrary crashe&#039;&#039;&#039;s &amp;lt;ref&amp;gt;https://groups.csail.mit.edu/tds/papers/Lynch/jacm93.pdf&amp;lt;/ref&amp;gt;. The laws of physics regarding component reliability &amp;lt;ref&amp;gt;Encyclopedia of Physical Science and Technology, Editor-in-Chief Robert A. Meyers, [[index.php?title=Special:BookSources/9780122274107|ISBN 978-0-12-227410-7]], 2001&amp;lt;/ref&amp;gt; show that &#039;&#039;&#039;100% component reliability is not possible.&#039;&#039;&#039; These facts require that the infrastructure protocol (program-program communication protocol) provide &#039;&#039;&#039;complete component (processing, networking and storage) decoupling&#039;&#039;&#039; from application program logics. This decoupling requirement forces the protocol to exploit &amp;quot;decentralized&amp;quot; or &amp;quot;stateless&amp;quot; components that the legacy infrastructure protocols, such as message passing interface (MPI), remote procedure call (RPC) and remote method invocation (RMI), cannot handle. The blockchain protocol is an example of a &amp;quot;best effort&amp;quot; availability protocol.&lt;br /&gt;
&lt;br /&gt;
Quantifying infrastructure reliability can be traced back to the computer pioneer von Neumann. In addition to his contribution to computer architecture, von Neumann also penned a study on building reliable systems using unreliable components using probabilistic logics, in early fifties &amp;lt;ref&amp;gt;https://static.ias.edu/pitp/archive/2012files/Probabilistic_Logics.pdf&amp;lt;/ref&amp;gt;. The Internet was built using statistic multiplexed communication protocols. Probabilistic logic is the only possible definition for infrastructure reliability. In literature, this is referred to as &amp;quot;best effort&amp;quot; reliability. Ironically, this best effort reliability also enabled the Internet&#039;s infinite scalability -- the benefit we enjoy now and into the future.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol exploits multiple anonymous decoupled (or decentralized) computers connected through the Internet protocol. Judging from the Bitcoin network&#039;s reliability to date &amp;lt;ref&amp;gt;https://buybitcoinworldwide.com/bitcoin-downtime/&amp;lt;/ref&amp;gt;, von Neumann&#039;s theory seems working well.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;second challenge&#039;&#039;&#039; involves infrastructure performance. Since the infrastructure must deploy multiple computing, networking and storage components, unless all components can be fully exploited at any scale, incremental performance delivery is impossible. Thus, von Neumann&#039;s statistic multiplexing theory must also apply here. The result is a new computing paradigm: Statistic Multiplexed Computing (SMC). The existing blockchain protocols lack this capability.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The infrastructure scalability challenge&#039;&#039;&#039; is automatically resolved once the performance challenge is resolved without negatively impacting reliability -- &amp;quot;best effort&amp;quot; performance&amp;quot; meets &amp;quot;best effort reliability&amp;quot;. This requires inductive performance and reliability measures or deliveries. &lt;br /&gt;
&lt;br /&gt;
However, monotonically increasing performance may reach some theoretical limits. Thus, the only remaining challenge is &#039;&#039;&#039;Finality&#039;&#039;&#039; -- can any blockchain protocol design practically deliver true ledger finality in perpetuity?&lt;br /&gt;
&lt;br /&gt;
Theoretically, an inductive statistic multiplexed blockchain protocol is needed to meet the scalability challenge. Non-inductive solutions such as fixed chain &amp;quot;sharding&amp;quot; or &amp;quot;Danksharding&amp;quot; &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt; will only increase protocol development complexity with persistent performance walls.   &lt;br /&gt;
&lt;br /&gt;
== A Proposed Scalability Solution ==&lt;br /&gt;
An effective scalability solution can have two practical assumptions: &lt;br /&gt;
&lt;br /&gt;
* The computation problem size can expand indefinitely, since every useful infrastructure is expected to solve bigger problems.&lt;br /&gt;
&lt;br /&gt;
*Computing and network resources will continue to grow indefinitely, into the future.&lt;br /&gt;
A formal proof requires a parallel computing model, when taking the number of components to infinity, can yield the maximal performance limit under the assumptions. There are two such models: Amdahl&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Amdahl%27s_law&amp;lt;/ref&amp;gt; and Gustafson&#039;s Law &amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Gustafson%27s_law&amp;lt;/ref&amp;gt;. The problem is that these two &amp;quot;laws&amp;quot; seem to yield complete opposite performance predictions.[[File:Amdahl&#039;s Law.png|thumb|Amdahl&#039;s Law Speedup Predictions|center]]The Amdahl&#039;s Law seems to predict parallel performances following the economic law of diminishing of returns while Gustafson&#039;s Law seems to lead infinite speedups. Gustafson&#039;s Law was used to argue for Massively Parallel Computing (MPC) experiments and Amdahl&#039;s Law was used to argue for bigger supercomputer constructions. In the last three decades, these laws have been used to build parallel computing systems and multi-processor operating systems and computing clouds.&lt;br /&gt;
[[File:Gustafson.png|thumb|Gustafson&#039;s Law|center]]&lt;br /&gt;
A careful examination revealed that the two laws are mathematically dependent &amp;lt;ref&amp;gt;https://cis.temple.edu/~shi/wwwroot/shi/public_html/docs/amdahl/amdahl.html&amp;lt;/ref&amp;gt; where Amdahl&#039;s formulation has a tight peak performance bound &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt; when taking the number of parallel processors to infinity, where x = the percentage of serial portion of instructions in a program.  This means that the peak performance of every parallel program is above-bounded to &amp;lt;math&amp;gt;\left ( \frac{1}{x} \right )&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 0&amp;lt;/math&amp;gt;, the performance will asymptotically approach to &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;, when &amp;lt;math&amp;gt;x \Rightarrow 1&amp;lt;/math&amp;gt; the speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 1. Thus, if the computing problem&#039;s size is fixed, x will eventually approach to 1 as the number of processors increases -- economic law of diminishing of return. If the problem size is open (solving bigger problems), then increasing the number of processors will force x &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; 0, thus speedup &amp;lt;math&amp;gt;\Rightarrow&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\infty&amp;lt;/math&amp;gt;. Gustafson&#039;s Law uses a recurrence relation based on practical time measurements. It is not possible to derive a mathematical speedup bound.  &lt;br /&gt;
&lt;br /&gt;
Applying these laws in practice need to quantify &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; for practical parallel program which has been proven very hard if not impossible. Gustafson&#039;s formula was derived from times by running actual parallel programs. Brining the two formulation together makes quantifying &amp;lt;math&amp;gt;\chi&amp;lt;/math&amp;gt; in Amdahl&#039;s Law possible. Thus, both law actually refer to the same mathematical abstraction. Gustafson&#039;s formula assisted in quantifying the percentage of serial computing through program experiments. Neither should be directly used for speedup prediction alone. &lt;br /&gt;
 &lt;br /&gt;
This model can be validated in practice when developers simply increasing the problem size to use more parallel processors. &lt;br /&gt;
[[File:1overx-function resized.png|thumb|294x294px|Amdalh&#039;s Law and Peak Parallel Performance|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A classical example is the TOP500 supercomputer benchmarks (linear solvers) that have open problem sizes for all manufacturers to compete in the world&#039;s fastest supercomputer race &amp;lt;ref&amp;gt;https://www.top500.org/&amp;lt;/ref&amp;gt; .&lt;br /&gt;
[[File:Supercomputers-history.png|center|thumb]]&lt;br /&gt;
In practical blockchain applications, the number of transactions to be processed will increase until it satisfies all possible requests. The ledger storage will continue to grow. In other words, the available computing, networking and storage components can always cover the needs given economic incentives. The infrastructure no longer has the structural deficiency.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These discussions can conclude that in theory, a statistic multiplexed blockchain protocol can deliver infinitely scalable infrastructure in performance and reliability. Leveraging blockchain&#039;s data and processing authenticity guarantee via the lock-step cryptographic proofs, infrastructure security is also feasible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Toichain protocol design, we choose Bitcoin 24.0.1 as the base line protocol by replacing the PoW consensus by PoS consensus and injecting SMC components into the protocol processing signaling for parallel computing.&lt;br /&gt;
&lt;br /&gt;
This surprising result is also applicable to ledger storage. Without multiplexing, the blockchain ledger storage will eventually saturate all nodes causing the chain to collapse. The SMC blockchain protocol promises to hold the true finality of all transactions in perpetuity by multiplexing all storage resources while keeping the replication factor to a constant.&lt;br /&gt;
&lt;br /&gt;
These discussions follow the inductive logic of the Law of Large Numbers &amp;lt;ref&amp;gt;https://www.sciencedirect.com/topics/mathematics/laws-of-large-number&amp;lt;/ref&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are more details for the protocol implementation, especially for Open Source public chains. The protocol implementation must be code tamper resistant, natural disaster and human accident resistant. A secure and performant decentralized consensus protocol is needed.&lt;br /&gt;
&lt;br /&gt;
= SMC Proof of Stake Protocol =&lt;br /&gt;
Existing PoS protocol designs revolved around staking policies and randomness of the selection algorithm. Considering infrastructure scalability will add much complexity to the design. The examples include chain sharding and Danksharding &amp;lt;ref&amp;gt;https://ethereum.org/en/roadmap/danksharding/&amp;lt;/ref&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The challenge is complex -- we must deliver very high performance without compromising security and reliability of the network.  &lt;br /&gt;
&lt;br /&gt;
Technically, transaction replication and parallel processing were considered dangerous &amp;lt;ref&amp;gt;https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/replication.pdf&amp;lt;/ref&amp;gt; due to the potential race conditions (or double-spend problem). The blockchain protocol resolved the double-spending problem. It did not solve the parallel processing performance problem.    &lt;br /&gt;
&lt;br /&gt;
According to Professor Michael Flynn, there are three high-level parallel processing topologies: SIMD (single instruction multiple data), MIMD (multiple instructions multiple data), and pipeline (MISD - multiple instructions single data stream) &amp;lt;ref&amp;gt;https://link.springer.com/referenceworkentry/10.1007/978-0-387-09766-4_2&amp;lt;/ref&amp;gt;. However, for eliminating double-spending, all transactions must be serialized, since each block may contain transactions affecting transactions in multiple other blocks. &amp;quot;Race conditions&amp;quot;  and non-deterministic results are not allowed. Then the only possible topology entry is pipeline.  This means for POS protocol, we must build a pipeline of transaction blocks to be validated without compromising network security and reliability.   &lt;br /&gt;
[[File:Flynns-Taxonomy-of-Computer-Architectures.png|center|thumb|Parallel Processing Topologies]]&lt;br /&gt;
The problem is that the nature of the blockchain protocol is that all nodes run independently in parallel with little communication with other nodes via &amp;quot;gossip&amp;quot; protocols. It is far easier to force all nodes store the entire ledger than forcing them to form any pipeline and store partial chain data.  &lt;br /&gt;
&lt;br /&gt;
=== ACAN (Active Content Addressable Network) [U.S. and Other Patents Pending] ===&lt;br /&gt;
ACAN is a high-level data &#039;&#039;&#039;&#039;&#039;communication and synchronization protocol&#039;&#039;&#039;&#039;&#039; that completely decouples all hardware components from communicating programs. The need for complete component decoupling was implemented in the original blockchain protocol via &amp;quot;gossip&amp;quot; protocol. This delivered blockchain&#039;s high availability and security. The simple &amp;quot;gossip&amp;quot; implementation in existing protocols is insufficient for parallel processing signaling.   &lt;br /&gt;
&lt;br /&gt;
The following figure illustrates the concept of ACAN (active content addressable networking) using UVR (unidirectional virtual ring) architecture. The illustrated implementation uses the Tuple Space resource tagging method and gossip protocol for UVR implementation.  &lt;br /&gt;
[[File:SMC Architecture with ACAN.png|center|thumb|243x243px|SMC Architecture with ACAN]] &lt;br /&gt;
&lt;br /&gt;
ACAN supports three simple APIs:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;read&#039;&#039;&#039;(&amp;amp;&#039;&#039;key&#039;&#039;, &amp;amp;&#039;&#039;value&#039;&#039;): &#039;&#039;key&#039;&#039; holds a search pattern in a &amp;quot;tuple space&amp;quot; where all nodes are connected. &#039;&#039;value&#039;&#039; holds the matched tuple, if any. This is a blocking call that a requesting program will be blocked until a pattern-matched tuple is found. The matching tuple remains in the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;get&#039;&#039;&#039;(&amp;amp;key, &amp;amp;value): Same as the &amp;quot;read()&amp;quot; API, except that the matching tuple is removed from the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;put&#039;&#039;&#039;(key, value): Inserts &amp;lt;key, value&amp;gt; into the &amp;quot;tuple space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The use of &amp;quot;gossip&amp;quot; protocol can accelerate ACAN network saturation time. Applications running on ACAN will automatically form parallel processing topologies: pipeline, SIMD and MIMD without violating the serialization needs of transaction block validation. Replication factor can also be dynamically controlled to spread replicated blocks in randomly chosen hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The highly parallel nature of the blockchain protocol will automatically implement the SMC principle in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The critical feature of this dynamic SMC pipelined architecture is the inductive scaling feature.&lt;br /&gt;
[[File:Pipeline Parallel Processing.png|center|thumb|247x247px|Pipeline Parallel Processing]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The speed up of a pipeline can be represented as: &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )&amp;lt;/math&amp;gt;, where p = number of processors in the pipeline, b = total blocks to be processed. Take the number of blocks to infinity:  &amp;lt;math&amp;gt;SpeedUp = \left ( \frac{p\centerdot b}{p + (b-p)} \right )=&amp;gt;\lim (b\Rightarrow\infty)(\frac{p}{\frac{p}{b}+1-\frac{p}{b}}) = p&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This means that as long as there are enough blocks to be processed, the entire chain&#039;s performance will be abound-bounded to the number of nodes in the pipeline.&lt;br /&gt;
&lt;br /&gt;
For illustration purposes, the variation of block processing times was not considered in the above calculations. To see the power of pipeline parallelism, the automobile manufacturing processes illustrate a similar situation. The Hyundai Motor Company&#039;s production pipelines can produce 3,835 vehicles per day and 1.4M per year&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/List_of_Hyundai_Motor_Company_manufacturing_facilities&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Toichain Tokens ==&lt;br /&gt;
Toichain token is TOIN. There are 50,000,000,000 TOINs for the Alpha Release. There are air-drop tokens for early adopters, 1,000 TOIN each. Users need to register to download a toichain wallet to receive the payment. Citizenship is checked and verified to ensure that US citizens do not apply. The minimal staking contract is 10 TOINs.&lt;br /&gt;
&lt;br /&gt;
== Non-Fungible Tokens ==&lt;br /&gt;
The TestNet Release of toichain protocol will support embedding arbitrary data in an &amp;quot;OP_RETURN&amp;quot; transaction that will be permanently recorded on the chain. Unlike the ordinal NFT &amp;lt;ref&amp;gt;https://blog.chain.link/ordinals-bitcoin-nfts/&amp;lt;/ref&amp;gt; or NFT (non-fungible token) on other chains, these transactions cannot be altered or removed.&lt;br /&gt;
&lt;br /&gt;
There are practical applications for these forever NFTs. Once Taproot is enabled on toichain, ordinal NFTs (BRC-20) will also be supported. Unlike the original Bitcoin network where BRC-20 craze has created massive network congestion&amp;lt;ref&amp;gt;https://beincrypto.com/learn/brc-20-token/&amp;lt;/ref&amp;gt;, all transactions will be processed promptly in toichain without congestion or scaling problems.&lt;br /&gt;
== Toichain TestNet Launch ==&lt;br /&gt;
The toichain testnet launch will enable users to interact with one another through simple payments, just like the original Bitcoin network. Forever NFTs are supported. Smart contracts will be supported on a later date.&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [[mediawikiwiki:Special:MyLanguage/Help:Contents|User&#039;s Guide]] for information on using the wiki software.&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
</feed>