Web Page Blockchain
This is a little something I wrote for a certificate in Blockchain last fall: Cert
Let’s consider a means by which blockchains can be used to store and deliver web pages.
As a first attempt at the concept let’s consider keeping track of static components, which might be requested over an extended period of time in which a page is used. But, let’s think about monitoring such things as animation and page state at some other time.
Motivations and use case/niche
Most web pages comprise pieces of web pages from many sources. Sometimes these pieces are for sale and the final page composition will have a specific dollar amount. Other times, the pieces are from free repositories, but some information associated with the pieces may improve the market value for the source. In any case, the pieces are selected as ways of enhancing the value of the page. These pieces are in fact digital patterns that may be sourced. So, their value can be measured by the piece and not by the operational effect on the page. Operational effect and other phenomena that improve a page value are interesting to consider, but how they may be measured is certainly beyond the scope of this discussion.
Web page parts are often called assets.
Blockchains are required to guarantee the persistence of items on a ledger. So, if web page parts could be stored on a blockchain, then published web pages would not have to fall apart. The reference to the asset would only have to request it from nodes known to the browser. If one node is down, the chain will send it through the best node available for making a delivery. If the chain is sharded, the browser would not have to know, it just knows that it will have peers to rely on to get the parts. Certainly, there is a BitTorrent or MuleSoft flavor to this type of delivery. However, the browser retrieves assets which are always components and not one large file.
We can use the idea of a page value being the sum of the value of its components. If the web page needs an update, blockchain management software should manage a transaction that moves value (coins perhaps) from one version to a newer one. By taking value from an old version and moving it forward, the total value of a page that is growing old will decrease if updates are not made to it. On the other hand, asset updates that break web pages outright may be decreased in value, and the value may be returned to an old version or lost to the system for spending on maintenance. So, the idea is that asset makers cannot force updates on composite pages, but pages that attempt to update may make correct changes and take caution as to which version they move to.
So, we have some concepts to consider for assigning a value to web pages. On the other hand, web pages that license or help advertise assets should be able to rely on the blockchain record to deliver payment back to the asset creators. If the imagined chain is not 100% asset creation transactions, we might imagine that some percentage of them are. An asset creation transaction would be a kind of transaction that identifies a creator (address), previous versions (source transactions), and the current value of the version as part of a total value of the asset (the sum of all version values).
So, if a page generates revenue or some other shareable intangible. then an asset may be traced to deposit very small token amounts to the asset owner. Likely, the amount sent to the address of a transaction for asset placement should be a part of the amount sent from the value/revenue generating use for the asset. Perhaps it makes sense to multiply the amount sent by the value of an asset creation transaction divided by the sum total of asset creations transactions which led to the particular asset version. Asset updates resulting in new versions would receive smaller payment, but would still reward creators until the value of the asset creation transaction becomes zero. There would also be asset replacement, which would block asset propagation.
So, now we have some vague ideas about storing assets and paying those who created them by making a mechanism that works like a usage fee. The payment is also distributed to all creators of the asset as the asset moves forward by versions.
In the end, assets are just assets. If the platform of delivery is something other than web pages, the assets stored might be different. But, the same mechanisms could be used to ensure they are available and veridical. For example, the assets could be STL files for 3D printing.
So, my magic word genie was working hard a name for a consensus algorithm. And, it came up with “Proof of Proof Read”. (HA!HA!)
Now, the terrible situation is to have to define what that might mean in an asset tracking system and why in the various renditions of life referred to in various blasphemous epithets does it have to do with blockchain.
Maybe Proof of Proof Read requires that a set of tests and evaluations have to be done on the content of a composite asset. In the limiting case, an atomic asset would at least be evaluated as a single entity available for use. So, PoPR (sound like my current financial state), can begin with some rating of likeability — this would be an appraisal. Then, if it is a program module, it can be unit tested. The composite elements can undergo integration testing to some degree. Finally, content can be scanned for various features considered either good or bad by the community using the chain. For instance, there can be spell checking, porn filtering, profanity filtering, counterfeit, and plagiarism checking.
Let’s see this as a list:
* unit testing
* integration testing
* porn filter
* profanity filter
Our mining nodes can be called appraisers. They will propose the value of the newly assembled asset. Each appraiser should be required to outsource the evaluations in the list. The evaluations in the list don’t necessarily have to come from distributed consensus, but we might give more approval to the appraiser if he requires values to be produced by a secondary consensus tier using PBFT. (One benefit being that all appraisers will receive the same value for components of their evaluation.) We can select the leader node from a pool that finishes appraisal in some randomly chosen time frame no smaller than required to get a sizeable group of potential appraisers. From the group, we may use a weighted random selection of the leader, where the weight is more like an importance weight. But, here, the weight will be determined by the past history of an evaluator. If an appraiser frequently misjudges the amount of use that the browsing community will give to the asset, then his probability of selection will go down and others who judge well will get better odds of selection.
Perhaps the weight of an appraiser will also be the result of a consensus performed on usage statistics which all nodes must have, or which all nodes in a shard may have. If an evaluator experiences a decline in his score he may propose to the peers that he changes his value calculation by changing his services, resetting parameters, etc. Once it is agreed that an audit of the appraiser, he may be assigned a higher score, leading to a higher probability of selection.
We might choose to incentivize this process by subtracting a small part of licensing fees and giving them to the appraiser who wins in a consensus round.
Does it support threshold signatures?
Is it modular and thus especially suited for enterprise integration? It can be modular. We can imagine sidechains or even shards that use one suite of test software while other shards use different ones. The end result still has to be a consensus about the deliverability of the page. Also, the process by which value is assigned to an asset may be modular. We might call something a value judge oracle or an appraiser. This appraiser may be different for different types of assets, and different ones may be used or different versions of an asset. The assignment of value is a free parameter in the consensus. If the value is wrong, the asset either may gain more use than apparent from the appraised value or the asset may devalue by falling into desuetude. So, market forces alter the original asset value.
Potential vulnerabilities and game theoretical attacks. DoS attacks that are related to accessing pages and assets may not be a concern of the version tracking blockchain. Instead, these are the concerns of traditional web servers. However, a concern is that someone might attempt to change an asset value by creating false uses or by siphoning request and delivering counterfeits. So, web browsers (or edge servers) with accepted addresses will have to manage a hash package for media and propagate uses for collections of assets. Composites have to view more than one asset. It may be possible to identify that if one asset value is greatly increasing or decreasing, then its shared composited elements must also exhibit the same increase or decrease in use.
The biggest problem that may occur is that some gang of peers may attempt to always resist the update of a page or may always devalue a particular asset. This is a particular concern that arises in politicals and in situations that require panels of judges.
The web is already very sharded in some sense. Assets are all over the place. Anybody who wants to set up a web server can store assets. It has even gotten cheap. However, not everyone can keep their servers up. So, a blockchain in which storage replication is encouraged might be a good place to keep the assets that must be delivered, which the blockchain suggested here merely keeps track of versions and attempts to keep pages working.
So, this blockchain concept should implement sharding and encourage state channels.
The target user base is the masses.
Are there KYC/AML concerns?
This blockchain concept does not have a money laundering concerns. If someone is obfuscating information, then it is no different than might be used in a regular page. Further, this blockchain concept is not about protecting identity. This is more about shining a light on asset creators who add value to composite pages that people use. So, the benefit of participation is to become known. One could imagine publishing a scoreboard for asset creators.