What skills do blockchain engineers need to master?


Since 2017, the blockchain has gradually become the wave front of the Internet. The surge in exposure has led to a booming talent market.

The knowledge required by blockchain is not any special or emerging knowledge. In addition to the knowledge in the field of cryptography, other knowledge and skills are almost common core knowledge of network development.

As the blockchain industry involves a very wide range, from a variety of infrastructure, to a variety of upper applications, their requirements for skills are different. According to the past experience, blockchain development can be roughly divided into two parts: the technology layer and the application layer. According to their previous professional skills background, they choose their own appropriate fields.

1、 Technical layer

The technology layer is the bottom layer of the blockchain. The main work of this layer is the development of the underlying technology and infrastructure. We can compare the technology layer to the kernel of the operating system, and the application layer is to build all kinds of software on top of the operating system. For example, the core technology of our most common bitcoin network comes from its consensus mechanism (POW). Of course, for most chains, the principle of consensus is the core component. To build such a consensus mechanism, we need more underlying technical support, such as network communication, data storage, encryption security and so on. Therefore, this layer has high requirements for the connotation of technology,The technology here is a comprehensive ability, which can be summarized into three parts: theoretical basis, professional experience and technical ability.

1) Theoretical basis

Theoretical basis mainly refers to the theory of distributed system. If you have a professional background (such as computer major – distributed system direction), or have engaged in distributed database, network and other related experience, you may be relatively familiar with this part. To be familiar with and deeply understand the characteristics and various algorithms of distributed network is one of the preconditions to be able to make great achievements in the field of blockchain.

Here, some core concepts of distributed system are listed

·Causal order

·Physical clock / logical clock

·Two stage algorithm (2pc) / three stage algorithm (3pc)

· Safety && Liveness

·FLP impossibility theorem

· Paxos/Multi-paxos

· Raft/Multi-Raft

·Cap theory

·Replica consistency, strong / weak, final consistency

·Simple hash / consistent hash

·Base / acid, distributed ID, etc

· BFT(Byzantine Fault Tolerance)

2) Professional experience

Professional experience refers to the degree of mastering the most mainstream blockchain projects, such as bitcoin and Ethereum. We should not only understand their operation principles, account models, smart contracts, etc., but also be able to continuously improve, develop and innovate on their basis, such as having a certain understanding of the side chain’s light nodes, distributed storage, expansion solutions, etc.

Here are some requirements for the professional experience of blockchain

·Differences between current mainstream consensus algorithms of blockchain (such as principles and differences of pbft, pow, etc.)

·The differences and applicable scenarios among alliance chain, public chain and private chain

·Attack methods against blockchain: 51% computing power attack, Sybil attack, eclipse attack, DDoS attack

·P2P network communication mode (gossip, totem, DHT, etc.)

·Merkle tree data structure

·Bitcoin utxo model, Ethereum transfer process (gas calculation, nonce value, etc.)

·Ethereum smart contract writing, solid related knowledge

·Cryptography (public / private key, ECDSA, RSA, hash algorithm), signature, multi signature, blind signature, etc

·Ethereum protocol: erc20, erc721, erc223, erc875

·Bitcoin (p2sh address, transaction script, etc.)

3) Technical preparation

Technical ability is a general ability, which is a comprehensive assessment of network programming, memory control, operating system, encoding and decoding, cryptography, asynchronous programming and other development skills. It is a cumulative ability, and a solid technical background can let us quickly adapt to the development of the underlying blockchain.

The following are some core R & D capabilities and technical preparations:

·Data structure (binary tree, trie tree, array, struct / class, etc.)

·Algorithms (backtracking / recursion, string encoding, sorting, searching, etc.)

·Lock (atomic lock, mutex / spin lock), deadlock detection, memory leak detection

·Multithread programming (shared memory, thread / process / coroutine), user mode / kernel mode

·Synchronous, asynchronous, blocking / nonblocking, multiplexed I / O

·Asynchronous / responsive programming paradigm, event driven

·Network programming: TCP / IP / UDP protocol, time_ Wait state, socket / select / epoll, C10K problem, etc

·Server programming: familiar with Linux programming and system resources (such as CPU / Io, disk, usage, etc.)

·HTTP protocol, RPC communication, debt balance and so on

2application layer**

The application layer is the most important layer of the blockchain, and it is also the source of strength for the booming and sustainable development of the blockchain industry. The application layer mainly involves blockchain products, such as imtoken, cosmos, bitshare, metamask, cryptokitties, fomo3d, insurance products, etc.

To develop these application level products, we usually interact with the underlying blockchain system, so we don’t need to master the underlying blockchain technology very professionally. But we need to understand the core concepts of blockchain, so that we can communicate with the developers of blockchain in the same language without misunderstanding.

Of course, the development of the application layer has the same technical requirements. Although it is not as high as the technical level’s requirements for technical ability, it focuses more on innovation and landing.

As a member of the blockchain industry, we can deeply feel the great significance of blockchain technology to the Internet world. It not only brings technological innovation, but also has great value potential for future economic relations and industry division. Of course, now, blockchain technology is still in the early stage of changing the world, and no large-scale application is a hard wound. However, we can also see that various blockchain innovation projects have sprung up in this wave. Many top talents are committed to solving the so-called “Impossible Triangle” of decentralization, security and scalability of current blockchain projects, and even some projects are in the leading position. Therefore, we not only need to find our own goal and direction, but also need to consolidate our skills and strive to become a powerful member in the blockchain field.

Blockchain has a long way to go.

Annchain is a high-performance universal blockchain protocol developed by Zhongan technology, Zhongan Fudan blockchain and information security joint laboratory, which supports smart contracts. As one of the two major open source projects of China’s blockchain technology and Industry Development Forum under the guidance of the Ministry of industry and information technology, annchain is based in China and is committed to helping China seize the global discourse of blockchain.

Annchain focuses on balancing scalability, decentralization and security, and is a general distributed application computing platform. At present, it has been implemented in the business scenarios of dozens of ecological partners, including agricultural traceability, jewelry traceability, asset certification, public welfare, open data computing, advertising distribution platform and supply chain finance. Developers can efficiently build their own blockchain applications based on annchain.

Annchain currently contains two subprojects Annchain.Genesis and Annchain.OG .

Annchain.Genesis As the basic protocol of the first generation of blockchain based on linked list structure, it is characterized by modularity, high reliability and ease of use. It supports a variety of intelligent contract engines. Developers can choose consensus and contract engines according to specific business needs to meet the needs of enterprises.

Annchain.OG As the basic protocol of the second generation blockchain based on DAG ledger structure, it has the characteristics of DAG high efficiency and strong expansion. At the same time, it solves its security and reliability problems through multi-dimensional consensus based on contribution. At the same time Annchain.OG Support a variety of smart contract engines and computing engines, with stronger computing and storage capabilities.

Zhongan Technology

Zhongan Information Technology Service Co., Ltd. (hereinafter referred to as “Zhongan technology”) was established on November 2, 2016. It is a wholly-owned technology subsidiary of Zhongan insurance, initiated by ant financial services, Tencent and China Ping An. It focuses on the research of blockchain, artificial intelligence, cryptography, Internet of things and other cutting-edge technologies. Zhongan technology brings together the top scientific research talents in the industry, of which the scale of the blockchain team is nearly 200, most of them are from the top blockchain teams.

Zhongan Fudan block chain and information security joint laboratory

Zhongan Fudan blockchain and information security joint laboratory is the first blockchain and information security laboratory jointly established by universities and enterprises in China. It focuses on the research of core technology of blockchain and explores the implementation of application.

Shanghai urban block chain engineering technology research center

Shanghai urban block chain engineering technology research center is led by the science and Technology Commission, relying on Fudan University, jointly established with Zhongan online Property Insurance Co., Ltd. and Shanghai Renren Information Technology Co., Ltd. Focus on the research of common technology and achievement transformation of distributed ledger, and promote the implementation of the project.

Recommended Today

Example of method for converting Lua table to c# dictionary

Table property Table is an “associative array”. The index of the array can be a number or a string. All index values need to be enclosed by “[” and “]”; If it is a string, you can also remove quotation marks and brackets; That is, if it is not enclosed by [], it is considered […]