Network Working Group M. Nottingham Internet-Draft8 December 20219 January 2022 Intended status: Informational Expires:11 June13 July 2022Avoiding InternetCentralizationdraft-nottingham-avoiding-internet-centralization-00and Internet Standards draft-nottingham-avoiding-internet-centralization-01 AbstractAvoiding centralization is an important goal forDespite being designed and operated as a decentralized network-of- networks, the Internetprotocols.is continuously subjected to forces that encourage centralization. This document offers a definition of centralization,discussesexplains why it isnecessary for Internet protocol designers to consider its risks,undesirable, identifies differentkindstypes of centralization, cataloguessomelimitations ofcurrentcommon approaches to controlling it, andrecommends best practices for protocol designers.explores what Internet standards efforts can do to address it. About This Document This note is to be removed before publishing as an RFC. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-nottingham-avoiding-internet- centralization/. Source for this draft and an issue tracker can be found at https://github.com/mnot/avoiding-internet-centralization. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on11 June13 July 2022. Copyright Notice Copyright (c)20212022 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . .3 1.1. Notational Conventions2 2. What is Centralization . . . . . . . . . . . . . . . . .4 2.. . 3 3. Why Avoid Centralization . . . . . . . . . . . . . . . . . . 43.4. Kinds of Centralization . . . . . . . . . . . . . . . . . . . 63.1.4.1. Direct Centralization . . . . . . . . . . . . . . . . . . 63.2.4.2. Necessary Centralization . . . . . . . . . . . . . . . . 63.3.4.3. Indirect Centralization . . . . . . . . . . . . . . . . . 73.4.4.4. Inherited Centralization . . . . . . . . . . . . . . . . 83.5.4.5. Platform Centralization . . . . . . . . . . . . . . . . .8 4.9 5. The Limits of Decentralization . . . . . . . . . . . . . . . 94.1.5.1. Federation isn't Enough . . . . . . . . . . . . . . . . .9 4.2.10 5.2. Multi-Stakeholder Administration is Hard . . . . . . . .10 4.3.11 5.3. Blockchains Are Not Magical . . . . . . . . . . . . . . .11 5. Guidelines for Protocol Designers . . . . . . . . . . . . . . 13 5.1. Allow Intermediation Sparingly12 6. What Should Internet Standards Do? . . . . . . . . . . . . . 135.2. Encrypt, Always . . . . . . . . . . . . . . . . . . . . . 14 5.3. Reuse Existing Tools . . . . . . . . . . .6.1. Manage Centralization Risk Where Effective . . . . . . . 145.4. Accomodate Limited Domains Warily . . . . . . . . . . .6.2. Create Standards to Decentralize Proprietary Functions . 155.5. Target Extensibility . .6.3. Limit Intermediary Power . . . . . . . . . . . . . . . . 155.6. Acknowledge the Limits of Protocol Design . . . . . . . . 16 6. Security Considerations . . .6.4. Avoid Over-Extensibility . . . . . . . . . . . . . . . . 16 7.References . . . . . .Security Considerations . . . . . . . . . . . . . . . . . . .16 7.1. Normative17 8. Informative References . . . . . . . . . . . . . . . . . .16 7.2. Informative References . . . . . . . . . . . . . ... . 1617 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . .1920 Author's Address . . . . . . . . . . . . . . . . . . . . . . . .1920 1. Introduction The Internetis successfulhas succeeded in no small part because of its purposeful avoidance of any single controlling entity. Whileoriginallythis approach mayhave been due toreflect a desire to prevent a single technical failure from having wideimpact,impact,[RAND] it has also enabled the Internet's rapid adoption and broadspread of the Internet,spread, because internetworkingdoesdid not require obtaining permission from or ceding control to another entity -- thereby accommodating a spectrum of requirements and positioning the Internet as a public good.As a result, Internet protocols share a common design goal:While avoidingcentralization, which we define as the ability of a single person, company, or government -- or a small group of them -- to observe, control, or extract rent from the protocol's operation or use. At the same time, the utility of many Internet protocolscentralization isenabled or significantly enhanced by ceding some aspect of communication between two parties toathird party -- often, in a mannerwidely shared goal for the Internet, meeting that goal hascentralization risk. For example, there might be a need for a 'single source of truth' or a rendezvous facility to allow endpoints to find each other. How should such protocols be designed? Furthermore, manyproven difficult. Many successfulproprietaryprotocols and applications on the Internet today arede facto centralized. Somedesigned or operated in a centralized fashion -- to the point where some proprietary, centralized services have become sowell- knownwell-known that they are commonly mistaken for the Internet itself.In other cases, InternetEven when protocolsseem to favour centralized deployments dueincorporate techniques intended to prevent centralization, economic and socialfactors. Should standards efforts attempt to mitigate centralization in these cases, and if so, how? Finally, some autonomous networks have requirements to control the operation of Internet protocols internally, and some users or groups offactors can drive usersmight cede control of some aspect of how they use the Internettoa central authority, either voluntarilyprefer centralized solutions built with orunder legal compulsion. In bothon top ofthese cases, should Internet protocols accommodatesupposedly decentralized technology. These difficulties call into question what role architectural regulation -- in particular, open standards bodies suchrequirements,as at the IETF -- should be play in preventing, mitigating, andif so, how?controlling centralization of the Internet. This document discusses aspects of centralizationwith regard to Internet protocol design (notethat'protocol' is used somewhat loosely here,relate toalso encompass what could be considered an application).Internet standards efforts. Section 2 provides a definition of centralization. Section 3 explains whyit is necessary for Internet protocols to avoidcentralizationwhen possible.of Internet's functions is undesirable. Section34 surveys the different kinds of centralization thatInternet protocolsmightbe involved in.surface on the Internet. Section45 then cataloguescurrenthigh-level approaches to mitigating centralization and discusses their limitations. Finally, Section5 discusses cross-cutting interactions between6 considers the role that Internet standards play in avoiding centralization andprotocol design, recommending best practices where appropriate.mitigating its effects. Engineers who design and standardize Internet protocols are the primary audience for this document. However, designers of proprietary protocols can benefit from considering aspects of centralization, especially if they intend their protocol to be considered for eventual standardisation. Likewise, policymakers can use this document to help identify and remedy inappropriately centralized protocols and applications.1.1. Notational Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this2. What is Centralization This document defines "centralization" as the ability of a single entity (e.g., a person, company, or government) -- or a small group of them -- to observe, control, or extract rent from the operation or use of a given function on the Internet. Here, "function" is defined broadly. It might be an enabling protocol already defined by standards, such as IP [RFC791], BGP [RFC4271], TCP [RFC793], or HTTP [HTTP]. It might also be a proposal for a new enabling protocol, or an extension to an existing one. However, centralization is not limited to standards-defined protocols. User-visible applications built on top of the functions provided by standards are also vulnerable to centralization -- for example, social networking, file sharing, financial services, and news dissemination. Likewise, the supply of hardware, operating systems, and software can exhibit centralization. Centralization risk is strongest when it necessarily affects the entire Internet. However, it can also be present when a substantial portion of the Internet's users lack options for a given function. For example, if there is only one provider a function in a given region or legal jurisdiction, that function is effectively centralized for those users. "Decentralization" is the process of identifying centralization risk in the functions of a protocol or application, followed by application of appropriate techniques to prevent or mitigate centralization. Decentralization does not require that a given function need beinterpretedso widely distributed that other important factors, such asdescribedefficiency, resiliency, latency, or availability are sacrificed. In some cases, a function that is only available through a relatively small number of providers can be effectively decentralized, given the appropriate circumstances (see, for example, the DNS). Therefore, discussions of centralization and architectural efforts at decentralization need to be made on a case-by-base basis, depending on the function inBCP 14 [RFC2119] [RFC8174] when,question, surrounding circumstances, and other regulatory mechanisms. Note that it is important to distinguish centralization from anti- competitive concerns (also known as "anti-trust"). While there are many interactions between them and making the Internet more competitive may be a motivation for avoiding centralization, onlywhen, they appearcourts are authoritative inall capitals, as shown here. 2.determining what is and is not anti- competitive in a given market, not standards bodies and other technical fora. 3. Why Avoid Centralization Centralization is undesirablein the design of Internet protocols for many reasons -- in particular,because it is counter to the nature of the Internet, because it violates thepurpose of the Internet from the perspective of itsendusers,users' expectations, and because of the many negative effects it can have on the networks operation and evolution.By its very nature,Firstly, theInternet must avoid centralization.Internet's very nature is incompatible with centralization of its functions. As a 'large, heterogeneous collection of interconnected systems' [BCP95] the Internet is often characterised as a 'network of networks'. As such, these networks relate as peers who agree to facilitate communication, rather than having a relationship of subservience to others' requirements or coercion by them.However, many Internet protocols allow a third party to be interposed into communication between two other parties. In some cases, this is not intended by the protocol's designers; for example, intervening networks have taken advantage of unencrypted deployment of HTTP [HTTP] to interpose 'interception proxies' (also knownSecondly, as'transparent proxies') to cache, filter, track, or change traffic. In cases where interposition of a third party is a designed feature oftheprotocol, itInternet's first duty isoften characterised as _intermediation_, andto the end user [RFC8890], allowing such power to be concentrated into few hands istypically usedcounter tohelp providetheprotocol's functions -- sometimes including thoseIETF's mission of creating an Internet thatare necessary for it'will help us tooperate. Whether or not interposition ofbuild a better human society.' [BCP95] When a third partyinto communication is intentional,has unavoidable access to communications, the 'informational and positional advantages' [INTERMEDIARY-INFLUENCE] gained can be used to observe behavior (the 'panopticon effect') and shape or even deny behaviour (the 'chokepoint effect') -- which can be used by those parties (or the states that have authority over them) for coercive ends. [WEAPONIZED-INTERDEPENDENCE]As Internet protocols' first duty is to the end user [RFC8890], allowing such power to be concentrated into few hands is counter to the IETF's mission of creating an Internet that 'will help us to build a better human society.' [BCP95] Additionally,Finally, concentration of power has deleterious effects on the Internet itself, including: * _Limiting Innovation_: Centralization can preclude the possibility of 'permissionless innovation' -- the ability to deploy new, unforeseen applications without requiring coordination with parties other than those you are communicating with. * _Constraining Competition_: The Internet and its users benefit from robust competition when applications and services are available from many different providers -- especially when those users can build their own applications and services based upon interoperable standards. When dependencies are formed on a centralized service or platform, it effectively becomes an essential facility, which encourages abuse of power. * _Reducing Availability_: The Internet's availability (as well as applications and services built upon it) improves when there are many ways to obtain access to it. While centralized services typically benefit from the focused attention that their elevated role requires, when they do fail the resulting loss of availability can have disproportionate impact. * _Creating Monoculture_: At the scale available to a centralized service or application, minor flaws in features such as recommendation algorithms can be magnified to a degree that can have broad (even societal) consequences. Diversity in the implementation of these functions is significantly more robust, when viewed systemically. [POLYCENTRIC] * _Self-Reinforcement_: As widely noted (see, eg., [ACCESS]), a centralized service benefits from access to data which can be used to further improve its offerings, while denying such access to others. See also [TECH-SUCCESS-FACTORS]. To summarize,we avoidcentralizationbecause itwould allow the Internet (or some part of it) to be captured, effectively turning it into a 'walled garden' that fails to meet both architectural design goals and users' expectations,whileand endangeringtheits ongoing viabilityof the Internetat the same time.3.4. Kinds of CentralizationNot all centralizationCentralization of the Internetprotocolsisequal; there are several different types, each withnot uniform; it presents in a variety of ways, depending on itsown properties.relationship to the function in question and underlying causes. The subsections belowlist some. 3.1.offer the start of a classification system for Internet centralization. 4.1. Direct Centralization The most straightforward kind ofcentralized protocolcentralization creates a fixed role for a specific party. For example, most proprietary messaging, videoconferencing, chat, andsimliarsimilar protocols operate in this fashion. While it has been argued that such protocols are simpler to design, more amenable to evolution, and more likely to meet userneeds,[MOXIE]needs [MOXIE], this approach most often reflects commercial goals -- in particular, a strong desire to capture the financial benefits of the protocol by 'locking in' users to a proprietary service. Directly centralised protocols and applications are not considered to be part of the Internet per se; instead, they are more properly characterized as proprietary protocols that are built on top of the Internet. As such, they are not regulated by the Internet architecture or standards, beyond the constraints that the underlying protocols (e.g., TCP, IP, HTTP) impose.3.2.4.2. Necessary Centralization Some protocols require the introduction of centralization risk that is unavoidable by nature. For example, when there is a need a single, globally coordinated 'source of truth', thatfacilityfunction is by nature centralized. The most obvious instance is seen in the Domain Name System (DNS), which allows human-friendly naming to be converted into network addresses in a globally consistent fashion. Allocation of IP addresses is another example of a necessaryfacilityfunction being a centralization risk. Internet routing requires addresses to be allocated uniquely, but if the addressing function were captured by a single government or company, the entire Internet would be at risk of abuse by that entity. Similarly, the need for coordination in the Web's trust model brings centralization risk, because a Certificate Authority (CA) can control communication between the Web sites that they sign certificates for and users whose browsers trust the CA's root certificates. Protocols that need to solve the'rendezvous problem'"rendezvous problem" to coordinate communication between two parties that are not in direct contact also suffer from this kind of centralization risk. For example, chat protocols need a way to coordinate communication between two parties that wish to talk; while the actual communication can be direct between them (so long as the protocol facilitates that), the endpoints' mutual discovery typically requires a third party. Internet protocolscurrently tendoften attempt to mitigate necessary centralization risk using measures such as mandated federation Section4.15.1 and multi-stakeholder administration Section4.2. 3.3.5.2. Because of the inherent risks and costs of these approaches, functions that successfully use these techniques are often reused by others with similar requirements. For example, if a protocol requires a coordinated, global naming function, reusing the Domain Name System is usually preferable to establishing a new system, because its centralization risk is known and understood, and the risks inherent in establishing new mitigations are avoided. 4.3. Indirect Centralization Even when a protocol avoids direct centralization and does not exhibit any necessary centralization, it might become centralized in practice when external factors influence its deployment. Indirect centralization can be caused by factors that encourage use of a centralfacilityfunction despite the absence of such a requirement in the protocol itself. Such factors might be economic, social, or legal.For example, cloud computing is used to deploy many Internet protocols. Although the base concepts and control protocols for it avoid centralization in the sense that there is no need for a single, central cloud provider, the economics of providing compute at scale as well as some social factors regarding developer familiarity and comfort encourage convergence on a small number of cloud providers.Often, the factors driving indirect centralization are related to the network effects that are so often seen on the Internet. While in theory every node on the Internet is equal, in practice some nodes are much more connected than others: for example, just a few sites drive much of the traffic on the Web. While expected and observed in many kinds of networks [SCALE-FREE], network effects award asymmetric power to nodes that act as intermediaries to communication. Left unchecked, these factors can cause a potentially decentralized application to become directly centralised, because the centralfacilityfunction has leverage to'lock in'"lock in" users. For example, social networking is an application that is currently supplied by a small number of directly centralized, proprietary platforms despite standardization efforts (see, e.g., [W3C.CR-activitystreams-core-20161215]), due to the powerful network effects associated. By its nature, indirect centralization is difficult to avoid in protocol design, and federated protocols are particularly vulnerable to it (see Section4.1). 3.4.5.1). 4.4. Inherited Centralization Most Internet protocols depend on other,'lower-layer'"lower-layer" protocols. The features, deployment, and operation of these dependencies can surface centralization risk intoprotocols operating 'on top'functions and applications build "on top" of them. For example, the network between endpoints can introduce centralization risk to application-layer protocols, because it is necessary for communication and therefore has power over it. A given network might block access to, slow down, or modify the content of various application protocols or specific services for financial, political, operational, or criminal reasons, thereby creating pressure to use other services, which can in turn result incentralization.centralization of them. Inherited centralization risk is only present when users cannot use an alternative means of accessing the desired service. For example, users often have flexibility in choice of Internet access, so they could just'route around'"route around" a network that impacts their chosen service. However, such choices are often not available in the moment, and the Internet's topology means that a'choke point'choke point upstream could still affect their Internet access.Usually,When deployed at scale, encryption can be an effective technique to control many inherited centralization-- both existingrisks. By reducing the number of parties who have access to content of communication, the ability of lower-layer protocols andanticipated --intermediaries at those layers to interfere with or observe isa factorprecluded. Even when they can still prevent communication, the use of encryption makes it more difficult towork around in protocol design, just as anydiscriminate the target from otherconstraint would be. One effective tool for doing sotraffic. Note that the prohibitive effect on inherited centralization isencryption, discussed further in Section 5.2. 3.5.most pronounced when most (if not all) traffic is encrypted -- providing yet more motivation for that goal (see also [RFC7258]). 4.5. Platform Centralization The complement to inherited centralization is platform centralization -- where aprotocolfunction does not directly define a central role, but could facilitate centralization in the applications it supports. For example, HTTP [HTTP] in itself is not considered a centralized protocol; interoperable servers are relatively easy to instantiate, and multiple clients are available. It can be used without central coordination beyond that provided by DNS, as discussed above. However, applications built on top of HTTP (as well as the rest of the 'Web Platform') often exhibit centralization. As such, HTTP is an example of a platform for centralization -- while the protocol itself is not centralized, it does facilitate the creation of centralized services and applications. Like indirect centralization, platform centralization is difficult to completely avoid in protocol design. Because of the layered nature of the Internet, most protocols are designed to allow considerable flexibility in how they are used, often in a way that it becomes attractive to form a dependency on one party's operation. Notably, this can happen even if the protocol does not accommodate intermediation explicitly.4.5. The Limits of Decentralization4.1.Over time, various techniques have been developed to decentralize protocols and applications. While these approaches can be used to create a function which is less centralized or less amenable to some kinds of centralization, they are not adequate to completely avoid centralization on their own. As such, while the use of these techniques is often appropriate and sometimes effective, they are not indicators of whether a protocol is centralized without further analysis. 5.1. Federation isn't Enough A widely known technique foravoidingmanaging centralization in Internet protocols is federation--- that is, designing them in such a way that new instances of any intermediary or otherwise centralized function are relatively easy to create, and they are able to maintain interoperability and connectivity with other instances. For example, SMTP [RFC5321] is the basis of the e-mail suite of protocols, which has two functions that are necessarily centralized: 1. Giving each user a globally unique address, and 2. Routing messages to the user, even when they change network locations or are disconnected for long periods of time. E-mail reuses DNS tomitigatinghelp mitigate the firstrisk (see Section 5.3).risk. To mitigate the second, it defines an intermediary role for routing users' messages, the Message Transfer Agent (MTA). By allowing anyone to deploy a MTA and defining rules for interconnecting them, the protocol's users avoidthe needa requirement for a single, central router. Users can (and often do) choose to delegate that role to someone else, or run their own MTA. However, running your own mail server has become difficult, due to the likelihood of a small MTA being classified as a spam source. Because large MTA operaters are widely known and have greater impact if their operation is affected, they are less likely to be classified as such, thereby indirectly centralizing the protocol's operation (see Section3.3). This illustrates that while federation can be effective at avoiding direct centralization and managing necessary centralization, federated protocols are still vulnerable to indirect centralization, and may exhibit platform centralization.4.3). Another example of a federated Internet protocol is XMPP [RFC6120], supporting'instant messaging'"instant messaging" and similar functionality. Like e-mail, it reuses DNS for naming and requires federation to facilitate rendezvous of users from different systems. While some deployments of XMPP do support truly federated messaging (i.e., a person using service A can interoperably chat with someone using service B), many of the largest do not. Because federation is voluntary, some operators made a decision to capture their users into a single service, rather than provide the benefits of global interoperability. The examples aboveshowillustrate that federation can be a useful technique to avoid direct centralization and manage necessary centralization, but on its own is not sufficient to avoid indirect and platform centralization. If the value provided by a protocol can be captured by a single entity, they may use the protocol as a platform to obtain a 'winner take all' outcome -- a significant risk with many Internet protocols, since network effects often promote such outcomes. Likewise, external factors (such as spam control) might naturally 'tilt the table' towards a few operators of these protocols.4.2.5.2. Multi-Stakeholder Administration is Hard Delegating the administration of a necessarily centralized function (see Section3.2)4.2) to a multi-stakeholder body isan onerous but sometimes necessary wayoccasionally used to mitigatethe undesirableits effects. A multi-stakeholder body is an institution that includes representatives of the different kinds of parties that are affected by the system's operation('stakeholders')("stakeholders") in an attempt to make well-reasoned, broadly agreed-to, and authoritative decisions. The most relevant example of this technique is the administration of the Domain Name System [RFC1035], which as a'single"single source oftruth' requirestruth" exhibits necessary centralization of the namingfunction.function, as well as the operation of the system. To mitigate operational centralization, this task is carried out by multiple root servers that are administered by separate operators -- themselves diverse in geography and a selection of corporate entities, non-profits and government bodies from many jurisdictions and affiliations. Furthermore,those operators arethe name space itself is regulated by ICANN (https://www.icann.org/resources/pages/governance/governance-en), which is defined as a globally multi-stakeholder body with representation fromaend users, governments, operators, and others. Another example of multi-stakeholderism is the standardization of Internet protocols themselves. Because a specification effectively controls the behavior of implementations that are conformant with it, the standardization process can be seen as a single point of control. As a result, Internet standards bodies like the IETF allow open participation and contribution, make decisions in an open and accountable way, have a well-defined process for making (and when necessary, appealing) decisions,and taketaking into account the views of different stakeholder groups [RFC8890]. Yet another example is the administration of the Web's trust model, implemented by Web browsers as relying parties and Certificate Authorities as trust anchors. To assure that all parties meet the operational and security requirements necessary to provide the desired properties, the CA/Browser Forum (https://cabforum.org) was established as an oversight body that involves both of those parties as stakeholders. In each of these examples, setup and ongoing operation of a multi- stakeholder organization is not trivial. This isthea major downside ofsuch anthis approach. Additionally, the legitimacy of such an organization cannot be assumed, and may be difficult to establish and maintain (see, eg, [LEGITIMACY-MULTI]). This concern is especially relevant if the function being coordinated is broad, complex, and/or contentious.4.3.5.3. Blockchains Are Not Magical Increasingly, distributed consensus technologies such as the blockchain are touted as a solution to centralization issues. A complete survey of this rapidly-changing area is beyond the scope of this document, but at a high level, we can generalise about their properties. These techniques attempt to avoid centralization risk by distributing intermediary or otherwise potentially centralized functions to members of a large pool of protocol participants. Verification of proper performance of a function is typically guaranteed using cryptographic techniques (often, an append-only transaction ledger). The assignment of a particular task to a node for handling usually cannot be predicted or controlled.To assure diversitySybil attacks (where enough participants coordinate their activity to affect the protocol's operation) are a major concern for these protocols. Diversity in the pool of participants(thereby preventing Sybil attacks),is encouraged using indirect techniques such as proof-of-work (where each participant has to demonstrate significant consumption of resources) orproof-of-stakeproof-of- stake (where each participant has some other incentive to executecorrectly) are used. As such,correctly). Appropriate use of these techniquespurposefully disallowcan create barriers to directcentralizationandare robust againstinherited centralization.DependingHowever, depending upon the application in question, indirect and platform centralizationmaycan still bepossible, but in general these techniques do not lend themselves to these ends as readily as federated systems do. However,possible. Furthermore, distributed consensus technologies have several potential shortcomings that may make them inappropriate -- or at least difficult to use -- for many Internet applications, because their use conflicts with other important goals: 1. Distributed consensus protocols can have significant implications for privacy. Because activity (such as queries or transactions) are shared with many unknown parties, they have very different privacy properties than traditional client/server protocols. Mitigations (e.g., Private Information Retrieval; see, eg, [PIR]) are still not suitable for broad deployment. 2. Their complexity and'chattiness'"chattiness" typicallyresultsresult in significantly less efficient use of thenetwork.network (often, to several orders of magnitude). When distributed consensus protocols use proof-of-work, energy consumption can become significant (to the point where some jurisdictions have banned its use). 3. Distributed consensus protocols are still not proven to scale to the degree expected of successful Internet protocols. In particular, relying on unknown third parties to deliver functionality can introduce variability in latency, availability, and throughput. This is a marked change for applications with high expectations for these properties (e.g., commercial Web services). 4. By design, distributed consensus protocols diffuse responsibility for a function among several, difficult-to-identify parties. While this may be an effective way to preventmanysome kinds of centralization, it also means that making someone accountable for how the function is performed is impossible, beyond the bounds of the protocol's design. It is also important to recognise that a protocol or an application can use distributed consensus for some functions, but still have centralization risk elsewhere. Even when distributed consensus is used exclusively (which is uncommon, due to the associated costs), some degree of coordination is still necessary -- whether that be through governance of the function itself, creation of shared implementations, or documentation of shared wire protocols. That represents centralization risk, just at a different layer (inherited or platform, depending on the circumstances). These potential shortcomings do not rule out the use of distributed consensus technologies for every use case. They do, however, caution against relying upon these technologies to avoid centralization uncritically.5. Guidelines6. What Should Internet Standards Do? Centralization is driven by powerful forces -- both economic and social -- as well as the network effects that come with Internet scale. Moreover, because permissionless innovation is a core value forProtocol Designers Whilethefollowing recommendationsInternet, and yet much of the centralization seen on the Internet is performed by proprietary platforms that take advantage of this nature, the controls available to standards efforts on their own arenot a complete guide, theyvery limited. Nevertheless, while standards bodies on their own cannot prevent centralization, there are meaningful steps that can be taken to prevent some functions from exhibiting some forms of centralization. There are also valuable contributions that standards efforts can make to other relevant forms of regulation. 6.1. Manage Centralization Risk Where Effective Some types of centralization risk are relatively easy to manage in standards efforts. A directly centralized protocol, were it to be proposed, would be rejected out of hand by the IETF. There is astarting pointgrowning body of knowledge and experience with necessary centralization, and a strong inclination to reuse existing infrastructure where possible. As discussed above, encryption is often a way to manage inherited centralization. All of these responses are appropriate ways foravoiding or mitigatingInternet standards to manage centralization risk. However, precluding indirect and platform centralization are much more difficult in standards efforts. Because we have no "protocol police", it's not possible to demand that someone stop building a proprietary service using a purportedly federated protocol. We also cannot stop someone from building centralized services "on top" of standard protocols without violating architectural goals like permissionless innovation. Therefore, committing significant resources to scrutinizing protocols for hidden or latent centralization risk -- especially for indirect and platform risks -- is unlikely to actually prevent Internet centralization. Almost all existing Internet protocols -- including IP, TCP, HTTP, and DNS -- suffer some form of indirect or platform centralization. Refusing to standardize a newer protocol because it faces similar risks would not be equitable, proportionate, or effective. Centralization risk is sometimes perceived to be in tension with other goals, such as privacy. While there is rarely a pure tradeoff between two abstract goals such as these, when it does occur attention should be paid to how effective architectural regulation (such as a standards effort) is in achieving each goal. In this example, a technical mechanism might be much more effective at improving privacy, whereas centralization might be better controlled by other regulators -- leading to the conclusion that the standards effort should focus on privacy. 6.2. Create Standards to Decentralize Proprietary Functions Standards efforts should focus on creating new specifications for functions that are currently only satisfied by proprietary, centralized protocols.5.1. Allow Intermediation SparinglyFor example, if social networking is thought to be a centralized function, this might mean creating specifications that enable decentralized social networking, perhaps using some or all of the techniques described in Section 5. Keen readers will point out that social networking is effectively centralized despite the existence of such standards (see, e.g., [W3C.CR-activitystreams-core-20161215]), because the IETF and W3C create voluntary standards, not mandatory regulations. However, architecture is not the only form of regulation; legal mechanisms combined with changing norms and the resulting market forces have their own regulatory effects [NEW-CHICAGO]. While for much of its lifetime the Internet has only been subject to limited legal regulation, that period appears to be ending. It is far from certain that a legal mandate for interoperability based upon Internet standards will eventuate, but it is increasingly discussed as a remedy for competition issues (see, e.g., [OECD]). It is also not certain that legally-mandated standards will fully address centralization risks. However, if such specifications are not available from the Internet community, they may be created elsewhere without reference to the Internet's architectural goals. Even absent a legal mandate, changes in norms and the market -- due to increasing knowledge and distrust of centralized functions -- can create demand for such specifications and the corresponding implementations. 6.3. Limit Intermediary Power The introduction of an intermediary role -- i.e., one that performs a function but is not a first party to communication -- adds indirect and platform centralization risk to Internet protocols, because it brings opportunities for control and observation.Even whenAt theprotocol is federated (see Section 4.1) to avoid direct centralization, significant indirect centralization risks exist when intermediation is allowed. However,same time, intermediationcan sometimes addoften adds significant value to a protocol, orenableenables what is considered a necessary function.In such cases, the centralized function SHOULD be as minimal as possible, and expose only the information and pontential for control necessary for that functionWhile (as discussed above) standards efforts have a very limited capability tobe performed. Protocol designers SHOULD consider the likely deployment patterns for those intermediariesprevent or control indirect andhow network effectsplatform centralization, constraints on intermediary functions -- when designed explicitly into a protocol -- andother factors will influence them. Such predictionsprevent at least the most egregious outcomes. In general, this can bedifficult. For example, an intermediary interposedachieved by limiting theend usernature ofa protocol might allow themthe intermediary role todelegate functionsthe most minimal function possible. For example, HTTP allows intermediaries toa partysee the full content of traffic by default, even when theytrust, thereby empowering them.are only performing basic functions such as routing. However,if an intervening network is able to force userswith the introduction of HTTPS and the CONNECT method (see Section 9.3.6 of [HTTP]), combined with market forces todelegateadopt HTTPS, those intermediaries now only have access toa particular intermediary, inherited centralization could result.the appropriate routing information. When carefully considered, intermediation can be a powerful way to enforce functional boundaries -- for example, to reduce the need for users to trust potentially malicious endpoints, as seen in the so- called 'oblivious' protocols currently in development (e.g., [I-D.pauly-dprive-oblivious-doh]) that allow end users to hide their identity from services, while still accessing them. The same advice applies in these cases; the observation and control potential SHOULD be as minimal as possible, while still meeting the design goals of the protocol. See [I-D.thomson-tmi] for more guidance.5.2. Encrypt, Always When deployed at scale, encryption can be an effective technique to reduce many inherited centralization risks. By reducing the number of parties who have access to content of communication, the abilityAnother kind oflower-layer protocols and intermediaries at those layers to interfere with or observeintermediation isprecluded. Even when they can still prevent communication, the use of encryption makes it more difficult to discriminate the target from other traffic. Note that the benefits are most pronouncedcreated whenthe majority (if not all) traffic is encrypted. Asaresult, protocols SHOULD be encrypted by default. See also [RFC7258]. 5.3. Reuse Existing Tools Whennew feature or service is built using aprotocol function has necessary centralization risk and there exists an already-deployed solution with appropriate mitigations, that solution should be reused in favour of inventingstandard as anew one.substrate. For example,if a protocol requires a coordinated, global naming function, reusing the Domain Name System is preferable to establishing amany Web sites offer newsystem, because its centralization risk is knownfunctions like social networking andunderstood (see Section 4.2). 5.4. Accomodate Limited Domains Warily [RFC8799] explores a class of protocolsaggregated news updates thatoperate in 'limited domains' -- that is, they are not intended tocan be'full' Internet protocols with broad applicability, but instead operation withinviewed as aparticular network or other constrained environment. Often, limited-domain protocols address network requirements -- for example, imposing security policy, integrating services or application functions intoproprietary intermediary function on thenetwork, or differentiating different classesInternet. These intermediaries may not be a format part ofnetwork services. Such network-centric requirements can introducetheriskunderlying protocol (in the case ofinherited centralization whenWeb sites, HTTP), but theyallow the network tocan still interposeitself and its requirements between the endpoints ofagiven communication. These risks can be partially mitigated by requiring such functions to be optedthird party into communication. This kind of intermediation is more effectively dealt with byone or both endpoints (once both the network andstandardising theendpoint are authenticated to each other), so thatfunction, rather than restricting thenetwork is acting on their behalf. However, this approach is still vulnerable to indirect centralization, becausecapability of theendpoints may be pressured to acquiesce to a network's demands. 5.5. Target Extensibilityprotocol; see Section 6.2. 6.4. Avoid Over-Extensibility An important feature of Internet protocols is their ability to evolve over time, so that they can meet new requirements and adapt to new conditions without requiring a'flag day'"flag day" toconvert users.upgrade implementations. Typically, protocol evolution is accommodated through extension mechanisms, where optional features can be added over time in an interoperable fashion.ProtocolHowever, protocol extensions canbringalso increase the risk of platform centralization if a powerful entity can change the target for meaningful interoperability by adding proprietary extensions to a standard protocol. This is especially true when the core standard does not itself provide sufficient utilityto be appealingon its own. For example, the SOAP protocol [SOAP] was an extremely flexible framework, allowing vendors to attempt to capture the market by requiring use of their preferred extensions to interoperate.This kind of centralization risk canTherefore, standards efforts should bemitigated in a few ways. First and foremost, Internet protocols SHOULD providefocused on providing concrete utility to the majority of their users aspublished; 'framework' standards facilitate this kind of risk.published, rather than being a "framework" where interoperability is not immediately available. Furthermore, Internet protocolsSHOULD NOTshould not make every aspect of their operation extensible; extension pointsSHOULDshould be reasoned, appropriate boundaries for flexibility and control. When extension points are defined, theySHOULD NOTshould not allow an extension to declare itself to be mandatory-to-interoperate, as that pattern invites abuse.5.6. Acknowledge the Limits of Protocol Design Centralization cannot be prevented through protocol design and standardization efforts alone. While the guidelines above may forestall some types of centralization, indirect and platform centralization are often outside the control of a protocol's architecture. Thankfully, architecture is not the only form of regulation; legal mechanisms combined with changing norms and the resulting market forces have their own regulatory effects. [NEW-CHICAGO] In this view, the job of a protocol designer is to avoid centralization with architecture where possible, but where it is not, to create affordances for these other regulating forces. 6.7. Security Considerations This document does not have direct security impact on Internet protocols. However, failure to consider centralization risks might result in a myriad of security issues.7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/rfc/rfc2119>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. 7.2.8. Informative References [ACCESS] Vestager, M., "Defending Competition in a Digitised World, Address at the European Consumer and Competition Day", April 2019, <https://wayback.archive- it.org/12090/20191129202059/https://ec.europa.eu/ commission/commissioners/2014-2019/vestager/announcements/ defending-competition-digitised-world_en>. [BCP95] Alvestrand, H., "A Mission Statement for the IETF", BCP 95, RFC 3935, October 2004. <https://www.rfc-editor.org/info/bcp95> [HTTP] Fielding, R. T., Nottingham, M., and J. Reschke, "HTTP Semantics", Work in Progress, Internet-Draft, draft-ietf- httpbis-semantics-19, 12 September 2021, <https://datatracker.ietf.org/doc/html/draft-ietf-httpbis- semantics-19>. [I-D.pauly-dprive-oblivious-doh] Kinnear, E., McManus, P., Pauly, T., Verma, T., and C. A. Wood, "Oblivious DNS Over HTTPS", Work in Progress, Internet-Draft,draft-pauly-dprive-oblivious-doh-08, 3 December 2021,draft-pauly-dprive-oblivious-doh-09, 5 January 2022, <https://datatracker.ietf.org/doc/html/draft-pauly-dprive-oblivious-doh-08>.draft-pauly-dprive-oblivious-doh-09>. [I-D.thomson-tmi] Thomson, M., "Principles for the Involvement of Intermediaries in Internet Protocols", Work in Progress, Internet-Draft, draft-thomson-tmi-02, 6 July 2021, <https://datatracker.ietf.org/doc/html/draft-thomson-tmi- 02>. [INTERMEDIARY-INFLUENCE] Judge, K., "Intermediary Influence", 2014, <https://scholarship.law.columbia.edu/ faculty_scholarship/1856>. [LEGITIMACY-MULTI] Palladino, N. and N. Santaniello, "Legitimacy, Power, and Inequalities in the Multistakeholder Internet Governance", 2020. [MOXIE] Marlinspike, M., "Reflections: The ecosystem is moving", May 2016, <https://signal.org/blog/the-ecosystem-is-moving/>. [NEW-CHICAGO] Lessig, L., "The New Chicago School", June 1998. [OECD] OECD, "Data portability, interoperability and digital platform competition", June 2021, <https://www.oecd.org/daf/competition/data-portability- interoperability-and-digital-platform-competition- 2021.pdf>. [PIR] Olumofin, F. and I. Goldberg, "Revisiting the Computational Practicality of Private Information Retrieval", 2010. [POLYCENTRIC] Aligia, P.D. and V. Tarko, "Polycentricity: From Polanyi to Ostrom, and Beyond", April 2012. [RAND] Baran, P., "On Distributed Communications: Introduction to Distributed Communications Networks", 1964, <https://www.rand.org/pubs/research_memoranda/ RM3420.html>. [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987, <https://www.rfc-editor.org/rfc/rfc1035>. [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, <https://www.rfc-editor.org/rfc/rfc4271>. [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, DOI 10.17487/RFC5321, October 2008, <https://www.rfc-editor.org/rfc/rfc5321>. [RFC6120] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Core", RFC 6120, DOI 10.17487/RFC6120, March 2011, <https://www.rfc-editor.org/rfc/rfc6120>. [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May 2014, <https://www.rfc-editor.org/rfc/rfc7258>.[RFC8799] Carpenter, B. and B. Liu, "Limited Domains and Internet Protocols",[RFC791] Postel, J., "Internet Protocol", STD 5, RFC8799,791, DOI10.17487/RFC8799, July 2020, <https://www.rfc-editor.org/rfc/rfc8799>.10.17487/RFC0791, September 1981, <https://www.rfc-editor.org/rfc/rfc791>. [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, DOI 10.17487/RFC0793, September 1981, <https://www.rfc-editor.org/rfc/rfc793>. [RFC8890] Nottingham, M., "The Internet is for End Users", RFC 8890, DOI 10.17487/RFC8890, August 2020, <https://www.rfc-editor.org/rfc/rfc8890>. [SCALE-FREE] Albert, R., "Emergence of Scaling in Random Networks", October 1999, <https://barabasi.com/f/67.pdf>. [SOAP] Mitra, N. and Y. Lafon, "SOAP Version 1.2 Part 0: Primer (Second Edition)", World Wide Web Consortium Recommendation REC-soap12-part0-20070427, 27 April 2007, <https://www.w3.org/TR/2007/REC-soap12-part0-20070427>. [TECH-SUCCESS-FACTORS] Kende, M., Kvalbein, A., Allford, J., and D. Abecassis, "Study on the Internet's Technical Success Factors", December 2021, <https://blog.apnic.net/wp- content/uploads/2021/12/MKGRA669-Report-for-APNIC-LACNIC- V3.pdf>. [W3C.CR-activitystreams-core-20161215] Snell, J. and E. Prodromou, "Activity Streams 2.0", World Wide Web Consortium CR CR-activitystreams-core-20161215, 15 December 2016, <https://www.w3.org/TR/2016/CR- activitystreams-core-20161215>. [WEAPONIZED-INTERDEPENDENCE] Farrell, H. and A.L. Newman, "Weaponized Interdependence: How Global Economic Networks Shape State Coercion", 2019, <https://doi.org/10.1162/ISEC_a_00351>. Appendix A. Acknowledgements This document benefits from discussions with Brian Trammell during our shared time on the Internet Architecture Board. Author's Address Mark Nottingham Prahran Australia Email: mnot@mnot.net URI: https://www.mnot.net/