LinApex Profile

I just got in touch with blockchain network this year. I am working on digital currency trading platform, underlying framework design, blockchain wallet and blockchain solution. I have worked in artificial intelligence and financial payment industry, and I am currently working on a blockchain + gold App system.

 

Serial series (Based on Ethereum)

Development series

1. [Blockchain] Preliminary study on Ethereum blockchain technology

2. [Blockchain] Establishment of ethereum blockchain environment

3. [Blockchain] Understand the concept of Ethereum blockchain

4. [Blockchain] Advanced Ethereum blockchain technology

Source series

1, [Ethereum source] compile the source code of Ethereum, to create their own public chain private chain

2. [Ethereum source code] Research series of Ethereum source code (Ethereum simulator, mining, point-to-point network library, node discovery, contract code transmission, encryption signature, etc.)

 

Basic concepts of blockchain

Blockchain is a collectively maintained distributed database formed through cryptography.

The concept of blockchain has been very popular recently. It comes from the implementation of cryptocurrencies such as Bitcoin, but the technology has gradually been used in various fields. What is blockchain technology? To get a sense of the problem, we can use the analogy of Google Earth. Ajax is not a new technology, but when put together, Google Earth is a product. Similarly, blockchain is not a new technology, but when combined with cryptography, P2P networks and so on, bitcoin is created. Technologists, especially Web developers, were first drawn to Learning about Ajax by the cool effects of Google Earth. Now, history is repeating itself, and many people are fascinated by bitcoin’s craziness and studying the technology behind it — blockchain.

Blockchain, as the technology behind bitcoin, does not require a central server and can realize the openness, transparency and traceability of all kinds of stored data. Originally a unique way to store data for cryptocurrencies such as Bitcoin, it is a self-referential data structure used to store a large amount of transaction information. Each record is linked in an orderly way from back to front, with the characteristics of openness, transparency, untampering and easy traceability. In fact, this feature also directly reflects the characteristics of the entire bitcoin, so it is very intuitive and appropriate to use blockchain to summarize the implementation of the technology behind cryptocurrency. Blockchain is a technology, and cryptocurrency is a class of products developed and implemented by it (including tokens and blockchain products without tokens), which cannot be identified or confused. Compared with cryptocurrency, the name blockchain casts aside the concept of token and is more visualized, technical and depoliticized. It is more suitable to be studied and promoted as a technology.

Therefore, at present, when everyone speaks of blockchain alone, it refers to the blockchain technology, which is the architectural design method of products that realize data openness, transparency and traceability, and is counted as the broad blockchain. When talking about blockchain in specific products, it can refer to the data storage mode similar to Bitcoin, perhaps database design, or the design in the form of files, which is regarded as the narrow sense of blockchain. Blockchain technology in a broad sense must include four aspects: point-to-point network design, application of encryption technology, implementation of distributed algorithms, and use of data storage technology. Others may involve distributed storage, machine learning, VR, Internet of Things, and big data. In a narrow sense, blockchain only involves data storage technology, database or file operations. Blockchain in this article refers to blockchain in the broad sense.

 

Blockchain architecture

 

Blockchain technical term

1. Specific User: refers to the user who is required to cooperate with RONGSHI to fulfill the obligation of personal information disclosure in accordance with the provisions of Chinese laws, regulations and policies. 2. Private key: composed of 256 random characters, is the core of the user’s own and use of digital tokens. 3. Public key: the private key is generated by one-way derivation with the help of cryptography principle, and used to generate block chain digital wallet address, digital wallet address is the public receipt address. 4. Mnemonic words: In accordance with the blockchain BIP39 industry standard, composed of 12 (or 15/18/21/24) ordered words generated by a random algorithm. Is an easy record of the private key form, convenient for users to backup custody. 5. Keystore: a file in which the private key or mnemonic is encrypted by the wallet password set by the user. It is only stored in your mobile device and will not be synchronized to the finance server. 6. Digital token: refers to the types of digital tokens currently supported by Ethereum, including but not limited to ETH and DGD. 7. Personal Information: Refers to electronic or other ways to record can be alone or combined with other information to identify the user identity of all kinds of information, including but not limited to natural person’s name, date of birth, id number, personal biometric information, address, telephone number, bank card number, E-mail address, wallet, mobile devices, information, operation records, trading records, etc., It does not include the user’s wallet password, private key, mnemonic, or Keystore. 8. Decentralization: The system can operate independently in the Internet after the initial rules are set, without relying on central servers and regulatory agencies, and each participating node is equal and free to compete. It is a decentralized autonomous system (DAC). 9. Ethereum: Ethereum is not an institution, but a bottom-layer system that can realize smart contracts and open source on blockchain. From the birth of Ethereum to May 2017, more than 200 Ethereum applications have been born in the world in just three and a half years. Ethereum is a platform and programming language that enables developers to build and distribute the next generation of distributed applications. Ethereum can be used to program, decentralize, guarantee and trade just about anything: voting, domain names, financial exchanges, crowdfunding, corporate governance, contracts and most protocols, intellectual property, and smart assets that benefit from hardware integration.

To be continued ~

Common address of Ethereum

1. Ethereum official website: https://ethereum.org/

This website is the official website of Ethereum, with detailed introduction of Ethereum and various connection addresses, recommended to have a look in detail

2, the etheric fang all source address (official) : https://github.com/ethereum/

Github is the source address for all ethereum projects, as well as updates and releases.

3, the etheric fang favored document address (official) : http://www.ethdocs.org/en/latest/index.html

This website is a detailed introduction document of Ethereum, which basically includes all aspects of Ethereum. If there are any unclear principles and applications, you can find answers and clues here.

4. Ethereum Network status address (official) : https://ethstats.net/

This website can display the network status comprehensively, including node, difficulty, calculation power and so on, very intuitive

5. Ethereum Resource website (official) : http://ether.fund/

The site provides many ethereum application resources, such as market conditions, contract AIDS, published smart contracts, Ethereum Network, DAAP, etc., for easy development and distribution.

6, Solidity programming documents (official) : http://solidity.readthedocs.io/en/latest/

The site provides a comprehensive reference manual for the Ethereum Solidity language, essential for learning about Solidity.

7. Ethereum Network Scanning (official) : http://etherscan.io/

The site provides various states of the Ethereum network, such as account details, TOKEN details, difficulty details, block details, very convenient and intuitive.

8, the etheric fang official blog: https://blog.ethereum.org/

9, the etheric fang wiki address: https://github.com/ethereum/wiki/wiki

There are white papers, yellow books and development guide here, more comprehensive.

10. Ethereum Chinese lover’s website: http://ethfans.org/

The website for the domestic Ethereum enthusiasts to establish a spontaneous website, the content is relatively complete, information update quickly.

11, the etheric fang gitter real-time communication website: https://gitter.im/orgs/ethereum/rooms

This website is the website of Ethereum’s Gitter Chart. According to the project, there are many rooms. As long as you ask questions, most of them will be answered.

12, the official BBS of the etheric fang: https://forum.ethereum.org/

Official forum, nothing to say, I encountered several questions, are here to find the answer

13. Ethereum third-party powerful IDE: https://live.ether.camp/

Solidity IDE this is a third party Solidity IDE, I looked at it, it is very powerful, too powerful to know how to use it, its target is enterprise-level IDES, most of which are used by speakers.

14, the etheric fang development framework Truffle manual: http://truffle.readthedocs.io/en/latest/

Ethereum is currently very popular development framework Truffle specification, this framework is relatively popular.

15, etheric fang development framework dapple instructions: http://dapple.readthedocs.io/en/master/

This development framework is seen in the Gitter chart. I feel that not many people use it. Please observe it first

16, etheric fang’s recommended development framework Meteor instructions: https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor

This framework is recommended by ethereum officials, and written in the official Ethereum wiki. It is worth learning. Of course, Ethereum officials often change direction, and it may change direction in the future

 

Description of ethereum projects

Go- Ethereum project

Development language: GO language

Client file: Geth

Interface: Command line

Available platforms: Windows, Linux, and OSX

Functions and features: This project is the most widely used Ethereum client, most nodes are running this client, tutorials and examples are the most, recommended use, can be used for mining, private chain, account management, deployment of smart contracts and other common functions, can not compile smart contracts.

(II) WebThree – Umbrella Project

This project contains three clients

Development language: c++

Client files: AlethZero, Mix, and Eth

Platforms used: Windows, Linux, and OSX

Interface: Graphical interface

Features and features: The project is technically a shell for the CPP-Ethereum project, and was written by Gavin Wood, the former CTO of the Ethereum Foundation, so it is very popular and easy to use. AlethZero is a graphical wallet client that corresponds to Geth functionality, but is fully graphical. But Mist, the ethereum Foundation’s flagship graphic wallet, fell into disuse. Mix is a smart contract (ethereum called DAPP) development IDE, can support smart contract (DAPP) writing, debugging, deployment, full graphical interface, but has been stopped development, the development team switched to Remix. Eth is a command line client written in C++ that functions the same as Geth.

(3) Mist project

Development language: JavaScript

Client file: Mist (currently using the ethereum-Wallet name)

Platforms used: Windows, Linux, and OSX

Interface: Graphical interface

Features and features: Mist is a major initiative of the Ethereum Foundation. Mist is positioned not just as a wallet, but as a future DAPP (smart contract APP) marketplace, similar to apple’s marketplace, where you can have your account and browse, publish, and buy and sell Ethereum DApps. Currently, due to incomplete development, the name is currently listed as Ethereum-Wallet, which simply functions as a Wallet. Highly recommended, future mainstream client.

(D) Solidity project

Development language: C++

Client file: solc

Platforms used: Windows, Linux, and OSX

Interface: Command line interface

Functions and features: This project is the programming language of Ethereum Smart Contract (DAPP), using SOLC as the compiler. This project is mainly used for compilation, strictly speaking, it is a basic compilation platform, and the general development can be replaced by MIX.

(v) Browser-Solidity project

Development language: C++

Client file: displayed in the browser

Platforms used: Windows, Linux, and OSX

Interface: browser interface

Functions and features: The project is the smart contract browser version of the development environment, can support direct development, debugging and compilation in the browser, for beginners, can quickly get started, no need to install, very convenient, direct access to address use: https://ethereum.github.io/browser-solidity/

Pyethereum project and EthereumJ project

The Pyethereum project is an Ethereum client written in Python. The EthereumJ project is an Ethereum client written in Java, but in a different language. It has exactly the same functionality as the Geth client written in GO.

(7) EtheMINER Project

Development language: C++

Client file: ethminer

Platforms used: Windows, Linux, and OSX

Interface: Command line

Features and Features: This project is part of the CPP-Ethereum project for GPU mining in conjunction with Geth, which is over 100 times more efficient than CPU mining, and can also be used for pool mining

 

 

What problem was blockchain created to solve?

When transferring money from Alipay, you, as the user, feel as if you are transferring your money directly to the other party’s account. But!!! . The facts are as follows:

Alipay and other companies here are “third parties”. Why should there be a “third party” when we transfer money?

This is a passage from Alibaba’s documentary “Dream Makers”, PS: The term “third party” can be well explained, which is also the birth of Taobao and Alipay. In other words, Alibaba was forced to act as the “third party” because no other company could play such a role at that time. As a result, Alibaba became the center of trust, and merchants and users chose to give money to Alibaba because of “trust”. But if Ali absconds with the money (though unlikely…) Or the financial operator has a problem (people, after all…). How to do? If only there were a machine or a “super system” to do these things! Today, after more than a decade of Internet technology updates and replacements, blockchain appears in front of us. Yes! It was the super system! A trust machine.

With blockchain, things are starting to look different.

Traditional centralization:

Decentralized approach under blockchain network:

In a decentralized network, each user can communicate directly with each other, with no third party involved, and the transfer between users is just like handing over cash, which is why Bitcoin is called “electronic cash”.

Well, now that A has transferred the money to B, who will take the bill? Before, ALIPAY helped me keep and check accounts, which will be uniformly stored in the background system of Alipay. Alipay will make great efforts to ensure that all users’ transactions are recorded and the accounts are correct. Look at the early days of Alipay…

With 1,000 bills a day, manual reconciliation is painful enough. With the current size of Alipay, there are at least hundreds of thousands of bills every day. It is hard to avoid missing bills even in the system reconciliation, and corresponding human and material resources have to be paid to maintain this very complicated payment and settlement system. Having said that, how does blockchain reconcile accounts? The answer is: no! In the block chain network does not need to reconciliation, zero clearing, because the blocks in the chain of each node (that is, a computer or interpreted as a user), there is a book, this book is updated in real time, block chain network in any transaction are recorded into your own books, that’s right, others’ account you have, but you don’t know who this is, Because they all look like this:

0x3c7e7bd1ff2952fbf5a16d0d8b0fc2803162b088Copy the code

This means that instead of a centralized organization doing the bookkeeping for you, you now have every participant in the network doing the bookkeeping for you, all with the same ledger. The following figure

Everyone has the same account book, even if you tamper with your own account book, let your account more than 100 million, but more than 51% of the account book in your account or 1 cent, that shows that your account balance is 1 cent, can not deny. Sure, if you can control 51% of the network to help you turn a penny into 100 million in the ledger, you can get 100 million, but it basically takes the whole nation…. Bitch, are you sure you can do this?

This is why people say that blockchain networks are safe, because the cost of attack is too high, for example: Bitcoin is now worth $8 billion, if you want to hack it and get that $8 billion, you might spend more than $20 billion…… Having said so much above, I actually want to illustrate several characteristics of blockchain:

  1. Decentralized, no third party intermediaries, everything is done by program.
  2. Security is mainly reflected in distributed and 51% attacks. Even if a node is attacked or down, the network operation will not be affected.
  3. The core is: trust. All social behavior should be based on “trust”, which is the most fundamental problem solved by blockchain.

 

Blockchain landing scenario

Global P2P leasing https://atlant.io/cn/#contribute

Jingdong block chain https://www.leiphone.com/news/201612/VGtxUJDpj12JswTv.html

Webank loan clearing China UnionPay Points exchange Ripple cross-border payment ABRA cross-border payment BTCJam Supply Chain finance & Trade Finance Equity transaction ShoCard

 

Technical books

“Blockchain Technical Guide” CSDN must set a score, so the minimum 2 points, originally intended to be free.