{"id":10482,"date":"2025-03-31T16:16:48","date_gmt":"2025-03-31T14:16:48","guid":{"rendered":"https:\/\/wsj-crypto.com\/?p=10482"},"modified":"2025-03-31T16:16:48","modified_gmt":"2025-03-31T14:16:48","slug":"navigating-software-development-through-the-lens-of-bounded-rationality","status":"publish","type":"post","link":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/","title":{"rendered":"Navigating Software Development through the Lens of Bounded Rationality"},"content":{"rendered":"<p><\/p>\n<div id=\"\">\n<p class=\"chakra-text css-gi02ar\">One of the essential attributes frequently desired in a cryptoeconomic algorithm, whether it be a blockchain consensus algorithm such as proof of work or proof of stake, a reputation framework, or a trading mechanism for items like data transmission or file storage, is the concept of <!-- --><em class=\"chakra-text css-0\">incentive-compatibility<!-- --><\/em> &#8211; the notion that it should be in everyone&#8217;s economic advantage to sincerely adhere to the protocol. The crucial fundamental presumption behind this objective is the belief that individuals (or more accurately in this situation <!-- --><em class=\"chakra-text css-0\">nodes<!-- --><\/em>) are &#8220;rational&#8221; &#8211; meaning that individuals possess a relatively straightforward and defined set of goals and pursue the optimal strategy to enhance their success in achieving those goals. In game-theoretic protocol crafting, this is often simplified to the assertion that individuals favor monetary gain, as money is a universal tool for advancing nearly any objective. However, in reality, this is not entirely accurate.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Humans, as well as the de facto human-machine hybrids comprising participants of protocols like Bitcoin and Ethereum, are not entirely rational, and there exist specific deviations from rationality that are so widespread among users that they cannot merely be classified as &#8220;noise&#8221;. Within the social sciences, economics has addressed this issue with the subfield of <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/en.wikipedia.org\/wiki\/Behavioral_economics\">behavioral economics<!-- --><\/a>, which integrates experimental research with a set of new theoretical frameworks, including <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/en.wikipedia.org\/wiki\/Prospect_theory\">prospect theory<!-- --><\/a>, <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/en.wikipedia.org\/wiki\/Bounded_rationality\">bounded rationality<!-- --><\/a>, defaults and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/en.wikipedia.org\/wiki\/Heuristic\">heuristics<!-- --><\/a>, and has succeeded in formulating a model that, in certain circumstances, substantially more accurately reflects human behavior.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Within the framework of cryptographic protocols, analyses based on rationality can be considered similarly inadequate, and there are specific parallels among some concepts; for instance, as we will later explore, &#8220;software&#8221; and &#8220;heuristic&#8221; are essentially interchangeable terms. Another interesting observation is that we arguably do not possess a precise model of what defines an &#8220;agent&#8221;, a realization that holds particular relevance for protocols aiming to be &#8220;trust-free&#8221; or devoid of &#8220;single points of failure&#8221;.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"traditional-models\">Conventional models<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In conventional fault-tolerance theory, there exist three categories of models employed to ascertain how effectively a decentralized system can endure parts of it deviating from the protocol, whether due to malice or simple malfunction. The first of these is <!-- --><strong>simple fault tolerance<!-- --><\/strong>. In a simple fault-tolerant system, the concept is that all components of the system can be relied upon to either do one of two things: precisely adhere to the protocol or cease functioning. The system should be constructed to identify failures and recover while rerouting around them in some manner. Simple fault tolerance is typically the most suitable model for evaluating systems that are politically centralized but architecturally decentralized; for instance, Amazon or Google&#8217;s cloud hosting. The system should certainly manage one server going offline, yet the creators do not need to consider one of the servers turning malevolent (if that occurs, then an outage is acceptable until the Amazon or Google team manually identifies the issue and deactivates that server).<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">However, simple fault tolerance is inadequate for describing systems that are not only architecturally but also politically decentralized. What happens when we have a system where we aim to be fault-tolerant against some components of the system behaving improperly, but those components might be overseen by different organizations or individuals, and there exists a lack of trust that all of them will not act maliciously (even though you <!-- --><em class=\"chakra-text css-0\">do<!-- --><\/em> trust that, at the very least, two-thirds of them will act honestly)? In this scenario, the appropriate model we seek is <!-- --><strong>Byzantine fault tolerance<!-- --><\/strong> (named after the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/en.wikipedia.org\/wiki\/Byzantine_fault_tolerance\">Byzantine Generals Problem<!-- --><\/a>) &#8211; most nodes will sincerely follow the protocol, but a few will diverge, and they can do so in various ways; the presumption is that all deviating nodes are conspiring to undermine you. A Byzantine-fault-tolerant protocol should withstand a limited number of such deviations.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">For an illustration of simple and Byzantine fault-tolerance in practice, a suitable use case is <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2014\/08\/16\/secret-sharing-erasure-coding-guide-aspiring-dropbox-decentralizer\">decentralized file storage<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Expanding beyond these two scenarios, there exists an even more advanced model: the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/www.cs.utexas.edu\/~dahlin\/projects\/bft\/#BAR\">Byzantine\/Altruistic\/Rational model<!-- --><\/a>. The BAR model enhances the Byzantine model by introducing a simple realization: in real life, there is no clear distinction between &#8220;honest&#8221; and &#8220;dishonest&#8221; individuals; everyone is driven by incentives, and if those incentives are substantial enough, even a majority of participants may act dishonestly &#8211; especially if the protocol in question weighs individuals&#8217; influence based on economic power, as nearly all protocols do within the blockchain domain. Consequently, the BAR model presumes three categories of actors:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\"><strong>Altruistic<!-- --><\/strong> &#8211; altruistic actors consistently adhere to the protocol<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Rational<!-- --><\/strong> &#8211; rational actors comply with the protocol when it serves their interests and disregard it otherwise<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Byzantine<!-- --><\/strong> &#8211; Byzantine actors are collectively scheming to undermine you<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In practice, protocol developers tend to feel uneasy presuming any specific nonzero amount of altruism, thus the model by which many protocols are evaluated is the even stricter &#8220;BR&#8221; model; protocols that endure under BR are deemed <!-- --><em class=\"chakra-text css-0\">incentive-compatible<!-- --><\/em> (anything that withstands BR also withstands BAR, as an altruist is assured to contribute at least as positively to the protocol&#8217;s wellbeing as anyone else, given that benefiting the protocol is their explicit goal).<!-- --><\/p>\n<p><!-- --><center><br \/>\n<!-- --><br \/>\n<!-- --><small>Note that these are <!-- --><em class=\"chakra-text css-0\">worst-case scenarios<!-- --><\/em> that the system must endure, not precise descriptions of reality at all times<!-- --><\/small><br \/>\n<!-- --><\/center><br \/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">To illustrate how this model functions, let us analyze a point advocating for why Bitcoin is incentive-compatible. The aspect of Bitcoin we focus on most is the mining protocol, with miners representing the users. The &#8220;correct&#8221; strategy outlined in the protocol is to consistently mine on the block with<\/p>\n<p>the utmost &#8220;evaluation,&#8221; where evaluation is broadly characterized as follows:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">If a block is the origin block, <!-- --><span class=\"chakra-text css-ons8vw\">evaluation(B) = 0<\/span><\/li>\n<li class=\"css-cvpopp\">If a block is deemed invalid, <!-- --><span class=\"chakra-text css-ons8vw\">evaluation(B) = -infinity<\/span><\/li>\n<li class=\"css-cvpopp\">In other cases, <!-- --><span class=\"chakra-text css-ons8vw\">evaluation(B) = evaluation(B.parent) + 1<\/span><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In real-world scenarios, the impact each block contributes to the overall evaluation fluctuates with difficulty, yet we can set aside these complexities for our straightforward examination. If a block is mined successfully, the miner earns a reward of 50 BTC. Here, we can identify precisely three Byzantine tactics:<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">Abstaining from mining altogether<!-- --><\/li>\n<li class=\"css-cvpopp\">Mining on a block that is not the one with the highest evaluation<!-- --><\/li>\n<li class=\"css-cvpopp\">Attempting to generate an invalid block<!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The reasoning against (1) is straightforward: if you do not engage in mining, you forfeit the reward. Now, let\u2019s examine (2) and (3). Following the appropriate strategy, you have a likelihood <!-- --><span class=\"chakra-text css-ons8vw\">p<\/span> of creating a valid block with evaluation <!-- --><span class=\"chakra-text css-ons8vw\">s + 1<\/span> for some <!-- --><span class=\"chakra-text css-ons8vw\">s<\/span>. Conversely, if you adopt a Byzantine tactic, you have a likelihood <!-- --><span class=\"chakra-text css-ons8vw\">p<\/span> of generating a valid block with evaluation <!-- --><span class=\"chakra-text css-ons8vw\">q + 1<\/span> with <!-- --><span class=\"chakra-text css-ons8vw\">q<\/span> (and if you attempt to generate an invalid block, you have a probability of creating any block with evaluation negative infinity). Therefore, your block is unlikely to be the one with the highest evaluation, which means other miners will not mine on it, and consequently, your mining reward will not be included in the final longest chain. It is noteworthy that this argument does not hinge on altruism; it solely relies on the premise that you have a motive to align with others&#8217; actions if they are also doing so &#8211; a classic <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/lesswrong.com\/lw\/dc7\/nash_equilibria_and_schelling_points\/\">Schelling point<!-- --><\/a> rationale.<!-- --><\/span><\/p>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><small>The optimum approach to enhance the likelihood that your block will be integrated into the ultimate successful blockchain is to mine on the block that possesses the highest evaluation.<!-- --><\/small><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"trust-free-systems\">Trust-Free Systems<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Another significant division of cryptoeconomic protocols is the classification of so-called &#8220;trust-free&#8221; centralized systems. Within this group, there exist a few primary categories:<!-- --><\/p>\n<p><!-- --><\/p>\n<h4 class=\"chakra-heading css-1u9mv6z\" id=\"provably-fair-gambling\">Provably fair gambling<!-- --><\/h4>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A major concern in online lotteries and gambling platforms is the risk of operator deceit, where the site operator might subtly and imperceptibly &#8220;manipulate the odds&#8221; to their own advantage. A substantial advantage of cryptocurrency is its capacity to eliminate this issue by formulating an auditable gambling protocol, making any such discrepancies easily detectable. A rough framework for a provably fair gambling protocol is outlined as follows:<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">At the start of each day, the platform generates a seed <!-- --><span class=\"chakra-text css-ons8vw\">s<\/span> and publishes <!-- --><span class=\"chakra-text css-ons8vw\">H(s)<\/span>, where <!-- --><span class=\"chakra-text css-ons8vw\">H<\/span> represents some standard hashing function (e.g., SHA3)<!-- --><\/li>\n<li class=\"css-cvpopp\">When a participant submits a transaction to place a bet, the &#8220;dice roll&#8221; is computed using <!-- --><span class=\"chakra-text css-ons8vw\">H(s + TX) mod n<\/span>, where <!-- --><span class=\"chakra-text css-ons8vw\">TX<\/span> refers to the transaction utilized to cover the bet and <!-- --><span class=\"chakra-text css-ons8vw\">n<\/span> denotes the quantity of potential outcomes (e.g., for a 6-sided die, <!-- --><span class=\"chakra-text css-ons8vw\">n = 6<\/span>, for a lottery with a 1 in 927 chance of winning, <!-- --><span class=\"chakra-text css-ons8vw\">n = 927<\/span>, and winning games are those where <!-- --><span class=\"chakra-text css-ons8vw\">H(s + TX) mod 927 = 0<\/span>).<!-- --><\/li>\n<li class=\"css-cvpopp\">At the conclusion of the day, the platform discloses <!-- --><span class=\"chakra-text css-ons8vw\">s<\/span>.<!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Users can subsequently verify that (1) the hash revealed at the day&#8217;s beginning is indeed <!-- --><span class=\"chakra-text css-ons8vw\">H(s)<\/span>, and (2) that the outcomes of the bets correlate with the formulas. Consequently, a gambling platform adhering to this protocol has no means to cheat without facing detection within 24 hours; once it generates <!-- --><span class=\"chakra-text css-ons8vw\">s<\/span> and is required to publish a value <!-- --><span class=\"chakra-text css-ons8vw\">H(s)<\/span>, it is essentially compelled to strictly adhere to the defined protocol. <!-- --><\/p>\n<p><!-- --><\/p>\n<h4 class=\"chakra-heading css-1u9mv6z\" id=\"proof-of-solvency\">Proof of Solvency<!-- --><\/h4>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">An additional instance of cryptography&#8217;s application is the principle of creating auditable financial services (technically, gambling can be categorized as a financial service, but here we focus on services that <!-- --><em class=\"chakra-text css-0\">possess<!-- --><\/em> your funds, rather than merely temporarily manipulate them). There are <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/bitcoinmagazine.com\/5285\/torbroker-anonymous-finance-and-trust\/\">substantial theoretical arguments and empirical support<!-- --><\/a> indicating that financial services of this nature are significantly more prone to attempting to deceive their clients; perhaps the most striking example being the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/cdn.knightlab.com\/libs\/timeline\/latest\/embed\/index.html?source=0AtTCgM8sLx3UdHNCeWdlZHBhNjVXQ1dtSWhUQm04LVE&amp;font=Bevan-PotanoSans&amp;maptype=toner&amp;lang=en&amp;start_at_slide=57&amp;height=650\">MtGox incident<!-- --><\/a>, a Bitcoin exchange that ceased operations with over 600,000 BTC of customer funds unaccounted for.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The concept behind proof of solvency works as follows. Assume there exists an exchange with users <!-- --><span class=\"chakra-text css-ons8vw\">U[1] &#8230; U[n]<\/span>, where user <!-- --><span class=\"chakra-text css-ons8vw\">U[i]<\/span> maintains a balance of <!-- --><span class=\"chakra-text css-ons8vw\">b[i]<\/span>. The total of all balances amounts to <!-- --><span class=\"chakra-text css-ons8vw\">B<\/span>. The exchange aims to demonstrate that it possesses sufficient bitcoins to cover all users&#8217; balances. This constitutes a two-fold challenge: the exchange must concurrently evidence that for a certain <!-- --><span class=\"chakra-text css-ons8vw\">B<\/span>, it holds true that (1) the collective balance of users equals <!-- --><span class=\"chakra-text css-ons8vw\">B<\/span>, and (ii) the exchange holds at least <!-- --><span class=\"chakra-text css-ons8vw\">B<\/span> BTC. The latter is simple to verify; it suffices to sign a message with the private key controlling the bitcoins at that time. The most straightforward means to validate the former is to simply publish everyone\u2019s balances and allow individuals to verify that their balances correspond with the public figures, but this poses a privacy risk; thus, a more refined approach is necessary.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The solution involves, <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2014\/08\/16\/secret-sharing-erasure-coding-guide-aspiring-dropbox-decentralizer\">as per usual<!-- --><\/a>, a Merkle tree &#8211; albeit in this scenario it&#8217;s a unique advanced type of Merkle tree referred to as a &#8220;Merkle sum tree&#8221;. Instead of each node merely possessing the hash of its children, every node contains both the hash of its descendants and the total of the values of its descendants:<!-- --><\/p>\n<p><!-- --><center><br \/>\n<!-- --><img decoding=\"async\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/2014\/09\/merklesum.png\" class=\"chakra-image css-hw6q2r\"\/><br \/>\n<!-- --><\/center><br \/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The values at the base represent associations of account IDs to balances. The service discloses the tree&#8217;s root, and if a user seeks proof that their account is accurately represented in the tree, the service can merely provide them with the branch of the tree associated with their account:<!-- --><\/p>\n<p><!-- --><center><br \/>\n<!-- --><img decoding=\"async\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/2014\/09\/merklesum2.png\" class=\"chakra-image css-hw6q2r\"\/><br \/>\n<!-- --><\/center><br \/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">There exist two methods by which the site can deceive, attempting to operate with a fractional reserve. Firstly, it may attempt to have one of the nodes in the Merkle tree falsely total the values of its children. In such an event, as soon as a user seeks a branch incorporating that node, they will realize something is amiss. Secondly, it may try to insert negative values into the tree&#8217;s leaves. However, if it engages in this practice, then unless the site provides fraudulent positive and negative nodes that balance each other out (thus undermining the fundamental principle), there will be at least one genuine user whose Merkle branch will include the negative value; generally speaking, successfully maintaining X percent less than the requisite reserve depends on anticipating that a specific X percent of users will never execute the audit process &#8211; a scenario that is truly the utmost that any protocol can aspire to, given that an exchange can always simply negate some percentage of its users&#8217; account balances if it anticipates that they will never uncover the deceit.<!-- --><\/p>\n<p><!-- --><\/p>\n<h4 class=\"chakra-heading css-1u9mv6z\" id=\"multisig\">Multisig<!-- --><\/h4>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A third use case, one of significant importance, is <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/bitcoinmagazine.com\/11108\/multisig-future-bitcoin\/\">multisig<!-- --><\/a>, or more broadly the notion of multi-key authorization. Instead of your account being under the governance of one private key that could be compromised, there are three keys, of which two are necessary to access the account (or some alternative configuration, potentially featuring withdrawal limits or time-locked withdrawals; Bitcoin does not support such functionalities, but more sophisticated systems do). The prevailing method of implementing multisig thus far is as a 2-of-3: you possess one key, the server retains one key, and you have a third backup key stored securely. During normal operations, when you authorize a transaction, you typically sign it with your key locally and then transmit it to the server. The server conducts a second verification step &#8211; possibly involving sending a confirmation code to your phone, and if it confirms that you intended to send the transaction, it signs it as well.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The premise is that such a system can withstand any single fault, including any singular Byzantine fault. If you lose your password, there\u2019s a backup, which in conjunction with the server can retrieve your funds; if your password is compromised, the assailant only has a singular password; and likewise for the loss or theft of the backup. If the service ceases to exist, you have two keys. If the service is breached or turns out to be malicious, it possesses only one. The likelihood of two failures occurring simultaneously is exceedingly low; arguably, you stand a higher chance of passing away.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"fundamental-units\">Fundamental Units<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">All of the previously discussed arguments rest on one key assumption that appears simple but truly warrants deeper scrutiny: that the core unit of the system is the computer. Each <!-- --><em class=\"chakra-text css-0\">node<!-- --><\/em> has the incentive to mine on the block with the highest score and refrain from pursuing any deviant strategy. If the <!-- --><em class=\"chakra-text css-0\">server<!-- --><\/em> is compromised in a multisig scenario, then your <!-- --><em class=\"chakra-text css-0\">computer<!-- --><\/em> and your backup still encompass 2 out of 3 keys, ensuring your security. The issue with this approach is that it implicitly assumes users maintain complete control over their computers, and that users fully grasp cryptography and are manually validating the Merkle tree branches. In actual practice, this is not true; indeed, the very necessity of multisig in any form is evidence of such, as it acknowledges that users&#8217; computers are susceptible to breaches &#8211; a reflection of behavioral-economics insight that individuals may not be entirely in control of their actions.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A more precise model is to regard a node as a combination of two categories of agents: a user, and one or more software providers. Users in nearly every circumstance do not verify their software; even in my own instance, although I confirm every transaction from the Ethereum exodus address, utilizing the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/vbuterin\/pybitcointools\">pybitcointools<!-- --><\/a> toolkit that I created entirely from scratch (others have contributed patches, but even those have been thoroughly reviewed by me), I still rely on (1) the legitimacy of the implementations of Python and Ubuntu that I downloaded, and (2) the integrity of the hardware being free from flaws. Thus, these software providers should be treated as independent entities, and their motives and incentives should be examined as stakeholders in their own right. Meanwhile, users should also be regarded as agents, but as agents equipped with limited technical skills, whose decision-making often consists primarily of selecting which software packages to install instead of which specific protocol rules to adhere to.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The foremost, and most critical, observation is that the notions of &#8220;Byzantine fault tolerance&#8221; and &#8220;single point of failure&#8221; should be interpreted in light of this distinction. In theory, multisig eliminates all single points of failure from the management process of cryptographic tokens. However, in practice, that is not how multisig is typically showcased. Currently, most mainstream multisig wallets are web applications, and the entity providing the web application is the very entity managing the backup signing key. What this implies is that, if the wallet provider is indeed compromised or turns out to be unscrupulous, they essentially possess control over two out of three keys &#8211; they already hold the first one and can effortlessly acquire the second by implementing a minor modification to the client-side browser application they dispatch to you each time you access the webpage.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In defense of multisig wallet providers, services like BitGo and GreenAddress offer an API, enabling developers to utilize their key management functionality independently of their interface, thereby allowing the two providers to exist as separate entities. Nevertheless, the significance of this form of separation is currently severely understated.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This understanding holds true for provably fair gambling and proof of solvency as well. Specifically, such provably fair protocols ought to have standard implementations, with open-source applications capable of verifying proofs in a standardized format and in a user-friendly manner. Services like exchanges should then adhere to those protocols,and provide evidence that can be validated by these external tools. If a service issues a proof that can solely be validated by its internal tools, that is not significantly better than having no proof whatsoever &#8211; slightly improved, given there is a slight chance that deceit may still be uncovered, but not by much.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"software-users-and-protocols\">Software, Users, and Protocols<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">If we indeed possess two categories of entities, it would be beneficial to outline at least a rough model of their motivations, enabling us to better grasp their probable actions. Typically, from software providers, we can generally anticipate these objectives:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\"><strong>Maximize profit<!-- --><\/strong> &#8211; during the peak of proprietary software licensing, this aim was straightforward: software firms maximize profits by attracting as many users as possible. The shift towards open-source and freely available software presents numerous advantages, but it complicates the profit-maximization assessment considerably. Presently, software companies primarily generate income through commercial enhancements, the defensibility of which often involves establishing proprietary closed ecosystems. Nonetheless, making one&#8217;s software as beneficial as possible remains advantageous, provided it does not conflict with proprietary enhancements.<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Altruism<!-- --><\/strong> &#8211; altruists develop software to assist individuals or to bring to life a certain vision of the world.<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Maximize reputation<!-- --><\/strong> &#8211; nowadays, creating open-source software is frequently seen as a means to enhance one&#8217;s resume, aiming to (1) appear more appealing to prospective employers and (2) establish social networks to optimize future opportunities. Corporations can engage in this practice as well, developing free tools to attract users to their websites to promote additional tools.<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Laziness<!-- --><\/strong> &#8211; software developers are unlikely to write code if it can be avoided. The primary effect of this is underinvestment in features that do not benefit their users but would support the ecosystem &#8211; such as responding to requests for data &#8211; unless the software ecosystem operates as an oligopoly.<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Avoiding legal trouble<!-- --><\/strong> &#8211; this involves adherence to regulations, which may occasionally incorporate anti-features such as mandating identity verification, but the predominant impact of this motivation is a deterrent against overtly deceiving customers (e.g., misappropriating their funds).<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Users will not be examined in terms of goals but rather through a behavioral model: users select software from an available pool, download the application, and make decisions from within that software. Influential factors in software selection include:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\"><strong>Functionality<!-- --><\/strong> &#8211; what is the utility (the economics term &#8220;utility&#8221;) they can gain from the features that the software offers?<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>User-friendliness<!-- --><\/strong> &#8211; particularly crucial is the query regarding how quickly they can begin to perform the tasks they need to accomplish.<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Perceived credibility<!-- --><\/strong> &#8211; users are more inclined to download applications from reputable or at least seemingly reputable sources.<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Prominence<!-- --><\/strong> &#8211; if a software package is referenced more frequently, users are more likely to opt for it. An immediate outcome is that the &#8220;official&#8221; version of a software package holds a significant advantage over any forks.<!-- --><\/li>\n<li class=\"css-cvpopp\"><strong>Moral and philosophical considerations<!-- --><\/strong> &#8211; users may have a preference for open-source software for its inherent value, rejecting purely exploitative forks, etc.<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Once users download a software application, the primary bias that can be anticipated is that users will adhere to defaults even when it might not serve their interests; beyond this, we have more traditional biases like loss aversion, which we will briefly touch on later.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Let us illustrate how this process operates in practice: BitTorrent. In the BitTorrent protocol, users can obtain files from one another in a decentralized manner, but for a user to download a file, there must be another user uploading (&#8220;seeding&#8221;) it &#8211; and this action lacks adequate incentives. In fact, it incurs non-trivial costs: bandwidth usage, CPU resource utilization, copyright-related legal threats (including the risk of having one&#8217;s internet connection terminated by their ISP, or possibly facing a lawsuit). Yet individuals continue to seed &#8211; significantly insufficiently, but they do.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Why? The situation is aptly explained by the two-layer model: software developers aim to enhance their software&#8217;s usefulness, hence they include the seeding functionality as a default, and users are generally too complacent to deactivate it (and some users are intentionally altruistic, although the stark discrepancy between the willingness to torrent copyrighted content and the readiness to support artists indicates that most participants are indifferent). Message-sending in Bitcoin (i.e., to data requests like <!-- --><span class=\"chakra-text css-ons8vw\">getblockheader<\/span> and <!-- --><span class=\"chakra-text css-ons8vw\">getrawtransaction<\/span>) is also altruistic yet similarly explainable, as is the inconsistency between transaction fees and current economic predictions regarding transaction fees.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Another instance is proof of stake algorithms. Proof of stake algorithms face the (often) shared vulnerability of possessing &#8220;nothing at stake&#8221; &#8211; meaning, in the event of a fork, the default behavior is to attempt to vote on all chains, allowing an assailant to merely overpower all altruists who vote on a single chain, rather than having to contend with both altruists and rational actors as in proof of work. Here, we once again observe that this does not imply that proof of stake is entirely flawed. If the stake is predominantly grasped by a limited number of sophisticated parties, those parties will have their holdings in the currency as motivation not to engage in forks, and if the stake is held by a far greater number of average individuals, there would need to be a uniquely malevolent software provider who goes to the trouble of integrating a multi-voting feature and promotes it so that potential users are actually aware of it.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Nevertheless, if the stake is retained in custodial wallets (e.g., Coinbase, Xapo, etc.) that do not legally belong to the entities, but are specialized professional organizations, then this argument falters: they possess the technical capability to multi-vote, and have a low incentive against doing so, particularly if their businesses are not &#8220;Bitcoin-centric&#8221; (or Ethereum-centric, or Ripple-centric) and accommodate multiple protocols. There even exists a probabilistic multi-voting strategy that such custodial entities can employ to achieve 99% of the advantages of multi-voting without the risk of being caught. Therefore, the effective viability of proof of stake to a moderate degree relies on technologies that empower users to securely maintain control of their own coins.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"darker-consequences\">Darker Consequences<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">What we observe from the default effect isis fundamentally a specific degree of centralization, playing a constructive role by guiding users&#8217; default behavior towards a socially advantageous action and subsequently addressing what would otherwise be a market shortcoming. Now, if software brings forth some advantages of centralization, we could also anticipate some of the adverse effects associated with centralization. A notable instance is fragility. Theoretically, Bitcoin mining functions as an M-of-N protocol where N is in the thousands; performing the combinatorial calculations indicates that the likelihood of even 5% of the nodes diverging from the protocol is virtually nonexistent, thus Bitcoin should theoretically exhibit nearly flawless reliability. However, in practice, this assertion is incorrect; Bitcoin has experienced at least two disruptions within the past six years.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">For those who may not recall, the two incidents were as follows:<!-- --><\/p>\n<p><!-- --><\/p>\n<div style=\"padding-left:20px;padding-bottom:20px;width:280px;float:right\">\n<!-- --><img decoding=\"async\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/Odometer_rollover.jpg\" class=\"chakra-image css-hw6q2r\"\/><br \/>\n<!-- --><small>Driver of a 43-year-old automobile exploits integer overflow flaw, sells it for 91% of the original purchase price passing it off as new<!-- --><\/small><br \/>\n<!-- --><\/div>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">In 2010, an anonymous user generated a transaction featuring two outputs, each holding slightly more than 2<!-- --><sup>63<!-- --><\/sup> satoshis. The combined value of these outputs was just over 2<!-- --><sup>64<!-- --><\/sup>, and an integer overflow caused the total to wrap around to approximately zero, leading the Bitcoin client to believe that the transaction only released the same minimal amount of BTC that was input, thus appearing legitimate. The glitch was resolved, and the blockchain was reverted after nine hours.<!-- --><\/li>\n<li class=\"css-cvpopp\">In 2013, a new release of the Bitcoin client inadvertently addressed a bug where a block that made over 5000 calls to a specific database resource would trigger a BerkeleyDB error, causing the client to refuse the block. Such a block soon emerged, prompting new clients to accept it while older clients rejected it, resulting in a fork. The fork was rectified within six hours; however, during that time, $10000 worth of BTC was unlawfully taken from a payment service provider in a double-spend exploit.<!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In both scenarios, the network was capable of failing because, despite the presence of thousands of nodes, there was merely one software implementation governing them all &#8211; potentially the ultimate fragility in a network frequently praised for its antifragile properties. Alternative implementations such as btcd are progressively being adopted, yet it will take years before Bitcoin Core&#8217;s dominance is even remotely diminished; and even then, fragility will still remain relatively high.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"endowment-effects-and-defaults\">Endowment Effects and Defaults<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A significant set of biases to consider from the user perspective includes the ideas of the endowment effect, loss aversion, and the default effect. These three concepts often intersect but differ somewhat from one another. The default effect is typically most accurately described as a tendency to maintain one&#8217;s current strategy unless there is a <!-- --><em class=\"chakra-text css-0\">considerable<!-- --><\/em> incentive to change &#8211; essentially, an artificial psychological switching cost of <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/en.wikipedia.org\/wiki\/Epsilon-equilibrium\">some value \u03b5<!-- --><\/a>. The endowment effect refers to the inclination to perceive items as more valuable when one already possesses them, while loss aversion denotes the inclination to prioritize avoiding losses over pursuing gains &#8211; empirical evidence suggests that the scaling factor appears to hover consistently around 2x.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The ramifications of these effects become most pronounced in multi-currency environments. For instance, consider employees compensated in BTC. It becomes evident that when individuals receive payments in BTC, they are significantly more inclined to retain those BTC compared to the likelihood of purchasing BTC had they been paid in USD; this is partly due to the default effect, and partly because being paid in BTC leads individuals to &#8220;think in BTC,&#8221; creating a risk of loss if they convert to USD and the value of BTC subsequently appreciates. Conversely, when paid in USD, individuals are more focused on the USD-value of their BTC. This also holds true for smaller token systems; if someone is paid in Zetacoin, they are likely to cash out into BTC or another cryptocurrency, though the likelihood does not reach 100%.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The dynamics of loss aversion and default effects present compelling arguments in support of the thesis that a highly polycentric currency system is likely to persist, contrary to Daniel Krawisz&#8217;s assertion that <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/themisescircle.org\/blog\/2014\/03\/14\/the-coming-demise-of-the-altcoins\/\">BTC is the singular currency to dominate them all<!-- --><\/a>. There exists a clear incentive for software developers to create their own coins even if the protocol could function equally well on top of an existing currency: they can conduct a token sale. StorJ serves as the latest example. Nevertheless, as <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/themisescircle.org\/blog\/2013\/08\/22\/the-problem-with-altcoins\/\">Daniel Krawisz argues<!-- --><\/a>, it is feasible to fork such an &#8220;app-coin&#8221; and launch a version atop Bitcoin, which would theoretically be superior due to Bitcoin&#8217;s liquidity as an asset for storing funds. The reason this scenario has a high probability of not materializing stems from the fact that users tend to adhere to defaults, and by default users will utilize StorJ alongside StorJcoin since that is what the client promotes, and the initial StorJ client and site as well as its ecosystem will garner the majority of the attention.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This argument does, however, falter under certain circumstances: should the fork be backed by a powerful entity. A recent illustration of this is the situation with Ripple and Stellar; though Stellar is a fork of Ripple, it is supported by a major corporation, Stripe, thereby diminishing the advantage held by the original software version due to significantly greater visibility. In such instances, the outcome remains uncertain; perhaps, as frequently observed in social sciences, we will simply need to await empirical data to discover the resolution.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"the-way-forward\">The Path Ahead<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Building on specific psychological characteristics of individuals in cryptographic protocol design is a precarious endeavor. The rationale for maintaining simplicity in economic models, and even more so in cryptoeconomics, is that although desires, such as the pursuit of acquiring additional currency units, do not encapsulate the entirety of human motivation, they represent a notably robust component, and some may argue the only reliable component we can depend on. Moving forward, education might deliberately endeavor to tackle what we recognize as psychological anomalies (in fact, it already does), shifts in culture might engender transformations in morals and ideals, and notably in this context, the entities involved are &#8220;<!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/hplusbiopolitics.wordpress.com\/2008\/11\/12\/cyborgs-vs-fyborgs-modifications-vs-medications\/\">fyborgs<!-- --><\/a>&#8221; &#8211; functional cyborgs, or humans whose actions are entirely mediated by machines that serve as intermediaries between them and the internet.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Nevertheless, there are certain core attributes of this model &#8211; the notion of cryptoeconomic systems as two-tiered frameworks featuring software and users as agents, the emphasis on simplicity, and so forth, that may be dependable. At the very least, we should strive to recognize situations where our protocol is secure under the BAR model, yet vulnerable under a scenario where a handful of centralized entities are effectively regulating everyone&#8217;s access to the system. The model also underscores the significance of &#8220;software politics&#8221; &#8211; gaining insights into the forces that influence software development and striving to devise frameworks that provide software developers with the most favorable incentives (or ultimately create software that is most beneficial to the successful execution of the protocol). These challenges remain unaddressed by Bitcoin and Ethereum; possibly, a future system will achieve at least moderate improvement.<!-- --><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/blog.ethereum.org\/en\/2014\/09\/02\/software-bounded-rationality\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the essential attributes frequently desired in a cryptoeconomic algorithm, whether it be a blockchain consensus algorithm such as proof of work or proof of stake, a reputation framework, or a trading mechanism for items like data transmission or file storage, is the concept of incentive-compatibility &#8211; the notion that it should be in<\/p>\n","protected":false},"author":3,"featured_media":8282,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[1928],"class_list":{"0":"post-10482","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-software-and-bounded-rationality-ethereum-foundation-blog"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Navigating Software Development through the Lens of Bounded Rationality - 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\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Navigating Software Development through the Lens of Bounded Rationality - WSJ-Crypto\" \/>\n<meta property=\"og:description\" content=\"One of the essential attributes frequently desired in a cryptoeconomic algorithm, whether it be a blockchain consensus algorithm such as proof of work or proof of stake, a reputation framework, or a trading mechanism for items like data transmission or file storage, is the concept of incentive-compatibility &#8211; the notion that it should be in\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/\" \/>\n<meta property=\"og:site_name\" content=\"WSJ-Crypto\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-31T14:16:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"2100\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\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=\"25 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\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/\",\"url\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/\",\"name\":\"Navigating Software Development through the Lens of Bounded Rationality - WSJ-Crypto\",\"isPartOf\":{\"@id\":\"https:\/\/wsj-crypto.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\",\"datePublished\":\"2025-03-31T14:16:48+00:00\",\"author\":{\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#primaryimage\",\"url\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\",\"contentUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg\",\"width\":2100,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wsj-crypto.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Navigating Software Development through the Lens of Bounded Rationality\"}]},{\"@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":"Navigating Software Development through the Lens of Bounded Rationality - 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\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/","og_locale":"it_IT","og_type":"article","og_title":"Navigating Software Development through the Lens of Bounded Rationality - WSJ-Crypto","og_description":"One of the essential attributes frequently desired in a cryptoeconomic algorithm, whether it be a blockchain consensus algorithm such as proof of work or proof of stake, a reputation framework, or a trading mechanism for items like data transmission or file storage, is the concept of incentive-compatibility &#8211; the notion that it should be in","og_url":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/","og_site_name":"WSJ-Crypto","article_published_time":"2025-03-31T14:16:48+00:00","og_image":[{"width":2100,"height":900,"url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","type":"image\/jpeg"}],"author":"wsjcrypto","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"wsjcrypto","Tempo di lettura stimato":"25 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/","url":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/","name":"Navigating Software Development through the Lens of Bounded Rationality - WSJ-Crypto","isPartOf":{"@id":"https:\/\/wsj-crypto.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#primaryimage"},"image":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#primaryimage"},"thumbnailUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","datePublished":"2025-03-31T14:16:48+00:00","author":{"@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7"},"breadcrumb":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#primaryimage","url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","contentUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/02\/eth-org.jpeg","width":2100,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/03\/31\/navigating-software-development-through-the-lens-of-bounded-rationality\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wsj-crypto.com\/"},{"@type":"ListItem","position":2,"name":"Navigating Software Development through the Lens of Bounded Rationality"}]},{"@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\/10482","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=10482"}],"version-history":[{"count":2,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/10482\/revisions"}],"predecessor-version":[{"id":10488,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/10482\/revisions\/10488"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media\/8282"}],"wp:attachment":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media?parent=10482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/categories?post=10482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/tags?post=10482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}