KR20200013871A - Proof-of-Probability based blockchain compensation method and apparatus - Google Patents

Proof-of-Probability based blockchain compensation method and apparatus Download PDF

Info

Publication number
KR20200013871A
KR20200013871A KR1020180089039A KR20180089039A KR20200013871A KR 20200013871 A KR20200013871 A KR 20200013871A KR 1020180089039 A KR1020180089039 A KR 1020180089039A KR 20180089039 A KR20180089039 A KR 20180089039A KR 20200013871 A KR20200013871 A KR 20200013871A
Authority
KR
South Korea
Prior art keywords
hash value
block
nonce
block hash
blockchain
Prior art date
Application number
KR1020180089039A
Other languages
Korean (ko)
Other versions
KR102178895B1 (en
Inventor
김중헌
김성민
김경선
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020180089039A priority Critical patent/KR102178895B1/en
Publication of KR20200013871A publication Critical patent/KR20200013871A/en
Application granted granted Critical
Publication of KR102178895B1 publication Critical patent/KR102178895B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Technology Law (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a method for blockchain compensation based on proof of probability (PoP) and an apparatus thereof which can resolve excessive power consumption or monopoly problems. According to the present invention, the method for blockchain compensation comprises: (a) a step of receiving candidate block hash values including a single real block hash value and a plurality of fake block hash values in accordance with a work difficulty level; (b) a step of using an independent hash alignment algorithm to sequentially align the received candidate block hash values; (c) a step of using a hash value of an individual transaction, a hash value of a Merkle tree, and a block hash value of an immediately previous block to generate a block header; (d) a step of substituting an arbitrary first nonce for the generated block header to perform SHA unidirectional decoding operations; and (e) a step of verifying whether the first nonce is a nonce of the real block hash value if a block hash value calculated by the decoding operations satisfies a preset pattern. If the first nonce is not the nonce of the real block hash value, the processes (d) to (e) are repeatedly performed after waiting for a preset period of time.

Description

PoP 기반 블록체인 보상 방법 및 장치{Proof-of-Probability based blockchain compensation method and apparatus}PoP-based blockchain compensation method and apparatus

본 발명은 PoP 기반 블록체인 보상 방법 및 장치에 관한 것이다.The present invention relates to a PoP based blockchain compensation method and apparatus.

블록체인 기술의 첫 사례인 비트코인의 성공에 힘입어 가상화폐에 대한 많은 관심이 나타나고 있다. 이를 뒷받침하는 것이 바로 시가 총액과 거래량이다. 2017년 12월 기준 비트코인의 시가 총액은 1,700억 달러로 예상되고 하루에 확인된 거래량은 375,000개 이상이다.Thanks to the success of Bitcoin, the first example of blockchain technology, there is a lot of interest in cryptocurrency. This is supported by market cap and volume. As of December 2017, Bitcoin's market cap is expected to be $ 170 billion, with more than 375,000 transactions identified per day.

따라서 사람들은 비트코인을 포함한 가상화폐를 얻기 위해 다양한 방법을 채택하였다. 초기의 그래픽카드 구매 열풍에 이어 현재는 여러 명의 사용자가 모여 채굴 그룹을 형성하기도 한다. 이와 함께 주목받는 것이 바로 각 가상화폐의 보상 방식이다. 1300개 이상의 가상화폐는 다양한 보상 방식을 채택하였다. Therefore, people have adopted various methods to obtain cryptocurrencies including Bitcoin. Following the early craze for graphics card purchases, several users now form mining groups. At the same time, attention is paid to each virtual currency. More than 1,300 cryptocurrencies have adopted various reward schemes.

대표적으로 두 가지의 방법이 있다. 작업증명방식 (Proof-of-Work)과 지분증명방식 (Proof-of-Stake)이다. PoW 방식은 말 그대로 일한 만큼 보상받는 방식이다. PoS 방식은 자신이 원래 보유하고 있던 가상화폐의 지분을 통해 새로운 가상화폐를 배분하는 방식이다.There are two main ways. Proof-of-Work and Proof-of-Stake. PoW is literally a reward for working. PoS is a method of allocating new cryptocurrencies through the shares of the cryptocurrencies that they originally owned.

하지만 대표적인 두 증명방식은 단점이 존재한다. PoW 방식은 과다한 전력 사용으로 비경제적이며 채굴을 하기 위해 고성능 하드웨어가 필요하다. PoS 방식은 대량 자금을 가진 사람이 독점하기 쉬우며 신규 참여자가 블록체인 네트워크에 참여하기 꺼리는 단점이 있다. 이를 보완하거나 혹은 새로운 개념을 적용시킨 여러 알트코인(Altcoin, 비트코인의 후속작을 통칭하는 용어)이 등장하기 시작했다. 이미 거대해진 비트코인 네트워크에 새로운 기술을 적용하는 것은 매우 힘들기 때문에 현존하는 알트코인들은 자신들의 독자적인 생태계를 구축하는 중이다. 그러나 알트코인 또한 기본적으로 PoW, PoS 방식을 완전히 벗어나지는 못하고 있기 때문에 과다한 전력 소모나 독점 문제 등을 해결하기는 어렵다.However, there are drawbacks to the two representative methods. The PoW method is uneconomical with excessive power usage and requires high performance hardware for mining. The PoS method has the disadvantage of easy to monopolize a person with a large amount of funds, and new participants are reluctant to join the blockchain network. Several altcoins (collectively referred to as Bitcoin's sequel) have begun to complement this or apply new concepts. It is very difficult to apply new technology to the already huge Bitcoin network, so existing Altcoins are building their own ecosystem. However, since altcoin is not completely out of the PoW and PoS methods, it is difficult to solve excessive power consumption or monopoly problems.

상기한 종래기술의 문제점을 해결하기 위해, 과다한 전력소모나 독점 문제를 해결할 수 있는 PoP 기반 블록체인 보상 방법 및 장치를 제안하고자 한다. In order to solve the above problems of the prior art, it is proposed a PoP-based blockchain compensation method and apparatus that can solve the excessive power consumption or proprietary problems.

상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 네트워크 참여 노드의 블록체인 보상 방법으로서, (a) 작업 난이도에 따른 하나의 진짜 블록 해쉬값과 복수의 가짜 블록 해쉬값을 포함하는 후보 블록 해쉬값들을 수신하는 단계; (b) 독자적인 해쉬 정렬 알고리즘을 이용하여 상기 수신한 후보 블록 해쉬값들을 순차적으로 정렬하는 단계; (c) 개별 거래의 해쉬값, 머클트리의 해쉬값 및 바로 이전 블록의 블록 해쉬값을 이용하여 블록헤더를 생성하는 단계; (d) 상기 생성된 블록헤더에 대해 임의의 제1 난스를 대입하여 SHA 단방향 복호화 연산을 수행하는 단계; 및 (e) 상기 복호화 연산에 의해 산출된 블록 해쉬값이 미리 설정된 패턴을 만족하면 상기 제1 난스가 진짜 블록 해쉬값의 난스인지 여부를 검증하는 단계를 포함하되, 상기 제1 난스가 진짜 블록 해쉬값의 난스가 아닌 경우, 미리 설정된 시간만큼 대기한 후, 상기 (d) 내지 (e) 과정을 반복 수행하는 것을 특징으로 하는 블록체인 보상 방법이 제공된다. In order to achieve the above object, according to an embodiment of the present invention, as a blockchain compensation method of a network participating node, (a) one real block hash value and a plurality of fake block hash values according to task difficulty Receiving candidate block hash values comprising; (b) sequentially sorting the received candidate block hash values using a unique hash alignment algorithm; (c) generating a block header using the hash value of the individual transaction, the hash value of the Merkle tree, and the block hash value of the immediately preceding block; (d) performing an SHA unidirectional decoding operation by assigning an arbitrary first nonce to the generated block header; And (e) verifying whether the first nonce is a nonce of a real block hash value if the block hash value calculated by the decoding operation satisfies a preset pattern, wherein the first nonce is a real block hash. If the value is not a nonce, a blockchain compensation method is provided, wherein the steps (d) to (e) are repeated after waiting for a preset time.

상기 네트워크 참여 노드는 복수이며, 복수의 네트워크 참여 노드 각각은 상기 후보 블록 해쉬값을 서로 다른 해쉬 정렬 알고리즘을 이용하여 서로 다른 순으로 정렬할 수 있다. There are a plurality of network participating nodes, and each of the plurality of network participating nodes may sort the candidate block hash values in different orders using different hash alignment algorithms.

상기 미리 설정된 패턴은 블록 해쉬값을 소정 비트수가 특정한 값을 갖는 패턴일 수 있다. The preset pattern may be a pattern having a predetermined number of bits as a block hash value.

상기 (e) 단계에서 상기 미리 설정된 패턴을 만족하지 못하는 경우, 다른 난스을 대입하여 상기 (d) 단계를 반복 수행할 수 있다. If the preset pattern is not satisfied in step (e), step (d) may be repeated by substituting another nonce.

본 발명의 다른 측면에 따르면, 상기한 방법을 수행하는 프로그램이 기록된 기록매체가 제공된다. According to another aspect of the present invention, there is provided a recording medium on which a program for performing the above method is recorded.

본 발명의 또 다른 측면에 따르면, 블록체인 네트워크 참여 장치로서, 프로세서; 및 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 메모리를 포함하되, 상기 프로세서는 상기 프로그램 명령어들을 실행하여, 작업 난이도에 따른 하나의 진짜 블록 해쉬값과 복수의 가짜 블록 해쉬값을 포함하는 후보 블록 해쉬값들을 수신하고, 독자적인 해쉬 정렬 알고리즘을 이용하여 상기 수신한 후보 블록 해쉬값들을 순차적으로 정렬하고, 개별 거래의 해쉬값, 머클트리의 해쉬값 및 바로 이전 블록의 블록 해쉬값을 이용하여 블록헤더를 생성하고, 상기 생성된 블록헤더에 대해 임의의 제1 난스를 대입하여 SHA 단방향 복호화 연산을 수행하고, 상기 복호화 연산에 의해 산출된 블록 해쉬값이 미리 설정된 패턴을 만족하면 상기 제1 난스가 진짜 블록 해쉬값의 난스인지 여부를 검증하고, 상기 제1 난스가 진짜 블록 해쉬값의 난스가 아닌 경우, 미리 설정된 시간만큼 대기한 후, 상기 복호화 연산 및 검증 과정을 반복 수행하는 것을 특징으로 하는 블록체인 네트워크 참여 장치가 제공된다. According to another aspect of the present invention, a blockchain network participating apparatus, comprising: a processor; And a memory configured to store program instructions executed by the processor, wherein the processor executes the program instructions to execute a candidate block hash including one real block hash value and a plurality of fake block hash values according to a task difficulty. Receive the values, and sequentially sort the received candidate block hash values using a unique hash sorting algorithm, and block block using the hash value of the individual transaction, the hash value of the Merkle tree, and the block hash value of the previous block. Generate, substitute a random first nonce with the generated block header, perform a SHA unidirectional decoding operation, and if the block hash value calculated by the decoding operation satisfies a preset pattern, the first nonce is a real block Verify whether the hash value is a nonce of the hash value, and the nonce of the first If not, a blockchain network participating apparatus is provided, wherein the decoding operation and verification process are repeatedly performed after waiting for a preset time.

본 발명에 따르면, 확률기반증명 방식을 통해 자원의 낭비를 줄이고 상대적으로 낮은 위험부담으로 블록체인 네트워크에 참여할 수 있는 장점이 있다. According to the present invention, it is possible to reduce the waste of resources through the probability-based authentication method and participate in the blockchain network with relatively low risk.

도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크 구조를 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 확률증명방식의 구조도이다.
도 3은 본 발명의 일 실시예에 따른 PoP 방식의 순서도이다.
도 4는 도 3에 도시된 과정을 위한 수도코드이다.
도 5는 본 발명의 일 실시예에 따른 진짜 블록 해쉬값을 찾는 네트워크 참여 장치의 구성을 도시한 도면이다.
도 6은 본 실시예에 따른 PoP 방식에서 블록체인 네트워크 노드의

Figure pat00001
를 그래프로 나타낸 것이다. 1 is a diagram illustrating a blockchain network structure according to an embodiment of the present invention.
2 is a structural diagram of a probability proof method according to a preferred embodiment of the present invention.
3 is a flowchart of a PoP scheme according to an embodiment of the present invention.
4 is a pseudo code for the process shown in FIG.
5 is a diagram illustrating a configuration of a network participating device for finding a true block hash value according to an embodiment of the present invention.
6 illustrates a blockchain network node in a PoP scheme according to the present embodiment.
Figure pat00001
Is shown in the graph.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명에 따른 PoP(확률증명방식) 기반 블록체인 보상 방법을 설명하기에 앞서, 블록체인 증명방식 중 가장 대중적인 PoW 및 PoS 방식을 우선 설명한다. Prior to describing a PoP (probability proof method) based blockchain compensation method according to the present invention, the most popular PoW and PoS methods among blockchain proof methods are described first.

PoW의 개념은 1993년, Cynthia Dwork 와 MoniNaor에 의해 처음 소개되었다. 그리고 1999년, MarkusJakobsson과 Ari Juels에 의해 Proof-of-Work 라는 이름으로 명명되었다. 이후 2008년, Nakamoto Satoshi가 비트코인 백서에 PoW 방식을 채택하며 PoW는 널리 알려지게 된다. The concept of PoW was first introduced in 1993 by Cynthia Dwork and MoniNaor. In 1999, it was named Proof-of-Work by MarkusJakobsson and Ari Juels. Later in 2008, Nakamoto Satoshi adopted the PoW method in the Bitcoin white paper, and PoW became popular.

가상화폐로 이루어진 모든 트랜잭션(transaction)은 블록체인 안의 원소인 블록 속에 저장된다. 이러한 블록의 유효성(Validation)을 검증하는 방식을 Proof-of-Work라 한다. 블록체인 안의 블록의 구조는 Version, 이전 블록 암호 값(Pre Block Hash), 머클 루트(Merkle Root), 블록 생성 시간, 난이도 설정값(Bits), 난스(Nonce)로 이루어져 있다. 즉 PoW란 난스를 찾아내어 트랜잭션의 유효성을 증명하는 것이다. 난스를 찾아낸 노드(node)는 트랜잭션의 유효성을 증명해준 대가로 블록체인의 가상화폐를 받는다. All transactions made of cryptocurrencies are stored in blocks that are elements of the blockchain. The method of verifying the validity of these blocks is called Proof-of-Work. The structure of a block in the blockchain consists of Version, Pre Block Hash, Merkle Root, Block Creation Time, Difficulty Set Value (Bits), and Nonce. In other words, PoW is to find the nonce and prove the validity of the transaction. The node that finds the nonce receives the cryptocurrency of the blockchain in exchange for proving the validity of the transaction.

채굴이 가능한 모든 가상화폐는 PoW 방식을 채택하고 있다. PoW 방식을 사용하는 가상화폐가 PoW 방식을 채택한 비트코인에서 출발했기 때문에 가장 대중적이며 시장 규모 또한 PoS 방식에 비해 압도적으로 크다. 이때 채굴을 하기 위해서 채굴자는 난스를 하나씩 넣어볼 수밖에 없다. 난스를 찾기 위해 평균 수천 조 번 이상의 입력 시도가 필요하며 이를 한 사람이 시도하기에는 거의 불가능하다. All cryptocurrencies that can be mined use PoW. Since the cryptocurrency using the PoW method originated from Bitcoin adopting the PoW method, it is the most popular and the market size is overwhelmingly larger than the PoS method. At this time, in order to mine, miners have to put a nonce one by one. On average, thousands of trillion input attempts are needed to find a nonce, which is almost impossible for a single person to try.

이 때문에 마이닝풀(Mining pools)이라는 단체에서 자신들의 컴퓨팅 파워를 할당해 주고 해당 단체에서 채굴에 성공했을 시 컴퓨팅 파워를 할당한 양만큼 가상화폐를 나눠 받는 방식이 사용된다. Top4에 해당하는 마이닝풀의 컴퓨팅 파워를 합치면 전체 컴퓨팅 파워의 50%가 넘는다. 마이닝풀들이 연합하여 50% 이상의 컴퓨팅 파워를 가진다면 해당 가상화폐의 보안성은 급격히 악화되는 위험에 처하게 된다Because of this, a group called mining pools allocates their own computing power, and when the mining group succeeds in mining, it distributes virtual currency by the amount allocated. The combined computing power of the top four mining pools is over 50% of the total computing power. If mining pools are combined to have more than 50% computing power, the security of the cryptocurrency is at risk of rapidly deteriorating.

PoW의 또 다른 단점은 환경적 문제다. PoW 방식은 지속적으로 해쉬를 유지해야 하기 때문에 고성능의 ASIC 및 GPU 구매가 필요하다. 또한 위에서 언급했듯 가상화폐의 채굴을 위해서는 수천 조 번 이상의 입력시도가 필요한데, 이는 엄청난 양의 전기를 소모한다.Another disadvantage of PoW is environmental issues. PoW requires constant hashing, so you need to buy high-performance ASICs and GPUs. Also, as mentioned above, mining cryptocurrency requires more than thousands of trillion inputs, which consumes a great deal of electricity.

PoW 방식을 채택한 대표적 가상화폐인 비트코인과 이더리움(Ethereum)의 전기 소비량은 세계 전기 소비량 72위 국가인 시리아(Syria)보다 높다. 이렇듯 PoW의 채굴에 들어가는 많은 비용 및 유지비 (전력 사용, 채굴기 구입 등), 해쉬의 독점으로 인한 보안상의 문제를 해결하고자 PoS 방식이 나타났다.The electricity consumption of Bitcoin and Ethereum, the leading cryptocurrencies that adopted the PoW method, is higher than Syria, the 72nd largest country in the world. As such, the PoS approach has emerged to solve the security problems caused by the high cost and maintenance costs (power usage, mining, etc.) and hash monopoly of PoW mining.

PoS 방식은 2012년 피어코인(peercoin)에서 처음 사용되었다. PoW 방식이 컴퓨팅 파워를 통하여 난스를 찾고 가상화폐 보상을 받는다면, PoS 방식은 컴퓨팅 파워를 이용하는 채굴이 존재하지 않는다. PoS 방식에서는 자신이 가진 지분(Stake)을 통해 블록 유효성을 검증한다. 이는 주식의 배당금을 지급하는 개념과 비슷하다. PoS 방식의 경우 인터넷이 연결된 PC 1대만 있으면 블록체인 참여가 가능하다. 더 좋은 GPU도 추가적으로 필요하지 않다.The PoS method was first used in peercoin in 2012. If the PoW method finds a nonce through the computing power and receives virtual currency compensation, the PoS method does not have mining using the computing power. In PoS method, block validity is verified through stake. This is similar to the concept of paying dividends. In the case of the PoS method, it is possible to participate in the blockchain with only one PC connected to the Internet. There is no need for a better GPU.

각 가상화폐마다 얻는 방식, 양은 조금씩 다르지만 가지고 있는 가상화폐의 양이 많을수록 더 많은 가상화폐를 지속적으로 얻을 수 있다. 예를 들어 피어코인 100개를 가지고 있는 사람은 peercoin 1개를 가지고 있는 사람에 비해 100배 많은 유효성 검증 자격을 갖게 된다. PoW 방식의 블록체인에서 새 블록을 생성하는 과정을 채굴이라고 했다면, PoS 방식의 블록체인에서 유효성을 검증하고 새 블록을 생성하는 과정은 포깅(Forging) 이라고 한다. 이때 포거(Forger)들은 거래 수수료만을 가져간다. 일정한 양 이상의 가상화폐를 가지고 있는 지갑을 블록체인 네트워크에 연결할 때 가상화폐로 보상을 받을 수 있다.The method and amount of each cryptocurrency is slightly different, but the larger the amount of cryptocurrency you have, the more cryptocurrency you can continuously earn. For example, a person with 100 peercoins would have 100 times more validation qualifications than a person with 1 peercoin. If the process of creating a new block in the PoW-based blockchain is mining, the process of validating and creating a new block in the PoS-based blockchain is called fogging. Forgers only take transaction fees. When a wallet with a certain amount of cryptocurrency is connected to a blockchain network, it can be rewarded with cryptocurrency.

이렇듯 PoS 방식은 PoW 방식보다 컴퓨팅 파워를 지나치게 사용하지 않아 환경친화적이다. 또한 가상화폐 초기에 대량의 코인이 단기간에 만들어져 점점 줄어드는 PoW 방식과는 다르게 항상 일정한 양이 조금씩 발행되어 Pump and Dump(허위정보를 유포해 가격을 조정하고 차익을 챙겨 빠져나가는 불공정 거래)가 더 적게 일어난다. 하지만 가격 상승 폭이 크지 않다는 특징 때문에 해당 가상화폐 블록체인에 대한 대량 자금 유입이 쉽지않다. 많은 지분을 가진 사람이 쉽게 독점할 수 있다는 점과 가상화폐를 얻는 이득이 적어 새로운 참여자에게 공정하지 못하는 점이 PoS 방식의 단점이다.
As such, the PoS method is environmentally friendly because it does not use excessive computing power than the PoW method. In addition, unlike the PoW method, where a large amount of coins are created in the early stage of the cryptocurrency, the amount of coins is always issued in small amounts, so there is less pump and dump. Happens. However, due to the small price increase, it is not easy to inflow large amounts of money into the cryptocurrency blockchain. The disadvantages of the PoS method are that people with large stakes can easily monopolize and they are not fair to new participants due to the small gains in obtaining virtual currency.

이하에서는 본 실시예에 따른 확률증명방식 기반 블록체인 보상 과정을 상세하게 설명한다. Hereinafter, the probability proof method based blockchain compensation process according to the present embodiment will be described in detail.

도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크 구조를 도시한 도면이다. 1 is a diagram illustrating a blockchain network structure according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 실시예에 따른 시스템은 트랜잭션을 생성하는 송신자 노드(100), 송신자의 트랜잭션을 승인하고 전파 시간을 결정하는 수신자 노드(102) 및 네트워크 참여 노드(104-n)를 포함할 수 있다. As shown in FIG. 1, the system according to the present embodiment includes a sender node 100 that generates a transaction, a receiver node 102 that accepts the sender's transaction and determines a propagation time, and a network participating node 104-n. It may include.

블록체인 네트워크에는 가상화폐의 발행, 지급, 및 결재하는 등의 트랜잭션(transaction)을 처리하기 위해 다수의 노드들이 참여할 수 있다. 예를 들어, 트랜잭션은, 가상화폐 거래 정보(입출금과 관련된 정보), 해쉬값 등을 포함하는 트랜잭션 식별자(transaction identifier)를 나타낼 수 있다.In a blockchain network, multiple nodes can participate to process transactions such as issuing, paying, and paying virtual currency. For example, a transaction may represent a transaction identifier including cryptocurrency transaction information (information related to deposit and withdrawal), a hash value, and the like.

송수신자 노드 및 네트워크 참여 노드들은, 데스크탑 PC, 노트북, 스마트폰, 태블릿 등이 이용되며, 블록체인 네트워크에 참여하기 위해 전용 어플리케이션 또는 웹 기반의 프로그램을 설치할 수 있다.Transceiver nodes and network participating nodes are used as desktop PCs, laptops, smartphones, tablets, etc., and can install dedicated applications or web-based programs to participate in the blockchain network.

또한, 네트워크 참여 노드들은 다음 블록의 진짜 해쉬값을 위해, 독자적인 해쉬 정렬 알고리즘을 가지고 후보 블록 해쉬값을 정렬하여 확률증명방식 기반으로 후보 블록 해쉬값 중 진짜 해쉬 블록값을 찾게 된다. In addition, the network participating nodes find the real hash block value among candidate block hash values based on a probability proof method by sorting candidate block hash values using a unique hash sorting algorithm for the true hash value of the next block.

도 2는 본 발명의 바람직한 일 실시예에 따른 확률증명방식의 구조도이다. 2 is a structural diagram of a probability proof method according to a preferred embodiment of the present invention.

도 2에 도시된 바와 같이, 각각의 노드(A,B,C,D)는 독자적인 해쉬 정렬 알고리즘을 갖는다. As shown in Fig. 2, each node A, B, C, D has its own hash alignment algorithm.

트랜잭션이 일어나는 경우 실제 암호화된 해쉬값(진짜 블록 해쉬값)을 포함한 수많은 가짜 블록 해쉬값이 네트워크를 통해 전송된다. When a transaction occurs, a number of fake block hash values, including the actual encrypted hash value (real block hash value), are sent across the network.

본 명세서에서, 진짜 블록 해쉬값과 복수의 가짜 블록 해쉬값이 후보 블록 해쉬값으로 정의된다. In this specification, a real block hash value and a plurality of fake block hash values are defined as candidate block hash values.

각 노드들은 자신만의 해쉬 정렬 알고리즘을 통해 복수의 후보 블록 해쉬값을 정렬하여, 난스 입력을 통해 진짜 블록 해쉬값을 찾는다. Each node sorts a plurality of candidate block hash values through its own hash sorting algorithm, and finds a real block hash value through a nonce input.

여기서, 진짜 블록 해쉬값의 난스가 아닌 경우에는 미리 설정된 시간 동안 대기한 후 다음 난스를 대입할 수 있다. Here, if the non-real block hash value is not a nonce, the next nonce may be substituted after waiting for a predetermined time.

도 3은 본 발명의 일 실시예에 따른 PoP 방식의 순서도이다. 3 is a flowchart of a PoP scheme according to an embodiment of the present invention.

도 3을 참조하면, 트랜잭션이 발생하면 진짜 블록 해쉬값과 복수의 가짜 블록 해쉬값을 포함하는 복수의 후보 해쉬값들을 네트워크로 전송한다(단계 300). Referring to FIG. 3, when a transaction occurs, a plurality of candidate hash values including a real block hash value and a plurality of fake block hash values are transmitted to the network (step 300).

여기서, 복수의 후보 해쉬값들은 초기에 가상화폐를 발행한 발행주체가 배포할 수 있다. Here, the plurality of candidate hash values may be distributed by the issuing entity that initially issued the virtual currency.

발행주체는 미리 설정된 알고리즘을 통해 복수의 가짜 해쉬값들을 생성하며, 알고리즘을 통해 생성하였기 때문에 발행주체 역시 진짜 해쉬값이 무엇인지 알지 못한다. The issuer generates a plurality of fake hash values through a preset algorithm, and since the issuer generates the algorithm, the issuer does not know what the real hash value is.

단계 300에서, 후보 블록 해쉬값들은 작업 난이도에 따라 결정될 수 있다. In step 300, candidate block hash values may be determined according to a task difficulty.

복수의 네트워크 참여 노드 각각은 독자적인 해쉬 정렬 알고리즘을 이용하여 상기 수신한 후보 블록 해쉬값들을 순차적으로 정렬한다(단계 302). Each of the plurality of network participating nodes sequentially sorts the received candidate block hash values using a unique hash alignment algorithm (step 302).

또한, 복수의 네트워크 참여 노드 각각은 개별 거래의 해쉬값, 머클트리의 해쉬값 및 바로 이전 블록의 블록 해쉬값을 이용하여 블록헤더를 생성한다(단계 304). In addition, each of the plurality of network participating nodes generates a block header using the hash value of the individual transaction, the hash value of the Merkle Tree, and the block hash value of the immediately preceding block (step 304).

생성된 블록헤더에 대해 임의의 제1 난스를 대입하여 SHA 단방향 복호화 연산을 수행한다(단계 306).An arbitrary first nonce is substituted for the generated block header to perform an SHA unidirectional decoding operation (step 306).

단계 306의 복호화 연산에 의해 산출된 블록 해쉬값이 미리 설정된 패턴(요구 패턴)을 만족하는지 판단하고(단계 308), 요구 패턴을 만족하지 않으면 난스를 조정하여(단계 310) 단계 306을 반복 수행한다. It is determined whether the block hash value calculated by the decoding operation of step 306 satisfies the preset pattern (requirement pattern) (step 308), and if the request pattern is not satisfied, the nonce is adjusted (step 310) to repeat step 306. .

여기서, 요구 패턴은 미리 설정된 패턴은 블록 해쉬값을 소정 비트수가 특정한 값을 갖는 패턴일 수 있다. Here, the request pattern may be a pattern in which the preset pattern is a block hash value having a predetermined number of bits.

반면 요구 패턴을 만족하면 상기한 제1 난스가 진짜 블록 해쉬값의 난스인지 여부를 검증한다(단계 312).On the other hand, if the request pattern is satisfied, it is verified whether the first nonce is a nonce of the true block hash value (step 312).

진짜 블록 해쉬값의 난스가 아니면 미리 설정된 시간 동안 대기한 뒤(단계 314), 정렬된 다음 블록 해쉬값을 선택하고(단계 316), 상기한 단계를 반복한다. If it is not a true block hash value, wait for a preset time (step 314), then select the next aligned block hash value (step 316) and repeat the above steps.

진짜 블록 해쉬값의 난스인 것이 증명되면 트랜잭션에 대한 블록을 생성한다(단계 318).If it is proved to be a nonce of the true block hash value, then create a block for the transaction (step 318).

도 4는 도 3에 도시된 과정을 위한 수도코드이다. 4 is a pseudo code for the process shown in FIG.

실제 비트코인에서는 PoW 방식을 채택해 블록 해쉬값을 연산하는데 약 10분의 시간이 걸린다. PoP 방식의 경우 여러 해쉬값을 연산해야 하므로 채굴 난이도(bits) 조절 알고리즘을 이용하여 bits 값을 조절한다. 이때 5,000,000TH /s(1 TH /s = 초당 1012 번의 해쉬 연산)의 해쉬 파워를 가진 노드 기준, 약 1분의 시간이 걸리도록 조정한다. In actual bitcoin, it takes about 10 minutes to calculate the block hash value using the PoW method. In case of PoP method, several hash values have to be calculated, so the bits are adjusted by using the mining difficulty adjustment algorithm. At this point, adjust it so that it takes about 1 minute for a node with a hash power of 5,000,000 TH / s (1 TH / s = 10 12 hash operations per second).

이때 x개의 노드가 있을 경우 평균적으로 진짜 블록 해쉬값을 찾는데 10분의 시간이 걸리도록 하기 위하여 가짜 블록 해쉬값을 10x-1개만큼 생성한 후 진짜 해쉬를 포함한 10x개의 후보 블록 해쉬값들을 네트워크상으로 보낸다. 후보 블록 해쉬값 각각을 통해 계산한 난스를 이진화했을 때 난스의 특정 2n자리의 bit가 0일 경우 해당 해쉬는 가짜 블록 해쉬값이라 구분한다. 난스의 2n자리의 bit가 1일 경우 해당 해쉬가 진짜 블록 해쉬값이며 이때 블록을 생성한다. 이때 n은 거래가 일어날 때마다 랜덤하게 바뀌며 이 n값은 유효성 검증자만이 알 수 있다. 또한 계산된 난스가 진짜 블록 해쉬값에서 계산된 난스인지 검증을 받은 후 다음 검증을 받을 때까지 1분의 대기 시간을 두어 해당 노드는 연속적으로 검증을 받을 수 없게 제한한다.At this time, if there are x nodes, in order to take 10 minutes to find the real block hash value on average, 10x-1 fake block hash values are generated, and 10x candidate block hash values including the real hash are generated on the network. Send to. When the nonce calculated through each candidate block hash value is binarized, if a specific 2 n- bit bit of the nonce is 0, the hash is classified as a fake block hash value. If the 2 n- bit bit of the nonce is 1, the corresponding hash is the real block hash value. At this time, n changes randomly every time a transaction takes place, and this value of n is known only to the validator. Also, after verifying whether the calculated nonce is a nonce calculated from the real block hash value, there is a 1 minute waiting time until the next non-validation, which restricts the node from being continuously verified.

도 5는 본 발명의 일 실시예에 따른 진짜 블록 해쉬값을 찾는 네트워크 참여 장치의 구성을 도시한 도면이다. 5 is a diagram illustrating a configuration of a network participating device for finding a true block hash value according to an embodiment of the present invention.

도 5를 참조하면, 본 실시예에 따른 장치(노드)는 프로세서(500) 및 메모리(502)를 포함할 수 있다. Referring to FIG. 5, an apparatus (node) according to the present embodiment may include a processor 500 and a memory 502.

프로세서(500)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다. The processor 500 may include a central processing unit (CPU) or other virtual machine capable of executing a computer program.

메모리(502)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(502)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.The memory 502 may include a nonvolatile storage device such as a fixed hard drive or a removable storage device. The removable storage device may include a compact flash unit, a USB memory stick, or the like. Memory 502 may also include volatile memory, such as various random access memories.

이와 같은 메모리(502)에는 프로세서(500)에 의해 실행 가능한 프로그램 명령어들이 저장된다. The memory 502 stores program instructions executable by the processor 500.

본 실시예에 따른 네트워크 참여 장치의 메모리(502)에는 작업 난이도에 따른 하나의 진짜 블록 해쉬값과 복수의 가짜 블록 해쉬값을 포함하는 후보 블록 해쉬값들을 수신하고, 독자적인 해쉬 정렬 알고리즘을 이용하여 상기 수신한 후보 블록 해쉬값들을 순차적으로 정렬하고, 개별 거래의 해쉬값, 머클트리의 해쉬값 및 바로 이전 블록의 블록 해쉬값을 이용하여 블록헤더를 생성하고, 상기 생성된 블록헤더에 대해 임의의 제1 난스를 대입하여 SHA 단방향 복호화 연산을 수행하고, 상기 복호화 연산에 의해 산출된 블록 해쉬값이 미리 설정된 패턴을 만족하면 상기 제1 난스가 진짜 블록 해쉬값의 난스인지 여부를 검증하고, 상기 제1 난스가 진짜 블록 해쉬값의 난스가 아닌 경우, 미리 설정된 시간만큼 대기한 후, 상기 복호화 연산 및 검증 과정을 반복 수행하도록 하는 프로그램 명령어들이 저장된다.
The memory 502 of the network participating device according to the present embodiment receives candidate block hash values including one real block hash value and a plurality of fake block hash values according to a task difficulty, and uses the unique hash alignment algorithm to receive the candidate block hash values. The received candidate block hash values are sequentially sorted, a block header is generated using the hash value of the individual transaction, the hash value of the Merkle tree, and the block hash value of the immediately preceding block. Performs SHA unidirectional decoding operation by substituting 1 nonce, and if the block hash value calculated by the decoding operation satisfies a preset pattern, verifies whether the first nonce is a nonce of the true block hash value, and the first nonce. If the nonce is not a nonce of the true block hash value, wait for a preset time and then repeat the decoding operation and verification process. It is stored program instruction to perform.

이하에서는, PoW, Pos 및 PoP 방식을 분석하고 평가한 결과를 설명한다. Hereinafter, the results of analyzing and evaluating the PoW, Pos, and PoP schemes will be described.

1) One) PoWPoW 방식과의 비교 분석 Comparative analysis with the method

전체 컴퓨팅 파워 중 채굴자 A가 가지는 비율을

Figure pat00002
라 가정한다. 이때, 채굴자 A가 블록 1개를 채굴할 확률
Figure pat00003
는 다음과 같다. Of miner A's total computing power
Figure pat00002
Assume At this time, the probability that miner A mines 1 block
Figure pat00003
Is as follows.

Figure pat00004
Figure pat00004

채굴자 A가 채굴을 하기 위해 하드웨어에 투자한 장비값을

Figure pat00005
라 하고, 1개의 블록을 채굴하는 동안 사용하는 전기에너지를
Figure pat00006
라 하자. 1개의 블록을 생성하는 시간 동안의 하드웨어의 가격 변동률은 r이라 한다. The miner A's investment in hardware to mine
Figure pat00005
The electrical energy used while mining one block
Figure pat00006
Let's do it. The rate of change of the price of hardware during the time of generating one block is r.

또한, 1개의 블록을 생성하는 시간은 일정하다고 가정한다. In addition, it is assumed that the time for generating one block is constant.

이때, n개의 블록을 생성하려고 시도하는 동안 A가 사용한 비용은

Figure pat00007
이다. In this case, the cost used by A while trying to generate n blocks
Figure pat00007
to be.

블록 1개를 생성했을 때, 1개의 가상화폐가 보상되며 이 가격을 K라 한다. A가 n개의 블록을 얻으려 할 때, A가 얻을 수 있는 비용

Figure pat00008
는 다음과 같다. When one block is created, one cryptocurrency is rewarded and this price is called K. The cost A can get when A tries to get n blocks
Figure pat00008
Is as follows.

Figure pat00009
Figure pat00009

Figure pat00010
는 Bernouli Distribution을 따르므로 A가 평균적으로 얻을 수 있는 비용
Figure pat00011
는 다음과 같다.
Figure pat00010
Follows the Bernouli Distribution, so the average cost A can achieve
Figure pat00011
Is as follows.

Figure pat00012
Figure pat00012

현실적으로 채굴자는 블록체인에 참여할 때 금전적인 이익이 있어야 노드로 참여한다. In reality, miners need to have a financial interest in participating in the blockchain to participate as nodes.

그러므로 채굴자가 얻는 평균적인 비용은

Figure pat00013
을 만족해야 한다. Therefore, the average cost for miners
Figure pat00013
Must be satisfied.

이를 수학식 3에 적용하면 다음과 같은 식을 얻는다. Applying this to Equation 3, the following equation is obtained.

Figure pat00014
Figure pat00014

또한, 채굴자 A가 처음 블록체인 네트워크에 참여했을 때, 처음으로 가상화폐를 획득하기 전까지는 시간이 오래 걸려 채굴자의 예산보다 네트워크 참여 비용이 더 소요될 수 있다. In addition, when miner A first participates in the blockchain network, it may take a long time to acquire a virtual currency for the first time, which may cost more to participate in the network than the miner's budget.

이때, 채굴자가 가진 예산은

Figure pat00015
라 할 때, 채굴자가 첫 가상화폐를 획득하기까지 최대한 기다릴 수 있는 시간
Figure pat00016
는 다음과 같이 정의한다. In this case, the miner's budget
Figure pat00015
, The amount of time that miners can wait as long as they can get their first cryptocurrency.
Figure pat00016
Is defined as:

Figure pat00017
Figure pat00017

채굴자는

Figure pat00018
이전에 가상화폐를 얻어야만 한다. Miner
Figure pat00018
You must get cryptocurrency before.

Figure pat00019
는 Bernoili Distribution을 따르며, 첫 가상화폐를 보상받는데 걸리는 시간
Figure pat00020
는 다음과 같은 Exponential Distribution으로 나타낼 수 있다.
Figure pat00019
Follows Bernoili Distribution, the time it takes to receive the first cryptocurrency
Figure pat00020
Can be expressed as the following Exponential Distribution:

Figure pat00021
Figure pat00022
보다 클 확률, 즉, A의 예산을 다 쓸때까지도 가상화폐를 획득하지 못할 확률은 다음과 같다.
Figure pat00021
end
Figure pat00022
The greater the probability, that is, the probability of not obtaining a cryptocurrency until A's budget is exhausted is as follows.

Figure pat00023
Figure pat00023

위의 식에서

Figure pat00024
가 정의된 수학식 5를 대입하면 다음과 같다. In the above expression
Figure pat00024
Substituting Equation 5 defined as follows.

Figure pat00025
Figure pat00025

채굴자가 첫 가상화폐를 늦게 얻어 손해 볼 확률을

Figure pat00026
라 할 때, 네트워크에 참여하려면
Figure pat00027
보다 작아야 한다. 그때 다음 식을 얻을 수 있다. The probability that miners will lose their first cryptocurrency late
Figure pat00026
To join the network,
Figure pat00027
Should be smaller than Then we can get

Figure pat00028
Figure pat00028

이 식을 정리하면 다음과 같다. This expression is summarized as follows.

Figure pat00029
Figure pat00029

이를 수학식 4와 종합하면 다음과 같은 결과를 얻는다. Combining this with Equation 4 gives the following results.

Figure pat00030
Figure pat00030

해당 블록체인의 가상화폐 가격 K와 채굴자의 예산

Figure pat00031
는 상수 값일 때, 좌변의 값이 높아질수록 해당 블록체인 네트워크에 쉽게 참여가 가능하다. 이때, PoP 방식은 계산하는 단일 해쉬의 난이도가 PoW 방식의 해쉬 난이도보다 낮으므로 상대적으로 고성능 GPU가 필요하지 않다. 또한, 단일 해쉬 연산 속도도 PoW 방식의 비트코인 기준 10분에서 1분으로 감소하여 에너지 소모가 크게 줄일 수 있다. The cryptocurrency price K of the blockchain and the miner's budget
Figure pat00031
When is a constant value, the higher the value on the left side, the easier it is to participate in the blockchain network. In this case, the PoP scheme does not require a relatively high performance GPU because the difficulty of calculating a single hash is lower than that of the PoW scheme. In addition, the single hash operation rate is also reduced from 10 minutes based on PoW bitcoin to 1 minute, thereby greatly reducing energy consumption.

즉, PoW 방식과 비교하였을 때,

Figure pat00032
값과
Figure pat00033
값이 작아져 같은 가상화폐 가치, 예산이 있을 때 블록체인 네트워크에 쉽게 참여가 가능할 뿐만 아니라, 상대적으로 투자 대비 보상을 높게 가져갈 수 있다.
That is, compared with the PoW method,
Figure pat00032
Value and
Figure pat00033
The smaller value allows for easy participation in the blockchain network when the same cryptocurrency value and budget are available, as well as a relatively high return on investment.

2) 2) PoSPoS 방식과의 비교 분석 Comparative analysis with the method

Figure pat00034
를 전체 블록체인 가상화폐 중 포거 B가 가지는 비율이라 가정하자. PoS 방식에서는 B가 블록 1개에 대한 유효성을 갖고 채굴할 확률
Figure pat00035
는 다음과 같다.
Figure pat00034
Let be the ratio of the fogger B of the entire blockchain cryptocurrency. In PoS method, the probability that B mins with validity for one block
Figure pat00035
Is as follows.

Figure pat00036
Figure pat00036

상기한 PoW와 동일한 환경조건일 때 B가 얻을 수 있는 비용

Figure pat00037
와 평균적으로 얻는 비용
Figure pat00038
도 마찬가지로 다음과 같다. The cost that B can get under the same environmental conditions as the above PoW
Figure pat00037
And average cost
Figure pat00038
Likewise,

Figure pat00039
Figure pat00039

Figure pat00040
Figure pat00040

이때,

Figure pat00041
의 분산을 구하면 Bernoulli Distribution을 따르기 때문에 다음과 같다. At this time,
Figure pat00041
The variance of is obtained by following the Bernoulli Distribution.

Figure pat00042
Figure pat00042

이때, PoS 방식에서는 발행 화폐 비율만큼 블록을 생성하기 때문에 계속해서 포깅을 해도 전체 발행 가상화폐 중 B가 가지는 가상화폐의 비율

Figure pat00043
는 수학적 확률로 언제나 일정하다.
In this case, since the PoS method generates blocks as much as the issued currency ratio, the ratio of the cryptocurrency that B has among all issued cryptocurrencies even if it continues fogging.
Figure pat00043
Is always constant with mathematical probability.

3) 3) PoPPoP 방식 분석 Method analysis

PoP 방식에서 블록체인 네트워크 노드 중 채굴자 C가 가지는 비율을

Figure pat00044
라 하자. PoP 방식에서 C가 블록을 생성할 확률은 다음과 같다. In the PoP method, the ratio of miner C among the blockchain network nodes
Figure pat00044
Let's do it. In the PoP method, the probability that C generates a block is as follows.

Figure pat00045
Figure pat00045

C가 얻을 수 있는 비용

Figure pat00046
와 평균적으로 얻는 비용
Figure pat00047
은 다음과 같다. What C Can Get
Figure pat00046
And average cost
Figure pat00047
Is as follows.

Figure pat00048
Figure pat00048

Figure pat00049
Figure pat00049

이때,

Figure pat00050
의 분산은 다음과 같다. At this time,
Figure pat00050
The variance of is as follows.

Figure pat00051
Figure pat00051

Figure pat00052
는 0보다 크고 1보다 작거나 같은 실수로,
Figure pat00053
를 그래프로 나타내면 도 6과 같다.
Figure pat00052
Is a real number greater than 0 and less than or equal to 1,
Figure pat00053
6 is shown as a graph.

Figure pat00054
가 0.5보다 크다는 것은 한 사람이 네트워크 전체 지분 중 절반 이상을 갖고 있다는 것인데, 이것은 퍼블릭 블록체인 상에서 사실상 불가능하다. 그렇다면 0과 0.5 사이에서 해당 그래프는 계속해서 증가한다. 즉, 네트워크에서 지분이 증가하면 분산
Figure pat00055
또한, 증가한다.
Figure pat00054
Greater than 0.5 means that one person has more than half of the network's total stake, which is virtually impossible on a public blockchain. If so, the graph continues to increase between 0 and 0.5. In other words, if the stake in the network increases
Figure pat00055
Also increases.

신규 참여자 C가 네트워크에 이제 막 참여했을 때, 전체 네트워크상 노드의 지분

Figure pat00056
는 작을 수밖에 없고 분산
Figure pat00057
도 작을 수밖에 없다. 분산이란 변수의 흩어진 정도를 나타내는 지표로 평균값에서 얼마나 벗어나 있는지 판단하는 값이다. 분산이 작다는 것을 결국 안정적으로 평균값
Figure pat00058
에 근접한다는 것이다. 즉 신규 네트워크 참여자는 상대적으로 낮은 위험부담을 갖고 네트워크에 쉽게 참여가 가능하다. When new participant C has just joined the network, the shares of nodes on the entire network
Figure pat00056
Is small and distributed
Figure pat00057
It must be small. Variance is an indicator of the degree of scattering of a variable. Stable variance in the end that the variance is small
Figure pat00058
Is close to That is, new network participants can easily join the network with relatively low risk.

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다. The embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art having various ordinary knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. Should be considered to be within the scope of the following claims.

Claims (8)

네트워크 참여 노드의 블록체인 보상 방법으로서,
(a) 작업 난이도에 따른 하나의 진짜 블록 해쉬값과 복수의 가짜 블록 해쉬값을 포함하는 후보 블록 해쉬값들을 수신하는 단계;
(b) 독자적인 해쉬 정렬 알고리즘을 이용하여 상기 수신한 후보 블록 해쉬값들을 순차적으로 정렬하는 단계;
(c) 개별 거래의 해쉬값, 머클트리의 해쉬값 및 바로 이전 블록의 블록 해쉬값을 이용하여 블록헤더를 생성하는 단계;
(d) 상기 생성된 블록헤더에 대해 임의의 제1 난스를 대입하여 SHA 단방향 복호화 연산을 수행하는 단계; 및
(e) 상기 복호화 연산에 의해 산출된 블록 해쉬값이 미리 설정된 패턴을 만족하면 상기 제1 난스가 진짜 블록 해쉬값의 난스인지 여부를 검증하는 단계를 포함하되,
상기 제1 난스가 진짜 블록 해쉬값의 난스가 아닌 경우, 미리 설정된 시간만큼 대기한 후, 상기 (d) 내지 (e) 과정을 반복 수행하는 것을 특징으로 하는 블록체인 보상 방법.
As a blockchain compensation method of a network participating node,
(a) receiving candidate block hash values including one real block hash value and a plurality of fake block hash values according to task difficulty;
(b) sequentially sorting the received candidate block hash values using a unique hash alignment algorithm;
(c) generating a block header using the hash value of the individual transaction, the hash value of the Merkle tree, and the block hash value of the immediately preceding block;
(d) performing an SHA unidirectional decoding operation by assigning an arbitrary first nonce to the generated block header; And
(e) verifying whether the first nonce is a nonce of the true block hash value if the block hash value calculated by the decoding operation satisfies a preset pattern,
If the first nonce is not a nonce of a real block hash value, wait for a predetermined time period, and then repeat steps (d) to (e).
제1항에 있어서,
상기 네트워크 참여 노드는 복수이며, 복수의 네트워크 참여 노드 각각은 상기 후보 블록 해쉬값을 서로 다른 해쉬 정렬 알고리즘을 이용하여 서로 다른 순으로 정렬하는 블록체인 보상 방법.
The method of claim 1,
And a plurality of network participating nodes, wherein each of the plurality of network participating nodes sorts the candidate block hash values in different orders using different hash alignment algorithms.
제1항에 있어서,
상기 미리 설정된 패턴은 블록 해쉬값을 소정 비트수가 특정한 값을 갖는 패턴인 블록체인 보상 방법.
The method of claim 1,
And the predetermined pattern is a pattern having a predetermined number of bits as a block hash value.
제1항에 있어서,
상기 (e) 단계에서 상기 미리 설정된 패턴을 만족하지 못하는 경우, 다른 난스을 대입하여 상기 (d) 단계를 반복 수행하는 블록체인 보상 방법.
The method of claim 1,
If the predetermined pattern is not satisfied in the step (e), the block chain compensation method repeats the step (d) by substituting another nonce.
제1항에 따른 방법을 수행하는 프로그램이 기록된 기록매체. A recording medium on which a program for performing the method according to claim 1 is recorded. 블록체인 네트워크 참여 장치로서,
프로세서; 및
상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 메모리를 포함하되,
상기 프로세서는 상기 프로그램 명령어들을 실행하여,
작업 난이도에 따른 하나의 진짜 블록 해쉬값과 복수의 가짜 블록 해쉬값을 포함하는 후보 블록 해쉬값들을 수신하고,
독자적인 해쉬 정렬 알고리즘을 이용하여 상기 수신한 후보 블록 해쉬값들을 순차적으로 정렬하고,
개별 거래의 해쉬값, 머클트리의 해쉬값 및 바로 이전 블록의 블록 해쉬값을 이용하여 블록헤더를 생성하고,
상기 생성된 블록헤더에 대해 임의의 제1 난스를 대입하여 SHA 단방향 복호화 연산을 수행하고,
상기 복호화 연산에 의해 산출된 블록 해쉬값이 미리 설정된 패턴을 만족하면 상기 제1 난스가 진짜 블록 해쉬값의 난스인지 여부를 검증하고,
상기 제1 난스가 진짜 블록 해쉬값의 난스가 아닌 경우, 미리 설정된 시간만큼 대기한 후, 상기 복호화 연산 및 검증 과정을 반복 수행하는 것을 특징으로 하는 블록체인 네트워크 참여 장치.
As a blockchain network participating device,
A processor; And
A memory storing program instructions executed by the processor,
The processor executes the program instructions,
Receive candidate block hash values including one real block hash value and a plurality of fake block hash values according to task difficulty,
Sequentially sorting the received candidate block hash values using a unique hash alignment algorithm,
Create a block header using the hash value of each transaction, the hash value of Merkle Tree, and the block hash value of the previous block.
Perform a SHA unidirectional decoding operation by substituting an arbitrary first nonce to the generated block header,
If the block hash value calculated by the decoding operation satisfies a preset pattern, it is determined whether the first nonce is a nonce of the true block hash value,
And if the first nonce is not a nonce of a real block hash value, wait for a predetermined time and then repeat the decoding operation and verifying process.
제6항에 있어서,
상기 네트워크 참여 장치는 복수이며, 복수의 네트워크 참여 노드 각각은 상기 후보 블록 해쉬값을 서로 다른 해쉬 정렬 알고리즘을 이용하여 서로 다른 순으로 정렬하는 블록체인 네트워크 참여 장치.
The method of claim 6,
And a plurality of network participating devices, each of the plurality of network participating nodes sorting the candidate block hash values in different orders using different hash alignment algorithms.
제6항에 있어서,
상기 미리 설정된 패턴은 블록 해쉬값을 소정 비트수가 특정한 값을 갖는 패턴인 블록체인 네트워크 참여 장치.


The method of claim 6,
And the predetermined pattern is a pattern having a predetermined number of bits as a block hash value.


KR1020180089039A 2018-07-31 2018-07-31 Proof-of-Probability based blockchain compensation method and apparatus KR102178895B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180089039A KR102178895B1 (en) 2018-07-31 2018-07-31 Proof-of-Probability based blockchain compensation method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180089039A KR102178895B1 (en) 2018-07-31 2018-07-31 Proof-of-Probability based blockchain compensation method and apparatus

Publications (2)

Publication Number Publication Date
KR20200013871A true KR20200013871A (en) 2020-02-10
KR102178895B1 KR102178895B1 (en) 2020-11-13

Family

ID=69627358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180089039A KR102178895B1 (en) 2018-07-31 2018-07-31 Proof-of-Probability based blockchain compensation method and apparatus

Country Status (1)

Country Link
KR (1) KR102178895B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563277A (en) * 2020-04-03 2020-08-21 上海坤振集成电路有限公司 Workload proving method in block chain network and block chain
CN111598567A (en) * 2020-05-07 2020-08-28 深圳创客区块链技术有限公司 Method, device and storage medium for preventing block chain large computing power attack
CN114666043A (en) * 2022-03-04 2022-06-24 广东钜联信息科技有限公司 Method for generating bookkeeper by block chain difference probability consensus algorithm

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095720A (en) * 2015-02-03 2016-08-12 한양대학교 에리카산학협력단 Method and apparatus for protecting transasction of encrypted currency

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095720A (en) * 2015-02-03 2016-08-12 한양대학교 에리카산학협력단 Method and apparatus for protecting transasction of encrypted currency

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Mitar Milutinovic. et.al., "Proof of Luck an Efficient Blockchain Consensus Protocol" (2016.12.16.) <URL: https://eprint.iacr.org/2017/249.pdf> 1부.* *
김성민 외 2인, 신규 참여자의 형평성 향상을 위한 블록체인에서의 새로운 증명 방식 연구: Proof-of-Probability, 정보보호학회지 제28권 제3호, 2018.06. 18-25(7페이지) 1부.* *
땡글닷컴, "네트워크 부담이 없는 합의 알고리즘" (2014.10.29.) <URL: https://www.ddengle.com/develop/893822> 1부.* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563277A (en) * 2020-04-03 2020-08-21 上海坤振集成电路有限公司 Workload proving method in block chain network and block chain
CN111598567A (en) * 2020-05-07 2020-08-28 深圳创客区块链技术有限公司 Method, device and storage medium for preventing block chain large computing power attack
CN111598567B (en) * 2020-05-07 2023-11-10 深圳创客区块链技术有限公司 Method, device and storage medium for preventing blockchain powerful attack
CN114666043A (en) * 2022-03-04 2022-06-24 广东钜联信息科技有限公司 Method for generating bookkeeper by block chain difference probability consensus algorithm

Also Published As

Publication number Publication date
KR102178895B1 (en) 2020-11-13

Similar Documents

Publication Publication Date Title
CN110959281B (en) Method and system for securing blockchains using transaction attestation
KR101950912B1 (en) Verification system and method for transaction based block chain
US11899809B2 (en) Proof-of-approval distributed ledger
US11522706B2 (en) Method and system for publicly verifiable proofs of retrievability in blockchains
US20240211469A1 (en) System and method for distributing data records using a blockchain
JP6689946B2 (en) Method of managing resources in any one of a plurality of nodes communicating with each other via a network, and computer apparatus operating as any one of a plurality of nodes communicating with each other via a network
KR102178895B1 (en) Proof-of-Probability based blockchain compensation method and apparatus
CN110084596B (en) Method and device for processing block chain mixed consensus
Anwar et al. Generation analysis of blockchain technology: Bitcoin and Ethereum
Kim et al. POSTER: Mining with proof-of-probability in blockchain
CN109035011A (en) A kind of control method and system of block chain DAG width
Mittal et al. Hyperparameter optimization using sustainable proof of work in blockchain
Lánský Bitcoin system
Lin Proof of work vs. Proof of stake in cryptocurrency
Bhat et al. A probabilistic analysis on crypto-currencies based on blockchain
Monem et al. An industry-4.0-compliant sustainable bitcoin model through optimized transaction selection and sustainable block integration
Mohamed et al. Blockchain consensuses algorithms based on proof of work: a comparative analysis
Khan et al. A scalable blockchain consensus model
US20240039716A1 (en) Digital Forge Systems and Methods
Aliu et al. BITCOIN MINING TECHNOLOGIES AND THEIR EFFECT AS A FORM OF INVESTMENT
KR102582328B1 (en) Game system based on blockchain and the method thereof
Özercan A cryptocurrency incentivized voluntary grid computing platform for DNA read alignment
Bala et al. Cryptocurrencies as electronic means of payment without the issuer. Computer science, economic, and legal aspects
Dos Santos et al. A Novel Heuristics for Validating Pairwise Transactions on Cryptocurrencies
DG et al. DPoSEB: Delegated Proof of Stake with Exponential Backoff Consensus Algorithm for Ethereum Blockchain.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant