KR20200124428A - 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법 - Google Patents
탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법 Download PDFInfo
- Publication number
- KR20200124428A KR20200124428A KR1020190047725A KR20190047725A KR20200124428A KR 20200124428 A KR20200124428 A KR 20200124428A KR 1020190047725 A KR1020190047725 A KR 1020190047725A KR 20190047725 A KR20190047725 A KR 20190047725A KR 20200124428 A KR20200124428 A KR 20200124428A
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- blockchain
- block
- modification
- recorded
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법이 개시된다. 블록 채굴 방법은, 주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행할 수 있다.
Description
아래의 설명은 탈중앙화된 블록체인에서 거래의 승인과 이미 블록체인에 기록된 거래의 수정을 통합한 블록 채굴 방법에 관한 것이다.
블록체인은 거래내역을 중앙서버에 관리하는 대신에 분산 네트워크의 참여자들이 공동으로 기록하여 관리하는 분산원장(distributed ledger) 또는 그것을 가능하게 하는 기술을 통칭할 수 있다. 이러한 블록체인 모델은 비트코인의 경우와 유사하게 정해진 시간(비트코인의 경우 매 10분)마다 새로운 블록(많은 거래내역이 기록된 원장)이 계산되어 블록체인에 추가하고, 그 계산에 대한 보상으로 지급되는 암호화폐가 존재한다고 가정한다. 이때 정해진 시간을 회전이라고 하고, 순차적인 회전의 진행을 표시하는 n()을 이용하여, 회전을 으로, 이 회전에서 추가되는 블록을 으로, 이 블록 이 추가된 블록체인을 으로 표시하자. 이 기호를 이용하여 회전 이 진행되는 상황에서 각 노드(블록체인 네트워크에 참여하는 개별 기기, 예: 참여자의 컴퓨터)가 가지고 있는 블록체인은 으로 표시할 수 있다. 매 회전마다 반드시 블록이 추가되어야만 하는 것은 아니지만 설명의 편의를 위해 매 회전마다 블록이 정확히 하나씩 추가된다고 가정하자. 지금까지의 내용을 정리하면 다음의 기호들로 표현할 수 있다.
블록 의 데이터는 블록 헤더 , 바로 앞 블록 의 해쉬값 , 현 블록에 포함될 거래들 , 현 블록의 해쉬값 과 이 해쉬값을 구하는데 사용한 넌스값 등으로 구성되어 있다. 여기서, 거래라는 용어는 비트코인의 관례를 따른 것으로 블록체인이 제공하는 서비스에 따라 실제 전자화폐의 거래내역일 수도 있고, 또는 개인정보를 포함한 다양한 정보들의 혼합체일 수도 있다. 또한, 은 블록 에 포함될 거래의 개수를 의미하고, 해쉬값 과 넌스값 은 작업증명 해쉬퍼즐의 해답이다.
작업증명
[수학식 1]
여기서, ''은 비트열의 접합(concatenation)을 의미하고, H는 어떤 입력에 대해서든 출력으로 256 비트열을 생성하는 SHA-256 해쉬함수이고, 개의 0으로만 구성된 비트열, 비트열 중에서 처음 비트가 X인 비트열의 집합을 의미한다(=비트열 X의 길이).
[수학식 2]
수학식 1의 계수 M은 해쉬퍼즐의 난이도를 결정하는데, 그 값이 크면 클수록 해당 해쉬퍼즐을 만족하는 넌스값을 계산하는 것이 어려워진다. 회전 에서 해쉬퍼즐의 해답 을 제일 먼저 계산한 채굴자(작업증명에 참여하는 노드를 지칭한다)는 블록 을 발표하고 이를 블록체인 에 연결하여 자신이 가지고 있는 블록체인을 확장한다.
[수학식 3]
다른 참여자들은 발표된 블록 의 유효성을 쉽게 검증할 수 있다. 이를 인정하는 행위는 다음 회전에서 자신이 가지고 있던 블록체인 을 수학식 3과 같이 확장한 을 가지고 확장함으로써 확인된다. 다른 참여자들이 자신들의 블록체인 을 확장하여 으로 업데이트하는 이유는 가장 긴 블록체인에 인정되는 블록을 추가한 채굴자에게 블록보상(이 블록보상은 전용 암호화폐로 주어진다)이 주어지는 규칙 때문이다. 즉, 다음 회전에서 블록보상을 받기를 원하는 채굴자들은 자신들의 블록체인 을 확장하여 으로 업데이트할 것이다.
상기한 블록체인에서는 이미 기록된 과거 거래에 대한 수정은 사실상 불가능하다. 예를 들어, 이미 블록체인에 연결된 블록 에 포함된 거래 를 로 수정한 블록체인을 유효한 것으로 검증받기 위해서는 블록 의 해쉬퍼즐의 해답 을 수정된 거래 에 맞추어 다시 계산해야 한다. 이 자체도 많은 계산을 필요로 하지만, 이 외에도 다음 블록 의 해쉬퍼즐의 해답 도 블록 에서의 해쉬값 의 변화에 대응하여 다시 계산해야 한다. 이러한 계산은 다음 블록에서도 필요하다. 이런 식으로 해쉬퍼즐을 계속 다시 풀어야 하는데 이는 가 현재의 회전번호 n보다 단 하나만 작은 경우에도 아주 어렵지만, 더 차이가 나는 경우(예: )에는 사실상 불가능하다. 이러한 이유로 기존의 블록체인에서는 과거 거래에 대한 수정은 사실상 불가능하다.
이미 블록체인에 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 방법을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 응용분야의 확대에 도움을 줄 수 있다.
특히, 이해 당사자들의 정당한 요구에 따라 이미 기록된 거래내역을 삭제 또는 수정할 수 있도록 요구하는 개인정보 보호법 관련 규정을 준수할 수 있는 블록체인을 제공한다.
또한, 기존의 블록체인의 장점들인 기록된 거래내용에 대한 투명성, 보안성과 향상된 추적가능성을 그대로 제공하면서 동시에 그 어떤 중앙 관리자를 필요로 하지 않고 기존의 블록체인에서와 같은 탈중앙화된 참여자들의 공동의 노력에 의해 거래승인과 거래수정이 통합된 블록채굴에서 이루어질 수 있다.
컴퓨터 시스템에서 실행되는 블록 채굴 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 블록체인 기반 거래 관리 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로, 주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계를 포함하는 블록 채굴 방법을 제공한다.
일 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 거래 수정 명령으로 이루어진 거래를 생성하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 거래 수정 명령으로 이루어진 거래와 다른 거래를 하나의 블록에 통합하여 채굴한 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 각 거래에 대한 목표값을 계산하는 단계; 및 상기 목표값에 대한 해쉬퍼즐을 이용하여 블록체인에 기록된 거래를 수정하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 블록체인에 기록된 거래를 수정하는 단계는, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 해당 거래의 거래수정 작업증명을 수행하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 블록체인에 기록된 거래를 수정하는 단계는, 거래 수정 명령으로 이루어진 거래를 포함하는 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는, 상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계를 더 포함할 수 있다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 블록체인을 기반으로 거래를 관리하는 것으로, 주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정가능성을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 활용분야를 확대하는데 도움이 될 것이다.
본 발명의 실시예들에 따르면, 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결하는 방안을 제시할 수 있다.
도 1은 기존 블록체인 모델의 블록에 포함되는 데이터 테이블을 도시한 것이다.
도 2는 본 발명의 일실시예에 있어서 기록된 거래의 세부 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 3은 본 발명의 일실시예에 있어서 발표된 블록의 세부 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 수정 명령으로 이루어진 거래의 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 5는 본 발명의 일실시예에 있어서 블록의 거래 수정 과정을 도시한 순서도이다.
도 6은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일실시예에 있어서 기록된 거래의 세부 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 3은 본 발명의 일실시예에 있어서 발표된 블록의 세부 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 수정 명령으로 이루어진 거래의 내용을 나타내는 데이터 테이블을 도시한 것이다.
도 5는 본 발명의 일실시예에 있어서 블록의 거래 수정 과정을 도시한 순서도이다.
도 6은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명은, 이미 블록체인에 기록된 거래의 수정이 가능한 블록체인을 제안하는 것이다. 이를 위해 본 발명에서는 3종류의 다른 형태의 거래를 사용하는데 이는 거래의 상태를 '승인', '수정', '명령'으로 구별한다.
구체적으로, 거래의 상태가 '승인'인 경우는 주어진 거래가 승인되어 블록체인에 기록된 이래로 변화가 없었다는 것을 의미하고, 거래의 상태가 '수정'인 경우는 주어진 거래가 과거의 어떤 시점에 정당한 절차에 따라 수정되었음을 의미하고, 거래의 상태가 '명령'인 경우는 주어진 거래가 블록체인에 기록된 거래를 정당한 절차에 따라 수정하는 명령으로 이루어진 거래임을 의미한다.
먼저, 는 거래 의 상태를 나타내는 것으로 해당 거래가 '승인', '수정' 또는 '명령'임을 표시하고, 는 거래 의 내용(예: 실질적인 거래내용, 전자서명, 개인정보 등)을, 그리고 는 거래 의 이해 당사자들에 대한 정보(예: 이해 당사자들의 공개키들)를 포함하고 있다. 여기서, 이해 당사자들은 거래 가 승인된 후에 정당한 절차를 따라 해당 내역을 삭제 또는 수정을 요구할 수 있는 주체를 의미한다. 마지막으로, 는 추후 설명할 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터이다. 거래가 처음 승인될 때의 는 빈 비트열 null이다. 여기서, , , , 를 구별할 수 있는 길이정보가 포함되어야 하지만 해당 내용은 쉽게 유추 가능한 내용이므로 설명의 편의를 위해 생략한다.
본 발명에서는, 현 블록에 포함되어야 할 각 거래에 대해 각 채굴자들은 다음과 같은 '목표설정' 과정을 진행하는 규칙을 정한다.
[수학식 4]
여기서, 은 블록 에 포함될 거래의 개수이고, 처음으로 승인되는 거래 의 경우에는 ()이 모두 빈 비트열임을 유의하자(목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 포함시킴). 또한, 는 수학식 5와 같이 정의한다.
[수학식 5]
목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값' 을 계산할 수 있다. 이 목표값은 거래수정의 유효성을 검증하는데 사용될 데이터로 위변조 되는 것을 방지해야 한다. 이를 위해 목표값에 대한 채굴자의 전자서명을 블록 내에 포함시킨다.
[수학식 6]
여기서, DS는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.
목표설정을 끝낸 채굴자들은 수학식 7의 작업증명(거래승인)에 도전한다.
[수학식 7]
수학식 7을 만족하는 넌스값 에 대한 결과, 가 해당 블록 의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록 을 발표하고 이를 블록체인에 연결하여 확장된 블록체인 로 업데이트한다. 다른 참여자들은 발표된 블록 을 검증하고 이에 대한 합의로 자신들의 블록체인을 로 업데이트한다.
기존의 블록체인에서 필요로 하는 도 1의 테이블 내용과 비교하여 제안하고자 하는 블록체인에서 필요로 하는 도 3의 테이블에서 추가된 내용을 살펴보면, 먼저, 난이도 계수 K(수학식 5 참조)와 채굴자의 공개키 pk가 추가되었다. 거래 는 도 2의 데이터 테이블에서 설명하였듯이 더 세분화되어 기록된다. 블록 에서 처음으로 승인되는 거래의 상태 = '승인'이고, 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터 가 필요하지 않기 때문에 은 빈 비트열, 즉, Null이다.
이제, 거래를 수정하는 방법에 대해 알아보자. 먼저, 블록 에 기록되어 있는 거래 에 대한 수정 요청이 있었다고 가정해 보자. 여기서, 현재 회전 이 진행되고 있는 상황임을 감안하면 임은 자명하다. 또한, 수정이 요청된 거래 는 원래의 거래 내용은 이였는데 이를 로 수정하도록 요청받았다고 가정해 보자. 이를 달성하기 위해 거래 의 이해당사자들은 수학식 8의 작업증명(거래수정)을 수행한다.
[수학식 8]
을 만족하는 넌스값 r의 계산한다.
여기서, 는 수정이 요청된 거래 의 목표값()이다. 수학식 8을 만족하는 넌스값 은 을 만족하기 때문에거래 의 내역 을 로 수정하고, 빈 비트열 를 으로 교체(원래, 빈 비트열이었던 는 이제 난수와 같은 넌스값 으로 교체되고, 이 넌스값을 새로운 로 여기게 된다)하면 블록 에서 거래 를 수정하는 효과를 얻을 수 있다. 이때, 거래 이 수정된 블록 은 원래의 블록 해쉬값 에 대해 유효성이 검증된다. 만약, 거래를 삭제하는 경우라면 을 빈 비트열(=null)로 교체하는 경우에 해당된다.
[수학식 9]
도 4는 거래 의 내용 를 로 수정하는 명령으로 이루어진 거래 의 내용 의 데이터를 보여주고 있다. 여기서, TMC는 수정을 다음 단계를 순차적으로 진행하는 명령들로 이루어져 있다.
현재의 회전 에 추가될 블록 에는 처음으로 승인되는 거래들뿐만 아니라 이미 기록된 거래의 수정을 위한 수정명령으로 이루어진 거래들도 있다. 네트워크의 노드가 블록 을 인정한다는 것은 자신이 가지고 있는 블록체인에 블록 을 추가하는 것 외에도 해당 블록에 포함되어 있는 거래수정명령 거래의 명령에 따라 자신이 가지고 있는 블록체인을 수정하여 업데이트함을 의미한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 블록체인은 원래의 상태로 복귀하고 블록 은 무시될 것이다.
따라서, 본 실시예에서는 승인된 이후 변화가 없는 거래, 승인된 이후 수정된 거래, 블록체인에 기록된 특정 거래의 수정을 위한 명령으로 이루어진 거래와 같이 3종류의 다른 형태의 거래를 사용하여 거래승인과 거래수정을 통합하여 블록을 채굴하는 방법을 제안한다.
이때, 거래승인의 계산과정에서 차후 거래의 수정이 가능하게 하기 위하여 거래에 대한 목표값을 계산하고, 목표값에 대한 거래승인 작업증명 해쉬퍼즐을 이용하여 블록의 발굴을 검증하고, 블록에 대한 검증의 증명으로 새로운 블록을 기존의 블록체인에 추가할 수 있다.
또한, 수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 수정이 요청된 거래의 이해당사자들이 해결하여 거래수정명령을 만들어 하나의 거래로 생성할 수 있고, 거래수정명령으로 이루어진 거래들을 포함한 블록을 기존의 블록체인에 추가함으로써 수정이 요청된 거래들을 수정하여 업데이트하여 이미 블록체인에 기록된 거래들을 수정할 수 있다.
도 6은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
본 발명의 실시예들에 따른 블록체인 기반 거래 관리 시스템은 도 6의 컴퓨터 시스템(600)을 통해 구현될 수 있다. 도 6에 도시한 바와 같이, 컴퓨터 시스템(600)은 상기에서 설명한, 거래의 승인과 수정을 통합한 블록 채굴 방법을 실행하기 위한 구성요소로서 프로세서(610), 메모리(620), 영구 저장 장치(630), 버스(640), 입출력 인터페이스(650) 및 네트워크 인터페이스(660)를 포함할 수 있다.
프로세서(610)는 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(610)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(610)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스 등에 포함될 수 있다. 프로세서(610)는 버스(640)를 통해 메모리(620)에 접속될 수 있다.
메모리(620)는 컴퓨터 시스템(600)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 예를 들어, 메모리(620)는 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(620)는 컴퓨터 시스템(600)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(620)는 예를 들어 블록체인에 기록된 거래를 수정하기 위한 명령어들을 포함하는 컴퓨터 시스템(600)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(600)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(610)를 포함할 수 있다.
버스(640)는 컴퓨터 시스템(600)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(640)는 컴퓨터 시스템(600)의 컴포넌트들 사이에, 예를 들어 프로세서(610)와 메모리(620) 사이에 데이터를 운반할 수 있다. 버스(640)는 컴퓨터 시스템(600)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(630)는 (예를 들어 메모리(620)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(600)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(630)는 컴퓨터 시스템(600) 내의 프로세서(610)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 예를 들어, 영구 저장 장치(630)는 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(650)는 키보드, 마우스, 마이크, 카메라, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 블록체인에 기록된 거래 수정과 관련된 입력이 입출력 인터페이스(650)를 통해 수신될 수 있다.
네트워크 인터페이스(660)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(660)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들은 네트워크 인터페이스(660)를 통해 수신될 수 있다. 그리고, 블록체인에 기록된 거래 수정과 관련된 정보들은 네트워크 인터페이스(660)를 통해 수신 또는 송신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(600)은 도 6의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(600)은 상술한 입출력 인터페이스(650)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
이처럼 본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정가능성을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 활용분야를 확대하는데 도움이 될 것이다. 특히, 개인정보 보호법 관련 규정에 의해 거래내역에 내재된 개인 정보의 삭제가 요구되는 경우 이를 기술적으로 해결하는 방안을 제시할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (12)
- 컴퓨터 시스템에서 실행되는 블록 채굴 방법에 있어서,
상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
상기 블록 채굴 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로,
주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계
를 포함하는 블록 채굴 방법. - 제1항에 있어서,
상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 거래 수정 명령으로 이루어진 거래를 생성하는 단계
를 포함하는 블록 채굴 방법. - 제1항에 있어서,
상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
거래 수정 명령으로 이루어진 거래와 다른 거래를 하나의 블록에 통합하여 채굴한 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계
를 포함하는 블록 채굴 방법. - 제1항에 있어서,
상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
각 거래에 대한 목표값을 계산하는 단계; 및
상기 목표값에 대한 해쉬퍼즐을 이용하여 블록체인에 기록된 거래를 수정하는 단계
를 포함하는 블록 채굴 방법. - 제4항에 있어서,
상기 블록체인에 기록된 거래를 수정하는 단계는,
수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 해당 거래의 거래수정 작업증명을 수행하는 단계
를 포함하는 블록 채굴 방법. - 제4항에 있어서,
상기 블록체인에 기록된 거래를 수정하는 단계는,
거래 수정 명령으로 이루어진 거래를 포함하는 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 단계
를 더 포함하는 블록 채굴 방법. - 제4항에 있어서,
상기 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 단계는,
상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 단계
를 더 포함하는 블록 채굴 방법. - 컴퓨터 시스템에 있어서,
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
블록체인을 기반으로 거래를 관리하는 것으로, 주어진 거래가 승인되어 블록체인에 기록된 이후 변화가 없는 제1 상태(승인)와, 주어진 거래가 승인되어 블록체인에 기록된 이후 수정된 제2 상태(수정), 및 블록체인에 기록된 거래를 수정하기 위한 명령으로 이루어진 제3 상태(명령)로 구별되는 거래를 이용하여 거래의 승인과 수정을 통합한 블록 채굴을 진행하는 것
을 특징으로 하는 컴퓨터 시스템. - 제8항에 있어서,
상기 적어도 하나의 프로세서는,
각 거래에 대한 목표값을 계산하고,
상기 목표값에 대한 해쉬퍼즐을 이용하여 블록체인에 기록된 거래를 수정하는 것
을 특징으로 하는 컴퓨터 시스템. - 제9항에 있어서,
상기 적어도 하나의 프로세서는,
수정이 요청된 거래의 목표값에 대한 해쉬퍼즐을 이용하여 해당 거래의 거래수정 작업증명을 수행하는 것
을 특징으로 하는 컴퓨터 시스템. - 제9항에 있어서,
상기 적어도 하나의 프로세서는,
거래 수정 명령으로 이루어진 거래를 포함하는 블록을 블록체인에 추가함으로써 수정이 요청된 거래를 수정하여 업데이트 하는 것
을 특징으로 하는 컴퓨터 시스템. - 제9항에 있어서,
상기 적어도 하나의 프로세서는,
상기 목표값의 위변조를 방지하기 위해 상기 목표값에 대한 채굴자의 전자서명을 해당 블록 내에 포함시키는 것
을 특징으로 하는 컴퓨터 시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190047725A KR102189667B1 (ko) | 2019-04-24 | 2019-04-24 | 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법 |
PCT/KR2019/008595 WO2020153552A1 (ko) | 2019-01-22 | 2019-07-11 | 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치 |
US16/584,041 US20200234293A1 (en) | 2019-01-22 | 2019-09-26 | Method and appratus for blockchains with modifiable recorded transactions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190047725A KR102189667B1 (ko) | 2019-04-24 | 2019-04-24 | 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200124428A true KR20200124428A (ko) | 2020-11-03 |
KR102189667B1 KR102189667B1 (ko) | 2020-12-11 |
Family
ID=73197919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190047725A KR102189667B1 (ko) | 2019-01-22 | 2019-04-24 | 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102189667B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180124541A (ko) * | 2017-05-12 | 2018-11-21 | 주식회사 엑스블록시스템즈 | 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법 |
-
2019
- 2019-04-24 KR KR1020190047725A patent/KR102189667B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180124541A (ko) * | 2017-05-12 | 2018-11-21 | 주식회사 엑스블록시스템즈 | 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법 |
Non-Patent Citations (1)
Title |
---|
오아스 블럭체인 프네상스 프로젝트, OAS 백서, 2018.09, http://vidfolio.kr/wp-content/uploads/2018/10/OAS_whitepaper_v2.pdf* * |
Also Published As
Publication number | Publication date |
---|---|
KR102189667B1 (ko) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6955026B2 (ja) | 並列処理ブロックチェーントランザクションのためのシステムおよび方法 | |
US10630463B2 (en) | Meta block chain | |
US11755718B2 (en) | Blockchain implemented counting system and method for use in secure voting and distribution | |
US10523526B2 (en) | System and method for managing services and licenses using a blockchain network | |
TWI737944B (zh) | 基於區塊鏈的交易執行方法及裝置、電子設備 | |
CN111144881B (zh) | 对资产转移数据的选择性访问 | |
US11372980B2 (en) | Blockchains for software component vulnerability databases | |
KR101954268B1 (ko) | 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 | |
KR20210003234A (ko) | 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것 | |
US11475150B2 (en) | Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database | |
EP3439231A1 (en) | Private node, processing method for private node, and program for same | |
US20200234293A1 (en) | Method and appratus for blockchains with modifiable recorded transactions | |
US10659219B1 (en) | Workflow management via distributed ledgers and smart contracts | |
CN110989994A (zh) | 基于区块链的代码版本管理方法、装置、终端及存储介质 | |
US20210049715A1 (en) | Blockchain-based data procesing method, apparatus, and electronic device | |
JP2022504348A (ja) | ブロックチェーン・リソースを格納するブロックチェーン通知ボード | |
KR102542631B1 (ko) | 블록체인과는 다른 형식의 저장소에 저장되는 블록체인 데이터를 검증하는 방법 및 시스템 | |
KR102627868B1 (ko) | 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템 | |
CN115769206A (zh) | 密码化数据录入区块链数据结构 | |
CN115114372A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN110941672A (zh) | 户籍管理方法、装置、设备以及存储介质 | |
KR102164779B1 (ko) | 기록된 거래의 수정이 가능한 블록체인 | |
KR102189667B1 (ko) | 탈중앙화된 블록체인에서 거래의 승인과 수정을 통합한 블록 채굴 방법 | |
CN112425121A (zh) | 关于分布式数据库的使用控制数据网络 | |
KR102189668B1 (ko) | 탈중앙화된 계층적 다중 블록체인 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |