Ethernet: how to implement the blockchain Fang ‘password protection?
With the development of universal network connection in most of the world’s city, global information sharing costs more and more cheap. The technical level such as bitcoin movement has emerged at the same time, it has to share with the world and is completely free to use, through a network may use a design to the center of the value transfer system default is force, mechanism, and formula of voluntary social contract. This system for encryption and security, can be said to be a very special case because it is based on transaction state machine. The domain name (Namecoin) as a further development of RMB currency, although it is a very simple, but its system realizes this technology from the original “money application” to other applications.
Ethernet is a square to try to establish a general technology project; these technologies may all be established based on the concept of transaction state machine. And ready to go to the workshop Ethernet system provides a compact integrated end-to-end to the terminal developers, the purpose is to develop a computer software software instance has yet to open a framework of trust mechanism can through computer communication.
Driving factors. The etheric Fang has many goals, one of the most important goal is to simplify the existence of individual distrust each other transactions. Don’t trust these may be due to geographical separation (distance), the docking interface is not compatible, difficulty, or incompetent, reluctant, not cheap, not sure, not convenient or existing legal system of corruption. So, we want to use a rich and clear language to explain a change in the turntable system, and to build an automatic execution of a dispute and give us the ideal expectation of the system, finally can give a scheme to study this system.
In the process of the system found in the real world have several properties can be difficult to find. The most difficult is to find justice is clean, because it comes from the clean algorithm programmer. The second is transparent, or that can clearly see a state or a decision on how to spread the transaction log and rules or code. It is almost no perfect place in human nature based on the system, because the necessary natural language is ambiguous, missing information regularly, and the idea of transparency is immutable and frozen cause to realize.
In general, I want to invent a system, the user can be assured that their transactions are safe, either, and other individual or organization system. And users can rest assured that the processing of these possible results and these results will be achieved.
Early deeds. In late September 2013, Buterin first proposed the system mechanism of this kind of work. Although the development of a lot of methods, but the main function is to block chain remaining storage capacity of a Turing complete language and effectively without restriction and unchangeable exchange mode.
As early as 1992, Dwork and Naor proposed a method using a transmission signal through the network to the value of cryptography and computer to prove the workload (“proof-of-work”). Here, the value is as a signal blocking spam mechanism, rather than any one currency. But after repeated proof, this potential based data channel can carry a strong signal to the financial, not a physical dependence and trust assertions of a receiver while allowing. The second half of 2002 a similar vessel (vein) system was invented.
The first is financial signal strong proof of work to do to protect the computer, a currency paradigm used by Vish-numurthyetal in 2003. In this case, it is used as a token to keep P2P (peer-to-peer) of the transaction documents in check, while ensuring that consumers can pay the micro operation (pay) to provide services for their “supplier” account. This delivery is complaining about technology in expanding the electronic signature technology, can ensure the history books, and can not destroy malicious behavior can not deceive or pay are not satisfied with the service through the security proof of work. Five years later (2008), Nakamoto describes the value of the token prove another generalized secure workload. Bitcoin is the product under the project, and it is widely accepted by the world’s first to the center of the trading books.
Because of the success of the electronic currency bitcoin, the project began to rise; by changing its agreement to create thousands of other currencies. In 2013, Sprankel discussed the more well-known currency Wright currency (Litocoin) and prime currency (Primecoin). The core content and the mechanism of the value of other projects in the exploration of this protocol to improve it; for example, in 2012, Aron discussed the domain name currency (Namecoin) project, and provides a ready to go to the center of the domain name dispute solution system.
The rest of the project are fundamental to the consensus principle of the mechanism established in bitcoin, at the same time with the huge value of this system and the huge computing power. In 2013, the first proposed Willett MasterCard (Mastercoin) currency project, its goal is through the use of digital slave plug-ins to create an upper layer protocol and more than bitcoin, the more advanced features of the rich core protocol. 2012, color currency (ColouredCoins) project proposed by Rosenfeld, to simplify the protocol but keep the same function, at the same time. This transaction rules in order to break the bitcoin monetary base substitution and allowed by special color wallet (“chroma-wallet”) software to create and track these tokens – aware protocol fragments.
In this area, the rest of the work has been finished by giving up some to the center of the base; in 2014, Boutellier and Heinzen discussed the reboxetine currency (Ripple). It has explored and created a federal system of currency exchange (“federated system”), while effectively created a new financial settlement system. The financial system shows the efficiency gains can be created if being able to give up to the center of the foundation.
In 1997, Szabo and Miller have completed the intelligent contract early (“smartcontract”). In 90s of last century, the implementation of the algorithm protocol plays an important role in human cooperation, this concept has become very clear. Although it was not designed for any particular method to realize this system, but it has been proposed that the system will seriously affect the future of law. In this prophecy, the etheric Fang could be seen as the completion of the system so that the achievements of the cryptography law.
Example 2, block chain
The etheric Fang, as a whole, can be seen as a state machine based on Transaction: we started with a piece of creation (“Genesis”), then with the execution of the transaction is written to the final state. This is the last state we can accept the authority of the version in the etheric world square. This state is saved up information, such as account balances, reputation, reputation, and the data in the real world. In short, anything can be described recently computer is reasonable. Therefore, the transaction on behalf of the bridge of two states; the “effective” is very important, because there exist invalid state change is far more than the effective state change. One example: invalid state change is likely to reduce the balance of an account here, but not in any other accounts with the same amount. However, a valid state transitions from a transaction. Formula:
(1) Sigma (t+1) = gamma (T, T)
Which is the etheric state Exchange Square gamma function. In the etheric and gamma sigma Fang is considerably more powerful than any existing similar systems; allow components to achieve specific gamma calculation, compared with sigma components storage state allows specific transactions in between.
The transaction is in the proofreading block using a cryptographic block; Hashige (hash) as the reference method is “chain link”. Block as a diary, recording a series of transactions and the identification block before the last state (although it is not through their own store last state – because this block chain will always increase). They also mark the series in order to encourage nodes to mining transaction. Such incentives as a state transition function, while increasing the value corresponding to a specific account.
Mining is a dedication to process, this process is to maintain the transaction chain (blockchain) in any potential in competition. It is due to a cryptographic proof of security is achieved. The proof of work system (POW) is as everyone knows, will be discussed in more detail in the 11.5 summary.
The formula, we open a:
(2) (t+1) = sigma PI (T, B)
(3) (B =… (T0, T1,… ))
(4) – (T, B) = omega (B, gamma (gamma (a, T0), T1)… )
Where is the block completion state conversion function (the function is awarded a unique group); B is the block, it contains a series of transactions in some components; PI is block level (“block-level”) state transition function.
The above is the basis of the blockchain paradigm, this model not only form the basis of the etheric structure workshop, but so far all the decentralized consensus based trading system.
Value. In order to encourage the network computing power, there was a need for a method to define the value of the transaction. In order to solve this problem, the etheric workshop design a natural currency, currency Ethernet (“Ether”), ETH is known as the symbol, sometimes with the old D (“D”) description. The smallest denomination is an etheric coin (“Wei”), because of potential energy in the currency in all integer count. A coin is defined as a 10^18 ethernet. There are other denominations of currency value of ethernet:
In the present work, whether it is the reference value of the currency, the etheric any content, or money, or the balance of payments, should be regarded as “a” to calculate.
The history of it? Because this is a decentralized system and all of the team have the opportunity in some blocks up before the establishment of new blocks, the synthetic architecture is necessarily block chain tree. In order to form a consensus path through this architecture from the bottom (the block) to the leaves (including the latest transaction, this is as everyone knows the block) block chain, there must be consensus. If a certain period of time in the long block chain between nodes having an argument, then the bifurcation (“fork”) appeared.
This means that a given point in time (block) and multi state system coexist: some nodes believe that a block is to contain standard transactions, other nodes also believe some blocks contain standard transactions, which contains completely different or incompatible transactions. This is in order to avoid so uncertain costs, because it will destroy all the credit in the system.
Plan to have a consensus, we used a simple GHOST protocol version. This protocol is Sompolinsky and Zohar proposed in 2013. We will describe it in detail in 10 summary.
I used to say a lot of printed agreement formal symbols, some of them for the work now is very meaningful:
The set of two highly structured, high standard (“high-level”), the state value is referred to in bold lowercase Greek letters. They injected the global state (“World-State”) and are used on behalf of sigma (or a variant of thereupon) and machine status (“machine-state”) is used to represent.
In a highly structured value, operational function (“functionoperating”) is represented as a capital of the Greek alphabet, for example: gamma, but also in the etheric Fang state conversion function.
For more function, usually with a capital letter, for example: C, a general cost function. These may also be used as subscripts are represented as some special variables, such as CSSTORE, the cost function of the SSTORE operation. For the special shape and may clear function, I may design the printer’s text, for example: Keccak-256 hash function (function according to SHA-3 contest winners) is used KEC (usually used to explain Keccak). And KEC512 is also to be used to express the Keccack-512 hash function.
The array is usually used to represent an uppercase letter, for example: T, is used to represent a square deal of ethernet. If the relative definition of this symbol may be used subscripts to represent a separate component, for example: Tn, said the random number of the transaction. These subscripts form for said type of them; for example: array type table angle uppercase subscripts with components.
Scalar and fixed size byte order (or synonyms, array) can use lowercase letters to indicate, for example: N was used in the data file in a random number of transactions. Lowercase Greek letters can represent some special meaning, for example: 8 expressed as the required number of items in the corresponding operations on the stack.
The sequence of arbitrary length usually expressed in bold lowercase letters, such as O is expressed as a sequence of bytes of output data information in the call. Sometimes, the bold capital letters represent some very important value.
Overall, we believe that the scalar are positive integers and the set P. Set byte sequence is B, we write a formal definition in Annex B. If a sequence like this set is limiting their specific length, it can be used to represent symbolic subscripts. Therefore all 32 byte sequence set named B32, the set of all positive integers less than 2^256 named P256. The formal definition will be discussed in the 4.4 summary.
Square brackets are used as index and represent independent component or sequence under the sub sequence, for example: s said the first digital computer in the stack. For subsequence, ellipsis is used as a specific to a certain range, and restricted elements, such as: m[0 with head and tail… 31] said the first 32 numbers in the computer’s memory.
In the global situation, is a multiple account sequence, the array itself can be used to square brackets, said a separate account.
When to consider the existing variable, I follow to define in a given range of principle, if we think they can not modify the input values will be used. (“placeholder”) that can be modified and useful value for – ^ ‘said the middle value is used (%). &c. In very special circumstances, in order to expand the readability and clarity, I might use the alpha numeric subscripts represent intermediate values, especially they are special.
When to consider to use the existing function, given a function f or F, the mapping relation between the sequence between the replacement function. They will be formally defined in section 4.4.
In the whole process, I define a very useful function. Is the most common function is l (lowercase L), is the last digit of a given sequence calculation:
(5) l (X) = X[||X||-1]*