Blockchain and HTTP/S

This post originally appeared on ZeMing M. Gao’s website, and we republished with permission from the author. Read the full piece here.

The Hypertext Transfer Protocol (HTTP) and its encrypted extension Hypertext Transfer Protocol Secure (HTTPS), collectively HTTP/S, is an application layer protocol in the Internet Protocol (IP) suite which is the base protocol layer of the Internet. More precisely, it is a linking layer placed between the top application layer and the base protocol layer.

HTTP/S is the foundation of data communication for the World Wide Web. HTTP/S is programmed using HTML (HyperText Markup Language), which has codes to express various HTML elements.

What makes HTML powerful is its ability to use various specified HTML elements to link resources, both internal and external. It is the linking mechanism that forms the interconnected web content1.

Essentially, the Internet runs on HTTP/S which in turn runs on TCP/IP.

Blockchain and Internet

Blockchain can be used to secure all contents used in HTML for HTTP/S. Any file can be secured by storing a hash of the file on the blockchain, such that the authenticity of the file can be verified when the file is used.

Just doing the above, however, is merely using the blockchain as an add-on to HTTP/S.

Alternatively, a special browser can be built to access data on the Bitcoin blockchain as if the blockchain is some kind of a special ‘Internet’. But this is of limited use, and essentially separates the blockchain from the real Internet. One could theoretically postulate that the real Internet can gradually move over to blockchain, but that is not going to happen anytime soon, if ever at all.

What is potentially much more powerful is to integrate blockchain with the Internet at deeper levels.

The deepest level of integration is that of blockchain and TCP/IP, which is a different and long-term development objective. See The New Internet & Blockchain.

But what is already at hand is the integration of blockchain with the Internet at HTTP/S level.

The integration of blockchain and HTTP/S

A preferred integration should require no changes in the TCP/IP protocol nor the browsers. The current Internet devices and web browsers should just work as they are.

An example:

OrdFS Server: This project provides an ExpressJS server to host your website from Ordinal tokens on BTC and BSV blockchain.

An OrdFS server can be an instanced on cloud computing services such as DigitalOcean. See instructions here.

An OrdFS server is a gateway that accesses the BTC and BSV blockchains. It allows you to directly reference ordinal inscriptions as HTML elements.

Once you have an OrdFS server running, you can point your domain to the server by creating an A or CNAME record in your domain DNS settings.

You then set a TXT record on your domain to point to an ordinal:

TXT=’ordfs=inscriptionId’
hostname=’_ordfs.myhostname.com’
Where inscriptionId is txid_vout on BSV, or {txid}i{vin} on BTC.

Note, creating a TXT record creates an HTML link to an ordinal description, which now serves as the homepage of the domain.

Specifically, a webpage is created to have an HTML element <iframe src=”URL of the ordinal inscription on the OrdFS server”> to form this link.

The browser with the domain name entered in the address bar is first directed by the DNS nameserver to OrdFS server, which then identifies the blockchain transaction (e.g., an ordinal ID) that has the web information. The OrdFS server then queries a bitcoin node for the web information contained in the transaction. After receiving the requested web information from the Bitcoin node, the OrdFS server parses the web content from the web information and serves it to the browser.

The web content is contained in the web server information the same as a traditional website including all its HTML codes, CSS stylesheets etc. Files are organized using a root directory and subdirectories which are all inscripted on recursive ordinals which are linked to each other. Other than the recursive ordinals themselves, nothing structurally new is necessary.

Why is this useful and important?

The above set up has the following important characteristics:

(1) No change to the browser is necessary.

(2) File structures can stay the same as they are now. They can be optimized further, but they don’t have to be, just to make it work.

(3) The link addresses need no special formatting. They are the Sha256 hashes automatically generated from the content. The generation and verification of the hashes are the standard functions of the blockchain, and require no special implementation.

(4) The OrdFS server, although playing a role analogous to a traditional web server, does not need to contain the actual web content except for the necessary links to the web contents that are stored in tokens which are either stored on-chain or linked to the blockchain (in the case of ordinal tokens, stored on-chain). Therefore, the blockchain itself is effectively serving as a universal Web server, while the OrdFS server handles links and works as an interface between the blockchain and the traditional web browser.

The above characteristics (1)-(3) mean that there is no great technical barrier for adoption if people want to move the Web to blockchain. But question is, why would people want to do this?

The answer lies in the above (4). A universal Web server based on blockchain has enormous implications.

Benefits of the blockchain and HTTP/S integration

The entire global data may shift to a new paradigm that is far more secure, reliable, transparent, efficient, and more importantly, creation-driven, and ownership-driven. This will start to address some of the root corruptive causes of the current Internet.

Some of the benefits include:

(1) the referenced content is always easily verifiable;

(2) content is always preserved (because each piece of the content is managed and referenced on the blockchain independently, they are unlikely to disappear just because the website, or a hosting service, has collectively died or disappeared);

(3) files that are stored on or referenced to the blockchain can be repetitively used without creating many copies and duplicates, because the blockchain works collectively as a universal server that guarantees the files are immutable and authentic;

(4) content is easily monetized with great granularity and modularity.

The current Internet and Web servers do not have these benefits. For example, traditional web servers simply cannot do the above (3)-(4) at all, regardless of the expenses. A traditional web server must store and serve a separate copy of most files for each website. This results in a high degree of duplicity of files over the Internet. When external resources are linked, there is always a question of authorization and authenticity.

Lacking Single Source of Truth (SSoT), the utilization of the web content is hard to automate, hard to authorize and verify, hard to monetize, and hard to modularize.

In contrast, a web server for interfacing with blockchain content may contain mostly just the links to the files on the blockchain, which functions as the real web server, a global one for that matter, without a traditional hosting service.

It is the unique strength of blockchain to provide Universal Single Source of Truth (SSoT), easy automation, monetization and modularization, to enhance the efficiency and the overall utilization of the web content.

The uniqueness of Bitcoin hashing Sha256

It is important to realize that the hashes created using Bitcoin hashing Sha256 algorithm are guaranteed to be unique due to the extremely low collision rate of Sha256. It means that there is no need of any central management of Bitcoin hash-based URLs to avoid address collisions. They simply won’t happen in a million years. Even if a mathematical collision happens (which has an extremely low probability), the colliding incidences would be separated so far from each other in terms of not only time but also the user space and transaction context that there is no chance for them to actually collide in a practical sense.

Further, such URLs will not only be unique on the BSV blockchain regardless of how diverse the users who create them are and how randomly and freely they create such hashes, but also be unique if the URLs are coming from different blockchains.

The implication of this is a different kind of Internet.

Unification and parallelism

The integration of blockchain and HTTP/S may be implemented separately, with or without the integration of blockchain and TCP/IP.

The integration of blockchain at HTTP/S has room for parallelism and pluralism for multiple blockchain, whether there is a unifying blockchain at the TCP/IP level or not.

If BSV becomes the unifying blockchain that is integrated with TCP/IP at the base Internet layer, everything including both the content and value transfer (payment) can be handled on the BSV blockchain. But this does not mean that people cannot use other blockchains if they want to.

In principle, the content sources can be provided from any blockchain, as long as an interface server is built and the blockchain is able to handle the requests of the content sources that are hashed and optionally also stored on the blockchain. A blockchain can be used to the extent its scalability allows, and may serve its unique purpose in its own niche market, all in parallel to other blockchains.

However, to unify the Internet at the TCP/IP level, the New Internet as a whole must rely on a public blockchain like BSV that has unbounded scalability. See One blockchain as the base layer of IoV.

Does not have to be Ordinals

Currently, a blockchain-based website as described above can only be done with contents inscripted as ordinal tokens on BTC or BSV. But that is only because:

(1) recursive ordinals are able to form links between inscriptions of different ordinals; and

(2) someone created a new kind of Web server called OrdFS server specifically for such ordinals to be used for creating webpages.

It is important to note that the critical reason why this works is because the inscriptions on ordinals are recursive, where it has references to each part of the website, for example, icon, index.html, CSS, and JavaScript.

Tokenization is a logical way to organize and manage such information. It is not surprising such an application happened on ordinals first.

In principle, however, nothing prevents someone from creating a more generic server that serves any content that has an immutable hash stored on the scalable BSV blockchain.

Therefore, interesting future new developments are expected.

A large-scale use of Ordinals will validate both the power and necessity of BSV

The ordinals have seen explosive growth within a short period of time since its creation in January 2023. Over 10 million inscriptions have been made in the last six months.

That may sound like a lot for meme tokens. But it is nothing if these inscriptions are used for constructing the Web. Even 1 million inscriptions a day is nothing.

As of 2020, the amount of data on the internet was estimated to be 64 zetabytes (64 trillion gigabytes). The amount of data generated each day is expected to reach 463 exabytes globally by 2025. It is estimated that over 5 trillion gigabytes of data is transferred over the internet every day2. By the end of 2025, the total amount of data on the Internet may be around 100 zetabytes, or 10^23 bytes.

If a functional web link contains an average of 1 kB data (a reasonable granularity for text data), we need a total of 10^20 web links. But with a mere 1 million inscriptions a day, it would take 300 billion years to create all those links, not even counting the future growth of the web.

Even if a functional web link contains an average of 1 MB information (a reasonable granularity for audio and simple graphics), it would still take 300 million years. Even if a functional web link contains an average of 1 GB information (a reasonable granularity for video and multimedia data), it would still take 300 thousand years.

1 million inscriptions a day clearly isn’t enough. But at 1 million inscriptions a day, it would be already pushing the upper limit of BTC blockchain’s hard ceiling.

Besides, at that point, ordinals would have already taken over the BTC blockchain, and killed BTC’s digital gold narrative, without which BTC would find itself competing in the actual ‘labor’ market doing real work, which of course it is not able to and not designed to do.

It is clear that if there is the slightest smidge of seriousness in doing real data on the real Web rather than mere digital artifacts for their own sake, a blockchain that has unbounded scalability is the only way to go.

Ordinals for the Web is simply a straight contradiction to BTC.

The Ordinal token was initially developed on BTC as an exploitation of a loophole of BTC protocol. It was an immediate success as well as an instant controversy. The idea of tokenization data inscription on-chain, or any smart contract in general, is foreign to BTC, and in fact is regarded as an aberration or even a threat to the BTC narrative.

But soon the Ordinals found a home on BSV blockchain, where the scalability is unbounded and fees are hundreds of thousand times lower than BTC’s. Before the recursive ordinals, the ordinal tokens had no utility and were traded on a purely speculative scheme. But the recursive ordinals show that they may have utility and may develop more in the future.

Once they do, Ordinals will all move to BSV from BTC, because utility always gravitates toward better scalability, higher efficiency and lower cost.

Not only that, recursive ordinals might finally reveal the truth about Bitcoin: BTC is a myth sustained because of, not in spite of, the nonexistence of utility.

Once the real utility emerges, it will show the true nature of BTC, that it was designed to protect a digital gold narrative and a subsequent layer-2 service industry which was unnecessary in the first place.

It will also show the true nature of the real Bitcoin, that it is designed for utility, from payment to tokenization and to integration with the Internet. The integration can happen at different levels, from the top application layer, to the HTTP/S linking layer, all the way to the TCP/IP base layer.

Footnotes:

[1] Each HTML element is defined by a pair of tags, indicating a unique type of content. Many HTML elements are about how the internal text content within the webpage is formatted and presented. But what makes HTML powerful is its ability to link to resources, both internal and external.

The simplest link is a hyperlink indicated by a pair of tags <a> and an attribute href=”url”. This simply links to another URL. When such a link is clicked, the browser leaves the present page and visits the linked URL.

HTML has another important class of elements that each incorporates a media source into the current webpage. The media is presented as an integral part of the webpage to the viewer (rather than being presented separately in a different webpage), even if the source is external.

Each element in this category represents a type of media, as indicated by using a special pair of media tags, along with a src attribute (src=”url”). The tag specifies the media type, while the src attribute specifies the universal resource location (URL) of the media. It instructs the browser where on the server it should look for the media (such as an image) that’s to be incorporated into the current page and presented to the user. This may be a file in the same directory, a file somewhere else on the same server, or a file stored on another server. The src attribute is used with the following HTML tags: <audio>, <embed>, <iframe>, <img>, <script>, <source>, <input>, and <track>.

[2] How big is the internet, and how do we measure it? – Health IT

CoinGeek Roundtable: How Bitcoin Can Fix the Internet

YouTube video

New to blockchain? Check out CoinGeek’s Blockchain for Beginners section, the ultimate resource guide to learn more about blockchain technology.

Source: https://coingeek.com/blockchain-and-http-s/