Blockchain script
We need to establish data layer, network layer, consensus layer, incentive layer, contract layer and application layer
1. The data layer encapsulates the underlying data blocks and related basic data and algorithms such as data encryption and time stamp
2. The network layer includes distributed networking mechanism, data transmission mechanism and data verification mechanism
The consensus layer mainly encapsulates all kinds of consensus algorithms of network nodes The incentive layer integrates economic factors into the blockchain technology system, mainly including the issuing mechanism and distribution mechanism of economic incentives5. The contract layer mainly encapsulates all kinds of scripts, algorithms and smart contracts, which is the basis of the programmable characteristics of blockchain
6. The application layer encapsulates various application scenarios and cases of blockchain Xi Jinping, general secretary of p>
, general secretary of the CPC Central Committee, stressed in the eighteenth collective learning of the Central Political Bureau, "block chain as an important breakthrough in core technology and independent innovation", "accelerating the development of block chain technology and instrial innovation". <
p>
the forward-looking judgment of the CPC Central Committee has brought the "blockchain" into the public view and become the common focus of financial capital, real economy and public opinion
from network power to big data, from media integration to blockchain, the Politburo of the CPC Central Committee has collectively studied and aimed at the forefront of technological change, showing the direction, foresight and foresight of the CPC Central Committee, leading the pace of China's instrial change and economic transformation. This collective study of the Political Bureau of the Central Committee of the CPC, with special emphasis on "blockchain", has opened up an imaginary space for the development and application of blockchain
from the perspective of science and technology, blockchain involves many scientific and technological issues such as mathematics, cryptography, Internet and computer programming. From the perspective of application, in short, blockchain is a distributed shared ledger and database, which is decentralized, tamper proof, traceable, collective maintenance, open and transparent
these features ensure the "honesty" and "transparency" of the blockchain, and lay the foundation for creating trust in the blockchain. The rich application scenarios of blockchain are basically based on the fact that blockchain can solve the problem of information asymmetry, and realize the cooperative trust and concerted action among multiple agents
with the global hot discussion of the concept of "blockchain", the application of blockchain technology has been quietly added to the daily life scenes such as finance, logistics, credit reference, manufacturing and retail. Some experts have shown that the future blockchain will be closely related to people's lives, and the integration of blockchain technology and people's daily life is the general trend
the popularity of the blockchain market has triggered a large number of talents demand based on blockchain technical personnel, and the popularity of blockchain talents is rising at the speed of light. According to the "2018 blockchain high salary list" released by lagou.com, Tencent, Xiaomi, Suning, Jingdong and other domestic enterprise giants have released many high salary blockchain post demands, trying to explore blockchain related technologies and applications. It is also pointed out in the list that the demand for high salary jobs is mainly based on blockchain related technical jobs, among which Suning and Keda have been given the highest monthly salary of 100k
the huge market demand for technical talents will inevitably lead to the explosive emergence and growth of the whole blockchain training market. Most of the training modes can be divided into online training, traditional IT organization training, and offline short-term training camps, which mainly focus on high-end forms. However, in the process of the hot market evolution, there are also a variety of blockchain training chaos: lecturers' qualifications are watered down, and even the most basic names are not disclosed, the syllabus is opaque, and the teaching quality is shrinking, Unreasonable class arrangement and uneven training fees and so on
with the large-scale development of the whole blockchain training market, brother company ecation, together with Yin Cheng, a senior blockchain expert, and his Tsinghua Shuimu Weiming team, has set up a blockchain college. With its professional and powerful team of technical lecturers, detailed and comprehensive curriculum system, and a large number of authentic enterprise blockchain projects, it aims to deepen the blockchain teaching and training field, And train more professional technical talents for enterprises and society<
Yin Cheng, a senior blockchain technology expert, graated from Tsinghua University, is the dean of brother Lian blockchain college. He once served as Google Algorithm Engineer, the world's most valuable expert in the field of Microsoft blockchain, and the gold medal lecturer of Microsoft tech.ed conference. Proficient in C / C + +, python, go language, sicikit learn and tensorflow. With 15 years of programming experience and 5 years of teaching experience, senior software architect, Intel Software Technology expert, famous technology expert, with many years of working experience in the world's top it company Microsoft Google. He has many years of experience in software programming and lecturing, and has developed many procts in human-computer interaction, ecation, information security, advertising and blockchain system. He has deep experience in project management and R & D, has two AI invention patents, and has practical experience in developing e-money deployed to Microsoft Windows azure. Teaching explanation is in simple language, so that students can apply what they have learned
the first stage: blockchain instry and go programming for 5 weeks
the second stage: cryptography and consensus algorithm for 2 weeks
the third stage: Ethereum source code analysis and development for 3 weeks
the fourth stage: Super ledger and node.js for 2 weeks
the fifth stage: bitcoin & EOS for 4 weeks
the sixth stage: comprehensive actual combat of the project
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 information of bitcoin network transactions, Used to verify the validity of its information (anti-counterfeiting) and generate the next block
extended data
most blockchain public chains are limited by scalability. The biggest feature of blockchain technology is decentralization, which requires that all accounts in the network need to deal with the accounting process. Distributed accounting has high security, low misoperation rate, political neutrality and correctness
however, blockchain technology embraces these features at the same time, sacrificing scalability, unable to meet the personalized supervision, and slightly insufficient in protecting data privacy. Moreover, with the increase of the number of ledger, the interaction delay will increase exponentially, that is to say, the more ledger in the blockchain network, the higher the delay
blockchain refers to the technical solution of collective maintenance of a reliable database through centralization and distrust in the past, and it is a technical way for the whole people to participate in bookkeeping. Previous bookkeeping methods were all centralized and needed centralized intermediary, whether it was traditional government, financial institutions, notarization institutions or emerging e-commerce platform and online payment platform
in economic hypothesis, information is sufficient. In fact, it is precisely because of insufficient information that there are very large intermediaries. The existence of intermediaries increases the transaction cost and raises the transaction threshold. In essence, blockchain technology is a large-scale collaboration tool. It makes direct value transfer possible by using pure technology for the first time, and continues the trend of Internet decentralization and disintermediation. Disintermediated blockchain technology will greatly subvert the information intermediary instry
blockchain technology is the basic technology for building bitcoin data structure and encrypted transmission of transaction information, which realizes the issue and transaction of bitcoin. The core of blockchain technology is that all the current participating nodes jointly maintain the transaction and database, so that the transaction is based on the principle of cryptography rather than trust, so that any agreed parties can directly carry out payment transactions without the participation of a third party
technically, a block is a data structure for recording transactions, reflecting the capital flow of a transaction. In the system, the transaction blocks are connected to form a main chain, and all the nodes participating in the calculation record the main chain or part of the main chain
a block contains the following three parts: transaction information, hash formed by the previous block and random number. Transaction information is the task data carried by the block, including the private keys of both parties, the number of transactions, the digital signature of electronic currency, etc; The hash hash formed by the previous block is used to connect the blocks and realize the sequence of past transactions; Random number is the core of the transaction. All nodes compete to calculate the answer of the random number. The node that gets the answer the fastest generates a new block and broadcasts it to all nodes for updating, so as to complete a transaction.
whether it's the introction in the network, the answers given by everyone, or the simple and easy to understand introction, you may not really understand blockchain. It's recommended to read more relevant information to understand its landing application. Cryptofinance focuses on blockchain information
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.
core analysis:
1. Transparency, 2. Openness, 3. Information can not be tampered with, 4. Decentralization,
5. Detailed analysis
blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies. The so-called consensus mechanism is a mathematical algorithm to establish trust and obtain interests between different nodes in the blockchain system
1. In a narrow sense, blockchain is a kind of chained data structure composed of data blocks connected in sequence according to the time sequence, and it can not be tampered with and forged by cryptography
2. Broadly speaking, blockchain technology uses blockchain data structure to verify and store data, uses distributed node consensus algorithm to generate and update data, and uses cryptography to ensure the security of data transmission and access It is a new distributed infrastructure and computing method to program and operate data by using intelligent contract composed of automated script code.
blockchain is an important concept of bitcoin, which is essentially a decentralized database and serves as the underlying technology of bitcoin. Blockchain is a series of data blocks generated by cryptography. Each data block contains the information of a bitcoin network transaction, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block
in a narrow sense, blockchain is a kind of chained data structure that combines data blocks in chronological order in a sequential way, and it can not be tampered with and forged by cryptography
broadly speaking, blockchain technology uses blockchain data structure to verify and store data, uses distributed node consensus algorithm to generate and update data, and uses cryptography to ensure the security of data transmission and access A new distributed infrastructure and computing method for programming and operating data by using intelligent contract composed of automated script code
go language + blockchain training course:
1 What are the advantages of go
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.
1< The network layer includes distributed networking mechanism, data transmission mechanism and data verification mechanism
3. Consensus layer
encapsulates various consensus algorithms of network nodes
4. Incentive layer
integrates economic factors into blockchain technology system, mainly including issuing mechanism and distribution mechanism of economic incentive
5. Contract layer
encapsulates all kinds of scripts, algorithms and smart contracts, which is the basis of the programmable characteristics of blockchain
6. Application layer
the application layer encapsulates various application scenarios and cases of blockchain
hope to adopt, thank you!