KR20210027038A - 프록시 장치 및 프록시 장치에서 수행되는 정보 처리 방법 - Google Patents

프록시 장치 및 프록시 장치에서 수행되는 정보 처리 방법 Download PDF

Info

Publication number
KR20210027038A
KR20210027038A KR1020200037535A KR20200037535A KR20210027038A KR 20210027038 A KR20210027038 A KR 20210027038A KR 1020200037535 A KR1020200037535 A KR 1020200037535A KR 20200037535 A KR20200037535 A KR 20200037535A KR 20210027038 A KR20210027038 A KR 20210027038A
Authority
KR
South Korea
Prior art keywords
transaction
node
nodes
platform system
malicious
Prior art date
Application number
KR1020200037535A
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 KR20210027038A publication Critical patent/KR20210027038A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)

Abstract

일 실시예에 따른 프록시 장치는, 허가형 블록체인 플랫폼 시스템으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 통신부와, 상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템에 포함된 복수 개의 노드 중에서 선택하는 트랜잭션 분배부와, 상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 필터링부를 포함한다.

Description

프록시 장치 및 프록시 장치에서 수행되는 정보 처리 방법 {PROXY APPARATUS AND METHOD FOR PROCESSING INFORMATION EXECUTED ON PROXY APPARATUS}
본 발명은 프록시 장치 및 프록시 장치에서 수행되는 정보 처리 방법에 관한 것이다.
탈중앙화(Decentralization)된 전자화폐가 공개된 이래로, 전세계 다양한 국가와 기업들은, 핵심기술인 블록체인을 다양한 산업영역에 적용해보고자 하는 연구와 노력을 지속하고 있다. 아울러, 이러한 블록체인 기술을 거래 정보뿐만 아닌 데이터를 저장하고 전달하는 모든 방식에 활용하고자 하는 시도 또한 이어지고 있다.
하지만 현재의 블록체인 기술의 수준으로는, 실제 응용서비스를 구동시키기는 것이 용이하지 않다. 이에 블록체인 기술 수준을 향상시키기 위한 방안으로서, 전술한 탈중앙화에 대한 수정 내지 타협이 연구되고 있다. 이러한 수정 내지 타협에 따라, 하이퍼레저 패브릭 등과 같은 허가형 블록체인 플랫폼 시스템이 등장했다. 이러한 허가형 블록체인 플랫폼 시스템에서는, 이에 포함된 노드 및 사용자 모두가 소정의 조직에 참여해야 하며, 또한 CA(certificate authority)로부터 허가를 받고서 x.509 기반의 인증서를 받아야 한다.
한국특허공보, 제10-1924026호 (2018.11.26. 등록)
본 발명의 해결하고자 하는 과제는, 전술한 허가형 블록체인 플랫폼 시스템에서, 허가받은 사용자 뿐 아니라 일반 유저에 대한 접근성이 향상될 수 있고, 트랜잭션의 종류에 따른 필터링 또는 재분배가 가능하도록 하는 기술을 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
일 실시예에 따른 프록시 장치는, 허가형 블록체인 플랫폼 시스템으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 통신부와, 상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템에 포함된 복수 개의 노드 중에서 선택하는 트랜잭션 분배부와, 상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 필터링부를 포함한다.
또한, 상기 트랜잭션 분배부는 상기 복수 개의 노드 각각이 담당하고 있는 부하량을 고려해서 상기 트랜잭션을 처리할 노드를 선택할 수 있다.
또한, 상기 복수 개의 노드는 서로 간에 종류가 상이하고, 상기 트랜잭션 분배부는 상기 트랜잭션의 종류를 고려해서 상기 종류가 상이한 복수 개의 노드 중에서 상기 트랜잭션을 처리할 노드를 선택할 수 있다.
또한, 상기 종류가 상이한 복수 개의 노드에는 보증(endorser) 노드, 뱅크(bank) 노드, 답변자(answerer) 노드 및 이벤트 허브(event hub) 노드가 포함될 수 있다.
또한, 상기 필터링부는 DDoS 공격과 관련된 트랜잭션을 상기 악성으로 분석할 수 있다.
또한, 상기 허가형 블록체인 플랫폼 시스템에는 보증 노드, 위임 노드 및 블록 스토리지가 상기 허가형 블록체인 플랫폼 시스템의 피어 노드에 포함되지 않고 상기 피어 노드와는 별개로 마련될 수 있다.
또한, 상기 허가형 블록체인 플랫폼 시스템에는 보증 노드, 위임 노드 및 블록 스토리지가 상기 허가형 블록체인 플랫폼 시스템의 피어 노드에 포함되도록 마련될 수 있다.
일 실시예에 따른 허가형 블록체인 플랫폼 시스템은, 복수 개의 프록시 장치를 포함하되, 상기 복수 개의 프록시 장치 각각은 허가형 블록체인 플랫폼 시스템으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 통신부와, 상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템에 포함된 복수 개의 노드 중에서 선택하는 트랜잭션 분배부와, 상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 필터링부를 포함한다.
일 실시예에 따른 허가형 블록체인 플랫폼 시스템에 포함된 프록시 장치가 수행하는 정보 처리 방법은, 상기 허가영 블록체인 플랫폼 시스템으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 단계와, 상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템에 포함된 복수 개의 노드 중에서 선택하는 단계와, 상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 단계를 포함하여 수행된다.
일 실시예에 따른 프록시 장치에서는 클라이언트 어플리케이션과 트랜잭션을 주고받는 동작이 수행될 수 있고, 트랜잭션의 악성 여부에 따라 특정 트랜잭션의 경우 처리가 제한될 수 있으며, 트랜잭션을 처리할 노드가 각 노드의 부하량에 따라 선택됨으로써 로드 밸런싱이 이루어질 수 있다. 경우에 따라 트랜잭션을 처리할 노드가 해당 트랜잭션의 종류에 따라 선택될 수도 있다.
뿐만 아니라, 이러한 프록시 장치는 보증 정책(endorser policy)에 따른 제안 응답(proposal response) 또는 지시I 노드(오더러)와의 트랜잭션이 전달되는 경로로서 이용될 수 있다. 또한, 이러한 프록시 장치가 복수 개로 구성될 경우, 단일 장애점(Single point of failure, SPOF)에 대한 문제가 해결될 수 있다.
도 1은 일 실시예에 따른 프록시 장치를 포함하는 블록체인 플랫폼 시스템에 대한 예시적인 구성도이다.
도 2는 일 실시예에 따른 프록시 장치에 대한 예시적인 구성도이다.
도 3은 일 실시예에 따른 블록체인 플랫폼 시스템에서, 컨트랙트가 처리되는 과정을 설명하기 위한 예시적인 흐름도이다.
도 4는 일 실시예에 따른 정보 처리 방법에 대한 예시적인 순서도이다.
도 5는 일 실시예에 따른 프록시 장치를 포함하는, 도 1에 도시된 것과는 상이한 블록체인 플랫폼 시스템에 대한 예시적인 구성도이다.
도 6은 도 5에 도시된 블록체인 플랫폼 시스템에 대한 예시이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '포함하다' 또는 '구성하다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 일 실시예에 따른 프록시 장치(110)를 포함하는 허가형 블록체인 플랫폼 시스템(100)에 대한 예시적인 구성도이다. 이러한 허가형 블록체인 플랫폼 시스템(100) 및 이에 포함된다고 언급된 전술한 구성들은, 컴퓨터 등에서 구현 가능하다.
먼저, 이러한 플랫폼(100)의 사용자는, 소정의 SDK를 통해 트랜잭션을 호출할 수 있다. 이러한 사용자에는 해당 플랫폼(100)에 대해 접근이 허가된 사용자 및 접근이 허가된 적이 없는 일반 사용자가 포함될 수 있다. 이 중, 허가된 사용자는 합의된 조직들의 CA(Certification Authority)를 통하여 발부 받은 신원 증명서를 통해 트랜잭션을 생성할 수 있다. 아울러, 일반 사용자는 이더리움향의 계정을 생성한 후, 생성된 계정과 개인키를 이용해서 트랜잭션을 생성할 수 있다.
한편, 도 1에 도시된 바와 같이, 일 실시예에 따른 허가형 블록체인 플랫폼 시스템(100)은 프록시(Proxy) 노드(110), 피어(Peer) 노드(120), 검증(Verifier) 노드(130), 공유 메모리(Shared memory)(140), 지시(Orderer) 노드(150), 블록 스토리지(Block storage)(160) 및 계약 실행(Contract executer) 노드(170)를 포함할 수 있고, 피어 노드(120)는 보증(Endorser) 노드(121)와 위임(Committer) 노드(122) 및 선택부(123)를 포함할 수 있다. 이 때, 검증 노드(130)는 Q(단, Q는 자연수)개의 코어(131)를 포함할 수 있고, 계약 실행 노드(170)는 N(단, N은 자연수)개의 계약 서버(171)를 포함할 수 있다.
이 중에서, 프록시 노드(110)는 블록체인 코어들, 즉 피어 노드(120), 검증 노드(130) 및 지시 노드(150) 등과 클라이언트 어플리케이션(10)과의 매개역할을 하는 구성이다. 이러한 프록시 노드(110)는 예컨대 트랜잭션(transaction)에 대한 악성 여부를 판단하고, 악성으로 판단된 트랜잭션은 처리되지 않도록 제어하며, 악성이 아니라고 판단된 트랜잭션에 대해서는 해당 트랜잭션을 처리할 노드를 선택할 수 있다. 이하에서는 이러한 프록시 노드(110)에 대해 보다 구체적으로 살펴보기로 한다.
도 2는 일 실시예에 따른 프록시 노드(110)에 대한 예시적인 구성도이다. 도 2를 참조하면, 프록시 노드(110)는 통신부(111), 트랜잭션 분배부(112) 및 필터링부(113)를 포함한다. 다만, 도 2는 예시적인 것에 불과하므로, 프록시 노드(110)의 구성이 도 2에 도시된 것으로 한정 해석되는 것은 아니다.
통신부(111)는 프록시 장치(110)가 도 1에 도시된 모든 구성들 또는 도 1에 도시되지 않은 그 밖의 다양한 구성(들)과 각각 통신을 수행하도록 하게 해주는 구성이다.
예컨대 프록시 장치(110)는 통신부(111)를 통해 클라이언트 어플리케이션(10)으로부터 트랜잭션을 전달받을 수 있는데, 이러한 트랜잭션은 일반 사용자 또는 허가된 사용자와 관련된 것일 수 있다.
뿐만 아니라, 프록시 장치(110)는 통신부(111)를 통해 전달받은 전술한 트랜잭션을, 이러한 트랜잭션을 처리할 노드에게 전달할 수도 있다. 이 때, 트랜잭션을 처리할 노드는, 후술할 트랜잭션 분배부(112)에 의해 선택된 것일 수 있다.
또한, 프록시 장치(110)는 통신부(110)를 통해, 보증 정책(endorser policy)에 따른 제안 응답(proposal response)을 수집할 수 있으며, 경우에 따라서는 지시 노드(150)와 트랜잭션을 주고받을 수도 있다.
트랜잭션 분배부(112)는 통신부(111)가 전달받은 트랜잭션에 대해, 이러한 트랜잭션을 처리할 노드를 허가형 블록체인 플랫폼(100)에 포함된 복수 개의 노드 중에서 선택할 수 있고, 선택된 노드에게 전술한 트랜잭션이 전달되도록 제어할 수 있다. 여기서 복수 개의 노드란, 도 1에 도시된 허가영 블록체인 플랫폼(100)에 포함된 구성인 보증(endorser) 노드(121) 뿐 아니라, 도 1에 도시가 생략되어 있는 노드들, 예컨대 뱅크(bank) 노드, 답변자(answerer) 노드 및 이벤트 허브(event hub) 노드가 포함될 수 있으며, 다만 이에 한정되는 것은 아니다.
트랜잭션을 처리할 노드를 선택하는 과정에 있어서, 트랜잭션 분배부(112)는 다양한 요소를 고려할 수 있다.
예컨대 트랜잭션 분배부(112)는 전술한 복수 개의 노드 각각이 담당하고 있는 또는 담당하게 될 부하량을 고려할 수 있다. 이를 위해, 트랜잭션 분배부(112)는 허가형 블록체인 플랫폼(100)으로부터, 각 노드가 담당하고 있는 또는 담당하게 될 부하량에 대한 정보를 제공받을 수 있다.
또는, 트랜잭션 분배부(112)는, 처리될 트랜잭션의 종류를 고려해서 노드를 선택할 수도 있다. 앞서 살펴본 바와 같이, 복수 개의 노드의 종류는 상이할 수 있다. 아울러, 종류가 상이한 노드마다, 해당 노드에서 처리할 수 있는 종류의 트랜잭션이 상이할 수 있다. 이에, 트랜잭션 분배부(112)는 특정 종류의 트랜잭션은 특정 노드에서 처리되도록 매핑된 테이블을 미리 갖고 있을 수 있으며, 이러한 테이블에 기초해서, 특정 종류의 트랜잭션이 특정 노드에서 처리될 수 있도록 노드를 선택할 수 있다.
필터링부(113)는 프록시 장치(110)가 통신부(111)를 통해 전달받은 트랜잭션을 필터링할 수 있다. 필터링이란, 처리될 트랜잭션과 처리되지 않을 트랜잭션을 구분한다는 의미이다.
보다 구체적으로 살펴보면, 필터링부(113)는 프록시 장치(110)가 통신부(111)를 통해 전달받은 트랜잭션에 대해 악성 여부를 분석할 수 있다. 예컨대 필터링부(113)는 해당 트랜잭션이 DDoS 공격과 관련된 것인지를 분석하는 공지된 알고리즘을 포함할 수 있다.
만약 해당 트랜잭션이 악성이라고 분석되지 않으면, 필터링부(113)는 해당 트랜잭션이 처리될 수 있도록 제어할 수 있다. 이 경우, 트랜잭션 분배부(112)가 선택한 노드로 해당 트랜잭션이, 통신부(111)를 통해 전달될 수 있다.
이와 달리, 해당 트랜잭션이 악성이라고 분석되면, 필터링부(113)는 해당 트랜잭션이 처리되지 않도록 제어할 수 있다. 이 경우, 해당 트랜잭션은, 어떠한 노드에게도 전달되지 않을 수 있다. 아울러, 이러한 트랜잭션에 대한 정보는 필터링부(113)에 저장될 수 있고, 추후의 필터링 과정에 이용될 수도 있다.
한편, 전술한 프록시 장치(110)는 복수 개로 구비될 수도 있다. 이 경우 어느 하나의 프록시 장치(110)만이 동작하고 나머지 프록시 장치(110)는 대기 상태일 수 있고, 이와 달리 복수 개의 프록시 장치(110)가 병렬적으로 동시에 동작할 수도 있다.
이상에서 살펴본 바와 같이, 일 실시예에 따른 프록시 장치에서는 클라이언트 어플리케이션과 트랜잭션을 주고받는 동작이 수행될 수 있고, 트랜잭션의 악성 여부에 따라 특정 트랜잭션의 경우 처리가 제한될 수 있으며, 트랜잭션을 처리할 노드가 각 노드의 부하량에 따라 선택됨으로써 로드 밸런싱이 이루어질 수 있다. 경우에 따라 트랜잭션을 처리할 노드가 해당 트랜잭션의 종류에 따라 선택될 수 있다.
뿐만 아니라, 이러한 프록시 장치는 보증 정책에 따라 제안 응답 또는 지시 노드와의 트랜잭션이 전달되는 경로로서 이용될 수 있다. 또한, 이러한 프록시 장치가 복수 개로 구성될 경우, 단일 장애점(Single point of failure, SPOF)에 대한 문제가 해결될 수 있다.
다시 도 1을 참조하기로 한다. 피어 노드(120)는 보증 노드(121), 위임 노드(22) 및 선택부(123)를 포함한다.
이 중 보증 노드(121)는 클라이언트 어플리케이션(10)에 의하여 생성된 트랜잭션 제안에 대하여 보증 정책을 준수하였는지를 확인할 수 있다.
또한, 보증 노드(121)는 보증 정책 준수에 대한 확인 작업 중에, 검증 노드(130)에게 사용자 서명의 유효성 확인을 위임할 수 있다.
만약, 검증 노드(130)에 의해 사용자 서명의 유효성이 확인되고, 트랜잭션 제안이 보증 정책을 준수하는 것으로 확인되면, 보증 노드(121)는 해당 트랜잭션을 실행할 수 있다. 여기서, 이러한 트랜잭션의 실행은 컨트랙트(contract)의 실행으로 이어지는데, 이에 대해서는 후술하기로 한다.
한편, 보증 노드(121)는 해당 트랜잭션의 실행 중에 보증 노드(121)에 대한 서명 생성을 검증 노드(130)에게 위임할 수 있고, 검증 노드(130)에 의하여 생성된 보증 노드(121)에 대한 서명을 제안 응답에 포함시켜 프록시 노드(110)을 통하여 클라이언트 어플리케이션(10)에 전달할 수 있다.
위임 노드(122)는 지시 노드(150)로부터 전달받은 블록 내의 모든 트랜잭션이 각각의 보증 정책을 준수하는지를 확인할 수 있고, 트랜잭션이 보증 정책을 준수하는지 확인하는 과정 중에, 블록 내에 포함된 모든 트랜잭션에 포함되어 있는 보증 노드(121)에 대한 서명에 대한 검증을, 검증 노드(130)에게 위임할 수 있으며, 모든 트랜잭션이 보증 정책을 준수하는 것으로 확인된 블록이 포함되도록 블록 스토리지(160)의 블록체인 원장을 갱신할 수 있다.
선택부(123)는 계약 실행 노드(170)에 포함된 N개의 계약 서버(171) 중 어느 하나의 계약 서버(171)를 선택한다.
지시 노드(150)는 클라이언트 어플리케이션(10)에서 생성한 트랜잭션 메시지를 수신하고, 트랜잭션 메시지에 포함된 내용에 관계 없이 모든 채널에서 발생하는 트랜잭션을 받아서 시간 순서대로 정렬하여 블록을 생성하고, 생성된 블록을 채널의 모든 피어 노드(120)들의 위임 노드(121)에 전달한다.
검증 노드(130)는 보증 노드(121)로부터 사용자 서명에 대한 유효성 확인을 위임 받아서, 이러한 사용자 서명에 대한 유효성을 확인할 수 있다. 또한, 검증 노드(130)는, 복수의 코어(131)에 의하여 병렬적으로 처리한 사용자 서명 유효성 확인의 결과를 보증 노드(121)에 회신할 수도 있다.
또한, 검증 노드(130)는 보증 노드(121)로부터 보증 노드(121)의 서명 생성 작업을 위임 받아 복수의 코어(131)에 의하여 병렬적으로 처리한 서명 생성 결과를 보증 노드(121)에 회신할 수도 있다.
또한, 검증 노드(130)는 지시 노드(150)에서 생성된 블록 내의 트랜잭션에 포함된 보증 노드(121)의 서명에 대한 검증을 위임 노드(122)로부터 위임 받을 수 있고, 복수의 코어(141)에 의하여 병렬적으로 처리한 보증 노드(121)의 서명 검증 결과를 위임 노드(122)에 회신할 수 있다.
공유 메모리(140)는 피어 노드(120)의 보증 노드(121)와 검증 노드(130) 사이에 교신을 할 때 및 피어 노드(120)의 위임 노드(122)와 검증 노드(130)가 교신을 할 때에 공동으로 사용하는 저장공간이다.
이하, 도 1 내지 3을 참조하여 본 발명의 일 실시예에 따른 블록체인 플랫폼 시스템(100)에서 수행 가능한, 트랜잭션 및 컨트랙트 처리 과정에 대하여 살펴보기로 한다.
먼저, 도 3을 참조하면, 일반 사용자 혹은 허가된 사용자는 클라이언트 어플리케이션(10)의 SDK(Software Development Kit)를 통해 프록시 노드(110)에 접속한 후 트랜잭션을 호출하여 다양한 트랜잭션 제안(transaction proposal)을 발생시킬 수 있다(S201). 이 때, 사용자의 신원 정보가 서명 형태로서 전술한 트랜잭션 제안에 삽입될 수 있다. 예를 들어, 일반 사용자는 계정을 생성한 후 해당 계정의 개인키를 통하여 트랜잭션을 생성할 수 있다. 허가된 사용자는 CA(Certification Authority)를 통하여 발부 받은 신원 증명서를 통해 트랜잭션을 생성할 수 있다.
프록시 노드(110)는 클라이언트 어플리케이션(10)과 블록체인 플랫폼 코어들(예컨대, 지시 노드, 보증 노드 및 위임 노드 등)과의 매개역할을 하는 서비스이며, 클라이언트 어플리케이션(10)이 자신을 통해서 블록체인 플랫폼 코어들과 간접적으로 접속할 수 있게 하고, 악의적인 접근에 대한 방어벽 역할을 할 수도 있다. 예컨대, 프록시 노드(110)에서는 전술한 다양한 동작들, 즉 트랜잭션을 처리할 노드를 선택하거나 또는 트랜잭션에 대한 필터링 등이 수행될 수 있다.
클라이언트 어플리케이션(10)에 의하여 생성된 트랜잭션은 프록시 노드(110)를 통하여 피어 노드(120) 내의 보증 노드(121)로 전달된다. 이때, 복수의 피어 노드(120) 내에 각각 포함된 보증 노드(121)에 트랜잭션 제안이 전달된다(S203).
보증 노드(121)들에는 트랜잭션의 보증 정책(endorsing policy)이 명시되어 있고, 이러한 보증 노드(121)들은 트랜잭션 제안이 보증 정책을 준수하는지를 확인한 후 해당 트랜잭션을 실행할 수 있다.
보증 노드(121)는 트랜잭션 제안이 보증 정책을 준수하는지를 확인하는 과정 중, 트랜잭션 제안이 형식에 맞게 내용이 제대로 채워져 있는지 확인할 수 있고, 이전에 제출된 적이 있는 트랜잭션인지를 확인할 수 있으며, 트랜잭션을 제안한 클라이언트가 제안 권한이 있는지를 확인할 수 있다.
보증 노드(121)에 명시된 보증 정책에는 사용자 서명의 유효성이 포함될 수 있다. 이 경우에, 보증 노드(121)는 검증 노드(130)에게 사용자 서명의 유효성 확인을 위임할 수 있다. 그러면, 검증 노드(130)에는 복수의 보증 노드(121)로부터 사용자 서명의 유효성 확인이 위임될 수 있다(S205). 이러한 복수의 사용자 서명 유효성 확인 작업은 검증 노드(130)를 구성하는 복수의 코어(131)에 의하여 병렬적으로 처리되며(S207), 그 처리 결과가 피어 노드(120)의 보증 노드(121)에 회신된다(S209). 여기서, 단계 S205 및 단계 S209의 교신은 피어 노드(120)와 검증 노드(130)가 공동으로 사용하는 공유 메모리(140)를 이용할 수 있다.
보증 노드(121)는, 검증 노드(130)에 의하여 사용자 서명의 유효성이 확인되었고 트랜잭션 제안이 보증 정책을 준수하는 것으로 최종 확인(S211)되었으면, 해당 트랜잭션을 실행할 수 있다(S213). S213에 대해 보다 자세하게 예를 들어 살펴보면, 보증 노드(121)는 특정 계산에 의해 컨트랙트를 호출할 수 있고, 호출된 컨트랙트는 소정의 매개변수에 따라 시뮬레이션이 되며, 시뮬레이션의 결과값(read/write set)을 보증 노드(121)에 반환할 수 있다.
이 때, 호출된 컨트랙트는 계약 실행 노드(170)에 포함된 복수 개의 계약 서버(171) 중 어느 하나의 계약 서버(171)에서 실행 내지 시뮬레이션될 수 있는데, 이러한 어느 하나의 계약 서버(171)는 피어 노드(120)의 선택부(123)에 의해 선택된 것일 수 있다.
피어 노드(120)는 트랜잭션 실행의 결과값을 프록시 노드(110)를 통하여 제안 응답(proposal response)으로서 클라이언트 어플리케이션(10)에 전달할 수 있다. 이때, 제안 응답에는 보증 노드(121)의 서명이 포함될 수 있으며, 보증 노드(121)는 서명 생성을 검증 노드(130)에 위임할 수 있다. 그러면, 검증 노드(130)에는 복수의 보증 노드(121)로부터 서명 생성이 위임될 수 있다(S215). 이러한 복수의 서명 생성 작업은 검증 노드(130)를 구성하는 복수의 코어(141)에 의하여 병렬적으로 처리되며(S217), 그 처리 결과에 의하여 생성된 서명이 피어 노드(120)의 보증 노드(121)에 회신될 수 있고(S219), 보증 노드(121)는 검증 노드(130)에 의하여 생성된 서명을 제안 응답에 포함시켜 프록시 노드(110)을 통하여 클라이언트 어플리케이션(10)에 전달할 수 있다(S221, S223).
클라이언트 어플리케이션(10)은 보증 노드(121)의 서명을 확인한 뒤 각 피어 노드(120)로부터의 제안 응답을 비교하는 작업을 수행한다. 단순한 쿼리 같이 지시 서비스(ordering service)가 필요 없는 경우에는 쿼리 결과값을 얻고 프로세스가 종료할 수 있다. 원장 갱신과 같은 경우에는 클라이언트 차원에서 보증 정책을 준수하는 제안 응답이 회신되었는지를 검토할 수 있다(S225).
클라이언트 어플리케이션(10)은 제안 응답이 보증 정책을 만족하는 경우에, 제안 응답에 포함된 트랜잭션 결과값을 프록시 노드(110)를 통하여 지시 노드(150)에 전달한다. 예를 들어, 클라이언트 어플리케이션(10)은 트랜잭션 메시지에 트랜잭션 제안과 이에 대응하는 제안 응답을 모두 포함하여 프록시 노드(110)을 통하여 지시 노드(150)로 전송할 수 있다(S227, S229). 예컨대, 트랜잭션 메시지에는 시뮬레이션의 결과값(read/write set), 보증 노드(121)의 서명 및 채널 아이디(ID)가 포함될 수 있다.
지시 노드(150)는 트랜잭션 메시지에 포함된 내용에 관계 없이 모든 채널에서 발생하는 트랜잭션을 받아서 시간 순서대로 정렬하여 블록을 생성하고(S231), 생성된 블록을 채널의 모든 피어 노드(120)들의 위임 노드(122)에 전달한다(S233).
피어 노드(120)들의 각각의 위임 노드(122)는 블록 내의 모든 트랜잭션이 각각의 보증 정책을 준수하는지를 확인한다. 여기서, 보증 정책을 준수하는지 확인하는 과정 중에 블록 내에 포함된 모든 트랜잭션에 포함되어 있는 보증 노드(121)의 서명을 검증하여야 한다. 그런데, 하나의 블록 내에서 다수의 트랜잭션이 포함되어 있고, 각 트랜잭션에는 다수의 서명이 포함되어 있기 때문에 보증 정책을 준수하는지 확인하는 과정 중에 검증하여야 하는 서명의 수가 매우 많다. 예를 들어, 트랜잭션 하나당 4개의 서명을 검증하여야 할 때에 1초에 50만 개 이상의 트랜잭션을 처리하는 목표를 가진 블록체인 플랫폼이라면 초당 200만개 이상의 서명을 검증해야 하기에, 서명에 관련된 처리에 위임 노드(122)의 컴퓨팅연산자원을 집중적으로 할당할 경우에는 데이터베이스 입출력 등과 같은 다른 데이터 처리에 사용되어야 할 컴퓨팅연산자원까지 소비할 가능성이 높고 이는 전체적인 성능 저하를 초래할 수 있다. 이러한 성능 저하를 방지하기 위하여, 위임 노드(122)는 보증 정책을 준수하는지 확인하는 과정 중의 서명 검증을 검증 노드(130)에 위임할 수 있다. 그러면, 검증 노드(130)에는 복수의 위임 노드(122)로부터 서명 검증이 위임될 수 있다(S235). 이러한 복수의 서명 검증 작업은 검증 노드(130)를 구성하는 복수의 코어(141)에 의하여 병렬적으로 처리되며(S237), 그 처리 결과가 피어 노드(120)의 위임 노드(122)에 회신된다(S239). 이때, 위임 노드(122)는 보증 정책을 준수하는지 확인하는 과정에 따른 결과값(예컨대, valid/invalid)을 해당 트랜잭션에 태그를 할 수 있다(S241).
피어 노드(120)들의 각 위임 노드(122)는 보증 정책을 준수하는 것으로 확인된 블록을 블록 스토리지(160)로 전달하여 블록 스토리지(160)의 블록체인 원장에 단계 S231에서 생성된 블록을 추가하여 갱신할 수 있다. 이러한 블록체인 갱신까지의 일련의 과정이 완료되면 피어 노드(120)의 위임 노드(122)는 클라이언트 어플리케이션(10)에게 작업의 결과를 송신할 수 있다.
한편, 이하에서는 전술한 프록시 장치(110)에서 수행되는 정보 처리 방법의 절차에 대해 살펴보기로 한다.
도 4는 일 실시예에 따른 정보 처리 방법에 대한 예시적인 순서도이다. 다만, 도 4에 도시된 순서도는 예시적인 것에 불과하므로, 본 발명의 사상이 도 4에 도시된 것으로 한정 해석되는 것은 아니다.
도 4를 참조하면, 허가영 블록체인 플랫폼 시스템(100)으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 단계(S100)가 수행된다.
또한, 상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템(100)에 포함된 복수 개의 노드 중에서 선택하는 단계(S110)가 수행된다.
또한, 상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 단계(S120)가 수행된다.
아울러, 이러한 방법에서 설명되지 않은 부분은, 전술한 프록시 장치(100)에 대해 설명된 부분을 원용하기로 한다.
한편, 지금까지 설명된 프록시 장치(100)는 계약 실행 노드(170), 검증 노드(130) 및 블록 스토리지(160)가 피어 노드(120)와 속하지 않도록 구성된 블록체인 플랫폼 시스템에 적용된 것을 전제로 설명하였으나, 본 발명의 사상이 이에 한정되는 것만은 아니다. 예컨대, 일 실시예에 따른 프록시 장치(100)는, 계약 실행 노드(170), 검증 노드(130) 및 블록 스토리지(160)가 피어 노드(120)에 포함되도록 구성된 블록체인 플랫폼 시스템에 적용될 수도 있다. 이하에서는 이러한 실시예에 대해 살펴보기로 한다.
도 5는 일 실시예에 따른 프록시 장치를 포함하는, 도 1에 도시된 것과는 상이한 블록체인 플랫폼 시스템에 대한 예시적인 구성도이다. 다만 도 5는 예시적인 것에 불과하므로, 본 발명의 사상이 도 5에 도시된 것으로 한정 해석되지는 않는다.
도 5를 참조하면, 피어 노드에는 Endorser(도 1에 도시된 보증 노드에 대응), Committer(도 1에 도시된 위임 노드에 대응) 뿐 아니라 CC(도 1에 도시된 계약 실행 노드에 대응)와 block storage(도 1에 도시된 블록 스토리지에 대응)가 포함되도록 구성된다. 즉, 도 5에 도시된 피어 노드는 도 1에 도시된 피어 노드와는 달리, 전술한 각각의 구성(보증 노드, 위임 노드 및 계약 실행 노드 등)을 포함하도록 구성된다.
이 때, 일 실시예에 따른 프록시 장치(100)는 피어 노드가 도 5에 도시된 것과 같이 구성된 경우에도, 이러한 피어 노드와 연동해서, 도 1 내지 도 4에 설명된 것과 동일한 동작을 수행할 수 있다. 예컨대, 프록시 장치(100)는 트랜잭션(transaction)에 대한 악성 여부를 판단하고, 악성으로 판단된 트랜잭션은 처리되지 않도록 제어하며, 악성이 아니라고 판단된 트랜잭션에 대해서는 해당 트랜잭션을 처리할 노드를 선택할 수 있다. 이를 위해, 프록시 장치(100)는 도 2에 도시된 것과 동일한 구성을 포함할 수 있고, 도 3과 4에 도시된 것과 동일한 방식으로 도 3과 4에 도시된 각 동작을 수행할 수 있다.
도 6은, 도 5에 도시된 블록체인 플랫폼 시스템에 대한 예시적인 구성을 도시한 도면이다. 물론, 도 6은 예시적인 것에 불과하므로, 본 발명의 사상이 도 6에 도시된 것으로 한정 해석되는 것은 아니다.
도 6을 참조하면, 블록체인 플랫폼 시스템은 선택부(1123), 보증 노드(1121), 위임 노드(1122), 공유 메모리(1140), 계약 실행 노드(1170), 검증 노드(1130) 및 블록 스토리지(1160)를 포함한다. 이 때 도 6에 도시된 선택부(1123), 보증 노드(1121), 위임 노드(1122), 공유 메모리(1140), 계약 실행 노드(1170), 검증 노드(1130) 및 블록 스토리지(1160) 각각은, 도 1에 도시된 선택부(123), 보증 노드(121), 위임 노드(122), 공유 메모리(140), 계약 실행 노드(170), 검증 노드(130) 및 블록 스토리지(160)에 대응될 수 있다. 아울러, 도 6에 도시된 각각의 구성은 도 5에 도시된 각각의 구성에 대응될 수 있다. 즉, 도 6에 도시된 블록체인 플랫폼 시스템은 도 5에 도시된 블록체인 플랫폼 시스템의 일 예시에 해당된다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 블록체인 플랫폼 시스템 110: 프록시 노드
120: 피어 노드 121: 보증 노드
122: 위임 노드 130: 검증 노드
140: 공유 메모리 150: 지시 노드
160: 블록 스토리지
170: 계약 실행 노드

Claims (11)

  1. 허가형 블록체인 플랫폼 시스템으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 통신부와,
    상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템에 포함된 복수 개의 노드 중에서 선택하는 트랜잭션 분배부와,
    상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 필터링부를 포함하는
    프록시(proxy) 장치.
  2. 제 1 항에 있어서,
    상기 트랜잭션 분배부는,
    상기 복수 개의 노드 각각이 담당하고 있는 부하량을 고려해서 상기 트랜잭션을 처리할 노드를 선택하는
    프록시 장치.
  3. 제 1 항에 있어서,
    상기 복수 개의 노드는 서로 간에 종류가 상이하고,
    상기 트랜잭션 분배부는,
    상기 트랜잭션의 종류를 고려해서 상기 종류가 상이한 복수 개의 노드 중에서 상기 트랜잭션을 처리할 노드를 선택하는
    프록시 장치.
  4. 제 3 항에 있어서,
    상기 종류가 상이한 복수 개의 노드에는,
    보증(endorser) 노드, 뱅크(bank) 노드, 답변자(answerer) 노드 및 이벤트 허브(event hub) 노드가 포함되는
    프록시 장치.
  5. 제 1 항에 있어서,
    상기 필터링부는,
    DDoS 공격과 관련된 트랜잭션을 상기 악성으로 분석하는
    프록시 장치.
  6. 제 1 항에 있어서,
    상기 허가형 블록체인 플랫폼 시스템에는,
    보증 노드, 위임 노드 및 블록 스토리지가 상기 허가형 블록체인 플랫폼 시스템의 피어 노드에 포함되지 않고 상기 피어 노드와는 별개로 마련되는
    프록시 장치.
  7. 제 1 항에 있어서,
    상기 허가형 블록체인 플랫폼 시스템에는,
    보증 노드, 위임 노드 및 블록 스토리지가 상기 허가형 블록체인 플랫폼 시스템의 피어 노드에 포함되도록 마련되는
    프록시 장치.
  8. 허가형 블록체인 플랫폼 시스템으로서,
    복수 개의 프록시 장치를 포함하되,
    상기 복수 개의 프록시 장치 각각은,
    허가형 블록체인 플랫폼 시스템으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 통신부와,
    상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템에 포함된 복수 개의 노드 중에서 선택하는 트랜잭션 분배부와,
    상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 필터링부를 포함하는
    허가형 블록체인 플랫폼 시스템.
  9. 허가형 블록체인 플랫폼 시스템에 포함된 프록시 장치가 수행하는 정보 처리 방법으로서,
    상기 허가영 블록체인 플랫폼 시스템으로의 접근이 허가된 적이 없는 일반 사용자와 관련된 트랜잭션(transaction)을 전달받는 단계와,
    상기 트랜잭션을 처리할 노드를 상기 허가형 블록체인 플랫폼 시스템에 포함된 복수 개의 노드 중에서 선택하는 단계와,
    상기 트랜잭션에 대한 악성 여부를 분석해서 악성으로 분석되면 상기 악성으로 분석된 트랜잭션이 상기 복수 개의 노드 중 어디에서도 처리되지 않도록 제어하는 단계를 포함하는
    정보 처리 방법.
  10. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    제 9 항에 따른 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
    컴퓨터 판독 가능한 기록매체.
  11. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    제 9 항에 따른 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
    컴퓨터 프로그램.
KR1020200037535A 2019-08-30 2020-03-27 프록시 장치 및 프록시 장치에서 수행되는 정보 처리 방법 KR20210027038A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190107694 2019-08-30
KR20190107694 2019-08-30

Publications (1)

Publication Number Publication Date
KR20210027038A true KR20210027038A (ko) 2021-03-10

Family

ID=75148643

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200002273A KR102304953B1 (ko) 2019-08-30 2020-01-07 피어 노드와 그 정보 처리 방법 및 블록체인 플랫폼 시스템
KR1020200002266A KR102304954B1 (ko) 2019-08-30 2020-01-07 피어 노드, 피어 노드에서 수행되는 처리 방법 및 블록체인 플랫폼 시스템
KR1020200037535A KR20210027038A (ko) 2019-08-30 2020-03-27 프록시 장치 및 프록시 장치에서 수행되는 정보 처리 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020200002273A KR102304953B1 (ko) 2019-08-30 2020-01-07 피어 노드와 그 정보 처리 방법 및 블록체인 플랫폼 시스템
KR1020200002266A KR102304954B1 (ko) 2019-08-30 2020-01-07 피어 노드, 피어 노드에서 수행되는 처리 방법 및 블록체인 플랫폼 시스템

Country Status (1)

Country Link
KR (3) KR102304953B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220160281A (ko) * 2021-05-27 2022-12-06 부산대학교 산학협력단 허가형 블록체인에서의 분리형 보증 처리 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101924026B1 (ko) 2017-11-10 2018-11-30 부산대학교 산학협력단 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101950912B1 (ko) * 2016-08-01 2019-02-21 서강대학교산학협력단 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
CN107395665B (zh) * 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
JP6754319B2 (ja) 2017-05-25 2020-09-09 日本電信電話株式会社 ブロックチェーン更新システム、サーバ装置、クライアント装置、ブロックチェーン更新方法、およびプログラム
CN107450981B (zh) * 2017-05-31 2020-04-24 创新先进技术有限公司 一种区块链共识方法及设备
US11144893B2 (en) * 2017-10-30 2021-10-12 Nec Corporation Method and system for securing smart contracts in blockchains
US11238449B2 (en) 2017-12-18 2022-02-01 Nec Corporation Efficient validation of transaction policy compliance in a distributed ledger system
MX2019009344A (es) 2018-12-28 2019-10-02 Alibaba Group Holding Ltd Ejecucion paralela de transacciones en una red de cadena de bloques con base en listas blancas de contratos inteligentes.
CA3060790C (en) 2019-04-12 2021-06-08 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101924026B1 (ko) 2017-11-10 2018-11-30 부산대학교 산학협력단 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220160281A (ko) * 2021-05-27 2022-12-06 부산대학교 산학협력단 허가형 블록체인에서의 분리형 보증 처리 방법 및 시스템

Also Published As

Publication number Publication date
KR102304953B1 (ko) 2021-09-27
KR20210027011A (ko) 2021-03-10
KR102304954B1 (ko) 2021-09-27
KR20210027012A (ko) 2021-03-10

Similar Documents

Publication Publication Date Title
US20190050855A1 (en) Blockchain-based systems, methods, and apparatus for securing access to information stores
US20190273746A1 (en) Microservice architecture for identity and access management
CN102281286B (zh) 分布式混合企业的灵活端点顺从和强认证的方法和系统
CN109379369A (zh) 单点登录方法、装置、服务器及存储介质
CN105164633B (zh) 由可信提供商进行的配置和验证
CN103139182B (zh) 一种允许用户访问的方法、客户端、服务器以及系统
KR20180089670A (ko) 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법
Riad et al. AR-ABAC: a new attribute based access control model supporting attribute-rules for cloud computing
CN111492355B (zh) 用于控制和/或监控装置的方法和控制系统
CN112910904A (zh) 多业务系统的登录方法及装置
Bacon et al. Enforcing End-to-End Application Security in the Cloud: (Big Ideas Paper)
Park et al. An empirical study on the influential factors affecting continuous usage of mobile cloud service
CN115705571A (zh) 保护可审计的帐户的隐私
EP1780653B1 (en) Controlled path-based process execution
CN111597269A (zh) 一种基于区块链的合约实现方法、装置及设备
KR20210027038A (ko) 프록시 장치 및 프록시 장치에서 수행되는 정보 처리 방법
CN109727040B (zh) 数据发布方法、数据调用方法、设备和存储介质
US11245701B1 (en) Authorization pre-processing for network-accessible service requests
US20230169204A1 (en) Secure sharing of personal data in distributed computing zones
KR20230132878A (ko) 실행-오더-검증 블록체인 모델들에서 트랜잭션 취소들 감소
CN114969832A (zh) 一种基于无服务器架构的隐私数据管理方法和系统
CN116583833A (zh) 自审计区块链
Yamany et al. Use of data mining to enhance security for SOA
CN115943606A (zh) 可编辑区块链
Liu et al. BGRA: A reference architecture for blockchain governance

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination