What is Append-only log Bitcoin – For Anything Its Applied
Append-only log is a data structure used to write new data. When the new data is written, then the data will be stored forever. Each piece of data is written into the log before and after it. Preparation of a hash pointer, not on the block timestamp. Timestamp block has a lower time value when it is listed.
It says the value is lower because miners may not show the actual timestamp. The point here is that the miners’ timer may still not be synchronized, and this is a common phenomenon. So, for example, if a timestamp block emerges with a time difference of approximately one hour, then another miner may reject the block. We can relay the timestamp to the right. That’s why this property is so useful to use.
Append-only logs can be used to create a Bitcoin timestamp system. If we want to increase the value of x at a certain time T, we may not actually show time x on T. Rather we only show x when we can prove it. It could be, after T, and if we already know T, we can still know the time after T too.
After we make the proof, we certainly want to make the proof become permanent. In this case, we can use hash function to overcome this.
The idea is to publish the hash H (r | x) at time T, then look at the next few points so we can show r and x. Everyone can look at the Append-only log and convince themselves that we should know x at the same time when publishing H (r | x). That’s because there is no more possible way to generate that data.
We can apply this timestamp to some extent. For example, if we want to prove a patent document. This can be done by publishing the hash of the document as we begin to think about the discovery, without having to show others the idea behind it.
Furthermore, we can publish original documents and information so that others can look back on the timepiece, and we must also know in advance when we first publish the document.
In addition, it can also prove that we have sent a message to others, the recipient of the message has also actually received the message. For example, Rita wants to employ Rudi in programming. Rita’s employment contract to Rudi was marked by a timepiece. Rudi wants to be sure that if the work is completed, it can be proven.
In order to do so, the two sides can agree on each other to publish the hash of Rudi’s work, and be encouraged by both. If there is another party trying to cheat on the next hash, then the other party will be able to prove that it is not true. By showing the hash input.
Many other interesting things that can be built with just a timestamp. There are mostly digital signature signature schemes using only hash functions and append-only logs. It does not require a variety of complicated and heavy cryptography that is commonly used in digital public key signatures.
Attacks On Proofs – of – Clairvoyance
Clairvoyance is the ability to predict the future. One thing we can not do with timestamp handling is as a proof of clairvoyance. Although it would be pretty good if it could be used.
This may seem quite possible. Starting from the idea of being able to publish a description of events that will occur. For example, at a sports event, or predictions of election results.Next is by disclosing the information that has been predicted earlier.
Ever happened in 2014, at the final of the World Cup match. There is someone who uses the method to prove that FIFA, has made a score setting. After the game ended, a twitter account gained great attention during the game. The timer even shows up before the match.
One example of the method used is when Germany will win the game in extra time. In tweet twitter account, mention that Mario Gotze will score goals. The twitter account seems to be proof that the owner of the account can show the results of the match in the future.In fact, the twitter account is always predicting the results before the game takes place.
All the players involved in the game, there is a tweet that mentions who will score goals.Before the game ends, some incorrect predictions tweet deleted, and leaving some correct predictions tweet result only.
The basic attack can also be done against the handling of the timestamp system. You can display a number of possible results, and only reveal just the right results. It means that, if you really have the ability to predict the future and want to prove it, then you should also be able to prove that the timestamp shows a more specific prediction, rather than a diverse prediction.
If you publish hash-based, this is hard to do. Because in Bitcoin, to handle the timestamp system can not determine a person’s identity. If you do not disclose it, it is easy to publish a large number of predictions that are not easy to trace.
Timestamp Security With Old Way
There is a simple way that can be done to secure the timestamp. The trick is to publish the data hash. Simple ways that we might commonly know for example in a newspaper, or other media that is widely disseminated publicly, by buying advertising space.
In a newspaper, or other media, certainly has a timepiece on every issue. In this way, you can know the timer of the data on the date it was published.
Security timestamp In Bitcoin
Then how can Bitcoin secure the timestamp? If we want to replace the timestamp security role as in a newspaper, then where will we put the hash? Inside Bitcoin, of course there are two possibilities to put the hash. That is on a transaction, or directly on a block.
The most feasible and easier way is to put the hash on the transaction. Laying hash on an expense transaction from the public key, by directly sending the hash of the data. The process of “burn” coins, will become an unspendable transaction, and become lost … if you do not know the private key that refers to the address. Costs required to burn coins only with a small enough amount in satoshi unit.
Although this is considered a fairly simple approach, but for the process of burning coins is regarded as a loss. In this case, there is a big problem. That is because miners have no way of knowing the output of “ unspendable “ transactions . In order for these unspenabletransactions to be traced, the community of Bitcoin community began to think a lot in order to do so.
Continuing then there is a more sophisticated approach that can be done. This approach is called CommitCoin . Approach using CommitCoin , is to encode data into private key.
We certainly remember that ECDSA is the best and most important source of randomisation. So as to minimize the level of commonality when generating a key. That said, with ECDSA, randomly generating the key will produce the same key small enough, or almost difficult.
A good random source, of course, becomes crucial. Provides a higher level of security. Quite different if it turns out the source of randomness is bad, then the result is likely to become insecure.
CommitCoin exploits this property. By generating a new private key that also encodes the data into it. Then generate the appropriate public key as well. If you have finished generate the corresponding public key, then the transaction delivery can be done. Everyone can see in the block chain for the private key computing that contains the data, using two digital signatures.
So with CommitCoin, try to avoid the process of “burn” coins. In addition, miners can also track such unspendable transactions. But of course, this way is more complicated.
In 2014, the more widely used timestamp is to use OP_RETURN transactions. In this OP_RETURN transaction, will result in unspendable output.
In this OP_RETURN, it will quickly generate an error, so the script can not run properly, and the attached data will also be ignored.
Use of OP_RETURN can also be used in conjunction with a proof of burn. As well as to encode arbitrary data. Then in 2015, OP_RETURN allows 80 bytes of data, which is more than enough for an output hash function (32 bytes for SHA 256).
OP_RETURN <H (data)>
The use of this method is done to avoid the increasing number of unspendable transaction outputs. Then set a provision, the miners will cut OP_RETURN output. At that time, the cost required for the unspendable transaction was as great as a transaction in general.
Throughout 2014, the cost of a single deal is less than one cent. In the same year, there have been various websites providing services to be able to transact with OP_RETURN.
Though indeed one can write arbitrary data into Blockchain, but often many people misuse the feature. For example in most countries, some are illegally used to distribute some prohibited content. Like content containing child pornography, and can be severely punished for this.
There are also those who try to abuse it with content that harasses and disrupts the Bitcoin community. For example, it contains adult link content entered into Blockchain.
One way to prevent this abuse is to simply use Pay-to-Script-Hash. Although this use becomes quite expensive, but it also can not prevent it directly. However, fortunately the application of applicable law is not an algorithm.
So then limitations limit the size of inclusion of arbitrary data on transactions inside Bitcoin.For data in the form of images, although already small, can not be written directly into Blockchain. The image must be stored on an external host. Next only the links are then written into the block chain.
Besides can be used to write arbitrary data into Bitcoin, it can also to build a new currency system above Bitcoin. The process of building the new currency system can be done even without having to develop a new consensus mechanism.
If it is used, then Bitcoin is only used as append-only log only. Then write all the data needed for the new digital currency system into the blockchain. The new currency above Bitcoin, called Overlay Currencies . So later, Bitcoin will serve as the core substance, and this overlay currency is written into a Bloockchain using unspendable transaction output.
Because miners can not know and care about what data will be written into the block chain, in this unspendable transaction, the miner will not actually validate it.
Of course, to validate the new currency transactions, a new, more complicated logic must be employed, allowing clients to participate while sending and receiving the new currency.
For example, to be able to minimize the occurrence of double spend . Miners in the new currency built on Bitcoin is quite difficult to resist double spend transactions. Each user must also be able to see the history of transactions that have been recorded inside Blockchain. So if there is a transaction in this new currency that tries to double spend, then the second transaction should be rejected and ignored. Because of that also, in overlay currencies there is no SPV node.
There is an overlay currency that is quite prominent. Overlay currencies are called Counterparty . All these Counterparty transactions are written into Blockchain Bitcoin. The potential for developing a new currency above Bitcoin is quite interesting. Because the development of the new currency can be done without having to create a system with a new consensus.
In addition, we can also encourage miners to contribute to the new currency system. And developers can also add new features without having to change Bitcoin. But of course because Bitcoin functions as a core entity in the new currency, then the new system also depends on Bitcoin.
The dependence is for example on the terms of transaction costs that must be issued.Because of that dependence, it is considered to be less efficient to develop a new currency.That’s because the overlay currency node will certainly process so much data. While Bitcoin node can not filter the transaction.