{"id":10898,"date":"2025-04-10T04:56:46","date_gmt":"2025-04-10T02:56:46","guid":{"rendered":"https:\/\/wsj-crypto.com\/?p=10898"},"modified":"2025-04-10T04:56:46","modified_gmt":"2025-04-10T02:56:46","slug":"envisioning-the-future-of-scripting-navigating-compatibility-challenges","status":"publish","type":"post","link":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/","title":{"rendered":"Envisioning the Future of Scripting: Navigating Compatibility Challenges"},"content":{"rendered":"\n<div id=\"\">\n<p class=\"chakra-text css-gi02ar\">My earlier article presenting <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2014\/02\/03\/introducing-ethereum-script-2-0\">Ethereum Script 2.0<!-- --><\/a> garnered a variety of reactions, some highly favorable while others proposed that we adopt their preferred stack-based \/ assembly-based \/ functional model, along with several specific critiques that we are currently examining closely. Perhaps the most prominent criticism this time originated from <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/bitslog.wordpress.com\/2014\/02\/05\/changes-in-ethereum-scripting-language\/\">Sergio Damian Lerner<!-- --><\/a>, a Bitcoin security analyst, developer of QixCoin, to whom we extend our appreciation for his <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/bitslog.wordpress.com\/2014\/01\/17\/ethereum-dagger-pow-is-flawed\/\">examination of Dagger<!-- --><\/a>. Sergio specifically critiques two elements of the transition: the fee structure, which shifts from a straightforward one-variable model where everything scales as a fixed multiple of the BASEFEE, and the elimination of the crypto opcodes.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The crypto opcodes are the more crucial element of Sergio\u2019s argument, and I will address that topic first. In Ethereum Script 1.0, the opcode collection consisted of opcodes tailored for various cryptographic functions \u2013 for instance, there was an opcode SHA3, which would take a specified length and a starting memory index from the stack and subsequently push the SHA3 of the string derived from the designated number of blocks in memory beginning from the starting index. There were comparable opcodes for SHA256 and RIPEMD160, as well as crypto opcodes focused on secp256k1 elliptic curve operations. In ES2, those opcodes have been eliminated. Instead, they are supplanted by a flexible system in which users will need to manually code SHA256 in ES (in practice, we would provide a commission or bounty for this), and later on, advanced interpreters can effortlessly replace the SHA256 ES script with a conventional machine-code (or even hardware) version of SHA256 similar to what occurs when you invoke SHA256 in C++. From an external perspective, ES SHA256 and machine code SHA256 are indistinguishable; both perform the same computation and therefore enact identical adjustments to the stack, the sole distinction being that the latter is significantly faster, providing us with efficiency akin to that of an opcode. A versatile fee system can thus also be implemented to make SHA256 more economical due to its diminished computation duration, ideally rendering it as inexpensive as an opcode currently is.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Sergio, however, favors an alternative method: providing numerous crypto opcodes out of the box and employing hard-forking protocol modifications to introduce new ones if necessary later on. He notes:<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">First, after three years of closely observing Bitcoin, I have come to realize that <!-- --><b>a cryptocurrency is not merely a protocol, nor a contract, nor a computer network. A cryptocurrency is a community<!-- --><\/b>. Aside from a limited set of constants, like the money supply function and the global balance, everything can be modified in the future, provided the changes are communicated ahead of time. The Bitcoin protocol has functioned well thus far, but we understand that it will encounter scalability challenges in the long run and will need to adapt accordingly. Short-term advantages, such as the protocol&#8217;s simplicity and the code base, have allowed Bitcoin to gain worldwide acceptance and a network effect. Is the reference code of Bitcoin version 0.8 as straightforward as version 0.3? Not in the slightest. Today, numerous caches and optimizations exist to achieve peak performance and enhanced DoS security, yet this does not concern anyone (and it shouldn&#8217;t). A cryptocurrency is initiated with a simple value proposition that is effective in the short to medium term.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This viewpoint is frequently raised concerning Bitcoin. However, as I delve deeper into the actual developments occurring in Bitcoin, I grow increasingly firm in my belief that, except for very nascent cryptographic protocols at an early stage and demonstrating minimal practical application, this argument is entirely untrue. Numerous flaws presently exist in Bitcoin that could be rectified if we collectively willed it. To illustrate a few examples:<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\"><b>The 1 MB block size limit<!-- --><\/b>. At present, there exists a strict limitation that prevents a Bitcoin block from containing more than 1 MB of transactions \u2013 an upper cap of roughly seven transactions per second. We&#8217;re already approaching this limit, with about 250 KB in each block, which is currently exerting pressure on transaction fees. Throughout most of Bitcoin&#8217;s history, fees hovered around $0.01, and each time the price increased, the default BTC-denominated fee accepted by miners was adjusted downward. However, the fee is now fixed at $0.08, and the developers seemingly are not reducing it, likely because lowering the fee back down to $0.01 would lead to the number of transactions nearing the 1 MB limit. Removing this constraint, or at the very least adjusting it to a more appropriate value like 32 MB, is a simple modification; it comprises merely a single number in the source code and would undoubtedly contribute greatly to ensuring Bitcoin&#8217;s continued use in the medium term. Yet, Bitcoin developers have entirely neglected to implement it.<!-- --><\/li>\n<li class=\"css-cvpopp\"><b>The OP_CHECKMULTISIG bug<!-- --><\/b>. A well-documented bug exists in the OP_CHECKMULTISIG operator used for implementing multisig transactions in Bitcoin, which necessitates an additional dummy zero as an argument that is simply popped off the stack and not utilized. This is quite non-intuitive and perplexing; when I was working to implement multisig for <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/github.com\/vbuterin\/pybitcointools\">pybitcointools<!-- --><\/a>, I was stuck for several days trying to determine whether the dummy zero was meant to be positioned first or substituted for the missing public key in a 2-of-3 multisig, and if two dummy zeroes were to be included in a 1-of-3 multisig. Eventually, I figured it out, but I would have done so much quicker had the operation of the OP_CHECKMULTISIG operator been more intuitive. Nevertheless, the bug has yet to be resolved.<!-- --><\/li>\n<li class=\"css-cvpopp\"><b>The bitcoind client<!-- --><\/b>. The bitcoind client is infamous for being a cumbersome and non-modular construct; in fact, the issue is so critical that those attempting to create a scalable and enterprise-friendly alternative to bitcoind are not utilizing it at all, but rather starting from square one. This is not related to a core protocol issue, and in theory, altering the bitcoind client should not necessitate any hard-fork changes, yet the necessary reforms remain unaddressed.<!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">None of these issues exist because the Bitcoin developers lack competence. They do not; indeed, they are adept programmers with extensive knowledge of cryptography and the database and networking challenges intrinsic to cryptocurrency client design. These problems arise because the Bitcoin developers fully understand that Bitcoin is a 10-billion-dollar train racing along at 400 kilometers per hour, and if they attempt to modify the engine mid-course and even the slightest bolt becomes loose, the entire operation could come crashing down. A modification as straightforward as swapping the database back in March 2011 <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/bitcoinmagazine.com\/3668\/bitcoin-network-shaken-by-blockchain-fork\/\">nearly did<!-- --><\/a>. Thus, in my view, it is reckless to maintain an inadequately crafted, non-future-proof protocol, and merely assert that the protocol can be revised when necessary. Conversely, the protocol should be engineered to possess a suitable level of adaptability from the outset, allowing alterations to be made by consensus automatically without requiring any software updates.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Now, addressing Sergio\u2019s second concern, his primary issue regarding adjustable fees: if fees can fluctuate, it becomes increasingly challenging for contracts to establish their own fees, and if a fee rises unexpectedly, it could create a vulnerability through which an attacker might even force a contract into insolvency. I appreciate Sergio for highlighting this point; it is something I had not yet adequately contemplated, and we will need to thoroughly consider it during our design process. However, his proposed solution, manual protocol updates, is arguably no improvement; updates that alter fee structures can introduce new economic vulnerabilities into contracts as well, and they may be even more difficult to mitigate due to the absence of any limitations on the content that manual protocol updates can include.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">So what are our options? First and foremost, there exist numerous intermediate solutions between Sergio\u2019s method \u2013 which involves a restricted fixed set of opcodes that can only be added through a hard-forking protocol change \u2013 and the concept I suggested in the ES2 blog post about miners voting on dynamically adjusting fees for each script. One possibility might be to make the voting system more discrete, establishing a clear distinction between a script that must pay 100% fees and a script being \u201cpromoted\u201d to an opcode that only requires a 20x CRYPTOFEE. This could be achieved through a combination of usage tracking, miner voting, ether holder voting, or other strategies. Essentially, this would provide a built-in method for implementing hard forks that does not technically necessitate any source code alterations to enact, making it much more fluid and less disruptive than a manual hard fork method. Secondly, it is crucial to reiterate that the capability to efficiently perform strong cryptography has not vanished, even from the genesis block; when we launch Ethereum, we will establish a SHA256 contract, a SHA3 contract, etc., and \u201cpremine\u201d them into pseudo-opcode status right from the outset. Thus, Ethereum will arrive with batteries included; the difference is that the batteries will be incorporated in a manner that seamlessly facilitates the addition of more batteries in the future.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">However, it is essential to point out that I regard this capability to incorporate efficient optimized crypto operations in the future as essential. Theoretically, it would be feasible to have a \u201cZerocoin\u201d contract within Ethereum or a contract utilizing cryptographic proofs of computation (SCIP) and totally homomorphic encryption, allowing Ethereum to serve as the \u201cdecentralized Amazon EC2 instance\u201d for cloud computing that many currently misunderstand it to be. Once quantum computing emerges, we may need to transition to contracts that depend on NTRU; when SHA4 or SHA5 are introduced, we might need to shift towards contracts that rely on them. Once <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/www.wired.com\/wiredscience\/2014\/02\/cryptography-breakthrough\/\">obfuscation technology<!-- --><\/a> matures, contracts will aim to depend on that for securely storing private information. However, to make all of this possible with anything less than a $30 transaction fee, the underlying cryptography would need to be implemented in C++ or machine code, and there would need to be a fee framework that appropriately lowers the fee for operations once the optimizations are executed. This poses a challenge for which I currently see no straightforward solutions, and feedback and proposals are highly welcomed.<!-- --><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/blog.ethereum.org\/en\/2014\/02\/05\/more-thoughts-on-scripting-and-future-compatibility\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>My earlier article presenting Ethereum Script 2.0 garnered a variety of reactions, some highly favorable while others proposed that we adopt their preferred stack-based \/ assembly-based \/ functional model, along with several specific critiques that we are currently examining closely. Perhaps the most prominent criticism this time originated from Sergio Damian Lerner, a Bitcoin security<\/p>\n","protected":false},"author":3,"featured_media":10899,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[2063],"class_list":{"0":"post-10898","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-ethereum","8":"tag-return-a-list-of-comma-separated-tags-from-this-title-more-thoughts-on-scripting-and-future-compatibility"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Envisioning the Future of Scripting: Navigating Compatibility Challenges - WSJ-Crypto<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Envisioning the Future of Scripting: Navigating Compatibility Challenges - WSJ-Crypto\" \/>\n<meta property=\"og:description\" content=\"My earlier article presenting Ethereum Script 2.0 garnered a variety of reactions, some highly favorable while others proposed that we adopt their preferred stack-based \/ assembly-based \/ functional model, along with several specific critiques that we are currently examining closely. Perhaps the most prominent criticism this time originated from Sergio Damian Lerner, a Bitcoin security\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/\" \/>\n<meta property=\"og:site_name\" content=\"WSJ-Crypto\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-10T02:56:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"237\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"wsjcrypto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"wsjcrypto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/\",\"url\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/\",\"name\":\"Envisioning the Future of Scripting: Navigating Compatibility Challenges - WSJ-Crypto\",\"isPartOf\":{\"@id\":\"https:\/\/wsj-crypto.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg\",\"datePublished\":\"2025-04-10T02:56:46+00:00\",\"author\":{\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#primaryimage\",\"url\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg\",\"contentUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg\",\"width\":450,\"height\":237},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wsj-crypto.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Envisioning the Future of Scripting: Navigating Compatibility Challenges\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wsj-crypto.com\/#website\",\"url\":\"https:\/\/wsj-crypto.com\/\",\"name\":\"WSJ-Crypto\",\"description\":\"Just Another Crypto News Website\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wsj-crypto.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\",\"name\":\"wsjcrypto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g\",\"caption\":\"wsjcrypto\"},\"url\":\"https:\/\/wsj-crypto.com\/index.php\/author\/wsjcrypto\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Envisioning the Future of Scripting: Navigating Compatibility Challenges - WSJ-Crypto","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/","og_locale":"it_IT","og_type":"article","og_title":"Envisioning the Future of Scripting: Navigating Compatibility Challenges - WSJ-Crypto","og_description":"My earlier article presenting Ethereum Script 2.0 garnered a variety of reactions, some highly favorable while others proposed that we adopt their preferred stack-based \/ assembly-based \/ functional model, along with several specific critiques that we are currently examining closely. Perhaps the most prominent criticism this time originated from Sergio Damian Lerner, a Bitcoin security","og_url":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/","og_site_name":"WSJ-Crypto","article_published_time":"2025-04-10T02:56:46+00:00","og_image":[{"width":450,"height":237,"url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg","type":"image\/jpeg"}],"author":"wsjcrypto","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"wsjcrypto","Tempo di lettura stimato":"8 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/","url":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/","name":"Envisioning the Future of Scripting: Navigating Compatibility Challenges - WSJ-Crypto","isPartOf":{"@id":"https:\/\/wsj-crypto.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#primaryimage"},"image":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#primaryimage"},"thumbnailUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg","datePublished":"2025-04-10T02:56:46+00:00","author":{"@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7"},"breadcrumb":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#primaryimage","url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg","contentUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/04\/internet.jpg","width":450,"height":237},{"@type":"BreadcrumbList","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/04\/10\/envisioning-the-future-of-scripting-navigating-compatibility-challenges\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wsj-crypto.com\/"},{"@type":"ListItem","position":2,"name":"Envisioning the Future of Scripting: Navigating Compatibility Challenges"}]},{"@type":"WebSite","@id":"https:\/\/wsj-crypto.com\/#website","url":"https:\/\/wsj-crypto.com\/","name":"WSJ-Crypto","description":"Just Another Crypto News Website","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wsj-crypto.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7","name":"wsjcrypto","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g","caption":"wsjcrypto"},"url":"https:\/\/wsj-crypto.com\/index.php\/author\/wsjcrypto\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/10898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/comments?post=10898"}],"version-history":[{"count":2,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/10898\/revisions"}],"predecessor-version":[{"id":10904,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/10898\/revisions\/10904"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media\/10899"}],"wp:attachment":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media?parent=10898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/categories?post=10898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/tags?post=10898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}