KR20200017531A - 블록체인의 트랜잭션을 생성하는 방법 및 블록체인의 블록을 검증하는 방법 - Google Patents

블록체인의 트랜잭션을 생성하는 방법 및 블록체인의 블록을 검증하는 방법 Download PDF

Info

Publication number
KR20200017531A
KR20200017531A KR1020207002214A KR20207002214A KR20200017531A KR 20200017531 A KR20200017531 A KR 20200017531A KR 1020207002214 A KR1020207002214 A KR 1020207002214A KR 20207002214 A KR20207002214 A KR 20207002214A KR 20200017531 A KR20200017531 A KR 20200017531A
Authority
KR
South Korea
Prior art keywords
node
block
transaction
blockchain
nodes
Prior art date
Application number
KR1020207002214A
Other languages
English (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 피엘씨 그룹 아게
Publication of KR20200017531A publication Critical patent/KR20200017531A/ko

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (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

본 발명은 블록체인의 트랜잭션을 생성하는 방법에 관한 것으로,
- 블록체인의 제 1 노드에 의해 트랜잭션이 생성되고,
- 제 1 노드의 프라이빗 키를 사용하여 암호 서명이 트랜잭션에 추가되고, 그에 따라 서명된 트랜잭션이 창출되고,
- 서명된 트랜잭션은 블록체인의 복수의 다른 노드들로 배포되고, 다른 노드들은 제 1 노드의 퍼블릭 키를 사용하여 블록의 암호 서명을 확인하고, 제 1 노드의 퍼블릭 키가 유효한 경우에 다른 노드들은 신뢰된 엔티티를 체크한다.

Description

블록체인의 트랜잭션을 생성하는 방법 및 블록체인의 블록을 검증하는 방법
본 발명은 블록체인의 트랜잭션을 생성하는 방법 및 블록체인의 블록을 검증하는 방법에 관한 것이다.
블록체인은 다양한 적용 분야에서 점점 더 대중화되고 있다. 블록체인은 분산된 데이터베이스(distributed database)로, 정보가 공공 트랜잭션 원장(public transaction ledger)(즉, 블록체인)에 기록되어 있다.
예를 들어, 블록체인은 예를 들어 “디지털 화폐”의 형태로 통화(currency)를 제공하기 위해 사용될 수 있다. 이러한 통화의 잘 알려진 예로, 피어 투 피어(peer-to-peer) 네트워크 기반의 암호 화폐인 비트코인(Bitcoin)이 있다. 다른 디지털 통화로는 라이트코인(Litecoin) 또는 프라임코인(Primecoin)이 있다.
블록체인 내에서 이러한 통화의 금액(amount)(또는 “코인”)을 전송하기 위하여, 트랜잭션이 사용된다. 트랜잭션은 일반적으로 블록체인의 노드에 분배된다. 노드는 트랜잭션이 올바른지 여부(correctness)를 확인한다. 그 후에 올바른 트랜잭션은 블록 내로 수집될 수 있고, 블록체인의 하나 이상의 검증된 블록에 포함된 경우에만 트랜잭션이 유효하게 된다.
트랜잭션이 올바른지 여부의 평가 및 블록의 검증은 블록체인의 노드에 의해 수행될 수 있다. 그러나, 트랜잭션을 평가하거나 블록을 검증하는 노드가 악의적(malicious)이거나, 또는 블록체인의 복수의 또는 대부분의 노드들이 악의적인 경우에, 블록체인의 무결성(integrity)이 손상될 수 있으며 블록체인이 다른 공격에 취약해질 수 있다.
따라서 본 발명의 목적은 블록체인의 보안을 개선하는 방법을 제공하는 것이다.
상기 목적은 제 1 항 및 제 2 항에 따른 방법에 의하여 해결된다.
제 1 항은 블록체인의 트랜잭션을 생성(generating) 또는 창출(creating) 또는 검증(validating)하는 방법에 관한 것으로,
- 트랜잭션은 블록체인의 제 1 노드에 의해 창출 또는 생성되고,
- 제 1 노드의 프라이빗 키를 사용하는 암호 서명이 트랜잭션에 추가되고, 그에 따라 서명된 트랜잭션이 창출되고,
- 서명된 트랜잭션은 블록체인의 복수의 다른 노드들로 배포(broadcast)되고, 다른 노드들은 제 1 노드의 퍼블릭 키를 사용하여 서명된 트랜잭션의 암호 서명을 확인하고, 제 1 노드의 퍼블릭 키가 유효한 경우에 다른 노드들은 신뢰된 엔티티(trusted entity)를 체크한다.
제 2 항은 블록체인의 블록의 검증하는 방법에 관한 것으로,
- 블록은 블록체인의 제 1 노드에 의하여 창출 또는 생성되고, 블록은 하나 이상의 트랜잭션을 포함하고,
- 제 1 노드의 프라이빗 키를 사용하는 암호 서명이 블록에 추가되고, 그에 따라 서명된 블록이 창출되고,
- 서명된 블록은 블록체인의 복수의 다른 노드들로 배포되고, 다른 노드들은 제 1 노드의 퍼블릭 키를 사용하여 서명된 블록의 암호 서명을 확인하고, 제 1 노드의 퍼블릭 키가 유효한 경우에 다른 노드들은 신뢰된 엔티티를 체크한다.
제 1 노드의 퍼블릭 키가 유효한 경우에, 다른 노드들은 제 1 노드에 의해 발생된 트랜잭션 및/또는 블록을 수락할 수 있다. 그러나, 제 1 노드의 퍼블릭 키가 유효하지 않은 경우에, 다른 노드들은 제 1 노드에 의해 발생된 블록 및/또는 트랜잭션을 거부할 수 있다. 신뢰된 엔티티의 사용으로 인해, 블록체인의 노드의 퍼블릭 키를 폐지(revoke) 및/또는 무효화(invalidate)하는 것이 가능하고, 퍼블릭 키가 무효화된 노드가 유효한 트랜잭션 및/또는 블록을 더 이상 생성하지 못하도록 하는 효과가 있다. 따라서 신뢰된 엔티티는 블록체인의 블록의 검증 및/또는 올바른 트랜잭션의 발생으로부터 예를 들어, 악의적인 노드를 제외할 수 있다. 결과적으로, 이러한 악의적인 노드는 블록체인에 더 이상 개입할 수 없다. 따라서 악의적인 노드에 의한 위험을 제거할 수 있고, 그러므로 블록체인의 보안을 상당히 개선할 수 있다.
신뢰된 엔티티는 분산된 블록체인에 대해 중앙 제어를 허용한다. 신뢰된 엔티티의 제어를 허용하기 위해, 신뢰된 엔티티와 퍼블릭 키의 검증 또는 확인은 블록체인의 프로토콜에 포함될 수 있다(따라서 블록체인의 모든 노드에 의하여 수행될 수 있다).
즉, 트랜잭션 및/또는 블록은 암호 서명에 의해 보안되는 페이로드(payload)로 간주된다.
일반적으로, 서명된 트랜잭션 및/또는 서명된 블록은 블록체인의 단 하나의 다른 노드로 배포될 수도 있고, 다른 노드는 제 1 노드의 퍼블릭 키를 사용하여 서명된 트랜잭션의 암호 서명을 확인할 수 있고, 제 1 노드의 퍼블릭 키가 유효한 경우에 다른 노드는 신뢰된 엔티티를 체크한다.
이하에서, 본 발명의 다른 실시 형태가 상세히 기술된다.
블록체인은 제 1 노드 및 전술한 다른 노드들을 포함할 수 있고, 노드는 인터넷 또는 데이터 네트워크의 부분일 수 있다. 노드는 신뢰된 엔티티에 데이터 커넥션을 가질 수 있고, 또한 데이터 커넥션을 사용하여 상호 연결될 수 있다. 특히, 모든 노드는 제 1 노드와 동일할 수 있다.
노드는 계좌(account)를 관리하기 위한 단일 사용자(즉, 마켓 참여자)를 허용하는 소프트웨어를 포함할 수 있다. 노드는 프라이빗 키(예를 들어, 사용자의 프라이빗 키)를 포함하는 인스턴스(instance)에 의해 형성될 수 있다. 소프트웨어 또는 노드는 블록체인의 카피를 포함하도록 요구되지 않는다.
제 1 노드의 프라이빗 키 및 퍼블릭 키는 키-페어(즉, 프라이빗 및 퍼블릭 키가 서로 대응함)를 형성할 수 있다. 암호 서명에 추가하기 위해 사용된 프라이빗 키는, 예를 들어 사용자의 프라이빗 키, 노드 디바이스의 프라이빗 키 또는 특정한 계좌에 연결된 프라이빗 키가 될 수 있다.
특히, 노드는 피어 투 피어(peer-to-peer) 노드일 수 있다. 노드는 서로로부터 독립적일 수 있고 및/또는 독립적인 엔티티 및/또는 사람에 의해 제어될 수 있다. 모든 노드는 추가 노드와 통신하기 위한 프로세서, 메모리 디바이스 및/또는 입력-출력 디바이스를 갖는 별개의 컴퓨터일 수 있다. 제 1 노드 및/또는 다른 노드들은 월릿 디바이스(wallet device)일 수 있고, 월릿 디바이스는 퍼스널 컴퓨터(PC), 핸드헬드(handheld) 컴퓨터 또는 스마트폰일 수 있다. 월릿 디바이스는 이-월릿(e-wallet) 또는 암호-월릿(crypto-wallet)으로도 불릴 수 있다.
블록체인은 블록체인의 오리진(origin)부터 모든 트랜잭션을 저장할 수 있고, 트랜잭션 히스토리의 전체의 또는 일부의 카피가 노드의 적어도 일부(노드의 적어도 50% 또는 80%) 또는 모든 노드에 저장될 수 있다. 노드는 블록체인의 추가적인 블록을 생성 및/또는 검증하기 위해 공동 작업할 수 있다. 복수의 노드는 함께, 블록체인을 대표(represent) 및/또는 형성할 수 있다.
트랜잭션이 디지털 화폐 또는 디지털 통화를 전송하기 위해 사용되는 경우에, 트랜잭션은 하나 이상의 인풋 또는 “소모되지 않은” 인풋을 포함할 수 있고, 이는 노드(또는 노드를 운용하는 사용자)가 보유하는 통화의 금액(즉, 신용 잔액(credit balance))를 나타낸다. 즉, 인풋은 트랜잭션에 사용자가 소모할 수 있는 양을 정의한다. 이러한 인풋은 블록체인의 하나의 노드로부터 받을 수 있다. 또한, 트랜잭션은 하나 이상의 아웃풋을 포함할 수 있다. 각 아웃풋은 특정한 계좌로(즉, 또 다른 노드로) 전송될 통화의 양을 나타낸다. 예를 들어, 각 아웃풋은 하나의 계좌 번호 및 각 계좌로 전송될 통화의 금액을 나타낼 수 있다. 트랜잭션은 트랜잭션을 포함하는 블록을 검증하는 노드에 부여되는 트랜잭션 피(fee)를 포함할 수 있다. 트랜잭션은 스페셜 트랜잭션(special transaction)(이하에서 언급함)의 하나일 수 있거나, 이를 포함할 수 있다. 트랜잭션은 또한 트랜잭션 서명, 예를 들어 트랜잭션 자체를 서명하기 위해 사용되는 추가 암호 서명(further cryptographic signature)을 포함할 수 있다. 추가 암호 서명은, 예를 들어 유저의, 프라이빗 키로 암호화된 트랜잭션의 해시값(hash-value)에 기초할 수 있다. 이러한 프라이빗 키는 예를 들어, 전자 지갑(e-wallet)을 나타낼 수 있다. 트랜잭션이 발생된 후에 추가된 암호 서명은 내부 암호 서명에 적어도 부분적으로 기초할 수 있기 때문에, 추가 암호 서명은 “내부” 암호 서명으로도 지칭될 수 있다. 서명된 트랜잭션(본원에서 사용된 바와 같음)을 생성시키기 위해 추가된 암호 서명은, 따라서 “외부” 암호 서명으로 명명될 수 있다. 대안으로는, 서명된 트랜잭션을 발생시키기 위해 추가된 암호 서명이 내부 암호 서명이 될 수도 있다.
트랜잭션이 발생되고, 예를 들어 전술한 인풋 및 아웃풋을 포함한 후에, (외부) 암호 서명은 트랜잭션에 추가될 수 있다. 트랜잭션 및 암호 서명의 조합을 본원에서 서명된 트랜잭션이라 한다. 암호 서명의 발생을 위해, 트랜잭션에 포함되는 적어도 일부의 정보가 프라이빗 키를 사용하여 암호화될 수 있다. 암호화되는 정보는, 이하에서 추가로 설명되는 바와 같이 암호화 전에 해시될(hashed) 수 있다.
이에 대응하여, 블록을 위한 암호 서명을 생성하기 위하여, 블록에 포함된 적어도 일부의 정보가 프라이빗 키를 사용하여 암호화될 수 있다. 암호화되는 정보는 마찬가지로, 이하에서 추가로 설명되는 바와 같이 암호화 전에 해시될 수 있다.
트랜잭션은 블록들로 그룹화될 수 있다. 예를 들어, 모든 트랜잭션은 1 분(one minute)의 블록들 또는 10 분(ten minute)의 블록들로 그룹화될 수 있다. 이는 지난 1 분 또는 10 분 내에 발생한 모든 트랜잭션이 하나의 블록으로 그룹화될 수 있음을 의미한다. 의심의 여지를 피하기 위하여, 블록은 오직 트랜잭션(즉, 전술한 암호 서명 없이), 오직 서명된 트랜잭션(즉, 전술한 암호 서명을 포함하는 트랜잭션) 또는 서명된 트랜잭션 및 트랜잭션의 혼합물을 포함할 수 있다. 따라서, 서명된 블록은 하나 이상의 서명된 트랜잭션을 포함할 수 있다.
다시 말해, 트랜잭션 및/또는 블록은 암호 서명으로 보완될 수 있다. 암호 서명은 퍼블릭 키(신뢰된 엔티티에 의해 폐지될 수 있음)를 사용하여 확인되기 때문에, 신뢰된 엔티티는 향상된 보안 레벨을 실현한다.
바람직하게, 퍼블릭 키 인프라스트럭처(Public Key Infrastructure, PKI)가 제 1 노드의 퍼블릭 키가 유효한지 체크하기 위해 사용된다. PKI는 암호화 키, 특히 퍼블릭 키를 창출, 관리, 배포, 사용, 저장 및/또는 폐지할 수 있다. 이 목적을 위해, PKI는 일련의 고정된 정책 및 절차를 사용할 수 있다. PKI는 PKI의 기능을 수행하는, 서로 분리될 수 있는 여러 컴퓨팅 엔티티를 포함할 수 있다. PKI의 사용은 퍼블릭 키(즉, 제 1 노드의 퍼블릭 키)가 유효한지 체크하기 위해 필요한 매커니즘을 쉽고 안전하게 구현할 수 있도록 한다. PKI에서 구현되는 보안 기준에 의해, 블록체인의 보안성이 더욱 향상된다.
유리하게는, 신뢰된 엔티티는 PKI의 일부이다. 특히, 신뢰된 엔티티는 PKI의 인증 기관(certificate authority, CA) 및/또는 등록 기관(registration authority, RA) 및/또는 검증 기관(validation authority, VA)을 포함한다.
더욱 유리하게는, 신뢰된 엔티티는 블록체인의 노드이고, 따라서 예를 들어, 적어도 VA는 하나 이상의 블록체인에 통합될 수 있다. 신뢰된 엔티티는 따라서, 신뢰된 엔티티는 블록체인의 노드의 퍼블릭 키의 유효성을 결정하고, 동시에 블록체인의 기능성을 보증하는, 이중 기능을 수행할 수 있다. 대안으로는, 신뢰된 엔티티는 블록체인의 노드들로부터 분리될 수 있다. 그에 따라, 신뢰된 엔티티는 공격을 덜 받을 수 있다.
바람직하게, 제 1 노드의 프라이빗 및/또는 퍼블릭 키는 인증서의 일부이다. 제 1 노드는 신뢰된 엔티티로부터 인증서를 검색할 수 있다. 제 1 노드는 암호 서명을 제공하기 위해, 즉 트랜잭션 및/또는 블록에 서명하기 위해, 인증서를 사용할 수 있다. 인증서는 퍼블릭 키의 소유권을 증명하는 퍼블릭 키 인증서일 수 있다. 즉, 인증서는 퍼블릭 키가 블록체인의 제 1 노드에 속함을 증명할 수 있다(즉, 퍼블릭 키는 디바이스 키). 인증서는 키에 대한 정보, 블록체인의 제 1 노드에 대한 정보, 키(즉, 퍼블릭 키) 자체 및/또는 인증서 내용을 확인한 PKI의 엔티티의 디지털 서명을 포함할 수 있다. 인증서는 인증 기관(CA)에 의해 발행될 수 있다. 인증서는 또한 일련번호, 즉 고유한 식별자를 포함할 수 있다. CA는 VA의 일련번호에 기초하여 폐지된/무효화된 인증서의 리스트를 제공할 수 있고, 그에 따라 올바른/유효한 트랜잭션의 발생으로부터 및/또는 블록체인의 블록의 검증에의 참여로부터 특정 노드를 제외할 수 있다.
등록 기관은 CA로부터 디지털 인증서를 요청하는 노드의 아이덴티티를 확인하는 데 사용될 수 있다. 검증 기관은 인증서의 유효성(그리고 그에 따라 퍼블릭 키의 유효성)을 확인하는 서비스를 제공하는 엔티티일 수 있다. VA는 인증서 또는 퍼블릭 키가 여전히 유효한지 CA에 체크할 수 있다.
블록체인이 암호 화폐에 사용되는 경우 및 트랜잭션이 암호 화폐의 코인을 전송하기 위해 사용되는 경우가 바람직하다. “코인”은 암호 화폐의 단위일 수 있다.
일반적으로, 암호 서명은 프라이빗 키를 사용하여 암호화된 트랜잭션에 관한 일부 데이터를 포함할 수 있다. 바람직하게, 암호 서명은 적어도 일부의 트랜잭션에 포함된 정보의 해시값을 포함하고, 해시값은 제 1 노드의 프라이빗 키로 암호화된 것이다.
이에 대응하여, 암호 서명은 프라이빗 키를 사용하여 암호화된 블록에 관한 일부 데이터를 포함할 수 있다. 바람직하게, 암호 서명은 적어도 일부의 블록에 포함된 정보의 해시값을 포함하고, 해시값을 제 1 노드의 프라이빗 키로 암호화된 것이다.
다시 말해, 서명 정보(즉, 암호 서명)은 제 1 노드에 의해 트랜잭션 및/또는 블록에 추가될 수 있고, 그에 따라 서명된 트랜잭션 및/또는 서명된 블록이 발생된다. 이러한 서명 정보는 트랜잭션 및/또는 블록에 포함된 모든 정보의 해시값을 포함할 수 있고, 해시값은 바람직하게는 SHA-2, MD5 등과 같은 암호 해시 함수를 사용하여 만들어질 수 있다.
유리하게는 트랜잭션 및/또는 블록은 지분 증명(Proof-of-Stake, PoS) 컨셉을 사용하여 생성된다. PoS를 사용한 블록의 생성은 스페셜 트랜잭션(소위, 코인스테이크 트랜잭션)을 사용할 수 있고, 제 1 노드는 코인의 소정의 금액을 자기 자신으로(즉 제 1 노드로) 전송하는 스페셜 트랜잭션을 생성할 수 있고, 그에 의하여 블록체인의 블록이 생성된다. 스페셜 트랜잭션은 블록에 포함되는 모든 트랜잭션을 위한 트랜잭션 피를 포함할 수 있다. 트랜잭션 피는 제 1 노드로 전송될 수 있다. 블록의 생성은 제 1 노드가 새로운 코인을 발행할 수 있는 권한을 부여할 수 있고, 그에 의하여 코인의 수를 증가시킬 수 있다. 예를 들어, 성공적으로 생성된 각 블록은, 제 1 노드가 보유한 코인의 1%, 5% 또는 10%를 보상 또는 보너스로 수여할 수 있고, 바람직하게는 보상 또는 보너스는 매년 계산된다. 보너스는 또한 스페셜 트랜잭션에 포함될 수 있다. 그에 따라 통계적 평균에서, 각 노드(또는 사용자)는 자신의 코인의 1%, 5% 또는 10%를 매년 얻을 수 있다. 제 1 노드는 블록의 생성 동안 발행된 코인을 자기 자신에게 보낼 수 있다.
하나의 노드가 예상 보너스(예를 들어 10%)를 수여하지 않은 경우에, 블록체인의 프로토콜은 블록의 성공적인 검증 없이 새로운 코인(즉, 예상 보너스에 상응하는 다수의 코인)을 발행하도록 할 수 있다. 대체하여 또는 추가적으로, 보너스를 제공하기 위해 블록체인의 하나의 노드는 예상 보너스를 받지 않은 노드에 코인을 전송할 수 있다.
블록을 성공적으로 검증할 가능성은 노드가 보유하는 코인의 수 및/또는 노드에 의해 코인이 보유된 기간에 의해 높아질 수 있다. 바람직하게, 블록을 성공적으로 검증할 가능성 또는 확률은 코인의 수 및 노드에 의해 코인이 보유된 기간의 곱에 의존할 수 있다. 노드가 블록을 성공적으로 검증한 경우에, 기간은 리셋(즉, 0으로 설정)될 수 있고, 및/또는 노드는 사정 정의된 시간의 길이동안 블록의 검증으로부터 제외될 수 있다. 시간의 길이는 노드가 보유하는 코인의 수에 의존할 수 있다.
바람직하게는, 트랜잭션 및/또는 블록(예를 들어, 블록에 포함된 스페셜 트랜잭션)은 제 1 노드가 보유하는 코인의 수에 대한 정보 및 이 코인이 제 1 노드에 의해 보유된 기간에 대한 정보를 포함할 수 있다. 즉, 트랜잭션 및/또는 블록은 PoS 정보를 포함할 수 있다. 결과적으로, 암호 서명은 PoS 정보에 의존할 수 있다.
블록을 검증하기 위한 노드를 결정하기 위하여, 블록체인 내에서 투표 절차가 이루어질 수 있다. 이러한 투표 절차를 위해 블록체인의 각 노드는 예를 들어, 전술한 곱(즉, 각 노드가 보유하는 코인의 수에 이 코인이 각 노드에 의해 보유된 기간을 곱한 것)에 기초하여, 블록을 검증하기 위한 하나의 노드를 확률적으로 결정한다. 코인의 수에 이 코인이 (제 1) 노드에 의해 보유된 기간을 곱한 값이 높을수록, 확률적으로 선택된 노드일 가능성이 높아진다. 가장 많은 표를 얻은 하나의 노드가 블록을 검증하고, 새로운 코인의 생성을 수행할 수 있다(즉, 발행을 수행함).
더 바람직하게는, 트랜잭션 및/또는 블록은 작업 증명(Proof-of-Work, PoW) 컨셉을 사용하여 생성된다. PoW 컨셉은 많은 양의 에너지 및 계산력을 요구하는 복잡한 작업의 해결을 기반으로 한다. PoW를 사용한 블록의 생성에 대한 보상으로서, 사전 정의된 코인의 금액이 블록을 생성하는 노드에 부여될 수 있다. 블록은 제 1 노드가 생성한 PoW의 정보를 포함할 수 있다. 제 1 노드가 생성한 PoW에 대한 정보를 포함하는 트랜잭션은 코인베이스 트랜잭션일 수 있다.
Pos 및 PoW를 병행 사용하여 블록을 생성하도록 하는 것이 바람직하다. 예를 들어, 블록 내의 제 1 트랜잭션은 PoW 정보를 포함할 수 있고, 동일한 블록 내의 제 2 트랜잭션은 PoS 정보를 포함할 있다. 제 1 및 제 2 트랜잭션은 모두 스페셜 트랜잭션일 수 있다. 스페셜 트랜잭션은 또한 암호 서명에 의해 보완될 수 있고, 따라서 “보통의” 트랜잭션으로 다뤄질 수 있다. 바람직하게, 제 1 노드의 퍼블릭 키의 유효성은 PoS 기반으로 생성된 트랜잭션을 위해서만 체크된다. 이는 블록ㅊ인의 모든 퍼블릭 키가 폐지된 경우에 PoW 기반의 블록체인의 대비책이 될 수 있다.
PoW-블록에 소비된 많은 양의 에너지 및 PoW 기반의 공격의 가능성(즉, 소위 “51% 공격”)으로 인하여 PoW를 사용한 블록의 생성이 바람직하지 않기 때문에, PoW를 사용한 블록의 생성의 보상은 PoS를 사용한 블록의 생성의 보상과 비교하여 작을 수 있다.
본 발명은 또한 블록체인을 위한 시스템에 관한 것으로,
- 제 1 노드,
- 복수의 다른 노드들 및
- 신뢰된 엔티티를 포함하고,
여기서
- 노드들 및 신뢰된 엔티티는 데이터 커넥션을 사용하여 서로 연결되고,
여기서 제 1 노드는,
- 블록체인의 트랜잭션을 생성하고
- 제 1 노드의 프라이빗 키를 사용하여 암호 서명을 트랜잭션에 추가하고, 그에 따라 서명된 트랜잭션을 창출하고,
- 서명된 트랜잭션을 다른 노드들로 전송하고, 다른 노드들은 제 1 노드의 퍼블릭 키를 사용하여 서명된 트랜잭션의 암호 서명을 확인하도록 구성되고, 제 1 노드의 퍼블릭 키가 유효한 경우에 다른 노드들은 신뢰된 엔티티를 체크하고,
및/또는 여기서 제 1 노드는,
- 블록체인의 블록을 생성하고, 블록은 하나 이상의 트랜잭션을 포함하고,
- 제 1 노드의 프라이빗 키를 사용하여 암호 서명을 블록에 추가하고, 그에 따라 서명된 블록을 창출하고,
- 서명된 블록을 다른 노드들로 전송하고,
여기서 다른 노드들은 제 1 노드의 퍼블릭 키를 사용하여 서명된 블록의 암호 서명을 확인하도록 구성되고, 제 1 노드의 퍼블릭 키가 유효한 경우에 다른 노드들은 신뢰된 엔티티를 체크하도록 구성된다.
또한 본 발명은 블록체인의 노드 디바이스에 관한 것으로,
여기서 노드 디바이스는,
- 블록체인의 트랜잭션을 생성하고,
- 프라이빗 키를 사용하여 트랜잭션에 암호 서명을 추가하고, 그에 따라 서명된 트랜잭션을 창출하고,
- 서명된 트랜잭션을 다른 노드들로 전송하도록 구성되고,
및/또는 여기서
노드 디바이스는,
- 블록체인의 블록을 생성하고, 블록은 하나 이상의 트랜잭션을 포함하고,
- 프라이빗 키를 사용하여 블록에 암호 서명을 추가하고, 그에 따라 서명된 블록을 창출하고,
- 서명된 블록을 다른 노드들로 전송하도록 구성된다.
노드 디바이스는 각 노드의 퍼블릭 키를 사용하여 서명된 트랜잭션 및/또는 서명된 블록의 암호 서명을 확인하도록 구성될 수 있고, 각 노드의 퍼블릭 키가 유효한 경우에 노드 디바이스는 신뢰된 엔티티를 체크한다. 특히, 노드 디바이스는 다른 노드로부터 서명된 트랜잭션 및/또는 서명된 블록을 수신할 때에 암호 서명의 확인을 수행할 수 있다.
노드 디바이스는 상술한 바와 같이, 제 1 노드를 형성할 수 있다. 노드 디바이스는 제어 유닛(예를 들어 CPU(중앙처리유닛)) 및 예를 들어 블록체인의 블록 및/또는 프라이빗 키를 저장하는 메모리를 포함할 수 있다. 노드 디바이스는 퍼슨널 컴퓨터(PC), 핸드헬드 컴퓨터 또는 스마트폰일 수 있다.
본 발명의 방법에 관한 개시는 또한 본 발명의 시스템 및 본 발명의 노드 디바이스에 관한 것이다. 전술한 유리하고 바람직한 실시예의 관점에서 특히 그러하다.
본 발명의 다양한 특징 및 장점은 이하의 설명 및 수반되는 도면으로부터 더욱 명확해질 것이다.
도 1은 트랜잭션이 생성 및 배포될 때 블록체인의 작동 원리의 개략도이다.
도 2는 블록이 검증될 때 블록체인의 작동 원리의 개략도이다.
도 1은 제 1 노드(10), 제 2 노드(12), 제 3 노드(14) 및 제 4 노드(16)를 도시한다. 노드들(10-16)은 블록체인의 기능을 수행한다. 노드들(10-16)은 데이터 커넥션(예를 들어 이더넷-커넥션)을 사용하여 상호 연결된다. 노드들(10-16)은 동종의 노드들(10-16)과 동일한 인스턴스일 수 있고, 이하에서 제 1 노드(10)가 예시적으로 상세히 기술된다.
데이터 커넥션(18)은 또한 노드들(10-16)을 인증 기관(CA)(22) 및 검증 기관(VA)(24)을 포함하는 신뢰된 엔티티(20)에 연결할 수 있다. CA(22) 및 VA(24)는 퍼블릭 키 인프라스트럭처(PKI)의 부분이고, CA(22)는 퍼블릭 및/또는 프라이빗 키를 위한 인증서를 발행하고 퍼블릭 및/또는 프라이빗 키를 폐지하도록 구성된다. VA(24)는 또한 각 노드들(10-16)로 통합될 수 있다.
도 1 은 하나의 계좌에서 다른 계좌로 암호 화폐의 코인의 금액을 전송하기 위해 제 1 노드(10)에 의해 생성된 트랜잭션(25)을 도시한다.
트랜잭션(25)의 정보는 암호 해시 함수(미도시)를 사용하여 해시될 수 있고, 해시 함수의 결과는 프라이빗 키(28)를 사용하여 암호화될 수 있다. 프라이빗 키(28)로 암호화된 데이터는 디지털 서명(30)(즉, 암호 서명)을 형성한다. 디지털 서명(30)은 또한 제 1 노드(10)의 퍼블릭 키(32)를 포함한다. 퍼블릭 키(32) 및 프라이빗 키(28)는 키-페어를 형성한다.
디지털 서명(30)과 함께 트랜잭션(25)은 서명된 트랜잭션(33)을 형성한다. 서명된 트랜잭션(33)은 데이터 커넥션(18)을 사용하여 제 1 노드(10)로부터 모든 다른 노드들(12, 14, 16)로 전송된다.
그 후에 다른 노드들(12-16)은 디지털 서명(30)을 확인하다. 추가적으로, 다른 노드들(12-16)은 제 1 노드(10)의 퍼블릭 키(32)가 유효한지 또는 폐지되었는지 체크하기 위해 VA(24)에 컨택한다.
트랜잭션(25)이 올바른 경우에만, 디지털 서명(30)이 올바르고 제 1 노드(10)의 퍼블릭 키(32)가 유효한 경우에, 다른 노드들(12-16)이 트랜잭션(25)을 수락한다.
몇 개의 트랜잭션(25) 및/또는 서명된 트랜잭션(33)은 1 분의 사전 정의된 시간 간격 동안 수집될 수 있다. 트랜잭션(25) 및/또는 서명된 트랜잭션(33)은 도 2에 나타난 바와 같이, 하나의 블록(26)에 모일 수 있다.
도 2에 도시된 바와 같이, 제 1 노드(10)는 또한 두 개의 스페셜 트랜잭션(27)을 블록(26)에 추가할 수 있다. 제 1 스페셜 트랜잭션(27)은 제 1 노드(10)가 달성한 작업 증명(PoW)에 대한 정보를 포함할 수 있거나, 빈 트랜잭션일 수 있다. 제 2 트랜잭션(27)은 제 1 노드(10)의 코인의 수 및 제 1 노드(10)가 코인을 보유한 기간에 대한 정보를 포함(즉, 지분 증명(PoS)에 대한 정보를 포함)한다. 스페셜 트랜잭션(27)은 또한 트랜잭션 피 및 제 1 노드(10)의 코인의 10%의 보너스를 제 1 노드(10)로 전송한다. 스페셜 트랜잭션(27)은 또한 서명된 트랜잭션(33)에 기초할 수 있다. 또한, 블록(26)이 도시된 트랜잭션(25, 27)을 대신하여 적어도 일부의 서명된 트랜잭션(33)을 포함하는 것도 가능하다.
블록(26)의 정보는 암호 해시 함수(미도시)를 사용하여 해시되고, 해시 함수의 결과는 프라이빗 키(28)를 사용하여 암호화된다. 프라이빗 키(28)로 암호화된 데이터는 블록(26)의 디지털 서명(30)을 형성한다. 디지털 서명(30)은 또한 제 1 노드(10)의 퍼블릭 키(32)를 포함한다.
디지털 서명(30)과 함께 블록(26)은 서명된 블록(34)으로 간주된다.
그 후에 서명된 블록(34)은 데이터 커넥션(18)을 사용하여 제 1 노드(10)로부터 모든 다른 노드들(12, 14, 16)로 전송된다.
트랜잭션(25)에 관련된 절차와 유사하게, 그 후에 다른 노드들(12-16)은 디지털 서명(30)을 확인한다. 추가적으로, 다른 노드들(12-16)은 제 1 노드(10)의 퍼블릭 키(32)가 유효한지 또는 폐지되었는지 체크하기 위해 VA(24)에 컨택한다.
블록(26)이 올바른 경우에만, 디지털 서명(30)이 올바르고 제 1 노드(10)의 퍼블릭 키(32)가 유효한 경우에, 다른 노드들(12-16)이 블록(26)을 수락한다. 그에 따라 블록(26)이 블록체인 내로 입력된다.
공격자가 제 1 노드(10)에 대한 통제권을 획득한 경우에, 신뢰된 엔티티(20)는 제 1 노드(10)의 퍼블릭 키(32)를 포함하는 인증서를 폐지할 수 있다. 이는 VA(24)가 다른 노드들(12-16)에 제 1 노드(10)의 퍼블릭 키(32)가 폐지되었음을 알릴 수 있도록 하고, 제 1 노드(10)의 블록(26), 트랜잭션(25) 및/또는 스페셜 트랜잭션(27)의 불수락이 야기된다. 따라서 공격자는 블록체인을 조작할 수 없고, 이에 따라 블록체인의 보안이 향상된다.
10: 제 1 노드(first node)
12: 제 2 노드(second node)
14: 제 3 노드(third node)
16: 제 4 노드(fourth node)
18: 데이터 커넥션(data connection)
20: 신뢰된 엔티티(trusted entity)
22: 인증 기관(certificate authority, CA)
24: 검증 기관(validation authority, VA)
25: 트랜잭션(transaction)
26: 블록(block)
27: 스페셜 트랜잭션(special transaction)
28: 프라이빗 키(private key)
30: 디지털 서명(digital signature)
32: 퍼블릭 키(public key)
33: 서명된 트랜잭션(signed transaction)
34: 서명된 블록(signed block)

Claims (13)

  1. 블록체인의 트랜잭션(transaction)(25, 27)을 생성하는 방법에 있어서,
    - 상기 블록체인의 제 1 노드(10)에 의해 상기 트랜잭션(25, 27)이 생성되고,
    - 상기 제 1 노드(10)의 프라이빗 키(28)를 사용하여 암호 서명(30)이 상기 트랜잭션(25, 27)에 추가되고, 그에 따라 서명된 트랜잭션(33)이 창출되고,
    - 상기 서명된 트랜잭션(33)이 블록체인의 복수의 다른 노드들(12, 14, 16)로 배포되고, 상기 다른 노드들(12, 14, 16)은 상기 제 1 노드(10)의 퍼블릭 키(32)를 사용하여 상기 서명된 트랜잭션(33)의 상기 암호 서명(30)을 확인하고, 상기 제 1 노드(10)의 상기 퍼블릭 키(32)가 유효한 경우에 상기 다른 노드들(12, 14, 16)은 신뢰된 엔티티(20)를 체크하는, 방법.
  2. 블록체인의 블록(26)을 검증하는 방법에 있어서,
    - 상기 블록체인의 제 1 노드(10)에 의해 상기 블록(26)이 생성되고, 상기 블록(26)은 하나 이상의 트랜잭션(25, 27)을 포함하고,
    - 상기 제 1 노드(10)의 프라이빗 키(28)를 사용하여 암호 서명(30)이 상기 블록(26)에 추가되고, 그에 따라 서명된 블록(34)이 창출되고,
    - 상기 서명된 블록(34)이 상기 블록체인의 복수의 다른 노드들(12, 14, 16)로 배포되고, 상기 다른 노드들(12, 14, 16)은 상기 제 1 노드(10)의 퍼블릭 키(32)를 사용하여 상기 서명된 블록(34)의 상기 암호 서명(30)을 확인하고, 상기 제 1 노드(10)의 상기 퍼블릭 키(32)가 유효한 경우에 상기 다른 노드들(12, 14, 16)은 신뢰된 엔티티(20)를 체크하는, 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 노드(10)의 상기 퍼블릭 키(32)가 유효한지 체크하기 위해 퍼블릭 키 인프라스트럭처(Public Key Infrastructure, PKI)가 사용되는, 방법.
  4. 제 3 항에 있어서,
    상기 신뢰된 엔티티(20)는 상기 PKI의 일부인, 방법.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 신뢰된 엔티티(20)는 인증 기관(certificate authority, CA) 및/또는 등록 기관(registration authority, RA) 및/또는 검증 기관(validation authority, VA)을 포함하는 것인, 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 신뢰된 엔티티(20)는 상기 블록체인의 노드인, 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 제 1 노드(10)의 상기 프라이빗 키(28) 및/또는 상기 퍼블릭 키(32)는 인증서의 일부인, 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 블록체인은 암호 화폐를 위해 사용되고, 상기 트랜잭션(25, 27)은 상기 암호 화폐의 코인을 전송하기 위해 사용되는, 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 암호 서명(30)은 상기 트랜잭션(25, 27) 및/또는 상기 블록(26)에 포함되는 정보의 해시값을 포함하고,
    상기 해시값은 상기 제 1 노드(10)의 상기 프라이빗 키(28)로 암호화된, 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 트랜잭션(25, 27) 및/또는 상기 블록(26)은 지분 증명(Proof-of-Stake, PoS) 컨셉을 사용하여 생성된, 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 트랜잭션(25, 27) 및/또는 상기 블록(26)은 작업 증명(Proof-of-Work, PoW) 컨셉을 사용하여 생성된, 방법.
  12. 블록체인을 위한 시스템에 있어서,
    - 제 1 노드(10),
    - 복수의 다른 노드들(12, 14, 16) 및
    - 신뢰된 엔티티(20)를 포함하고, 여기서
    - 상기 노드들(10, 12, 14, 16) 및 상기 신뢰된 엔티티(20)는 데이터 커넥션(18)을 사용하여 서로 연결되고,
    여기서 상기 제 1 노드(10)는,
    - 상기 블록체인의 트랜잭션(25, 27)을 생성하고,
    - 상기 제 1 노드(10)의 프라이빗 키(28)를 사용하여 암호 서명(30)을 상기 트랜잭션(25, 27)에 추가하고, 그에 따라 서명된 트랜잭션(33)을 창출하고,
    - 상기 서명된 트랜잭션(33)을 상기 다른 노드들(12, 14, 16)로 전송하고, 상기 다른 노드들(12, 14, 16)은 상기 제 1 노드(10)의 퍼블릭 키(32)를 사용하여 상기 서명된 트랜잭션(33)의 상기 암호 서명(30)을 확인하도록 구성되고, 상기 제 1 노드(10)의 상기 퍼블릭 키(32)가 유효한 경우에 상기 다른 노드들(12, 14, 16)은 신뢰된 엔티티(20)를 체크하도록 구성되고,
    및/또는 여기서 상기 제 1 노드(10)는,
    - 상기 블록체인의 블록(26)을 생성하고, 상기 블록(26)은 하나 이상의 트랜잭션(25, 27)을 포함하고,
    - 상기 제 1 노드(10)의 프라이빗 키(28)를 사용하여 암호 서명(30)을 상기 블록(26)에 추가하고, 그에 따라 서명된 블록(34)을 만들고,
    - 상기 서명된 블록(34)을 상기 다른 노드들(12, 14, 16)로 전송하고, 상기 다른 노드들(12, 14, 16)은 상기 제 1 노드(10)의 퍼블릭 키(32)를 사용하여 상기 서명된 블록(34)의 상기 암호 서명(30)을 확인하도록 구성되고, 상기 제 1 노드(10)의 상기 퍼블릭 키(32)가 유효한 경우에 상기 다른 노드들(12, 14, 16)은 신뢰된 엔티티(20)를 체크하도록 구성되는 것인, 방법.
  13. 블록체인의 노드 디바이스(10, 12, 14, 16)에 있어서,
    상기 노드 디바이스(10, 12, 14, 16)는,
    - 상기 블록체인의 트랜잭션(25, 27)을 생성하고,
    - 프라이빗 키(28)를 사용하여 암호 서명(30)을 상기 트랜잭션(25, 27)에 추가하고, 그에 따라 서명된 트랜잭션(33)을 창출하고,
    - 상기 서명된 트랜잭션(33)을 다른 노드들(12, 14, 16)로 전송하도록 구성되고,
    및/또는
    상기 노드 디바이스(10, 12, 14, 16)는,
    - 상기 블록체인의 블록(26)을 생성하고, 상기 블록(26)은 하나 이상의 트랜잭션(25, 27)을 포함하고,
    - 프라이빗 키(28)를 사용하여 암호 서명(30)을 상기 블록(26)에 추가하고, 그에 따라 서명된 블록(34)을 창출하고,
    - 상기 서명된 블록(34)을 다른 노드들(12, 14, 16)로 전송하도록 구성되는, 방법.
KR1020207002214A 2017-06-22 2018-06-21 블록체인의 트랜잭션을 생성하는 방법 및 블록체인의 블록을 검증하는 방법 KR20200017531A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17177484.7A EP3419210A1 (en) 2017-06-22 2017-06-22 Method for generating a transaction of a blockchain and method for validating a block of a blockchain
EP17177484.7 2017-06-22
PCT/EP2018/066631 WO2018234482A1 (en) 2017-06-22 2018-06-21 METHOD FOR GENERATING A TRANSACTION OF A BLOCK CHAIN AND METHOD FOR VALIDATING A BLOCK OF A BLOCK CHAIN

Publications (1)

Publication Number Publication Date
KR20200017531A true KR20200017531A (ko) 2020-02-18

Family

ID=59215569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207002214A KR20200017531A (ko) 2017-06-22 2018-06-21 블록체인의 트랜잭션을 생성하는 방법 및 블록체인의 블록을 검증하는 방법

Country Status (4)

Country Link
EP (1) EP3419210A1 (ko)
KR (1) KR20200017531A (ko)
CN (1) CN110892674A (ko)
WO (1) WO2018234482A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210117826A (ko) * 2020-03-20 2021-09-29 울산대학교 산학협력단 블록체인 기반의 작업자 안전관리 서비스 제공 방법 및 작업자 안전관리 서비스 제공 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405373B2 (en) * 2018-09-07 2022-08-02 Honeywell International, Inc. Blockchain-based secured multicast communications
CN111464285B (zh) * 2019-01-18 2023-08-22 正链科技(深圳)有限公司 一种移动区块链抗量子计算机攻击签名方法
FR3095530B1 (fr) 2019-04-23 2021-05-07 Naval Group Procede de traitement de donnees classifiees, systeme et programme d'ordinateur associes
KR102291436B1 (ko) * 2019-08-26 2021-08-20 주식회사 이멜벤처스 블록체인 네트워크를 이용한 노래방 어플리케이션에서의 포인트 관리 방법 및 시스템
CN110677257B (zh) * 2019-09-24 2022-09-30 安徽师范大学 一种联盟链中区块的生成方法及系统
CN111080289B (zh) * 2019-10-25 2023-06-27 湖北大学 一种基于PoW和PoS改进的区块链共识机制
CN111327669A (zh) * 2019-10-30 2020-06-23 谢卓鹏 一种去中心化区块链解决方法
CN111314172B (zh) * 2020-01-19 2023-12-12 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及存储介质
CN111431696B (zh) * 2020-03-26 2023-10-17 深圳市欧欣泰科技有限公司 一种基于身份的区块链封印机制
CN111445250B (zh) * 2020-04-16 2023-04-11 中国银行股份有限公司 一种区块链密钥测试方法及装置
CN111563830B (zh) * 2020-05-09 2023-11-28 电子科技大学 一种基于石墨烯区块链的分布式能源交易系统
CA3213393A1 (en) * 2021-03-12 2022-09-15 Michael Ira KANOVITZ Authenticated modification of blockchain-based data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745574A (en) * 1995-12-15 1998-04-28 Entegrity Solutions Corporation Security infrastructure for electronic transactions
CN100546245C (zh) * 2006-01-11 2009-09-30 西安电子科技大学 跨安全域的网络认证和密钥分配方法
AU2016255340A1 (en) * 2015-02-27 2017-07-06 Visa International Service Association Transaction signing utilizing asymmetric cryptography
EP3281163B1 (en) * 2015-04-05 2023-12-13 Digital Asset (Switzerland) GmbH Digital asset intermediary electronic settlement platform
GB201511963D0 (en) * 2015-07-08 2015-08-19 Barclays Bank Plc Secure digital data operations
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CN106100847B (zh) * 2016-06-14 2021-10-26 惠众商务顾问(北京)有限公司 非对称加密区块链身份信息验证方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210117826A (ko) * 2020-03-20 2021-09-29 울산대학교 산학협력단 블록체인 기반의 작업자 안전관리 서비스 제공 방법 및 작업자 안전관리 서비스 제공 장치

Also Published As

Publication number Publication date
CN110892674A (zh) 2020-03-17
RU2020102164A3 (ko) 2022-02-22
WO2018234482A1 (en) 2018-12-27
RU2020102164A (ru) 2021-07-22
EP3419210A1 (en) 2018-12-26

Similar Documents

Publication Publication Date Title
KR20200017531A (ko) 블록체인의 트랜잭션을 생성하는 방법 및 블록체인의 블록을 검증하는 방법
Wu et al. A comprehensive survey of blockchain: From theory to IoT applications and beyond
JP7153056B6 (ja) ブロックチェーンで実施されるイベントロック暗号化の方法及びシステム
AU2017395785B2 (en) Voting system and method
CN110380858B (zh) 用于处理区块链的游戏共识协议的方法和系统
JP7189144B2 (ja) 動的ノードグループのための秘密鍵のセキュアな再利用
Dimitriou Efficient, coercion-free and universally verifiable blockchain-based voting
Ruffing et al. Liar, liar, coins on fire! Penalizing equivocation by loss of bitcoins
Cruz et al. E-voting system based on the bitcoin protocol and blind signatures
JP2023109981A (ja) 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法
JP2019519137A (ja) 分散型トランザクション伝播および検証システム
CN111066283A (zh) 对区块链网络上实体提供的数据进行通信、存储和处理的系统和方法
Bergquist Blockchain technology and smart contracts: privacy-preserving tools
US20230421543A1 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
Li et al. Non-equivocation in blockchain: double-authentication-preventing signatures gone contractual
RU2791865C2 (ru) Способ генерирования транзакции блокчейна и способ проверки действительности блока блокчейна
Karatas et al. Self sovereign identity based e-petition scheme
EhabZaghloul et al. Bitcoin and blockchain: Security and privacy
CN112689834A (zh) 在区块链上进行选举的证明的方法和系统
Poston III Blockchain Security from the Bottom Up: Securing and Preventing Attacks on Cryptocurrencies, Decentralized Applications, NFTs, and Smart Contracts
KR102670611B1 (ko) 블록체인-구현 이벤트-잠금 암호화를 위한 방법 및 시스템
Parashuram et al. Developing a System Based on Block Chain Technology for e-Voting Mechanism
Nilsson et al. Publicly Auditable Privacy Revocation in Practice
Egbert et al. Identity Chains
Nguyen et al. A Survey about Consensus Algorithms

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application