为广大币圈朋友提供币圈基础入门专业知识!
当前位置首页 > 区块链知识> 正文

深脑链挖矿,深脑链主网挖矿

发布时间:2023-12-16-04:39:00 来源:网络 区块链知识 区块   最新   深脑链

深脑链挖矿,深脑链主网挖矿


请查看相关英文文档

1. How to explain in an easy-to-understand way what is blockchain and what is Bitcoin?

Let’s talk about the social or economic significance of blockchain. Many technologies in the past were actually dedicated to "productivity", such as artificial intelligence, which is an advancement in productivity. The blockchain has greatly improved production relations and is dedicated to production relations. So why do you say that?
Because the so-called production relations are actually how business is done between people and business partners. And these things are originally in the process of people's mutual cognition, and no special procedures are used to program or quantify them.
For example, if you and I are good friends now, we can do business. If someone provokes our relationship and we are no longer good friends, we will not do business. Even if we can make money by doing business, we will not do it. , because everyone no longer has any trust in each other.
As for the blockchain, it is actually because the data has been certified by various nodes and backed up at the same time, so my data is as authentic as possible and cannot be tampered with. So in this case, you believe my data, On this basis, you can create a program, and then program the "production relations" of what kind of business contracts and business cooperation this data can be used for. In this way, everyone believes in the data and the program compiled by the algorithm. And because you believe in the data and the program, you can develop various APPs based on this program. These APPs are the relationship of production and what kind of business you are going to do. This is: Blockchain is actually a reconstruction of "production relations".

2. Set sail! Learn Token allows you to take off and get in touch with the new trend of blockchain

With the skyrocketing value of a series of digital currencies represented by Bitcoin around 2017, blockchain technology has quickly become a It has become one of the most popular cutting-edge technologies; at the same time, as blockchain technology becomes more and more popular, its application potential outside the field of digital currency issuance and operation has also been deeply explored. In the past two years, in-depth application development in other scientific and technological fields based on blockchain technology has emerged one after another, injecting unprecedented imagination space into the progress of scientific and technological society.

Learn Token (hereinafter referred to as LEARN) is developed by top multinational companies such as Google and Intel. The professional operation team of the Singapore Stock Exchange is responsible for daily operations and management; Blockchain technology innovates the existing IoT technology form, and uses the excellent properties of blockchain technology such as decentralized operation, non-tamperable information, and efficient information circulation to solve a series of pain points faced by traditional IoT technology, and then use "new" things Internet technology is used to reshape today’s digital world.

LEARN will establish itself as widely used in e-commerce, supply chain, logistics, AI development and other industry market status, a pan-commercial information management system and trading platform with global coverage has been carefully built. It is committed to establishing blockchain underlying architecture technology logic and business model intelligent contracts, global products and Intermediate transaction links such as service providers and logistics companies, and consumers are seamlessly connected to create a commodity information exchange and trade system in the blockchain world, leading to the arrival of a new lifestyle, and using LEARN tokens to open up the communication between various links in the market. Chasm, which solves many pain points in the current commercial market, is a blockchain project with global application scenarios and a grand ideal blueprint under the guidance of the latest top-level architecture concept of blockchain.

On the basis of deep involvement in the consumer market, LEARN will vigorously explore the application potential of blockchain technology in securities, utility tokens, etc., and provide more start-ups across the country and even the world. A good financing and development environment, and unremitting efforts to promote the goal of global economic integration.

The application scenarios of LEARN are very rich, covering all aspects of life such as food, clothing, housing, transportation, food, drink, and entertainment. The launch of LEARN's various payment solutions, life service solutions and public service solutions can penetrate LEARN into all aspects of people's lives. Payment using the LEARN platform is very simple and convenient. Using LEARN Token as the medium and the LEARN ecological transaction system, a safe and fast payment model can be easily realized. By building a bridge between the "real world - the blockchain world - the real world", Application scenarios that are mainly online and supplemented by offline. Online, all merchants can join, and LEARN guarantees that it will always be free, including live broadcasts of Internet celebrities and merchants in various industries. LEARN is used for payment throughout the platform, and merchants are mortgage-free and inventory-free, and all services are provided by the platform; offline, covering various industries such as tourism, entertainment, hotels, and catering. Build application scenarios.

In order to encourage consumers to actively use the LEARN platform for e-commerce consumption and electronic payments, LEARN will provide certain point rewards based on the consumption amount to consumers who use the official mall. In addition, it will also launch Various small tasks with point rewards further increase the user stickiness of the mall. After the points reach a certain amount, they can be converted into Bitcoins and directly enter the public chain for circulation and appreciation.

LEARN plans to lead a number of member institutions to build a world-class distributed payment system and continuously promote the formation of the blockchain ecosystem. As the world's first and world-leading payment model, LEARN helps solve the security issues of mobile payments and the inefficiency of credit card payments. It also makes unique contributions to the open source and application of blockchain technology in the payment field. . LEARN is based on the special business needs of the industry, existing technical levels, laws and regulations, etc.The requirements or conditions are comprehensively optimized from multiple dimensions such as business security, performance, cost, policy, technical feasibility, operation and maintenance, and governance, providing opportunities for future development.

Abel Bush

Master of Computer Science from MIT. During his schooling, he won many scholarships at various levels. Directly after graduation, he became the leader of Google's blockchain application development team. He has been committed to the in-depth development and practical promotion of blockchain technology for many years. He is a top engineer in the blockchain field and has led the construction of the underlying architecture of the LEARN platform.

Kevin Louis

Winner of a double degree in computer science and management from the University of California, Berkeley, and director of the Facebook User Security Service Center. Working at Facebook made him fully aware of the importance of data security, and he actively used blockchain applications to achieve safe and efficient transmission of massive data.

Sunny Tommy

Graduated from Stanford University and has extensive experience in developing software, web application idioms and automation, spanning multiple fields and programming languages, and is very interested in learning He has a strong interest in using new technologies and has been responsible for the research and application of blockchain technology in multinational companies such as Google for a long time.

Brynden Tully

Graduated from Oxford University and is a top actuary in the UK. He has provided various types of data consulting services to many economic affairs organizations in the European Union. He currently works for William Hill Asia Pacific. District Technical Director is the most staunch supporter of online gaming and blockchain gaming in the gaming industry. In recent years, he has actively participated in international blockchain research and development and cooperation and can provide LEARN with massive international network resources.

Baier Blomfield

Graduated from Moscow State University, he is a full-line developer with comprehensive talents and has rich experience in the fields of software development, web application idioms and automation. Across multiple domains and programming languages. He has a strong interest in learning and using new technologies, and tries to apply them to some novel cases. He has also built responsive lookahead applications, APls and other systems.

Strategic Cooperation Unit

3. Cartoon Illustration: What is Blockchain

Cartoon Illustration: What is Blockchain

What is blockchain?
Blockchain, English Blockchain, is essentially a decentralized distributed database. Anyone can become a node of this huge network as long as they set up their own server and connect to the blockchain network.
Since the blockchain is essentially a database, what exactly is stored in it?Let’s take a look at the basic unit of blockchain: Block.
A block is divided into two parts:
1. Block header
The block header stores the header information of the block, including the hash value (PreHash) of the previous block. The hash value of the block body (Hash), the timestamp (TimeStamp), etc.
2. Block body
The block body stores the detailed data (Data) of this block. This data contains several rows of records, which can be transaction information or some other information.
What does the hash value just mentioned mean?
Everyone must have heard of MD5. MD5 is a typical hash algorithm that can convert a string of plaintext of any length into a string of fixed length (128 bits). This string is the hash value.
In our blockchain, a more complex hash algorithm called SHA256 is used. After a series of complex calculations, the latest data information (such as transaction records) will eventually be converted into a 256-bit hash value string through this hash algorithm, which is the Hash in the block header. The format is as follows:

Blocks and Hash have a one-to-one correspondence, and Hash can be regarded as the unique identifier of the block.
How are different blocks related to each other? Rely on Hash and PreHash to associate. The PreHash value of each block is equal to the Hash value of the previous block.
Why do we need to calculate the hash value of the block?
Since the blockchain is a chain structure, there must be a head node (the first block) and a tail node (the last block) of the chain. Once someone calculates the hash value of the latest data in the blockchain, which is equivalent to packaging the latest transaction records, a new block will be created and connected to the end of the blockchain.
The Hash of the new block header is the hash value just calculated, and the PreHash is equal to the Hash of the previous block. The data in the block body stores the transaction records before packaging, and this part of the data information has become unmodifiable.
This process of calculating Hash values ​​and creating new blocks is called mining.
The server used for massive calculations is called a mining machine.
The workers who operate calculations are called miners.
What is so difficult about calculating hash values? Let’s give the most superficial explanation. The formula for calculating the hash value is as follows:
Hash = SHA-256 (Hash of the last block + basic information of the new block + transaction record information + random number)
Among them, the transaction record information is also a string of hash values, and its calculation involves a data structure Merkle Tree. Interested friends can check the relevant information, we will not introduce it for now.
The key computational difficulty here is the generation of random numbers. In order to increase the difficulty of Hash calculation, the wretched inventor of the blockchain requires that the first 72 bits of the Hash result must be 0. This probability is too small.
Since (the Hash of the last block + the basic information of the new block + the transaction record information) is fixed, whether the Hash that meets the requirements can be obtained depends entirely on the value of the random number. Miners must go through massive calculations and repeatedly generate random numbers in an attempt to "get lucky" before they can get the correct Hash and successfully mine.
At the same time, the block header also contains a dynamic difficulty coefficient. When the world's hardware computing power becomes faster and faster, the difficulty coefficient of the blockchain will also increase, making the entire network capable of completing the task every 10 minutes on average. A new block is generated.
Friends, do you understand how difficult mining is? It should be added that different blockchain applications are different in details. The mining rules described here take Bitcoin as an example.
Applications of Blockchain

The concept of Bitcoin (BitCoin) was first proposed by Satoshi Nakamoto in 2008, and then based on this idea, open source software and P2P built on it were designed and released. network. Bitcoin is a P2P form of digital currency. Peer-to-peer transmission means a decentralized payment system.
What is a P2P network?
Traditional currencies are uniformly issued by the central bank, and all personal savings are uniformly managed by banks. This is a typical centralized system.
Bitcoin is deployed on a decentralized network composed of many peer nodes around the world. Every node is qualified to record and issue this digital currency.
As for the underlying data storage of Bitcoin, it is based on blockchain technology. Each transaction in Bitcoin corresponds to a row in the block data. A simple diagram is as follows:
Each row of the transaction record contains a timestamp, transaction details, and digital signature.
The table is only for ease of understanding. The actual stored transaction details are anonymous, and only the wallet addresses of the payer and payee are recorded.
As for digital signatures, they can be understood as anti-counterfeiting marks for each single transaction, generated by an asymmetric encryption algorithm.
Next let’s talk about the rewards of Bitcoin miners:
The Bitcoin protocol stipulates that miners who mine new blocks will receive rewards. Starting from 2008, it is 50 Bitcoins, and then halved every 4 years. , currently 12.5 Bitcoin in 2018. The new Bitcoins in circulation are all born in this way. No wonder everyone is so eager to mine Bitcoins!
Advantages and Disadvantages of Blockchain
Advantages of Blockchain:
1. Decentralization
Blockchain does not rely on a central node. The data of the entire system is All peer nodes in the entire network are jointly maintained, and all data can be processedStorage and inspection. In this way, unless the attacker hacks more than half of the nodes in the entire network, the entire system will not be destroyed.
2. Information cannot be tampered
The data in the block cannot be tampered with. Once the data is tampered with even a little bit, the hash value corresponding to the entire block will change accordingly, and it will no longer be a valid hash value, and the subsequent linked blocks will also be broken.
Disadvantages of blockchain:
1. Excessive consumption of energy
To generate a new block, a large amount of server resources must be used to perform a large number of unnecessary trial calculations, which seriously consumes electricity.
2. Network delay of information
Take Bitcoin as an example. Any transaction data needs to be synchronized to all other nodes. The synchronization process will inevitably be affected by network transmission delay, resulting in a long time consuming.
A few additional points:
1. Part of the content of this comic refers to Ruan Yifeng’s blog post "Blockchain Introductory Tutorial". I would like to thank this great master for his popular science.
2. Due to limited space, the knowledge about Merkle Tree and asymmetric encryption has not been discussed in detail for the time being. Interested friends can check the information for further study.

4. What is the core technology of blockchain?

Simply put, blockchain is a distributed database that provides Byzantine fault tolerance and ensures ultimate consistency; from From the data structure point of view, it is a chained data block structure based on time series; from the node topology point of view, all its nodes are redundant backups of each other; from the operation point of view, it provides a public and private key management system based on cryptography. Manage Account.
Perhaps the above concept is too abstract, let me give you an example so that you can understand it easier.
You can imagine that there are 100 computers distributed around the world. The network between these 100 machines is a wide area network, and the owners of these 100 machines do not trust each other.
So, what kind of algorithm (consensus mechanism) do we use to provide it with a trustworthy environment and make:
The data exchange process between nodes cannot be tampered with, and the generated historical records It cannot be tampered with;
The data of each node will be synchronized to the latest data, and the validity of the latest data will be verified;
Based on the principle of the minority obeying the majority, the data maintained by the overall node can objectively reflect the exchange history.
Blockchain is a technical solution created to solve the above problems.
2. The core technology components of blockchain
Whether it is a public chain or a consortium chain, it requires at least four modules: P2P network protocol, distributed consistency algorithm (consensus mechanism), encryption signature algorithm, Account and storage model.
1. P2P network protocol
P2P network protocol is the lowest module of all blockchains and is responsible for network transmission and broadcast of transaction data, node discovery and maintenance.
Usually IWhat we use is the Bitcoin P2P network protocol module, which follows certain interaction principles. For example: when connecting to other nodes for the first time, you will be required to confirm the status according to the handshake protocol. After the handshake, you will start to request the address data and block data of the Peer node.
This P2P interactive protocol also has its own set of instructions, which are reflected in the command field of the Message Header. These commands provide the upper layer with node discovery, node acquisition, block header acquisition, Block acquisition and other functions, these functions are very low-level and very basic functions. If you want to learn more, you can refer to the Peer Discovery chapter in the Bitcoin Developer Guide.
2. Distributed consensus algorithm
In the field of classic distributed computing, we have non-Byzantine fault-tolerant algorithms represented by the Raft and Paxos algorithm families, as well as the PBFT consensus algorithm with Byzantine fault-tolerant characteristics.
If we look at it from the perspective of technological evolution, we can draw a picture in which blockchain technology has expanded the original distributed algorithm economically.
In the picture, we can see that computer applications were mostly single-point applications at the beginning, and cold disaster recovery was used for high availability and convenience. Later, they developed into multi-active in different places. These multi-active in different places may use load balancing. and routing technology. With the development of distributed system technology, we have transitioned to distributed systems based on Paxos and Raft.
In the field of blockchain, PoW workload proof algorithm, PoS equity proof algorithm, and DPoS proxy equity proof algorithm are mostly used. The above three are the mainstream consensus algorithms in the industry. These algorithms are similar to the classic distributed consensus algorithm. The difference is that they incorporate the concept of economic games. Below I will briefly introduce these three consensus algorithms respectively.
PoW: Usually refers to solving a mathematical problem of specific difficulty under given constraints. Whoever solves it faster can obtain the right to bookkeeping (block production). This solution process is often converted into a calculation problem, so when competing for speed, it becomes who has a better calculation method and whose equipment has better performance.
PoS: This is a proof-of-stake mechanism. Its basic concept is that the difficulty of generating a block should be proportional to your stake (ownership ratio) in the network. The core idea of ​​its implementation is: Use the coin age (CoinAge) of your locked tokens and a small proof of work to calculate a target value. When the target value is met, you will be able to obtain accounting rights.
DPoS: A simple understanding is to convert the bookkeepers in the PoS consensus algorithm into a small circle composed of a specified number of nodes, instead of everyone can participate in bookkeeping. This circle may be 21 nodes, or it may be 101 nodes, depending on the design, only the nodes in this circleTo obtain accounting rights. This will greatly improve the throughput of the system, because fewer nodes means that the network and nodes are controllable.
3. Encrypted signature algorithm
In the field of blockchain, the most commonly used hash algorithm is the hash algorithm. The hash algorithm has the characteristics of collision resistance, irreversibility of the original image, and problem friendliness.
Among them, problem friendliness is the basis for the existence of many PoW currencies. In Bitcoin, the SHA256 algorithm is used as the calculation method for proof of work, which is what we call the mining algorithm.
In Litecoin, we will also see the Scrypt algorithm, which is different from SHA256 in that it requires large memory support. In some other currencies, we can also see mining algorithms based on the SHA3 algorithm. Ethereum uses an improved version of the Dagger-Hashimoto algorithm, named Ethash, which is an IO-intractable algorithm.
Of course, in addition to the mining algorithm, we will also use the RIPEMD160 algorithm, which is mainly used to generate addresses. Most of the numerous Bitcoin derivative codes adopt the Bitcoin address design.
In addition to addresses, we will also use the core and the cornerstone of the blockchain Token system: public and private key cryptographic algorithms.
In the Bitcoin code, ECDSA is basically used. ECDSA is a combination of ECC and DSA. The entire signature process is similar to DSA, except that the algorithm used in the signature is ECC (Elliptic Curve Function).
Technically, we start by generating a private key, then generate a public key from the private key, and finally generate an address from the public key. Each of the above steps is an irreversible process, which means that the public key cannot be derived from the address. , derived from the public key to the private key.
4. Account and transaction model
From the initial definition, we know that blockchain can be considered a distributed database from a technical perspective only. So, what type of database do most blockchains use? What about the database?
When I designed the Metaverse blockchain, I referred to a variety of databases, including NoSQL’s BerkeleyDB and LevelDB, and some currencies use SQL-based SQLite. These underlying storage facilities are mostly lightweight embedded databases. Since they do not involve the ledger characteristics of the blockchain, these storage technologies are no different from those used in other situations.
The ledger characteristics of blockchain are usually divided into UTXO structure and ledger structure based on Accout-Balance structure, which we also call the ledger model. UTXO is the abbreviation of "unspent transaction input/output", which translated means "unspent transaction input/output".
Toke in this blockchainn is an accounting mode of transfer. Each transfer appears in the form of input and output; in the Balance structure, there is no such mode.

5. What are the core blockchain technologies of blockchain technology?


What is the hottest Internet topic at the moment? You don’t need to explain it to the editor to know, that is the area Blockchain technology, but many friends have only heard of this technology and do not have much in-depth understanding of it. So what are the blockchain technologies? Below we will bring you an introduction to the core technology of blockchain for your reference.
What are the core elements of blockchain technology?
Blockchain technology can be a public ledger (visible by anyone) or a permissioned network (visible only by those authorized), which solves supply chain challenges , because it is an immutable record that is shared among network participants and updated in real time.
Blockchain technology----data layer: designing the data structure of the ledger
Core technology 1. Block + chain:
Technically speaking, block is a data structure that records transactions. Reflects the flow of funds for a transaction. The blocks of transactions that have been reached in the system are connected together to form a main chain, and all nodes participating in the calculation record the main chain or part of the main chain.
Each block consists of a block header and a block body. The block body is only responsible for recording all transaction information in the previous period, mainly including the number of transactions and transaction details; the block header encapsulates the current version number, previous A block address, timestamp (recording the time when the block was generated, accurate to the second), random number (recording the value of decrypting the answer to the math question related to the block), the target hash value of the current block, and the Merkle number Root value and other information. From a structural point of view, most functions of the blockchain are implemented by the block header.
Core technology 2. Hash function:
The hash function can convert data of any length into a set of fixed-length codes through the Hash algorithm. The principle is based on a cryptographic one-way hash function. This kind of function is easy to verify, but difficult to crack. Usually, the industry uses y=hash(x) to represent it. This hash function implements operations on x to calculate a hash value y.
Commonly used hash algorithms include MD5, SHA-1, SHA-256, SHA-384 and SHA-512, etc. Taking the SHA256 algorithm as an example, inputting any string of data into SHA256 will result in a 256-bit Hash value (hash value). Its characteristics: the same data input will get the same result. As long as the input data changes slightly (for example, a 1 becomes a 0), a completely different result will be obtained, and the result cannot be predicted in advance. Forward calculation (calculating the corresponding Hash value from the data) is very easy. Reverse calculation (cracking) is extremely difficult and is considered impossible under current technological conditions.
Core technology 3. Merkle tree:
Merkle tree is a hash binary tree, which canQuickly verify the integrity of large-scale data. In the blockchain network, the Merkle tree is used to summarize all transaction information in a block, and ultimately generates a unified hash value of all transaction information in the block. Any change in transaction information in the block will cause Merkle tree changes.
Core technology 4. Asymmetric encryption algorithm:
Asymmetric encryption algorithm is a key secret method that requires two keys: public key and private key. The public key and the private key are a pair. If the public key is used to encrypt data, only the corresponding private key can be used to decrypt it, thereby obtaining the corresponding data value; if the private key is used to sign the data, then only the corresponding public key can be used to sign the data. In order to verify the signature, the sender of the verification information is the holder of the private key.
Because encryption and decryption use two different keys, this algorithm is called an asymmetric encryption algorithm, while symmetric encryption uses the same key in the encryption and decryption processes.
Blockchain technology----network layer: realize the decentralization of accounting nodes
Core technology 5. P2P network:
P2P network (peer-to-peer network), also known as point-to-point technology, is no Central server, Internet system that relies on user groups to exchange information. Unlike a centralized network system with a central server, each client in a peer-to-peer network acts as both a node and a server. Domestic Xunlei software uses P2P technology. The P2P network has the characteristics of decentralization and robustness.
Blockchain technology----Consensus layer: allocate the task load of accounting nodes
Core technology 6. Consensus mechanism:
Consensus mechanism is how to reach consensus among all accounting nodes to identify The validity of a record is both a means of identification and a means of preventing tampering. There are currently four main types of consensus mechanisms: PoW, PoS, DPoS and distributed consensus algorithms.
PoW (Proof of Work, proof of work): PoW mechanism, which is like Bitcoin’s mining mechanism, miners package existing transactions that have not been recorded by the network into a block, and then continue to traverse and try to find a random number , so that the hash value of the new block plus the random number meets certain difficulty conditions. Finding a random number that meets the conditions is equivalent to determining the latest block of the blockchain, and is also equivalent to obtaining the current round of accounting rights of the blockchain. Miners broadcast blocks that meet the mining difficulty conditions in the Yuanfu network. After verifying that the block meets the mining difficulty conditions and that the transaction data in the block meets the protocol specifications, other nodes in the entire network will each Blocks are linked to their own version of the blockchain, thereby forming a network-wide consensus on the current network state.
PoS (ProofofStake, Proof of Stake): PoS mechanism requires nodes to provide proof of a certain number of tokens to obtain a distributed consensus mechanism for competing for blockchain accounting rights. If you rely solely on the token balance to determine the bookkeeper, you will inevitably make the rich win, which will lead to the centralization of bookkeeping rights and reduce the fairness of the consensus. Therefore,Different PoS mechanisms use different methods to increase the randomness of accounting rights on the basis of proof of rights to avoid centralization. For example, in the PeerCoin PoS mechanism, the Bitcoin with the longest chain age has a greater chance of obtaining accounting rights. NXT and Blackcoin use a formula to predict the next accounting node. The more tokens you own, the greater the probability of being selected as an accounting node. In the future, Ethereum will also switch from the current PoW mechanism to a PoS mechanism. Judging from the information currently available, Ethereum's PoS mechanism will use nodes to place bets on the next block. The winner of the bet will receive an additional Ethereum currency award. Those who do not win will be deducted Ether coins to reach consensus on the next block.
DPoS (DelegatedProof-Of-Stake, share authorization certificate): DPoS is easy to understand and is similar to the modern corporate board of directors system. The DPoS mechanism adopted by BitShares is that shareholders vote to select a certain number of witnesses. Each witness has two seconds of authority to generate blocks in order. If the witness cannot generate a block within the given time slice, The block generation authority is given to the witness corresponding to the next time slice. Shareholders can replace these witnesses at any time by voting. This design of DPoS makes the generation of blocks faster and more energy-saving.
Distributed Consistency Algorithm: Distributed Consistency Algorithm is based on traditional distributed consistency technology. Among them are Byzantine fault-tolerant algorithms that solve the Byzantine Generals problem, such as PBFT (Byzantine fault-tolerant algorithm). In addition, distributed consensus algorithms (Pasox, Raft) that solve non-Byzantine problems are not explained in this article. This type of algorithm is currently a commonly used consensus mechanism in alliance chain and private chain scenarios.
Taken together, POW is suitable for public chains. If you build a private chain, it is more suitable to use POS because there is no trust problem in verification nodes; and because there are untrustworthy local nodes in the alliance chain, it is more suitable to use DPOS.
Blockchain technology----Incentive layer: Develop a "salary system" for accounting nodes
Core technology 7. Issuance mechanism and incentive mechanism:
Take Bitcoin as an example. Bitcoins are initially rewarded by the system to miners who create new blocks, and this reward is halved approximately every four years. At the beginning, miners were rewarded with 50 Bitcoins for each new block recorded, and this reward is halved approximately every four years. By analogy, by around AD 2140, newly created blocks will no longer receive rewards from the system. By then, the total number of Bitcoins will be approximately 21 million. This is the total number of Bitcoins, so it will not increase indefinitely.
Another source of incentives is transaction fees. When there are no system rewards for newly created blocks, the miners' income will change from system rewards to transaction fees. For example, when you transfer, you can specify 1% of it as a handling fee to be paid to the miner who records the block. If the output value of a transaction is less than the input value, the difference is the transaction fee, which will be added to the incentive for that block. As long as a given amount of electronic money has entered circulation, then the incentive mechanism can gradually be converted to rely entirely on transaction fees, so there is no need to issue new currencies.
Blockchain technology----Contract layer: giving the ledger programmable features
Core technology 8. Smart contract:
Smart contract is a set of programmed rules and logic that respond to scenarios. Implemented by decentralized, trusted shared script code deployed on the blockchain. Normally, after the smart contract is signed by all parties, it is attached to the blockchain data in the form of program code, and is recorded in a specific block of the blockchain after being propagated through the P2P network and verified by nodes. Smart contracts encapsulate a number of predefined states and transition rules, scenarios that trigger contract execution, response actions under specific scenarios, etc. The blockchain can monitor the status of smart contracts in real time, and activate and execute the contract by checking external data sources and confirming that specific trigger conditions are met.
The above is what blockchain technologies the editor has brought to you? All content introduced to the core technology of blockchain.

6. What is blockchain

On May 27, 2021, the Ministry of Industry and Information Technology and the Office of the Central Cybersecurity and Information Technology Commission issued the "About Accelerating the Promotion of Blockchain" "Guiding Opinions on the Application and Industrial Development of Chain Technology" (Ministry of Industry and Information Technology Lianxinfa [2021] No. 62), the document defines blockchain as follows:
Blockchain is an important part of the new generation of information technology and is a distributed A new type of database software that integrates various technologies such as traditional network, encryption technology, and smart contracts. Through data transparency, difficulty in tampering, and traceability, it is expected to solve the trust and security issues in cyberspace and promote the transformation and reconstruction of the Internet from transmitting information to transmitting value. Information industry system.
Blockchain is the cornerstone of building trust and a trusted network that enables credit transfer and value transfer. Reliable blockchain infrastructure allows enterprises and governments to quickly and efficiently build blockchain networks and industry applications, achieve reliable and rapid flow of capital, logistics, and information flows, and achieve efficient and credible collaboration, helping to reduce collaboration costs and improve Efficiency
The current application of blockchain + industry mainly has the following directions:
Blockchain + insurance industry, insurance companies can optimize business processes and reduce risks through the needs on the blockchain. Customers who purchase insurance have a full, objective and comprehensive understanding of data;
Blockchain + supply chain enables information in all aspects of the supply chain to be updated and shared in real time, making it easier for personnel in each link to understand the latest information and make correct and objective decisions. business judgment.
Blockchain + medical industry, blockchain information cannot be tampered with, ensuring the accuracy and uniqueness of medical data; establishing patient electronic health records, recording real patient health data, and obtaining authorization to view through private keys, that is, protection The collection of sensitive personal data also facilitates doctors to make more accurate treatment plans.

7. What is blockchain and what is digital currency

Blockchain is an important concept of Bitcoin and is essentially a decentralized database.
At the same time, as the bottom of BitcoinLayer technology is a series of data blocks generated using cryptographic methods. Each data block contains a batch of Bitcoin network transaction information, which is used to verify the validity of the information (anti-counterfeiting) and generate the next block. piece. Digital currency is an unregulated, digital currency that is usually issued and managed by developers and accepted and used by members of a specific virtual community. The European Banking Authority defines virtual currency as: a digital representation of value that is not issued by a central bank or authority and is not linked to a legal currency, but which, because it is accepted by the public, can be used as a means of payment or can be transferred, stored or traded electronically. .
The content of this article comes from: China Law Publishing House's "Comprehensive Knowledge of Legal Life Series"

8. Tutorial for getting started with blockchain


However, it is simple There are few easy-to-understand introductory articles. What exactly blockchain is and what makes it special is rarely explained.
Next, I will try to write a best-understood blockchain tutorial. After all, it is not difficult. The core concept is very simple and can be explained clearly in a few sentences. I hope that after reading this article, you will not only understand the blockchain, but also understand what mining is, why mining is getting more and more difficult, and other issues.
It should be noted that I am not an expert in this area. Although I have been paying attention to it for a long time, my detailed understanding of blockchain started at the beginning of this year. You are welcome to correct any errors or inaccuracies in the article.
1. The essence of blockchain
What is blockchain? In a word, it is a special distributed database.
First of all, the main function of blockchain is to store information. Any information that needs to be saved can be written to the blockchain and read from it, so it is a database.
Secondly, anyone can set up a server, join the blockchain network, and become a node. In the world of blockchain, there is no central node. Every node is equal and stores the entire database. You can write/read data to any node, because all nodes will eventually be synchronized to ensure that the blockchain is consistent.
2. The biggest features of blockchain
Distributed databases are not a new invention, and there have been such products on the market for a long time. However, blockchain has a revolutionary feature.
Blockchain has no administrator, it is completely centerless. Other databases have administrators, but blockchain does not. If one wanted to add auditing to the blockchain, it would not be possible because it is designed to prevent the emergence of a central authority.
It is precisely because it is unmanageable that blockchain can be uncontrollable. Otherwise, once big companies and large groups control the management, they will control the entire platform, and other users will have to take orders from them.
However, without an administrator, everyone can write data into it. How can we ensure that the data is trustworthy? What if it is modified by a bad person? Please read on, this is the wonderful thing about blockchain place.
3. Block
Blockchain is composed of blocks. Blocks are a lot like dataFor library records, every time data is written, a block is created.
Each block contains two parts.
Head: records the characteristic values ​​of the current block
Body: actual data
The block header contains multiple characteristic values ​​of the current block.
Generation time
Hash of the actual data (i.e. block body)
Hash of the previous block
...
Here, you need to understand what a hash is , which is necessary to understand blockchain.
The so-called hashing means that the computer can calculate a characteristic value of the same length for any content. The hash length of the blockchain is 256 bits, which means that no matter what the original content is, a 256-bit binary number will be calculated in the end. And it can be guaranteed that as long as the original content is different, the corresponding hash must be different.
For example, the hash of the string 123 is (hexadecimal), which is 256 bits when converted to binary, and only 123 can get this hash. (Theoretically, it is possible for other strings to get this hash, but the probability is extremely low and can be approximated as impossible.)
Therefore, there are two important inferences.
Corollary 1: The hash of each block is different, and the block can be identified by the hash.
Corollary 2: If the content of the block changes, its hash will definitely change.
4. The non-modifiable nature of Hash
Blocks and hashes have a one-to-one correspondence, and the hash of each block is calculated based on the block header (Head). That is to say, the characteristic values ​​​​of the block header are connected together in order to form a very long string, and then the hash is calculated on this string.
Hash = SHA256 (block header)
The above is the calculation formula of block hash. SHA256 is the hash algorithm of the blockchain. Note that this formula only contains the block header and not the block body. In other words, the hash is uniquely determined by the block header.
As mentioned before, the block header contains a lot of content, including the hash of the current block body. , and the hash of the previous block. This means that if the content of the current block body changes, or the hash of the previous block changes, it will definitely cause the hash of the current block to change.
This point has great significance for blockchain. If someone modifies a block, the hash of the block changes. In order for subsequent blocks to still be connected to it (because the next block contains the hash of the previous block), the person must modify all subsequent blocks in sequence, otherwise the modified block will be removed from the blockchain . Due to the reasons mentioned later, hash calculation is very time-consuming, and it is almost impossible to modify multiple blocks in a short period of time, unless someone controls more than 51% of the computing power of the entire network.
It is through this linkage mechanism that the blockchain ensures its own reliability. Once the data is written, it cannot be tampered with. This is just like history, what happened happened, and it can’t be changed from now on.
Each block is connected to the previous oneBlock, this is also the origin of the name blockchain.
5. Mining
Since synchronization between nodes must be ensured, the adding speed of new blocks cannot be too fast. Just imagine, you have just synchronized a block and are preparing to generate the next block based on it, but at this time, another node generates a new block, and you have to give up half of the calculations and synchronize again. Because each block can only be followed by one block, you can only generate the next block after the latest block. So, you have no choice but to sync as soon as you hear the signal.
So, the inventor of the blockchain, Satoshi Nakamoto (this is a pseudonym, his true identity is still unknown), deliberately made it difficult to add new blocks. His design is that on average, the entire network can generate a new block every 10 minutes, which is only six per hour.
This output speed is not achieved through commands, but by deliberately setting up massive calculations. In other words, only through an extremely large amount of calculations can the effective hash of the current block be obtained and the new block added to the blockchain. Because the amount of calculation is too large, it cannot be done quickly.
This process is called mining, because the difficulty of calculating a valid hash is like finding a grain of sand that meets the conditions among the sand in the world. The machine that calculates hashes is called a mining machine, and the person who operates the mining machine is called a miner.
6. Difficulty coefficient
After reading this, you may have a question. People say that mining is difficult, but isn’t mining just about using a computer to calculate a hash? This is the strength of computers. How could it be? It becomes very difficult, why can’t it be calculated?
It turns out that not any hash can be used, only hashes that meet the conditions will be accepted by the blockchain. This condition is particularly harsh, causing most hashes to fail to meet the requirements and must be recalculated.
It turns out that the block header contains a difficulty coefficient (difficulty), which determines the difficulty of calculating the hash. For example, the difficulty coefficient of the 100,000th block is 14484.16236122.
The blockchain protocol stipulates that the target value (target) can be obtained by dividing the difficulty coefficient by a constant. Obviously, the greater the difficulty coefficient, the smaller the target value.
The validity of the hash is closely related to the target value. Only hashes smaller than the target value are valid, otherwise the hash is invalid and must be recalculated. Since the target value is very small, the chance that the hash is smaller than this value is extremely slim. It may be calculated 1 billion times before it is considered a hit. This is the fundamental reason why mining is so slow.
As mentioned earlier, the hash of the current block is uniquely determined by the block header. If the hash of the same block needs to be calculated repeatedly, it means that the block header must keep changing, otherwise it is impossible to calculate different hashes. All feature values ​​in the block header are fixed. In order to make the block header change, Satoshi Nakamoto deliberately added a random item called Nonce.
Nonce is a random value. The role of the miner is actually to guess the value of Nonce so that the block headerThe hash can be smaller than the target value, allowing it to be written to the blockchain. Nonce is very difficult to guess. At present, we can only use trial and error one by one through exhaustive methods. According to the protocol, Nonce is a 32-bit binary value, which can reach a maximum of 2.147 billion. The Nonce value of the 100,000th block is 274148111. It can be understood that the miner started from 0 and calculated 274 million times before obtaining a valid Nonce value so that the calculated hash can meet the conditions.
If you are lucky, you may find Nonce in a while. If you are unlucky, you may have calculated it 2.147 billion times without finding the Nonce, that is, it is impossible to calculate a hash that meets the conditions for the current block body. At this time, the protocol allows miners to change the block body and start a new calculation.
7. Dynamic adjustment of difficulty coefficient
As mentioned in the previous section, mining is random, and there is no guarantee that a block will be produced in exactly ten minutes. Sometimes it can be calculated in one minute, and sometimes it may take several hours. No result. Overall, with the improvement of hardware equipment and the increase in the number of mining machines, the computing speed will definitely become faster and faster.
In order to keep the output rate constant at ten minutes, Satoshi Nakamoto also designed a dynamic adjustment mechanism for the difficulty coefficient. He stipulated that the difficulty factor should be adjusted every two weeks (2016 blocks). If the average block generation speed in these two weeks is 9 minutes, it means that it is 10% faster than the legal speed, so the next difficulty factor will be increased by 10%; if the average block generation speed is 11 minutes, it means It is 10% slower than the legal speed, so the difficulty factor of the next step must be lowered by 10%.
The difficulty coefficient is adjusted higher and higher (the target value is getting smaller and smaller), which makes mining more and more difficult.
8. Forks of the blockchain
Even if the blockchain is reliable, there is still an unresolved problem: if two people write data to the blockchain at the same time, that is to say, two people write data to the blockchain at the same time. Blocks join because they are connected to the previous block, forming a fork. Which block should be adopted at this time?
The current rule is that new nodes always adopt the longest blockchain. If there is a fork in the blockchain, it will look at which branch is behind the fork to reach 6 new blocks first (called six confirmations). Based on a block calculation of 10 minutes, it can be confirmed in one hour.
Since the generation speed of new blocks is determined by computing power, this rule means that the branch with the most computing power is the authentic blockchain.
9. Summary
Blockchain, as an unmanaged distributed database, has been running for 8 years since 2009 without major problems. This proves it works.
However, in order to ensure the reliability of data, blockchain also has its own price. The first is efficiency. You have to wait at least ten minutes to write data to the blockchain. All nodes synchronize the data, which requires more time. The second is energy consumption. The generation of blocks requires miners to perform countless meaningless calculations. This is Very energy consuming.
Therefore, the applicable scenarios of blockchain are actually very limited.
There is no management authority that all members trust
The written data does not require real-time use
The benefits of mining can make up for its own costs
If the above conditions cannot be met, then the traditional database is Better solution.
Currently, the largest application scenario (and possibly the only application scenario) of blockchain is the cryptocurrency represented by Bitcoin.

9. Blockchain technology concept

Blockchain technology concept

Blockchain technology concept, nowadays, blockchain has become It is an area that most people are concerned about, and many companies have already studied the technology in depth. However, there are still people who don’t know much about it. Below I will share an article about the concept of blockchain technology.

Blockchain technology concept 1

Basic concepts and working principles of blockchain

1. Basic concepts

Blockchain is a distributed data storage, point-to-point New application models of computer technologies such as transmission, consensus mechanisms, and encryption algorithms. The so-called consensus mechanism is a mathematical algorithm that establishes trust and obtains rights and interests between different nodes in the blockchain system.

Blockchain is an important concept of Bitcoin. It is essentially a decentralized database and serves as the underlying technology of Bitcoin. The blockchain is a series of data blocks generated using cryptographic methods. Each data block contains information about a Bitcoin network transaction, which is used to verify the validity of the information, prevent counterfeiting, and generate the next block.

In a narrow sense, blockchain is a chain data structure that combines data blocks in a sequential manner in chronological order, and is cryptographically guaranteed to be non-tamperable and non-transformable. Fake distributed ledger.

Broadly speaking, blockchain technology uses block chain data structures to verify and store data, uses distributed node consensus algorithms to generate and update data, and uses cryptography to ensure data transmission and access. It is a new distributed infrastructure and computing method that uses smart contracts composed of automated script codes to program and operate data securely.

2. Working principle

The blockchain system consists of data layer, network layer, consensus layer, incentive layer, contract layer and application layer. Among them, the data layer encapsulates the underlying data blocks and related basic data and algorithms such as data encryption and timestamps; the network layer includes distributed networking mechanisms, data dissemination mechanisms, and data verification mechanisms; the consensus layer mainly encapsulates network nodes Various consensus algorithms; the incentive layer integrates economic factors into the blockchain technology system, mainly including the issuance mechanism and distribution mechanism of economic incentives; the contract layer mainly encapsulates various scripts, algorithms and smart contracts, and is the core of the blockchain The foundation of programmable features; the application layer encapsulates the blockchainvarious application scenarios and cases. In this model, the chain block structure based on timestamps, the consensus mechanism of distributed nodes, economic incentives based on consensus computing power, and flexible programmable smart contracts are the most representative innovations of blockchain technology.

Blockchain mainly solves the trust and security issues of transactions, so it proposes four technological innovations to address this issue:

1. Distributed The ledger means that transaction accounting is completed by multiple nodes distributed in different places, and each node records a complete account, so they can all participate in supervising the legality of the transaction and can also jointly testify for it.

Different from traditional distributed storage, the uniqueness of blockchain distributed storage is mainly reflected in two aspects: First, each node of the blockchain stores complete data according to the block chain structure. For data, traditional distributed storage generally divides the data into multiple parts for storage according to certain rules. Second, the storage of each node in the blockchain is independent and of equal status, relying on the consensus mechanism to ensure storage consistency, while traditional distributed storage generally synchronizes data to other backup nodes through the central node. [8]

No node can record ledger data independently, thus avoiding the possibility of a single bookkeeper being controlled or bribed to record false accounts. Also because there are enough accounting nodes, theoretically, unless all nodes are destroyed, the accounts will not be lost, thus ensuring the security of the accounting data.

2. Asymmetric encryption and authorization technology. Transaction information stored on the blockchain is public, but account identity information is highly encrypted and can only be accessed with authorization from the data owner. , thus ensuring data security and personal privacy.

3. The consensus mechanism is how all accounting nodes reach a consensus to determine the validity of a record. This is both a means of identification and a means of preventing tampering. Blockchain proposes four different consensus mechanisms, which are suitable for different application scenarios and strike a balance between efficiency and security.

The consensus mechanism of the blockchain has the characteristics of "the minority obeys the majority" and "everyone is equal". "The minority obeys the majority" does not entirely refer to the number of nodes, but can also be the computing power and the number of shares. Or other characteristic quantities that the computer can compare. "Everyone is equal" means that when a node meets the conditions, all nodes have the right to give priority to the consensus result, which will be directly recognized by other nodes and may eventually become the final consensus result. Taking Bitcoin as an example, it uses proof of work. Only when more than 51% of the accounting nodes in the entire network are controlled, it is possible to forge a non-existent record. When there are enough nodes joining the blockchain, this is basically impossible, thus eliminating the possibility of fraud.

4. Smart contracts. Smart contracts are based on these trustworthy and non-tamperable data. Some predefined rules and terms can be automatically executed. Taking insurance as an example, ifIf everyone's information, including medical information and risk occurrence information, is authentic and credible, it will be easy to implement automated claims settlement in some standardized insurance products.

3. Others

The Internet exchanges information, and the blockchain exchanges value. Human history and the history of the Internet can be understood in eight words: if they are divided for a long time, they must be combined. For a long time, they must be combined. In the era of long-term separation, all network information is scattered on the Internet. It is very difficult for everyone to mine information. At this time, platforms such as Google and Facebook will appear. , the only thing it does is recombine all our information. In the Internet era, what the monopoly giants reorganize is information, rather than generating their own information. The information generated is entirely our own. Once the information is reorganized, a new monopoly giant will emerge, so it will be an era of long-lasting separation. Now, due to the emergence of blockchain technology, it has entered an era of long-term integration and inevitable division. It is a new multi-centralization. After the new multi-centralization, new value will be generated. These data will be in our own hands, and personal data will generate value. It belongs to oneself. This is the most exciting era of this era.

What is the value of blockchain? A low-cost mechanism to establish trust, establish data rights, and resolve data property rights.

At present, blockchain technology continues to develop, including the current development of single chains to multi-chains, and the technology can be further expanded. I think there may still be disruptions in the future, especially in transactions and other aspects. , especially many disruptive scenarios for existing industries.

The essence of blockchain is to establish trusted information exchange on untrustworthy networks.

One Belt, One Road + One Chain. The bigger thing about blockchain is not to create trust, but to allow trust to be transmitted losslessly, reducing the friction cost of society as a whole, thereby improving the overall efficiency.

The blockchain itself is still in its initial stage, so it includes the information transmission and encryption of the blockchain. Quantum encryption and other encryption appear in this process, which actually attacks the encryption algorithm used by the blockchain itself. This phenomenon also occurs from time to time. Including blockchain is also a recognition of assets, a recognition of digital assets, but now many of us use cryptographic algorithms, or as the key for us to decrypt, but if you forget the password, it is very likely that your current assets will be lost. If you lose them, you won't be able to get back your original assets. Therefore, there are still some hidden dangers in asset management, including information transmission and some security aspects. Of course, from a technical perspective, the processing speed of our blockchain itself, or its scalability, is because from the perspective of the working mechanism, the entire ledger must be copied to all participants, so in the blockchain Its operational efficiency and scalability are still relatively limited. We feel that these still need further development in terms of technology.

The underlying technologies of the blockchain platform also form blockchain wallets and blockchain browsers., node election, mining machines, mining pools, development components, development modules, technical communities and project communities and a series of ecosystems. The perfection of these ecosystems directly determines the efficiency and effectiveness of the underlying platform of the blockchain.

4. Mundell’s Impossible Triangle

It is impossible to achieve the ultimate in decentralization, efficiency, and security at the same time.

Blockchain technology concept 2

The essence of blockchain is a distributed accounting technology, as opposed to centralized accounting technology, which is widely used in our current lives. exist. Blockchain is a new application model of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.

Blockchain is an important concept of Bitcoin. It is essentially a decentralized database. At the same time, as the underlying technology of Bitcoin, it is a series of related cryptographic methods. Each data block contains a batch of Bitcoin network transaction information, which is used to verify the validity and anti-counterfeiting of the information and generate the next block.

In a narrow sense, blockchain is a chain data structure that combines data blocks in a sequential manner in chronological order, and is cryptographically guaranteed to be non-tamperable and non-transformable. Fake distributed ledger.

Broadly speaking, blockchain technology uses block chain data structures to verify and store data, uses distributed node consensus algorithms to generate and update data, and uses cryptography to ensure data transmission and access. It is a new distributed infrastructure and computing method that uses smart contracts composed of automated script codes to program and operate data securely.

The popular understanding of blockchain technology is: connecting the front, back, left and right blocks of "things" into a chain using one technology, but each block The original data of the block cannot be tampered with. It is a "linked module" technology in the field of Internet of Things that allows participants to trust. The application of blockchain technology is inseparable from the Internet and the Internet of Things. It is based on the integration and interaction of the two, but allows participants to remain independent, decentralized, and work together. With this set of value chain co-construction and sharing, technology.

Characteristics of blockchain: decentralization, openness, autonomy, information cannot be tampered with, and anonymity.

Blockchain is a network that can deliver value. The demand for a network that can deliver value is an important reason for the emergence of blockchain technology. Blockchain emerged driven by the need to protect information with ownership or other value. Through public and private key cryptography, distributed storage and other technical means, the blockchain ensures on the one hand the efficient transmission of valuable information, and on the other hand ensures that this information will not be easily copied and tampered with during the transmission process.

Understand the connotation of blockchain from the inevitability of its birth. Blockchain solves the problem of centralized recording.Distributed accounting technology solves the shortcomings of accounting and solves the problem of distributed consistency. It is also a value network that connects the Internet to ensure the safe and efficient transmission of valuable information.

Blockchain Technology Concept 3

Blockchain: Blockchain is like a globally unique account book, or database, which records the history of all transactions in the network.

Ethereum Virtual Machine (EVM): It allows you to write more powerful programs on Ethereum and script programs on Bitcoin. It is also sometimes used to refer to the Ethereum blockchain, which is responsible for executing smart contracts and everything.

Node: You can run a node to read and write to the Ethereum blockchain, that is, using the Ethereum Virtual Machine. Full nodes require downloading the entire blockchain. Light nodes are still under development.

Miner: Mining, that is, the node that processes blocks on the blockchain. You can see some of the currently active Ethereum miners on this page: stats.ethdev.com.

Proof of Work: Miners are always competing to solve some mathematical problem. The first one to solve the problem (calculate the next block) will be rewarded with Ether coins. All nodes then update their own blockchain. All miners who want to figure out the next block have an incentive to stay in sync with other nodes and maintain the same blockchain, so the entire network can always reach consensus. (Note: Ethereum is planning to move to a proof-of-stake system (POS) without miners, but that is beyond the scope of this article.)

Ethereum: Abbreviation ETH. A true digital currency that you can buy and use. Here is a chart from one of the exchanges where you can trade Ethereum. At the time of writing, 1 Ether is worth 65 cents.

Gas: Executing programs and saving data on Ethereum consumes a certain amount of Ethereum. Gas is converted from Ethereum. This mechanism is used to ensure efficiency.

DApp: The Ethereum community calls applications based on smart contracts decentralized applications (Decentralized App). The goal of DApp is (or should be) to have a friendly interface for your smart contracts, plus some extras, such as IPFS, a decentralized network that can store and read data, not from the Ethereum team but in a similar spirit ). DApp can run on a centralized server that can interact with Ethereum nodes, or it can run on any Ethereum equal node. (Take a minute to think about this: Unlike ordinary websites, DApps cannot run on ordinary servers. They need to submit transactions to the blockchain and read important data from the blockchain rather than a centralized database. Compared to typical users When logging into the system, the user may be represented as a wallet address and other user data is stored locally. Many things will be structured differently from current web applications.)

Ethereum client, smart contract language

Writing and deploying smart contracts does not require you to run an Ethereum node. Browser-based IDEs and APIs are listed below. But if you are just learning, you should still run an Ethereum node to understand the basic components, and running a node is not difficult.

Clients available for running Ethereum nodes

Ethereum has many client implementations in different languages, that is, multiple methods of interacting with the Ethereum network, , including C++, Go, Python, Java, Haskell, etc. Why do we need so many implementations? Different implementations can meet different needs. For example, the goal of Haskell implementation is to be mathematically verifiable, to make Ethereum more secure, and to enrich the entire ecosystem.

At the time of writing this article, I am using the client geth (go-ethereum) implemented in the Go language. At other times, I also use a tool called testrpc, which uses the Python client pyethereum. Later examples will use these tools.

About mining: Mining is fun, a bit like caring for your houseplant, but also a way to learn about the entire system. Although the current price of Ethereum may not even cover the electricity bill, who knows in the future. People are creating many cool DApps that may make Ethereum more and more popular.

Interactive console: Once the client is running, you can synchronize the blockchain, create a wallet, and send and receive Ethereum. One way to use geth is through the Javascript console. In addition, you can use cURL-like commands to interact with the client through JSON RPC. The goal of this article is to take you through the process of DApp development, so I won’t go into details about this. But we should remember that these command line tools are useful for debugging, configuring nodes, and using wallets.

Running the node on the test network: If you run the geth client on the official network, it will take quite a while to download the entire blockchain and synchronize with the network. You can determine if synchronization has occurred by comparing the last block number printed in the node logs with the latest block listed on stats.ethdev.com. ) Another problem is that running smart contracts on the official network requires real Ethereum. Running the node on the test network does not have this problem. At this time, there is no need to synchronize the entire blockchain. Just create your own private chain, which saves time for development.

Testrpc: Use geth to create a test network. Another faster way to create a test network is to use testrpc. Testrpc can help you create a bunch of test accounts with funds at startup. It also runs faster and is therefore better suited for development and testing. You can start with testrpc and thenThe appointment is slowly taking shape and transferred to the test network created by geth - the startup method is very simple, you only need to specify a networkid: geth --networkid "12345". Here is the code repository for testrpc, we will talk about it again below.

Next, let’s talk about the available programming languages, and then we can start the real programming. Solidity is the programming language used to write smart contracts.

There are several languages ​​to choose from for writing smart contracts: Solidity, which is somewhat similar to Javascript, has a file extension of .sol. Serpent, which is similar to Python, has a file name ending in .se. There is also a Lisp-like LLL. Serpent has been popular for a while, but now the most popular and stable one is Solidity, so just use Solidity. I heard you like Python? Use Solidity.

solc compiler: After writing the smart contract with Solidity, you need to use solc to compile it. It is a component from a C++ client implementation. Again, different implementations complement each other. Here is how to install it. If you don't want to install solc, you can also use a browser-based compiler, such as Solidity real-time compiler or Cosmo. The programming sections below will assume you have solc installed.

web3.js API. After the Solidity contract is compiled and sent to the network, you can use Ethereum's web3.js JavaScript API to call it and build web applications that can interact with it.

博客主人唯心底涂
男,单身,无聊上班族,闲着没事喜欢研究股票,无时无刻分享股票入门基础知识,资深技术宅。
  • 38758 文章总数
  • 3637394访问次数
  • 3088建站天数