Blockchain ASM virtual machine
blockchain includes public blockchain, joint (instry) blockchain and private blockchain. Public chain point-to-point e-cash system: bitcoin, smart contract and decentralized application platform: Ethereum
blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies
blockchain is an important concept of bitcoin. In essence, it is a decentralized database. At the same time, as the underlying technology of bitcoin, it is a series of data blocks generated by using cryptographic methods. Each data block contains a batch of bitcoin network transaction information, Used to verify the validity of its information (anti-counterfeiting) and generate the next block
extended data
according to the different degree of blockchain network centralization, three kinds of blockchains under different application scenarios are differentiated:
1. The blockchain with the whole network open and without user authorization mechanism is called public chain
2. The authorized nodes are allowed to join the network, and the information can be viewed according to the authority. It is often used in the inter agency blockchain, which is called alliance chain or instry chain
3. All the nodes in the network are in the hands of one organization, which is called private chain
alliance chain and private chain are also called licensing chain, and public chain is called non licensing chain
blockchain features
1, decentralization. Blockchain technology does not rely on additional third-party management institutions or hardware facilities, and there is no central control. In addition to the self-contained blockchain itself, each node realizes information self verification, transmission and management through distributed accounting and storage. Decentralization is the most prominent and essential feature of blockchain
2. Openness. Blockchain technology is based on open source. In addition to the private information of all parties involved in the transaction is encrypted, the data of blockchain is open to everyone. Anyone can query blockchain data and develop related applications through the open interface, so the information of the whole system is highly transparent
3. Independence. Based on consensus specifications and Protocols (similar to various mathematical algorithms such as hash algorithm used by bitcoin), the whole blockchain system does not rely on other third parties, and all nodes can automatically and safely verify and exchange data in the system without any human intervention
4. Safety. As long as 51% of all data nodes cannot be controlled, the network data cannot be arbitrarily manipulated and modified, which makes the blockchain itself relatively safe and avoids subjective and artificial data changes
5. Anonymity. Unless there are legal requirements, technically speaking, the identity information of each block node does not need to be disclosed or verified, and the information can be transferred anonymously
Ethereum is an implementation of blockchain. In Ethereum network, many nodes are connected with each other to form Ethereum network:
Ethereum node software provides two core functions: data storage and contract code execution
in each Ethereum node, complete blockchain data is stored. Ethereum not only saves the transaction data on the chain, but also saves the compiled contract code on the chain
At the same time, a virtual machine is provided to execute the contract code Ethereum virtual machine
Ethereum blockchain not only stores data and code, but also contains a virtual machine (EVM) in each node to execute contract code - it sounds like a computer operating system
in fact, this is the core difference between Ethereum and bitcoin: the existence of virtual machine has brought blockchain into the era of 2.0 and made blockchain a friendly platform for application developers for the first time
the above content comes from the introction course of Ethereum DAPP development
1. Blockchain links
as the name suggests, blockchain is a chain composed of blocks. Each block is divided into block head and block body (including transaction data). The block head includes the prevhash value (also known as hash value) of the previous block used to realize the block link and the random number (nonce) used to calculate the mining difficulty. The hash value of the previous block is actually the hash value of the head of the previous block, and the random number calculation rule determines which miner can obtain the right to record the block
2. Consensus mechanism
blockchain is accompanied by the birth of bitcoin, which is the basic technology architecture of bitcoin. Blockchain can be understood as an Internet-based decentralized accounting system. A decentralized digital currency system like bitcoin requires the consistency of accounting of honest nodes without a central node, which needs blockchain to complete. Therefore, the core of blockchain technology is a consensus mechanism to reach a consensus on the legitimacy of transactions between indivials without mutual trust without central control
there are four main types of consensus mechanisms in blockchain: pow, POS, dpos and distributed consistency algorithm
3. Unlocking script
script is an important technology to realize automatic verification and contract execution on blockchain. Every output of every transaction does not point to an address in the strict sense, but to a script. A script is like a set of rules that constrain how the receiver can spend the asset locked on the output
the validation of transactions also depends on scripts. At present, it depends on two kinds of scripts: Lock script and unlock script. Locking script is a condition added to the output transaction, which is realized by a script language and located in the output of the transaction. The unlocking script corresponds to the locking script. Only when the conditions required by the locking script are met can the assets corresponding to the script be spent, which is located in the input of the transaction. Many flexible conditions can be expressed by script language. Interpretation script is similar to the "virtual machine" in our programming field, which runs in every node of the blockchain network in a distributed way
4. Transaction rules
blockchain transaction is not only the basic unit of a block, but also the actual effective content recorded by the blockchain. A blockchain transaction can be a transfer, or the deployment of smart contracts and other transactions
as far as bitcoin is concerned, a transaction refers to a single payment transfer. The transaction rules are as follows:
1) the input and output of the transaction cannot be empty
2) for each input of a transaction, if its corresponding utxo output can be found in the current transaction pool, the transaction will be rejected. Because the current transaction pool is the transaction not recorded in the blockchain, and each input of the transaction should come from the confirmed utxo. If it is found in the current trading pool, it is Shuanghua trading
3) for each input in a transaction, the corresponding output must be utxo
4) each input unlocking script must verify the compliance of the transaction together with the corresponding output locking script
5. Transaction priority
the priority of blockchain transaction is determined by the blockchain protocol rules. For bitcoin, the priority of a transaction to be included in a block is determined by the time when the transaction is broadcast to the network and the amount of the transaction. With the increase of transaction broadcast time on the network and the increase of transaction chain age, the priority of transaction will be improved and eventually be included by the block. For Ethereum, the priority of the transaction is also related to the transaction fee that the publisher is willing to pay. The higher the transaction fee that the publisher is willing to pay, the higher the priority that the transaction is included in the block
6. Merkle proof
the original application of Merkle proof is bitcoin, which was described and created by Satoshi Nakamoto in 2009. Bitcoin blockchain uses Merkle proof to store transactions in each block. So that the transaction can not be tampered with, but also easy to verify whether the transaction is included in a specific block
7. RLP
RLP (recursive length prefix) is one of the main encoding methods of object serialization in Ethereum. Its purpose is to encode the sequence of arbitrary nested binary data.
1. Lianzhuang data block structure based on blocks
2. Network wide shared ledger
3. Asymmetric encryption
4. Source code open source
blockchain 2.0 era technical basis:
1. Smart contract; It is an application in the blockchain system. It is a business logic that can run automatically by coding. It usually has its own token and special development language
2. DAPP: it includes the user's applications, including but not limited to various cryptocurrencies, such as Ethereum wallet
3. Virtual machine: used to execute the compiled code of smart contract. Virtual machine is Turing complete
with the application and deepening of blockchain technology, the era of blockchain 3.0 has come. The mode of blockchain cooperation can be seen from behind the operation of all walks of life. Therefore, blockchain will change the way of human life widely and profoundly, so the whole life service will enter the era of blockchain. In the process of Internet development, blockchain + physical instry, blockchain e-commerce and blockchain community operation can be applied to blockchain technology
of course, 3.0 came into being with the development of modern cryptography. Today's applied cryptography is the result of cryptography 20 years ago. Therefore, in order to apply blockchain technology to more participation scenarios, especially in Internet economy and other aspects, more verification is needed to verify whether the existing encryption technology can meet the demand, and more in-depth integration of cryptographic frontier technology and continuous innovation are needed.
or when it is open source, there is a bug in 10 lines
the development of likelib public chain has the following stages: condensation stage, solid foundation (in the next 1-2 years), improvement of technical design documents, completion of basic mole code development, online main chain, continuous improvement of intelligent contract, multi chain parallel, cross chain consensus and other early functions, improvement of main chain, side face and surrounding ecology, including blockchain browser, light wallet and mobile wallet, Smart contract, virtual machine, compiler, development tools, multi language adaptation, etc. Establish, develop and improve open source community, start and promote more application access
in the integration stage, it will grow steadily (in the next 3-5 years), complete the implantation of more consensus moles, realize the self evolution of network, storage and other moles (support EB level data storage), form a standard technical solution system for docking applications in various instries, and explore a new ecosystem combining blockchain with big data, artificial intelligence and other fields. Form a mature open source community and establish application side chain on a large scale
in the sublimation stage, a technology platform integrating blockchain, big data and artificial intelligence will be established everywhere (in the next five years) to provide comprehensive solutions for the proction and operation needs of instry, agriculture and commerce. Form an open source community with the integration of blockchain, big data and artificial intelligence, and provide a comprehensive value docking and cooperation platform.
why should we learn go language and what are the advantages of go
1. What are the advantages of go
1: performance
2: language performance is very important
3: developer efficiency & don't be too innovative
4: concurrency & Channel
5: fast compile time
6: team building ability
7: powerful ecosystem
8: gofmt, Mandatory code format
9: grpc and protocol buffers
can be directly compiled into machine code, independent of other libraries. Glibc version has certain requirements, and deployment is completed by throwing a file
static type language has the feeling of dynamic language. Static type language can check out most hidden problems when compiling, while dynamic language has the feeling that there are many packages that can be used and the efficiency of writing is very high.
ecol ecol is an intelligent, efficient and molar blockchain ecosystem and application scenario solution with unified standards for the security vulnerabilities of blockchain technology, which is committed to building a programmable society with smart contracts. Ecol ecosystem enables the blockchain ecosystem to use blockchain, big data, Internet of things, artificial intelligence (AI), virtual reality (VR) and many other technologies to help people from all walks of life seamlessly connect the existing systems and services with the blockchain, and jointly accelerate the implementation of the blockchain from "technical concept" to commercial scene
ecol ecol has 10 core technological innovations compared with other "blockchain black technology". Main chain and side chain technology, cross chain communication, support high concurrency, inhibit block inflation,
both integration and division of labor, both security and convenience; Artificial intelligence
AI
coordination of molar intelligence system, to provide alternative functional moles; Unique virtual machines and smart contracts support all kinds of creative smart contracts; Block fog and fog storage fog computing technology, smaller network delay, fast response; Lower security risk; The al quantification of block structure and digital assets has great significance of standardization, normalization and unification of block structure and digital asset valuation; Matching hardware wallet, light wallet and cold wallet, it integrates all the functions of eating, drinking, basic necessities of life, work and life. The integration of blocks and transactions enables each transaction to directly participate in maintaining the transaction order of the whole network, which greatly improves the efficiency. Ten core technological innovations to jointly build a complete ecol ecosystem.
I hope I can help you:
webpage link
abey blockchain technology is from Ciprian pungela & amp; Co., two doctors in the Department of artificial intelligence from the Department of computer science, School of mathematics and information, Western University of timishwara, Romania; Vorel negru's own research project. Constant lightweight blockchain technology and multi-layer programming and extended blockchain solution are adopted. The scale of abey's blockchain remains unchanged, with only 50 active blocks. Abey blockchain technology is suitable for the use of e-money in e-commerce system for mass transactions, and has multi-level, scalability and security, and can be programmed
according to the official white paper, abey is suitable for the blockchain solution in e-commerce system, which uses digital currency to carry out mass transactions and can carry out multi-layer programming and expansion
specific implementation method of abey blockchain Technology:
using a multi-level and programmable blockchain method to realize digital currency (for simplicity, we call it "DC"). This method can pave the way for the implementation of various e-commerce purposes, such as loan financing, completion of refundable transactions and non refundable transactions. In the first layer of the blockchain, we can realize the inherent digital currency design, which is commonly referred to as the base layer ("FL"). The various upper layers built on this foundation can be used to describe various additional functions related to various business driven application examples (which we will briefly introce below). All of the above levels are fully programmable, and can be easily adapted for various applications
although most of today's digital goods store transaction balance in the blockchain, abey's method is more similar to Pascal coin digital currency. This method uses what we call a "vault" encryption structure“ The "vault" structure can only save the balance of all accounts in the network, instead of a complete list of all completed transactions, and can be reconstructed in the evolution history of the blockchain. Since vault allows the deletion of useless content at any time, it can significantly rece the storage cost of blockchain. In contrast, at the time of writing this article, the storage space required to download bitcoin database is 70gb (the alarm rate is still growing, and it is expected to reach 300gb in 2019), so it is not feasible to use ultrabooks or notebooks with small storage space (such as 120GB or 256gb) to carry out mining operation. On the other hand, the size of the abey blockchain will remain unchanged, with only 50 blocks (at the time of writing, there are more than 525000 blocks in the bitcoin blockchain)
vault fully supports digital currency transfer between accounts. In addition, vault can assign an owner defined name to each account instead of using hashing algorithms like today's cryptocurrency - which makes the account easier to remember and makes the name public
one of the important functions that vault can help prevent the daily expenses of blockchain from being too high (especially those related to transaction history) is that vault can save such states and rece the size of blockchain itself by creating a secure of blockchain states. Because there is no transaction history and all accounts can save their direct balance, the blockchain information has the feature of partial erasure. All the blockchain states that can be stored can be regarded as landmarks of the blockchain
secure data sharing:
through the block chain structure design, for each transaction sent to the network, the block chain may contain encrypted metadata. The metadata can only be decrypted by the transaction recipient. For the transaction sent to the network, the sender's public key is included in the transaction, and the transaction receiver decrypts the metadata using the public key. Since the transaction receiver holds the private key for decryption, only the transaction receiver can implement the data decryption process. From the perspective of encryption method, although bitcoin is limited to elliptic curve cryptography, blockchain metadata can use any other encryption mechanism to complete the encryption process. This not only provides complete flexibility in security selection, but also does not have any adverse impact on the structure or function of the blockchain
scalability:
since the abey blockchain supports the creation of historical landmarks by design, it is very easy for the network itself to achieve high scalability from the point of view that the blockchain will always need to store (related to the latest existing SLS). This method completely eliminates the need to store transaction history to calculate the balance of all accounts, and can directly store all account balances, so as to ensure that the specific balance information provided by all nodes in the network meets the requirements of Byzantine consistency
proof of security and workload:
it is impossible to have two-way payment operation in abey's method (in the specified appropriate scenario, the vast majority of today's mainstream cryptocurrencies may theoretically have two-way payment operation). Each transaction means that the balance of the corresponding account is updated in a relatively simple way, and there is no special way to restore the transaction from the network pending transaction team. For the abey blockchain, since all technical / functional layers are built on vault, vault is the infrastructure of our blockchain, so vault is very important for mining operations. Our proposed blockchain model is composed of a series of blocks, each of which is generated by the nodes in the network who are willing to mine. All nodes in the network can update the account balance independently according to the transaction (part of the block), and are independent of other nodes. The mining operation will affect the first functional layer. In addition to updating the balance, each node can also update other matters that may belong to the upper functional layer in the composition of the blockchain structure. Once an update occurs, a new mining incentive block will be created. The mining reward block contains a number of new reward accounts that have been assigned to miners. The miner is the winner of the above reward according to the workload Certificate (currently there are 50 reward accounts). The way to reward is to distribute the public key of all such accounts to the reward recipient
blockchain technology layer:
abey's digital currency model contains a multi-layer structure, in which the first layer represents the realization of the digital currency itself (see Figure 7 for graphic explanation). The corresponding levels include:
tier 1 → digital currency (cryptocurrency): currency transfer, mining
tier 2 → refundable transaction and non refundable transaction: allowing the use of digital justice system to complete refundable transaction
Tier 3 → related parties and commission: allowing the automatic distribution of Commission to related parties
Tier 4 → contacting currency: by lending currency, Income based on interest
layer 5 → programmable: reserved for future realization of Turing complete programming model, so as to process blockchain data in a customized way (such as smart contract)
layer 6 → custom protocol: reserved for future use
transaction type:
abey mode allows different levels in blockchain through design, Complete a variety of transaction types. The transaction types in the second layer are as follows:
1 → fund transfer: fund transfer between accounts (1-to-1 transfer)
2 → refundable fund transfer: refundable transaction between accounts. Use escrow balance instead of regular account balance
3 → key change: change the key that can be used to process the account
4 → restore the account: recover funds from the lost and invalid account
5 → set account name: define the name of the account held by the founder
6 → sales preparation: mark the account for sale
7 → move out of the sales queue: remove the account sales mark, And the account is marked as non saleable
refundable transaction and mediator:
for the vast majority of cases, non refundable transaction is equivalent to all "pay to pay" transactions in blockchain based digital currency mode. But abey has introced the concept of refundable transactions into its digital currency model. In abey mode, the transaction marked with small flag belongs to refundable or non refundable transaction. In addition, in abey's blockchain network, each account contains two types of balance: regular and unchangeable balance (used to mark the amount that the account has received and can be paid immediately, but cannot be recovered after the payment) and escrow balance (including the transaction list marked as refundable transaction and the minutes of each transaction)
8 → payment dispute: for the corresponding transaction that has been marked as a refundable transaction, the payment dispute can be initiated only by the payer
9 → refund request: for the corresponding transaction previously marked as a refundable transaction, a refund request can be initiated, but only by the payer
10 → cancel escrow: cancel the escrow funds and return the funds to the payer immediately. It can only be initiated by the payee
11 → release trusteeship: release the trusteeship fund and add the amount to the balance of the payee's account immediately. It can only be initiated by the payer
related parties and commissions:
one of the important deficiencies in today's blockchain driven financial technology is the lack of the ability to provide rewards to related parties who sell specific procts or services. The third layer of abey blockchain can solve this problem< Lending digital currency:
lending digital currency is not only a simple and quick way to allow people to borrow legal tender, but also to ensure the security of encrypted assets. Given that today's valuable digital currencies are also used for transactions, the reason why lending digital currencies is feasible is not only that it allows borrowers to mortgage any type of cryptocurrency they save, but also that it is attractive because it is a way to retain their digital assets in a completely safe or very low-risk way. In addition, abey's model also provides built-in protection through the customer vault lending gateway (VLG), and enables the VLG to act as a buffer between the lender and the borrower
12 → borrowed funds: the borrower initiates transactions in the network, announces the intention of borrowing funds, and specifies the VLG account of the borrowed funds. The transaction is similar to depositing the balance of the regular / escrow account in the selected VLG account
13 → return of collateral: the transaction is initiated by the VLG itself. VLG will return the collateral to the borrower in accordance with the risk management policy
14 → loan repayment: the transaction is initiated by the borrower. If VLG accepts repayment of the loan in digital currency, the borrower may choose to repay the loan in digital currency. Under this condition, the digital monetary fund will be converted into VLG regular account balance<
programmable blockchain:
with its associated metadata payload, the layer of blockchain can be retained to allow the further creation of intelligent contracts between peers in the network by executing the grammar based "complete Turing basic programming language" according to the original blockchain data processing mode. For each payload, encryption or public visibility processing can be implemented, and can be performed in a dedicated virtual environment (similar to a virtual machine). This method can effectively protect data security and avoid the impact of data destruction and security vulnerabilities. The main advantage of this method is that this layer can create and enforce digital contracts without any blockchain specific programming. For Ben