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

区块链与java的区别是什么,区块链与java的区别和联系

发布时间:2023-12-06-05:44:00 来源:网络 区块链知识 区块   区别   java

区块链与java的区别是什么,区块链与java的区别和联系


请查看相关英文文档

❶ Beida Jade Bird Java Training: What are the basic concepts of blockchain programming and development technology

With the continuous development of the Internet, the development and application of blockchain technology have also been It’s on the agenda. Today’s java course http://www.kmbdqn.cn/ will let’s learn about the basic concepts that need to be mastered in blockchain programming and development technology.
1. Blockchain technology chain data structure, the head of each block stores the hash value pointing to the previous node, which is connected in sequence.
Based on the P2P network, the distributed node consensus algorithm maintains and updates data to ensure that the data is "non-tamperable".
Use cryptography principles to ensure the security of data transmission and access.
Automated scripts (smart contracts) can be used to program return passes and manipulate data.
Essentially, it is a decentralized database that ultimately solves the problem of trust in Internet transmission.
2. Decentralization The entire network is jointly participated and maintained by each node. It does not rely on a central processing node. Each node is the center.
The storage and update of data are distributed and do not require intermediary or trust structure endorsement.
3. Private chain, public chain and alliance chain Private chain: The qualifications of participating nodes are limited and controllable, and reading and writing are restricted.
Weak centralization solves the problem of trust among "teammates" (within the organization).
Public chain: Open, anyone can read the data on the chain and participate in transactions.
Completely decentralized, the data on the chain cannot be tampered with by any person or institution.
Encourage participants to compete for accounting rights through a reward token mechanism.
Solving the problem of "human beings" (all people) being untrustworthy.
Consortium chain: It is jointly participated, maintained and managed by multiple institutions. The data on the chain is only allowed to be read, written and traded by institutions within the system.
Partially decentralized, each institution runs one or more nodes.
Solve the problem of "organizational" (inter-agency) distrust.

❷ Should newbies learn blockchain or JAVA?

Learn blockchain. Blockchain is a popular field now. Blockchain is a link between computers and finance. The perfect combination of industries.

❸ Why do most blockchain projects not use Java for development

Blockchain projects have relatively high efficiency requirements, so most core source code development uses c/c++ . But if you are doing a blockchain project, unless you need to make a lot of adjustments to the source code, you may not choose to use Java. For general dapp applications, it should also be a good choice to use java to develop. For example, for the Ethereum blockchain, there is the web3j class library for Java, which is very convenient; for Bitcoin, there is the bitcoinj class library, which is also very easy to use. It still depends on what level of application, what is to be done, and the teamsituation.

Share two java blockchain tutorials:

java bitcoin detailed explanation

java Ethereum development

❹ Beijing java course sharing Consensus algorithm in blockchain technology

We have shared some explanations and analysis of knowledge points about blockchain technology with you many times. Today, in the Beijing Java course, we will learn about some basic definitions and characteristics of consensus algorithms in blockchain technology.

A brief look at the blockchain

The chain in our general ideology is an iron chain, made of iron. One link after another. Figuratively, the blockchain can also be understood in this way, except that it is not made of iron, but connected by blocks with a certain data structure. This is a simple prototype

Popular explanation of consensus

The so-called consensus, in layman’s terms, means that we all agree on the understanding of something. For example, we have daily meetings to discuss issues, or we can judge whether an animal is a cat. After looking at it with the naked eye, we feel it looks like a cat. If it meets the characteristics of a cat, then we think it is a cat. Consensus is a rule.

Continue to use our meeting example. Participants in the meeting discuss and solve problems through meetings.

Compared with the blockchain, miners participating in mining use a certain consensus method (algorithm) to make their own ledger consistent with the ledgers of other nodes. The deeper meaning of keeping the ledger consistent is to keep the block information in the chain consistent.

Why is consensus needed? Is it possible to not need it? Of course not. Without the rules of consensus in life, everything will be chaotic. The blockchain loses consensus rules, and each node does its own thing, losing its consistent meaning.

The corresponding relationship between these two examples is as follows:

Meeting people = mining miners

Meeting = consensus method (algorithm)

Talk about solving problems = make your own ledger consistent with the ledgers of other nodes

If you don’t understand the concept of a node, please first understand it as a miner. A node contains many roles, and miners are one of them.

Consensus algorithm

Currently in the blockchain, nodes allow their own ledgers to match those of other nodes. There are several consensus methods (algorithms) that maintain consistency:

PoW, represented by Bitcoin (BTC)

Disadvantages:

The emergence of mining pools violates the original intention of decentralization to a certain extent, and also makes 51% attacks possible, affecting its security.

There is a huge waste of computing power. Look at the mining pool that consumes a lot of electricity resources. As the difficulty increases, not enough is mined to pay the electricity bill

< /p>

PoS, represented by Ethereum (ETH), transitioning from PoW to PoS

Disadvantages:

< p>The cost of attackers attacking the network is very low, and they can compete if they own tokens

In addition, nodes with a large number of tokens will have a greater probability of obtaining accounting rights. This will make the network consensus dominated by a few wealthy accounts, thereby losing fairness.

❺ Introduction to blockchain technology, which programming languages ​​are involved

Go language

Go language (Golang) is Google’s 2009 Introducing a new programming language that reduces code complexity without sacrificing application performance. Rob Pike, chief software engineer at Google, said: "We developed Go because the difficulty of software development over the past 10 years or so has been frustrating."

In addition to Bitcoin being developed in C, At present, the clients of most mainstream workshops are developed with Go language, which is enough to show the status of Go language in the entire blockchain industry.

C

C further expands and improves the C language and is an object-oriented programming language. C runs on a variety of platforms, such as Windows, MAC operating systems, and various versions of UNIX. C is a very widely used computer programming language. It is a general programming language that supports multiple programming patterns, such as procedural programming, data abstraction, object-oriented programming, generic programming, and design patterns.

Most blockchain companies choose to use C to write the bottom layer of the blockchain. The most famous ones are Bitcoin, Ripple, etc., which mainly reflect strong computation.

Java

Java is different from general compiled languages ​​or interpreted languages. It first compiles the source code into bytecode, and then relies on virtual machines on various platforms to interpret and execute the bytecode, thereby achieving the cross-platform feature of "write once, run anywhere". The development of blockchain projects has obvious dependence on Java.

Others include Python, system architecture, Ethereum, Linux, hyperledger, JavaScript, etc. will be covered.

❻ What is blockchain

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, and as the underlying technology of Bitcoin, it is a series of data 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.

(6) Extended reading on the difference between blockchain and java

Characteristics of blockchain:

1. Certificate storage

The "non-tamperable" feature of blockchain provides a solution to the problem of "certificate storage" in economic and social development. As long as the authenticity of the on-chain information and data can be ensured, the blockchain can solve the problem of "storage" and "certification" of information.

For example, in the field of copyright, blockchain can be used to store electronic evidence, which can ensure that it is not tampered with, and can link original platforms, copyright bureaus, judicial agencies and other parties through distributed ledgers, which can greatly Improve the efficiency of handling infringements.

2. Sharing

The "distributed" characteristics of the blockchain can break through the "data barriers" between departments and achieve information and data sharing. Different from centralized data storage, the information on the blockchain will be distributed to each node through point-to-point broadcasting, and all information can be "truthfully recorded" through "whole network witness".

❼ Getting started with blockchain technology, which programming languages ​​are involved

Go language

Go language (Golang) is a brand-new programming language launched by Google in 2009 Language that reduces code complexity without sacrificing application performance. Rob Pike, chief software engineer at Google, said: "We developed Go because the difficulty of software development over the past 10 years or so has been frustrating."

In addition to Bitcoin being developed in C++, At present, the clients of most mainstream workshops are developed with Go language, which is enough to show the status of Go language in the entire blockchain industry.

C++

C++ further expands and improves the C language and is an object-oriented programming language. C++ runs on a variety of platforms, such as Windows, MAC operating systems, and various versions of UNIX. C++ is a very widely used computer programming language. It is a general programming language that supports multiple programming patterns, such as procedural programming, data abstraction, object-oriented programming, generic programming, and design patterns.

Most blockchain companies choose to use C++ to write the bottom layer of the blockchain. The most famous ones are Bitcoin, Ripple, etc., which mainly reflect strong computation.

Java

Java is different from general compiled languages ​​or interpreted languages. It first compiles the source code into bytecode, and then relies on virtual machines on various platforms to interpret and execute the bytecode, thereby achieving the cross-platform feature of "write once, run anywhere". The development of blockchain projects has obvious dependence on Java.

Others include Python and system architecture, Ethereum, Linux, hyperledger, JavaScript, etc. will all be involved.

❽ Blockchain technology concept

Blockchain technology concept

Blockchain technology concept, nowadays, blockchain has become the concern of most people In the field of blockchain, many companies have already studied this technology in depth, but 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-tamperable. 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 basic 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 basis of programmable features; the application layer encapsulates various application scenarios and cases of the blockchain. 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.

The trust and security issues of transactions that blockchain mainly solvesTherefore, it proposed four technological innovations to address this problem:

1. Distributed ledger, which means that transaction accounting is completed by multiple nodes distributed in different places, and each node records It is a complete account, so they can all participate in supervising the legality of transactions 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 has equal status, relying on the consensus mechanism to ensure the consistency of storage, 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 speaking, the accounts will not be lost unless all nodes are destroyed, thereby 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. Take insurance as an example. If everyone's information, including medical information and risk occurrence information, is true and trustworthy, 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. HumanityHistory 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 not easy 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 integration and 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.

Now 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, blockchain browsers, node elections, 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

Decentralized, efficient, safe, andIt is possible to achieve the ultimate in all three 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 chained data structure that combines data blocks in a sequential manner in chronological order, and is cryptographically guaranteed to be non-tamperable and non-tamperable. 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, 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 is a distributed accounting technology that solves the shortcomings of centralized accounting and solves the problem of distributed consistency. It is also The connected Internet is upgraded to a value network that ensures 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 all transaction history in the network.history.

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 outside 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 Ethereum can be traded. 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

p>

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.

Run the client available for 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 then as the contract slowly takes shape, move 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 we willLet’s talk about the available programming languages, and then we can start the actual programming. Solidity is the programming language used to write smart contracts.

There are several languages ​​to choose from when 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.

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