{"id":18292,"date":"2026-03-14T19:51:38","date_gmt":"2026-03-14T19:51:38","guid":{"rendered":"https:\/\/cryptoted.net\/index.php\/2026\/03\/14\/the-1-x-files-ghost-in-the-stack-machine\/"},"modified":"2026-03-14T19:51:38","modified_gmt":"2026-03-14T19:51:38","slug":"the-1-x-files-ghost-in-the-stack-machine","status":"publish","type":"post","link":"https:\/\/cryptoted.net\/index.php\/2026\/03\/14\/the-1-x-files-ghost-in-the-stack-machine\/","title":{"rendered":"The 1.x Files: GHOST in the Stack Machine"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"\">\n<p class=\"chakra-text css-gi02ar\">Ethereum can be simple enough to understand from a bird&#8217;s-eye view: Decentralized applications powered by the same sort of crypto-economic guarantees that underpin Bitcoin. But once you&#8217;ve zoomed in to, say, a street-level view, things get complicated rapidly.<\/p>\n<p class=\"chakra-text css-gi02ar\">Even assuming one has a strong grasp on <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/www.youtube.com\/watch?v=bBC-nXj3Ng4\">proof-of-work<\/a>, it&#8217;s not immediately clear how that translates to a blockchain doing more than keeping track of everyone&#8217;s unspent transaction outputs. Bitcoin uses computational work to decentralize <em class=\"chakra-text css-0\">money<\/em>. Ethereum uses computational work to decentralize abstract <em class=\"chakra-text css-0\">computation<\/em>. Wut? That abstraction is called the <em class=\"chakra-text css-0\">Ethereum Virtual Machine<\/em>, and it&#8217;s the centerpiece of the Ethereum protocol, because &#8220;inside&#8221; the EVM is the special domain of smart contracts, and it&#8217;s the smart contracts that are ultimately to blame for all those ridiculous #defi tweets.<\/p>\n<p class=\"chakra-text css-gi02ar\">Upgrading the EVM is one of the major milestones of the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/stateless-ethereum-specs\/blob\/master\/techTree.md\">Stateless Ethereum Tech Tree<\/a>, and before we can dig in to the interesting work there, I think it&#8217;s prudent to first tackle the obvious question: <em class=\"chakra-text css-0\">&#8220;WTF is the EVM?&#8221;<\/em>. In the first of this two-part series, we&#8217;ll get back to basics and try to understand the EVM from the ground up, so that later we can really engage with current discussion about things like Code Merklization and UNGAS\u2014 even stuff from the exciting world of Eth2 like Execution Environments!<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"wtf-is-the-evm\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"wtf is the evm permalink\" href=\"#wtf-is-the-evm\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>WTF is the EVM?<\/h2>\n<p class=\"chakra-text css-gi02ar\">When first year Algebra students get taught about that familiar function <em class=\"chakra-text css-0\">f(x)<\/em>, an analogy of &#8220;the function machine&#8221; is often used. The concept of deterministic input\/output, it seems, is a lot easier for kids to think about as a literal physical machine chugging along. I like this analogy because it cuts both ways: The EVM, which in a way actually <em class=\"chakra-text css-0\">is<\/em> a literal machine chugging along, can be thought about as a <em class=\"chakra-text css-0\">function<\/em> which accepts as inputs some state and outputs a new one based on some arbitrary set of rules.<\/p>\n<p class=\"chakra-text css-gi02ar\">Setting aside the specifics of those rules for now, say that the only valid state transitions are the ones that come from valid <em class=\"chakra-text css-0\">transactions<\/em> (that follow the rules). The abstract machine that will determine a new state (<span class=\"chakra-text css-ons8vw\">S&#8217;<\/span>) given an old valid state (<span class=\"chakra-text css-ons8vw\">S<\/span>) and a new set of valid transactions (<span class=\"chakra-text css-ons8vw\">T<\/span>) is the Ethereum state transition function:<br \/>\n<span class=\"chakra-text css-ons8vw\">Y(S, T)= S&#8217;<\/span><\/p>\n<p class=\"chakra-text css-gi02ar\">The first thing that&#8217;s very important to understand about this function is that, as an abstraction, it&#8217;s sort of a mathematical placeholder: arguably not a real thing, and definitely not <em class=\"chakra-text css-0\">the<\/em> EVM. The Ethereum state transition function is written all fancy in Greek in the yellow paper because thinking about the EVM as a black box function really helps with imagining the whole blockchain system (of which the EVM is just one part). The two-way connection between functions and machines is <em class=\"chakra-text css-0\">determinism<\/em>: Given any valid input, both should produce one and only one output.<\/p>\n<p class=\"chakra-text css-gi02ar\">But the EVM, as I said before, <em class=\"chakra-text css-0\">is<\/em> in some sense a literal machine chugging along out there in the world. The EVM&#8217;s physical instantiation can&#8217;t be described in the same way that one might point to a cloud or an ocean wave, but it does exist inside thousands of connected computers running Ethereum clients. And at any given time, there is <strong>one and only one canonical Ethereum state<\/strong>, and that&#8217;s what we care about. All of the other components inside an Ethereum client are there just to keep consensus over which state is the right one.<\/p>\n<p class=\"chakra-text css-gi02ar\">The term &#8216;canonical&#8217; is used because &#8216;valid&#8217; isn&#8217;t quite appropriate; a state transition computed correctly is &#8216;valid&#8217;, but it still might not end up &#8220;on chain&#8221; as part of the canon. Deciding which states are canonical and which states are not is the sole responsibility of miners doing proof-of-work on the chain. Anyone using Ethereum mainnet has, either literally or just figuratively, &#8220;bought in&#8221; to one <em class=\"chakra-text css-0\">particular<\/em> state history, namely the one with the most computational work put behind it, as determined by Ethereum&#8217;s Greedy Heaviest Observed Subtree (GHOST) protocol. Along with each new block on the network comes a new set of transactions, a state transition, and a freshly determined output state ready to be passed forward into the next canonical block, determined by miners. And so on and so forth; that is how the Ethereum blockchain do.<\/p>\n<p class=\"chakra-text css-gi02ar\">We&#8217;ve so far &#8216;black-boxed&#8217; the EVM as the state transition function (machine) that takes previous valid blocks and a handful of fresh transactions (as input), does some computation on it, and spits out a new valid state (as output). The other pieces of the Ethereum protocol (such as miners choosing canonical blocks) are necessary context, but now it&#8217;s time for some inside-the-box thinking. What about those specific rules we set aside earlier? <em class=\"chakra-text css-0\">How<\/em> does the EVM compute a new state? How can a single machine compute everything from simple balance transfers to elliptic curve algebra?<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"the-steampunk-stack-machine\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"the steampunk stack machine permalink\" href=\"#the-steampunk-stack-machine\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>The Steampunk Stack Machine<\/h2>\n<p class=\"chakra-text css-gi02ar\">The best I can do to introduce the notion of a stack machine is this cartoon image of Babbage&#8217;s Analytical Engine (credit: <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"http:\/\/sydneypadua.com\/2dgoggles\/\">Sydney Padua<\/a>), which was designed in 1837 but never built:<\/p>\n<p class=\"chakra-text css-gi02ar\"><img decoding=\"async\" alt=\"The Analytical Engine\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/upload_3fa041cba377e68f4fe517a2ba7fc743.png\" class=\"chakra-image css-hw6q2r\"\/><\/p>\n<p class=\"chakra-text css-gi02ar\">With most people carrying around fantastically powerful electric computers in their pockets these days, it&#8217;s easy to forget that computers don&#8217;t necessarily need to be electronic, nor all that powerful. Babbage&#8217;s Analytical Engine is a very (hypothetically) real example of a Turing-complete (!) computer that if it had been built, would&#8217;ve run on steam and punch cards. The EVM is in important ways much closer kin to the Analytical Engine of two centuries ago than to the CPU inside the device you&#8217;re using to read this article.<\/p>\n<p class=\"chakra-text css-gi02ar\">The EVM is a <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/en.wikipedia.org\/wiki\/Stack_machine\">stack machine<\/a>, and although in reality it&#8217;s a <em class=\"chakra-text css-0\">virtualized machine<\/em> running inside many Ethereum clients simultaneously, I find helpful to imagine the EVM as a real, more advanced (but of course still steam-powered) version of the Analytical Engine. This metaphor might seem a little far-fetched, but I implore you to stick with it for a little bit because it&#8217;s quite illustrative when we get to the subject of gas and a shared execution environment.<\/p>\n<p class=\"chakra-text css-gi02ar\">The steampunk EVM would be a mechanical computer that functions by manipulating physical punch cards. Each card would have 256 places for hole punches, and therefore each card could represent any number between 0 and 2^256. To perform a calculation, one could imagine this computer, through some fancy system of compressed air, putting the cards representing numbers and operations into a <em class=\"chakra-text css-0\">stack<\/em>, and following a simple principle of &#8220;first in, last out&#8221;, one-by-one it would PUSH new cards to the top of the stack, or POP cards from the top of the stack to read them for next steps. These might be new numbers to calculate with, or arithmetic operations like ADD or MULTIPLY, but they could also be special instructions such as to STORE a card or set of cards for later. Because the cards are simple binary, the operations also have to be &#8216;encoded&#8217; into a binary number; so we call them operational codes, or just opcodes for short.<\/p>\n<p class=\"chakra-text css-gi02ar\">If the stack machine were calculating <span class=\"chakra-text css-ons8vw\">4 * 5 + 12<\/span>, it would go about it like so:<\/p>\n<p class=\"chakra-text css-gi02ar\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/miro.medium.com\/max\/1300\/1*uyHYmN0Hs6hxncGG6Av4XQ.png\" class=\"chakra-image css-hw6q2r\"\/><\/p>\n<blockquote class=\"chakra-code css-gk0tva\">\n<p class=\"chakra-text css-gi02ar\">_POP value 4 from the stack, keep it in memory. POP the value 5 off the stack, keep it in memory. POP the value _ from the stack; send everything in memory to the multiplication module; PUSH the returned result (20) the stack. POP the value 20 from the stack; keep it in memory. POP the value 12 from the stack; keep it in memory. POP the value + from the stack; send everything in memory to the addition module; PUSH the returned result (32) the stack. (Source: <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/medium.com\/0xcode\/the-ethereum-virtual-machine-evm-runtime-environment-d7969544d3dd\">The EVM Runtime Environment<\/a>)<\/p>\n<\/blockquote>\n<p class=\"chakra-text css-gi02ar\">We can imagine opcodes like ADD or MULTIPLY as special modules built into the machine, near enough to the stack so as to be accessible quickly. When the computer must multiply 4 and 5, it would send both cards to the &#8220;multiplication engine&#8221;, which might click and hiss before spitting back out the number 20 punched into a new card to PUSH back to the top of the stack.<\/p>\n<p class=\"chakra-text css-gi02ar\">The &#8220;real&#8221; EVM has <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/www.ethervm.io\/#opcodes\">many different opcodes<\/a> for doing various things. A certain minimum-viable set of these opcodes are needed to do <em class=\"chakra-text css-0\">generalized computation<\/em>, and the EVM has all of them (along with some special ones for crypto, e.g. <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/en.wikipedia.org\/wiki\/SHA-3\">the SHA-3 hash function<\/a>). For better or worse, the idea that the EVM is (or is not) <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/en.wikipedia.org\/wiki\/Turing_completeness\"><em class=\"chakra-text css-0\">Turing-complete<\/em><\/a> has long been under discussion\u2014 it&#8217;s this stack-based architecture which has the property of Turing-completeness: The EVM&#8217;s rules of execution can in principle, given a long enough time and big enough memory, run <em class=\"chakra-text css-0\">any conceivable computer program<\/em> so long as it&#8217;s compiled down to the correct 256-bit words and executed in the stack.<\/p>\n<p class=\"chakra-text css-gi02ar\">Compiling a program in our alternate universe would entail the creation of a booklet of punch cards containing the appropriate data and opcodes. This is literally (er, figurative-literally, whatever) the process going on under the hood when you write a smart contract in a high-level language like Solidity and compile it to bytecode. You can get a pretty good sense of how a programming language gets converted into machine code by <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/figs999\/Ethereum\/blob\/master\/Solc.aComedyInOneAct\">reading this humerously annotated output of a Solidity compiler<\/a>.<\/p>\n<p class=\"chakra-text css-gi02ar\">So far, the <em class=\"chakra-text css-0\">state<\/em> has not been mentioned, but recall that we set out to understand the rules by which a <em class=\"chakra-text css-0\">state transition<\/em> can be calculated. Now we can summarize it a bit more clearly: The EVM is the physical instantiation (read: instance) of the state transition function. A valid state in Ethereum is one that was calculated by the EVM, and the canonical state is the valid state with the most computational work done on it (as determined by the GHOST protocol).<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"ideal-gas\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"ideal gas permalink\" href=\"#ideal-gas\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>(Ideal) Gas<\/h2>\n<p class=\"chakra-text css-gi02ar\">We might imagine Babbage completing the fictitious Ethereum Stack Engine and thereafter announcing that all mathematical tabulations and solutions for impossibly difficult problems were now within reach. He&#8217;d invite mathematicians and engineers to package up their problems as &#8216;transactions&#8217; and deliver them to be compiled by <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/en.wikipedia.org\/wiki\/Ada_Lovelace\">Lady Lovelace<\/a> into punch cards to run through the world computer. (Incidentally, Lovelace was the first person to ever write a computer program, making her the <em class=\"chakra-text css-0\">original<\/em> compiler). Since the machine is meant to be an implementation of the EVM and part of a larger Ethereum steampunk universe, we&#8217;d have to imagine the state as being some sort of massive Merkleized library catalog which would be updated once per day according to a pre-selected set and order of transactions chosen as &#8216;canonical&#8217;, and committed to archive.<\/p>\n<p class=\"chakra-text css-gi02ar\">The trouble with this vision is that a real, mechanical EVM would be extraordinarily expensive to run. The turning of gears, winding of springs, and pumping of various pneumatic chambers collating punch cards would use tonnes of coal every day. Who would bear the expense of running the engine constantly? Say that five mathematicians wanted to run their programs on a particular day, but there was only time enough for three. How would these and related problems of resource management be solved? The solution that Ethereum employs seems, paradoxically, a lot more intuitive when we think about a large and inefficient mechanical computer: Charge <strong>money<\/strong> for computation and memory storage!<\/p>\n<p class=\"chakra-text css-gi02ar\">Imagining the the operations of the stack machine to be powered by compressed air, one could measure the <em class=\"chakra-text css-0\">exact amount of gas<\/em> needed to perform an ADD operation, and compare it to the (much larger) amount of gas needed for SHA3. The table of gas costs for each opcode could be made publicly available, and anyone submitting a program required to provide at least enough money for their computation and storage space according to the cost of gas (which might be related to the price of coal or the demand for computation). The final stroke of genius is to make the machine state itself a ledger for accounts and balances, allowing a user to include payment for their computation inside the transaction itself.<\/p>\n<p class=\"chakra-text css-gi02ar\">As you might know, <span class=\"chakra-text css-ons8vw\">gas<\/span> in an Ethereum transaction accounts for computation and memory costs of the EVM. Gas costs for a transaction must be paid for in ETH, and cannot be recovered once the execution takes place, whether the operation succeeds or not. If a contract call runs out of gas at any point during an operation, it throws an out-of-gas error.<\/p>\n<p class=\"chakra-text css-gi02ar\">The <span class=\"chakra-text css-ons8vw\">gas<\/span> mechanic cleverly does two jobs: Gas efficiently allocates the common-pool computational resources of the EVM according to demand, and provides reasonable protection against infinitely looping programs (a problem that arises from Turing-completeness).<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"in-the-next-installment-of-the-1x-files\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"in the next installment of the 1x files permalink\" href=\"#in-the-next-installment-of-the-1x-files\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>In the next installment of &#8220;The 1.X Files&#8221;<\/h2>\n<p class=\"chakra-text css-gi02ar\">I hope this fanciful mechanical explanation of a stack machine has been helpful. If you enjoyed thinking about the steampunk EVM as much as I have, and you like historically plausible alt-reality comic books, do investigate &#8220;The Thrilling Adventures of Babbage and Lovelace&#8221; linked earlier; you won&#8217;t be disappointed.<\/p>\n<p class=\"chakra-text css-gi02ar\">Getting a handle on something so abstract isn&#8217;t easy, but there are topics in the Stateless Tech Tree that will be much easier to approach with a relatively complete (even if it&#8217;s a bit cartoonish) mental image of an EVM implementation.<\/p>\n<p class=\"chakra-text css-gi02ar\">One such topic is the introduction of <em class=\"chakra-text css-0\">Code Merkleization<\/em> to the EVM, which would greatly reduce the size of witnesses by breaking up compiled contract code into smaller chunks. Next time we&#8217;ll be able to dig in to these immediately.<\/p>\n<p class=\"chakra-text css-gi02ar\">As always, if you have any questions, comments, requests for new topics or steampunk Ethereum fanfictions, please @gichiba or @JHancock on twitter.<\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/blog.ethereum.org\/en\/2020\/07\/28\/the-1x-files-ghost-in-the-stack-machine\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ethereum can be simple enough to understand from a bird&#8217;s-eye view: Decentralized applications powered by the same sort of crypto-economic guarantees that underpin Bitcoin. But once you&#8217;ve zoomed in to, say, a street-level view, things get complicated rapidly. Even assuming one has a strong grasp on proof-of-work, it&#8217;s not immediately clear how that translates to [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":18222,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[24],"tags":[],"kronos_expire_date":[],"class_list":["post-18292","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ethereum"],"_links":{"self":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/comments?post=18292"}],"version-history":[{"count":0,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18292\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media\/18222"}],"wp:attachment":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media?parent=18292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/categories?post=18292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/tags?post=18292"},{"taxonomy":"kronos_expire_date","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/kronos_expire_date?post=18292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}