KR20200083934A - 시각적인 블록체인 브라우저 - Google Patents

시각적인 블록체인 브라우저 Download PDF

Info

Publication number
KR20200083934A
KR20200083934A KR1020197021997A KR20197021997A KR20200083934A KR 20200083934 A KR20200083934 A KR 20200083934A KR 1020197021997 A KR1020197021997 A KR 1020197021997A KR 20197021997 A KR20197021997 A KR 20197021997A KR 20200083934 A KR20200083934 A KR 20200083934A
Authority
KR
South Korea
Prior art keywords
blockchain
user interface
block
transaction
request
Prior art date
Application number
KR1020197021997A
Other languages
English (en)
Other versions
KR102282770B1 (ko
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 KR20200083934A publication Critical patent/KR20200083934A/ko
Application granted granted Critical
Publication of KR102282770B1 publication Critical patent/KR102282770B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

본 명세서의 구현들은 클라이언트 디바이스로부터 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하는 단계를 포함한다. 블록체인 시각화 사용자 인터페이스는 블록체인에 기초하여 생성된다. 블록체인 시각화 사용자 인터페이스는 블록체인의 적어도 일부분 및 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사하는 체인 그래프 구조를 포함한다. 블록체인 시각화 사용자 인터페이스는 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 클라이언트 디바이스 상에서의 디스플레이를 위해 제공된다.

Description

시각적인 블록체인 브라우저
콘센서스 네트워크(consensus network)들 및/또는 블록체인 네트워크들로 또한 지칭될 수 있는 분산형 원장 시스템(DLS, distributed leger system)들은 참여 엔티티들이 데이터를 안전하고 불변으로 저장할 수 있게 한다. DLS들은 통상적으로 임의의 특정 사용자 경우를 참조하지 않고 블록체인 네트워크들로 지칭된다. 예시적인 유형들의 블록체인 네트워크들은 공개 네트워크들, 사설 블록체인 네트워크들 및 콘소시엄 블록체인 네트워크들을 포함할 수 있다. 공개 블록체인 네트워크는, DLS를 사용하고 콘센서스 프로세스에 참여하는 모든 엔티티들에게 공개된다. 사설 블록체인 네트워크는 판독 및 기록 허가들을 중앙에서 제어하는 특정 엔티티에게 제공된다. 콘소시엄 블록체인 네트워크는 콘센서스 프로세스를 제어하는 엔티티들의 선택 그룹에게 제공되고, 액세스 제어 계층을 포함한다.
블록체인 네트워크는 하나 이상의 블록체인을 유지한다. 블록체인은 악의적 개체들(아래에서 더 상세히 설명됨)에 의한 데이터의 위조 및 조작을 방지하는 데이터를 저장하기 위한 데이터 구조이다. 블록체인에 저장된 데이터는 복잡한 값들, 예를 들어, 해시 값들을 포함할 수 있고, 텍스트 전용 포맷으로 블록체인의 데이터를 보는 것은 비-기술 사용자들뿐만 아니라 기술 사용자들에게도 도전적이고 비직관적일 수 있다. 정보의 선형 리스트들을 사용하여 블록체인 정보가 디스플레이되고 있으면, 정보를 찾아서 관련된 데이터 사이의 관계들을 보는 것이 곤란할 수 있다. 정보의 선형 리스트를 계속 보는 것은 바람직하지 않은 시각적 피로 및 좌절을 초래할 수 있다.
본 명세서의 구현들은 블록체인 데이터를 시각화하기 위한 컴퓨터-구현 방법들을 포함한다. 더 상세하게는, 본 명세서의 구현들은 블록체인 데이터의 그래픽 뷰잉(viewing) 및 네비게이션을 위한 블록체인 브라우저를 제공하는 것에 관한 것이다. 일부 구현들에서, 액션들은, 클라이언트 디바이스로부터, 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하는 단계; 블록체인에 기초하여 블록체인 시각화 사용자 인터페이스를 생성하는 단계 - 블록체인 시각화 사용자 인터페이스는 블록체인의 적어도 일부분 및 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사(depict)하는 체인 그래프 구조를 포함함 -; 및 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 블록체인 시각화 사용자 인터페이스를 클라이언트 디바이스 상에서의 디스플레이를 위해 제공하는 단계를 포함한다.
다른 구현들은 대응하는 시스템들, 장치, 및 컴퓨터 저장 디바이스들 상에 인코딩된, 방법들의 액션들을 수행하도록 구성된 컴퓨터 프로그램들을 포함한다.
이러한 구현들 및 다른 구현들 각각은 선택적으로 하기 특징들 중 하나 이상을 포함할 수 있다:
체인 그래프 구조는 블록체인 내의 블록을 각각 표현하는 선택가능한 블록 표현들의 체인을 포함할 수 있다. 블록 세부사항 사용자 인터페이스에 대한 요청은 블록체인 내의 특정 블록에 대응하는 특정 블록 표현의 사용자 선택에 응답하여 수신될 수 있다. 특정 블록에 대한 블록 정보는 블록체인의 콘센서스 버전으로부터 리트리빙(retrieving)될 수 있다. 블록체인의 콘센서스 버전은 블록체인 네트워크의 노드들과의 상호작용에 기초하여 결정될 수 있다. 예를 들어, 블록체인 네트워크의 노드인 웹 서버는 다수의 후보 경로들 중 블록체인의 콘센서스 버전으로서 블록들의 체인을 선택하기 위해 가장 긴 체인 및/또는 가장 무거운 체인 기준들을 사용할 수 있다. 다수의 후보 경로들은 블록체인 네트워크의 상이한 노드들로부터 상이한 시간들에 수신된 상이한 블록들을 포함할 수 있다. 블록 세부사항 사용자 인터페이스는 리트리빙된 블록 정보에 기초하여 생성될 수 있다. 블록 세부사항 사용자 인터페이스는 블록 세부사항 사용자 인터페이스에 대한 요청에 응답하여 제공될 수 있다. 선택가능한 블록 표현들은 선택가능한 링크들과 연결될 수 있고, 블록체인 시각화 사용자 인터페이스는, 특정한 선택가능한 링크의 사용자 선택에 응답해서 체인 그래프 구조를 재배치(reposition)하여, 선택된 링크의 타겟인 선택가능한 블록 표현이 체인 그래프 구조의 최상부에 배치되도록 구성될 수 있다. 트랜잭션 정보는 블록체인의 콘센서스 버전과 연관된 가장 최근의 트랜잭션들에 대한 정보를 포함할 수 있다. 트랜잭션 정보는 제1 트랜잭션에 대한 트랜잭션 식별 정보를 포함할 수 있다. 제1 트랜잭션에 대한 트랜잭션 세부사항 사용자 인터페이스에 대한 요청은 트랜잭션 식별 정보의 사용자 선택에 응답하여 수신될 수 있다. 제1 트랜잭션에 대한 트랜잭션 정보는 블록체인의 콘센서스 버전을 사용하여 리트리빙될 수 있다. 트랜잭션 세부사항 사용자 인터페이스는 제1 트랜잭션에 대한 트랜잭션 정보에 기초하여 생성될 수 있다. 트랜잭션 세부사항 사용자 인터페이스는 트랜잭션 세부사항 사용자 인터페이스에 대한 요청에 응답하여 제공될 수 있다. 블록 리스트 사용자 인터페이스에 대한 요청은 클라이언트 디바이스로부터 수신될 수 있다. 블록 정보는 블록체인의 콘센서스 버전으로부터 리트리빙될 수 있다. 블록 리스트 사용자 인터페이스는 리트리빙된 블록 정보에 기초하여 생성될 수 있다. 블록 리스트 사용자 인터페이스는 블록 리스트 사용자 인터페이스에 대한 요청에 응답하여 제공될 수 있다. 트랜잭션 리스트 사용자 인터페이스에 대한 요청은 클라이언트 디바이스로부터 수신될 수 있다. 트랜잭션 정보는 블록체인의 콘센서스 버전을 사용하여 리트리빙될 수 있다. 트랜잭션 리스트 사용자 인터페이스는 리트리빙된 트랜잭션 정보에 기초하여 생성될 수 있다. 트랜잭션 리스트 사용자 인터페이스는 트랜잭션 리스트 사용자 인터페이스에 대한 요청에 응답하여 제공될 수 있다. 계정 리스트 사용자 인터페이스에 대한 요청은 클라이언트 디바이스로부터 수신될 수 있다. 블록체인 네트워크의 노드들에 대한 계정 정보는 블록체인의 콘센서스 버전을 사용하여 리트리빙될 수 있다. 계정 리스트 사용자 인터페이스는 리트리빙된 계정 정보에 기초하여 생성될 수 있다. 계정 리스트 사용자 인터페이스는 계정 리스트 사용자 인터페이스에 대한 요청에 응답하여 제공될 수 있다. 계약 리스트 사용자 인터페이스에 대한 요청은 클라이언트 디바이스로부터 수신될 수 있다. 계약 정보는 블록체인의 콘센서스 버전을 사용하여 리트리빙될 수 있다. 계약 리스트 사용자 인터페이스는 리트리빙된 계약 정보에 기초하여 생성될 수 있다. 계약 리스트 사용자 인터페이스는 계약 리스트 사용자 인터페이스에 대한 요청에 응답하여 제공될 수 있다. 블록체인의 업데이트된 콘센서스 버전이 식별될 수 있다. 업데이트된 블록체인 시각화 사용자 인터페이스는 블록체인의 업데이트된 콘센서스 버전에 기초하여 생성되고 클라이언트 디바이스에 제공될 수 있다.
본 명세서는 또한, 하나 이상의 프로세서에 커플링되고 명령어들이 저장된 하나 이상의 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체를 제공하고, 명령어들은 하나 이상의 프로세서에 의해 실행되는 경우, 하나 이상의 프로세서로 하여금 본 명세서에 제공된 방법들의 구현에 따른 동작들을 수행하게 한다.
본 명세서는 본 명세서에 제공된 방법들을 구현하기 위한 시스템도 제공한다. 시스템은, 하나 이상의 프로세서, 및 하나 이상의 프로세서에 커플링되고 명령어들이 저장된 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함하고, 명령어들은 하나 이상의 프로세서에 의해 실행되는 경우, 하나 이상의 프로세서로 하여금 본 명세서에 제공된 방법들의 구현에 따른 동작들을 수행하게 한다.
본 명세서에 따른 방법들은 본 명세서에 설명된 양상들 및 특징들의 임의의 조합을 포함할 수 있음이 인식된다. 즉, 본 명세서에 따른 방법들은 본 명세서에 구체적으로 설명된 양상들 및 특징들의 조합들로 제한되는 것이 아니라, 제공된 양상들 및 특징들의 임의의 조합을 또한 포함한다.
본 명세서의 하나 이상의 구현의 세부사항들은 첨부된 도면들 및 이하의 설명에서 기술된다. 본 명세서의 다른 특징들 및 이점들은 상세한 설명 및 도면들 및 청구항들로부터 명백해질 것이다.
도 1은 본 명세서의 구현들을 실행하기 위해 사용될 수 있는 환경의 예를 도시한다.
도 2는 본 명세서의 구현들에 따른 개념적 아키텍처의 예를 도시한다.
도 3은 본 명세서의 구현들을 실행하기 위해 사용될 수 있는 환경의 예를 도시한다.
도 4는 본 명세서의 구현들에 따른 홈 페이지 사용자 인터페이스의 예를 도시한다.
도 5는 본 명세서의 구현들에 따른 블록 리스트 사용자 인터페이스의 예를 도시한다.
도 6은 본 명세서의 구현들에 따른 블록 세부사항 사용자 인터페이스의 예를 도시한다.
도 7은 본 명세서의 구현들에 따른 트랜잭션 리스트 사용자 인터페이스의 예를 도시한다.
도 8은 본 명세서의 구현들에 따른 계정 리스트 사용자 인터페이스의 예를 도시한다.
도 9는 본 명세서의 구현들에 따른 계정 세부사항 사용자 인터페이스의 예를 도시한다.
도 10은 본 명세서의 구현들에 따른 계약 리스트 사용자 인터페이스의 예를 도시한다.
도 11은 본 명세서의 구현들에 따른 계약 세부사항 사용자 인터페이스의 예를 도시한다.
도 12는 본 명세서의 구현들에 따른 트랜잭션들에 대한 계약 세부사항 사용자 인터페이스의 예를 도시한다.
도 13은 본 명세서의 구현들에 따른 계약 코드에 대한 계약 세부사항 사용자 인터페이스의 예를 도시한다.
도 14는 본 명세서의 구현들에 따라 실행될 수 있는 프로세스의 예를 도시한다.
도 15는 본 명세서의 구현들에 따른 장치의 모듈들의 예들을 도시한다.
다양한 도면들에서 유사한 참조 부호들은 유사한 요소들을 표시한다.
본 명세서의 구현들은 블록체인 데이터를 시각화하기 위한 컴퓨터-구현 방법들을 포함한다. 더 상세하게는, 본 명세서의 구현들은 블록체인 데이터의 그래픽 뷰잉 및 네비게이션을 위한 블록체인 브라우저를 제공하는 것에 관한 것이다. 일부 구현들에서, 액션들은, 클라이언트 디바이스로부터, 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하는 단계; 블록체인에 기초하여 블록체인 시각화 사용자 인터페이스를 생성하는 단계 - 블록체인 시각화 사용자 인터페이스는 블록체인의 적어도 일부분 및 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사하는 체인 그래프 구조를 포함함 -; 및 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 블록체인 시각화 사용자 인터페이스를 클라이언트 디바이스 상에서의 디스플레이를 위해 제공하는 단계를 포함한다.
본 명세서의 구현들에 대한 추가적인 콘텍스트를 제공하기 위해, 그리고 앞서 소개된 바와 같이, 콘센서스 네트워크들(예를 들어, 피어-투-피어 노드들로 구성됨) 및 블록체인 네트워크들로 또한 지칭될 수 있는 분산형 원장 시스템들(DLS들) 및 블록체인 네트워크들은 참여 엔티티들이 트랜잭션들을 안전하고 불변으로 수행하고 데이터를 저장할 수 있게 한다. 용어 블록체인은 본 명세서에서 일반적으로 임의의 특정 사용 경우를 참조하지 않고 DLS를 지칭하기 위해 사용된다.
블록체인은, 트랜잭션들이 불변이고 후속적으로 검증될 수 있는 방식으로 트랜잭션들을 저장하는 데이터 구조이다. 블록체인은 하나 이상의 블록을 포함한다. 체인 내의 각각의 블록은 이전 블록의 암호화 해시를 포함함으로써 체인 내에서 그 직전의 이전 블록에 링크된다. 각각의 블록은 또한 타임스탬프, 자기 자신의 암호화 해시 및 하나 이상의 트랜잭션을 포함한다. 블록체인 네트워크의 노드들에 의해 이미 검증된 트랜잭션들은 해시되고 머클 트리(Merkle tree)에 인코딩된다. 머클 트리는, 트리의 잎 노드들의 데이터가 해시되고, 트리의 각각의 분기의 모든 해시들이 분기의 루트에서 연쇄되는 데이터 구조이다. 이러한 프로세스는 전체 트리의 루트까지 트리에서 계속되며, 루트는 트리의 모든 데이터를 표현하는 해시를 저장한다. 트리에 저장된 트랜잭션인 것으로 알려진 해시는, 이것이 트리의 구조와 일치하는지 여부를 결정함으로써 신속하게 검증될 수 있다.
블록체인은 트랜잭션들을 저장하기 위한 데이터 구조이지만, 블록체인 네트워크는 하나 이상의 블록체인을 관리, 업데이트 및 유지하는 노드들을 컴퓨팅하는 네트워크이다. 앞서 소개된 바와 같이, 블록체인 네트워크는 공개 블록체인 네트워크, 사설 블록체인 네트워크 또는 콘소시엄 블록체인 네트워크로서 제공될 수 있다. 공개 블록체인 네트워크에서, 콘센서스 프로세스는 콘센서스 네트워크의 노드들에 의해 제어된다. 예를 들어, 수백, 수천, 심지어 수백만개의 엔티티들이 공개 블록체인 네트워크에서 협력할 수 있고, 이들 각각은 공개 블록체인 네트워크의 적어도 하나의 노드를 동작시킨다. 따라서, 공개 블록체인 네트워크는 참여 엔티티들에 대한 공개 네트워크로 고려될 수 있다. 일부 예들에서, 대다수의 엔티티들(노드들)은, 블록이 유효하도록 그리고 블록체인 네트워크의 블록체인(분산형 원장)에 추가되도록 모든 블록에 서명해야 한다. 예시적인 공개 블록체인 네트워크들은 블록체인으로 지칭되는 분산형 원장(ledger)을 활용(leverage)하는 특정 피어-투-피어 결제 네트워크들을 포함한다. 그러나, 앞서 언급된 바와 같이, 용어 블록체인은 임의의 특정 블록체인 네트워크에 대한 특정한 참조 없이 일반적으로 분산형 원장들을 지칭하기 위해 사용된다.
일반적으로, 공개 블록체인 네트워크는 공개 트랜잭션들을 지원한다. 공개 트랜잭션은 공개 블록체인 네트워크 내의 노드들 모두와 공유되고, 글로벌 블록체인에 저장된다. 글로벌 블록체인은 모든 노드들에 걸쳐 복제되는 블록체인이다. 즉, 모든 노드들은 글로벌 블록체인에 대해 완전한 상태 콘센서스(consensus)에 있다. 콘센서스(예를 들어, 블록의 블록체인에의 추가에 대한 동의)를 달성하기 위해, 콘센서스 프로토콜이 공개 블록체인 네트워크 내에서 구현된다. 콘센서스 프로토콜들의 예들은 제한 없이, POW(proof-of-work), POS(proof-of-stake), 및 POA(proof-of-authority)를 포함한다. POW는 비제한적인 예로서 본 명세서에서 추가로 참조된다.
일반적으로, 사설 블록체인 네트워크는 판독 및 기록 허가들을 중앙에서 제어하는 특정 엔티티에게 제공된다. 엔티티는, 어느 노드들이 블록체인 네트워크에 참여할 수 있는지를 제어한다. 결국, 사설 블록체인 네트워크들은 일반적으로, 네트워크에 참여하도록 허용되는 자들 및 이들의 참여 레벨에 대해 제한을 두는(예를 들어, 오직 특정 트랜잭션들에서) 허가된 네트워크들로 지칭된다. 다양한 유형들의 액세스 제어 메커니즘들이 사용될 수 있다(예를 들어, 기존의 참여자들이 새로운 엔티티들을 추가하는 것에 대해 투표하고, 규제 기관이 가입을 제어할 수 있다).
일반적으로, 콘소시엄 블록체인 네트워크는 참여 엔티티들 사이에서 비밀이다. 콘소시엄 블록체인 네트워크에서, 콘센서스 프로세스는 노드들의 인가된 세트에 의해 제어되고, 하나 이상의 노드는 각각의 엔티티(예를 들어, 금융 기관, 보험 회사)에 의해 동작된다. 예를 들어, 열(10)개의 엔티티들(예를 들어, 금융 기관들, 보험 회사들)의 콘소시엄이 콘소시엄 블록체인 네트워크를 동작시킬 수 있고, 이들 각각은 콘소시엄 블록체인 네트워크의 적어도 하나의 노드를 동작시킨다. 따라서, 콘소시엄 블록체인 네트워크는 참여 엔티티들에 대한 사설 네트워크로 고려될 수 있다. 일부 예들에서, 각각의 엔티티(노드)는, 블록이 유효하도록 그리고 블록체인에 추가되도록 모든 블록에 서명해야 한다. 일부 예들에서, 적어도 엔티티들(노드들)의 서브세트(예를 들어, 적어도 7개의 엔티티들)는, 블록이 유효하도록 그리고 블록체인에 추가되도록 모든 블록에 서명해야 한다.
본 명세서의 구현들은 참여한 엔티티들 사이에서 공개인 블록체인 네트워크를 참조하여 본 명세서에서 더 상세히 설명된다. 그러나, 본 명세서의 구현들은 임의의 적절한 유형의 블록체인 네트워크에서 실현될 수 있는 것으로 고려된다.
본 명세서의 구현들은 상기 콘텍스트의 관점에서 본 명세서에서 더 상세히 설명된다. 더 상세하게는, 그리고 앞서 소개된 바와 같이, 본 명세서의 구현들은 블록체인 데이터의 그래픽 뷰잉 및 네비게이션을 위한 블록체인 브라우저를 제공하는 것에 관한 것이다.
블록체인 브라우저는 블록체인 정보를 보기 위한 시각화 도구로서 제공될 수 있다. 블록체인 브라우저의 홈 페이지는 노드 정보, 트랜잭션 정보, 계정 정보 및 계약 정보를 포함하는, 블록체인에 대한 핵심 데이터를 디스플레이할 수 있다. 블록들은 블록체인 정보의 중요한 부분이기 때문에, 블록 정보는 사용자에게 강조될 수 있다. 예를 들어, 블록 정보는 관련된 블록들의 그래픽 연결들을 디스플레이하는 그래픽 구조로 블록체인 브라우저에서 디스플레이될 수 있다. 이러한 그래픽 접근법은 블록체인 내의 블록들 사이의 관계의 편리하고 직관적인 시각적 디스플레이를 도출하여, 사용자들이 블록체인의 체인 구조를 시각적으로 경험하고 네비게이팅하도록 허용할 수 있다. 사용자는 블록체인을 통해 시각적으로 네비게이팅하기 위해 관련된 블록들을 연결하는 그래픽 링크들을 선택할 수 있다.
그래픽 구조는 텍스트 디스플레이들과 조합될 수 있다. 예를 들어, 블록 정보는 블록의 그래픽 표현 상에서 직접 디스플레이될 수 있고, 추가적인 블록 세부사항들은 블록 표현의 선택에 응답하여 디스플레이될 수 있다. 블록체인 브라우저 내에서, 사용자들은 각각의 블록, 계정, 트랜잭션 또는 계약에 대한 상세한 정보를 보기 위해 블록, 계정, 트랜잭션 또는 계약 식별 정보를 선택할 수 있다. 블록체인 브라우저는 블록체인 세부사항들에 대한 지식을 갖고 기술자인 사용자들 및 기술적 블록체인 세부사항들에 친숙하지 않은 비-기술 사용자들 둘 모두에게 유용할 수 있다.
도 1은 본 명세서의 구현들을 실행하기 위해 사용될 수 있는 예시적인 환경(100)을 도시한다. 일부 예들에서, 예시적인 환경(100)은 엔티티들이 블록체인 네트워크(102)에 참여할 수 있게 한다. 블록체인 네트워크(102)는 공개, 사설 또는 콘소시엄 블록체인 네트워크일 수 있다. 예시적인 환경(100)은 컴퓨팅 디바이스들(106, 108) 및 네트워크(110)를 포함한다. 일부 예들에서, 네트워크(110)는 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 인터넷 또는 이들의 조합을 포함하고, 웹 사이트들, 사용자 디바이스들(예를 들어, 컴퓨팅 디바이스들) 및 백엔드 시스템들을 연결한다. 일부 예들에서, 네트워크(110)는 유선 및/또는 무선 통신 링크를 통해 액세스될 수 있다. 일반적으로 네트워크(110)는 하나 이상의 통신 네트워크를 대표한다. 일부 경우들에서, 컴퓨팅 디바이스들(106, 108)은 클라우드 컴퓨팅 시스템(미도시)의 노드들일 수 있거나 또는 각각의 컴퓨팅 디바이스(106, 108)는 네트워크에 의해 상호연결된 복수의 컴퓨터들을 포함하고 분산형 프로세싱 시스템으로 기능하는 별개의 클라우드 컴퓨팅 시스템일 수 있다.
도시된 예에서, 컴퓨팅 시스템들(106, 108) 각각은 블록체인 네트워크(102)의 노드로서 참여를 가능하게 하는 임의의 적절한 컴퓨팅 시스템을 포함할 수 있다. 예시적인 컴퓨팅 디바이스들은 제한 없이 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨팅 디바이스 및 스마트폰을 포함한다. 일부 예들에서, 컴퓨팅 시스템들(106, 108)은 블록체인 네트워크(102)와 상호작용하기 위한 하나 이상의 컴퓨터-구현 서비스를 호스팅한다. 예를 들어, 컴퓨팅 시스템(106)은, 제1 엔티티(예를 들어, 사용자 A)가 하나 이상의 다른 엔티티(예를 들어, 다른 사용자)와 자신의 트랜잭션들을 관리하기 위해 사용하는 트랜잭션 관리 시스템과 같은, 제1 엔티티의 컴퓨터-구현 서비스들을 호스팅할 수 있다. 컴퓨팅 시스템(108)은, 제2 엔티티(예를 들어, 사용자 B)가 하나 이상의 다른 엔티티(예를 들어, 다른 사용자)와 자신의 트랜잭션들을 관리하기 위해 사용하는 트랜잭션 관리 시스템과 같은, 제2 엔티티의 컴퓨터-구현 서비스들을 호스팅할 수 있다. 도 1의 예에서, 블록체인 네트워크(102)는 노드들의 피어-투-피어 네트워크로 대표되고, 컴퓨팅 시스템들(106, 108)은 각각, 블록체인 네트워크(102)에 참여한 제1 엔티티 및 제2 엔티티의 노드들을 제공한다.
도 2는 본 명세서의 구현들에 따른 예시적인 개념적 아키텍처(200)를 도시한다. 예시적인 개념적 아키텍처(200)는 엔티티 계층(202), 호스팅된 서비스 계층(204), 및 블록체인 네트워크 계층(206)을 포함한다. 도시된 예에서, 엔티티 계층(202)은 3개의 엔티티들, Entity_1(E1), Entity_2(E2), 및 Entity_3(E3)을 포함하고, 각각의 엔티티는 각각의 트랜잭션 관리 시스템(208)을 갖는다.
도시된 예에서, 호스팅된 서비스 계층(204)은 각각의 트랜잭션 관리 시스템(210)에 대한 인터페이스들(210)을 포함한다. 일부 예들에서, 각각의 트랜잭션 관리 시스템(208)은 프로토콜(예를 들어, HTTPS(hypertext transfer protocol secure))을 사용하여 네트워크(예를 들어, 도 1의 네트워크(110))를 통해 각각의 인터페이스(210)와 통신한다. 일부 예들에서, 각각의 인터페이스(210)는 각각의 트랜잭션 관리 시스템(208)과 블록체인 네트워크 계층(206) 사이의 통신 연결을 제공한다. 더 상세하게는, 인터페이스(210)는 블록체인 네트워크 계층(206)의 블록체인 네트워크(212)와 통신한다. 일부 예들에서, 인터페이스(210)와 블록체인 네트워크 계층(206) 사이의 통신은 RPC(remote procedure call)을 사용하여 수행된다. 일부 예들에서, 인터페이스들(210)는 각각의 트랜잭션 관리 시스템들(208)에 대한 블록체인 네트워크 노드들을 "호스팅"한다. 예를 들어, 인터페이스들(210)은 블록체인 네트워크(212)에 대한 액세스를 위한 API(application programming interface)를 제공한다.
본 명세서에서 설명되는 바와 같이, 블록체인 네트워크(212)는 블록체인(216)에 정보를 불변으로 기록하는 복수의 노드들(214)을 포함하는 피어-투-피어 네트워크로서 제공된다. 단일 블록체인(216)가 개략적으로 도시되지만, 블록체인(216)의 다수의 카피들이 제공되고, 블록체인 네트워크(212)에 걸쳐 유지된다. 예를 들어, 각각의 노드(214)는 블록체인의 카피를 저장한다. 일부 구현들에서, 블록체인(216)은 블록체인 네트워크에 참여한 둘 이상의 엔티티들 사이에서 수행되는 트랜잭션들과 연관된 정보를 저장한다.
도 3은 본 명세서의 구현들을 실행하기 위해 사용될 수 있는 예시적인 환경(300)을 도시한다. 일부 예들에서, 예시적인 환경(300)은 엔티티들이 블록체인 네트워크(302)에 참여할 수 있게 한다. 예시적인 환경(300)은 컴퓨팅 디바이스들(304, 305, 306, 308, 310) 및 네트워크(312)를 포함한다. 일부 예들에서, 네트워크(312)는 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 인터넷 또는 이들의 조합을 포함하고, 웹 사이트들, 사용자 디바이스들(예를 들어, 컴퓨팅 디바이스들) 및 백엔드 시스템들을 연결한다. 일부 예들에서, 네트워크(310)는 유선 및/또는 무선 통신 링크를 통해 액세스될 수 있다.
도시된 예에서, 컴퓨팅 디바이스들(304, 305 및 306) 각각은 블록체인 네트워크(302)의 노드로서 참여를 가능하게 하는 임의의 적절한 컴퓨팅 시스템을 포함할 수 있다. 컴퓨팅 디바이스들(304, 305 및 306) 각각은 블록체인 네트워크(302)에 의해 유지되는 블록체인의 카피를 저장할 수 있다. 컴퓨팅 디바이스(304)는 블록체인 네트워크(302)의 정보를 시각화하기 위한 블록체인 브라우저를 제공하도록 구성되는 웹 서버일 수 있거나 이를 포함할 수 있다.
일부 구현들에서, 컴퓨팅 디바이스(304)는 블록 검증에 참여하지 않지만, 블록체인 네트워크(302)를 모니터링하여, 블록체인의 콘센서스 버전이 컴퓨팅 디바이스들(305 및 306)을 포함하는 다른 참여 노드들에 의해 도달되는 때를 결정한다. 컴퓨팅 디바이스(304)는 블록체인 시각화 사용자 인터페이스를 생성할 때 사용하기 위한 블록체인의 콘센서스 버전을 저장할 수 있다.
컴퓨팅 디바이스(304)는 컴퓨팅 디바이스(308) 또는 컴퓨팅 디바이스(310)와 같은 클라이언트 디바이스로부터 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신할 수 있다. 일부 구현들에서, 블록체인 네트워크(302)의 노드는 클라이언트 디바이스로서 기능할 수 있다. 예를 들어, 컴퓨팅 디바이스(306)의 사용자는 블록체인 시각화 사용자 인터페이스에 대한 요청을 컴퓨팅 디바이스(304)에 전송하기 위해 컴퓨팅 디바이스(306) 상에서 실행되는 브라우저를 사용할 수 있다.
블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여, 컴퓨팅 디바이스(304)는 블록체인의 저장된 콘센서스 버전에 기초하여 블록체인 시각화 사용자 인터페이스를 (예를 들어, 웹 페이지로서) 생성하고, 생성된 블록체인 시각화 사용자 인터페이스를 요청 클라이언트 디바이스에 전송할 수 있다. 블록체인 네트워크(302)가 사설 또는 콘소시엄 블록체인 네트워크이면, 블록체인 시각화 사용자 인터페이스에 대한 요청은 사용자 인가 정보를 포함할 수 있고, 이는, 블록체인 시각화 사용자 인터페이스가 생성되어 요청 클라이언트 디바이스에 전송되기 전에 컴퓨팅 디바이스(304)에 의해 검증될 수 있다.
블록체인 시각화 사용자 인터페이스는 요청 클라이언트 디바이스 상에 (예를 들어, 디스플레이된 사용자 인터페이스(314)로서 예시된 바와 같이) 디스플레이될 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 디스플레이된 사용자 인터페이스(314)는 블록체인의 새로운 콘센서스 버전에서 새로운 정보를 반영하도록 업데이트될 수 있다. 추가적으로, 디스플레이된 사용자 인터페이스(314)와의 사용자 상호작용은 예를 들어, 블록 리스트들, 블록 세부사항들, 트랜잭션 리스트들, 트랜잭션 세부사항들, 계정 리스트들, 계정 세부사항들, 계약 리스트들, 계약 세부사항들 또는 블록체인 네트워크 정보에 대한 사용자 서치(searc)로부터 얻어진 서치 결과 페이지들을 디스플레이하기 위한 다른 사용자 인터페이스들에 대한 요청들을 초래할 수 있다.
도 4는 본 명세서의 구현들에 따른 예시적인 홈 페이지 사용자 인터페이스(400)의 예를 도시한다. 홈 페이지 사용자 인터페이스(400)는 클라이언트 디바이스가 블록체인 시각화 도구에 대한 요청을 웹 서버에 전송할 때 디스플레이되는 초기 페이지일 수 있다.
요약 영역(402)은 블록 토탈(total)(404), 트랜잭션 토탈(406), 계약 토탈(408) 및 노드 카운트(410)를 포함하는 블록체인 네트워크에 대한 요약 정보를 디스플레이한다. 스마트 계약들로 지칭될 수 있는 계약들은 블록체인에 저장되고 블록체인 네트워크의 노드들에 의해 실행되는 실행가능한 프로그램들이다. 계약들의 실행은 블록체인 네트워크 트랜잭션들을 도출할 수 있다.
노드 상태 영역(412)은 노드 식별자들, 노드 어드레스 정보 및 노드 상태 정보를 포함하는 블록체인 네트워크 노드들에 대한 요약 정보를 디스플레이한다. 노드 상태 그래픽(414)은, 참여 노드들의 비(ratio)를 표시하고, 음영 부분(416)은 비-참여 노드들을 표현하고, 노드 상태 그래픽(414)의 나머지는 참여 노드들을 표현한다. 참여 노드들은 블록체인 네트워크에 대한 콘센서스 구축에 참여한다.
트랜잭션 이력 영역(420)은 블록체인 네트워크에 대한 최근의 트랜잭션 이력 정보를 디스플레이한다. 매일의 트랜잭션 볼륨이 트랜잭션 볼륨 그래프(422)에서 플로팅된다. 노트(24)로 표시된 바와 같이, 170개의 트랜잭션들이 10-09-2018에 블록체인 네트워크에서 발생하였다.
블록 영역(430)은 블록체인의 콘센서스 버전에 포함된 블록들에 대한 정보를 디스플레이한다. 체인 그래프 구조(431)는, 예를 들어, 블록체인의 콘센서스 버전에 추가될 가장 최근의 블록들일 수 있는 블록들의 세트를 표현하는 블록 표현들(432, 434, 436, 및 438)을 포함한다. 각각의 블록 표현(432, 434, 436, 또는 438)은 블록 높이 값 및 블록 생성 시간을 디스플레이할 수 있다. 블록에 대한 블록 높이는 블록체인에서 블록에 선행하는 블록들의 수를 표시할 수 있다.
추가적인 정보는 각각의 블록 표현(432, 434, 436, 또는 438) 다음에 디스플레이될 수 있다. 예를 들어, 블록 표현(432)에 대응하는 블록의 경우, 블록 해시(440), 블록 트랜잭션 정보(442) 및 블록 가스 소비 정보(444)가 디스플레이된다. 블록 해시(440)는 블록 표현(432)에 대응하는 블록의 콘텐츠의 해시 값이다. 블록 트랜잭션 정보(442)는, 블록 표현(432)에 대응하는 블록이 블록체인에 추가되기 전에 5 초 동안 5개의 트랜잭션들을 누적했음을 표시한다. 블록 가스 소비 정보(444)는 블록 표현(432)에 대응하는 블록과 연관된 계약들을 실행하도록 요구되는 계산 노력(computation effort)을 표현한다.
사용자는 특정 블록에 대한 상세한 정보를 디스플레이하는 블록 세부사항 사용자 인터페이스(도 6에 대해 아래에서 논의됨)를 요청하기 위해 특정 블록 표현(432, 434, 436 또는 438)을 선택할 수 있다. 블록 영역(430)에 디스플레이되는 블록 표현들의 수는 클라이언트 디바이스의 스크린 크기에 기초할 수 있다. 일부 구현들에서, 사용자는 블록체인에서 다른 블록들을 보기 위해 블록 영역(430) 내에서 스크롤할 수 있다. 블록 리스트 사용자 인터페이스(도 5에 대해 아래에서 논의됨)를 요청하기 위해 모든 블록 보기 링크(446)가 선택될 수 있고, 여기서 사용자는 블록들의 리스트를 보고 블록체인의 특정 블록들로 네비게이팅할 수 있다.
사용자는 블록 영역(430) 내에서 블록 그래프 구조(431)를 재배치하기 위해 블록 표현들 사이의 링크(예를 들어, 링크(448)를 선택할 수 있다. 예를 들어, 사용자가 링크(448)를 선택하면, 블록 표현(436)은 체인 그래프 구조(431)의 최상부에 배치될 수 있고, 블록 표현들(432 및 434)은 블록 영역(430)으로부터 제거될 수 있고(예를 들어, 더 이상 디스플레이되지 않음), 블록 표현(438)에 후속하는 2개의 블록들을 표현하는 2개의 다른 블록 표현들은 블록 표현(438) 아래에서 그에 연결되는 체인 그래프 구조에 디스플레이될 수 있다.
트랜잭션 영역(450)은 트랜잭션들의 세트에 대한 트랜잭션 정보를 포함한다. 트랜잭션들의 세트는 예를 들어, 블록체인에 대해 발생한 트랜잭션들의 가장 최근의 세트일 수 있다. 다른 예로서, 일부 구현들에서, 사용자는 트랜잭션 영역(450)에서 대응하는 블록에 대한 트랜잭션들을 보기 위해 특정 블록 표현(432, 434, 436 또는 438)(또는 트랜잭션 정보(442)와 같은 특정 블록에 대한 트랜잭션 정보 항목)을 선택할 수 있다.
다양한 트랜잭션 세부사항들은 트랜잭션 영역(450)에서 각각의 트랜잭션에 대해 디스플레이될 수 있다. 예를 들어, 트랜잭션(452)의 경우, 트랜잭션 식별자(454), 전송 계정 식별자(456), 수신 계정 식별자(458) 및 트랜잭션 시간 스탬프(460)가 디스플레이된다. 특정 트랜잭션에 대한 상세한 트랜잭션 정보를 디스플레이하는 트랜잭션 세부사항 사용자 인터페이스(도 8에 대해 아래에서 논의됨)를 요청하기 위해 특정 트랜잭션이 선택될 수 있다. 트랜잭션 리스트 사용자 인터페이스(도 7에 대해 아래에서 논의됨)를 요청하기 위해 모든 트랜잭션 보기 링크(462)가 선택될 수 있고, 여기서 사용자는 트랜잭션들의 리스트를 볼 수 있다.
홈 페이지 사용자 인터페이스(400)는 블록체인의 업데이트된 콘센서스 버전에 대한 정보를 보여주기 위해 리프레쉬되도록 구성될 수 있다. 예를 들어, 블록체인 네트워크의 노드들은, 홈 페이지 사용자 인터페이스(400)가 마지막으로 리프레쉬된 후 블록체인의 업데이트된 콘센서스 버전에 동의했을 수 있다. 홈 페이지 사용자 인터페이스(400)는 업데이트된 사용자 인터페이스를 요청하기 위해 웹 서버에 주기적으로(예를 들어, 매 분마다) 요청을 전송하도록 구성될 수 있다. 웹 서버는 블록체인의 업데이트된 콘센서스 버전이 이용가능한지 여부를 결정할 수 있고, 이용가능하면, 클라이언트 디바이스에 업데이트된 사용자 인터페이스(400)를 전송할 수 있다. 다른 예로서, 홈 페이지 사용자 인터페이스(400)의 상이한 영역들 또는 컴포넌트들은 정보 업데이트들(웹 서버로부터의 새로운 정보를 가짐)을 수신하고 업데이트된 정보를 보여주기 위해 각각의 영역 또는 컴포넌트를 업데이트하도록 구성될 수 있다. 웹 서버는, 블록체인의 새로운 콘센서스 버전이 이용가능하다고 결정하는 것에 응답하여 홈 페이지 사용자 인터페이스(400)에 (또는 특정 영역들 또는 컴포넌트들에) 새로운 정보를 푸시하도록 구성될 수 있다.
홈 페이지 사용자 인터페이스(400)는 페이지 헤더(470)를 포함한다. 페이지 헤더(470)는 계정 링크(472), 계약 링크(474), 블록 링크(476) 및 트랜잭션 링크(478)를 포함하고, 이들은 사용자가 각각 계정 리스트 사용자 인터페이스(도 9에 대해 아래에서 논의됨), 계약 리스트 사용자 인터페이스(도 12에 대해 아래에서 논의됨), 블록 리스트 사용자 인터페이스 또는 트랜잭션 리스트 사용자 인터페이스에 네비게이팅할 수 있게 한다. 페이지 헤더(470)는 각각의 후속적으로 디스플레이된 사용자 인터페이스 상에 디스플레이될 수 있다. 홈 페이지 사용자 인터페이스(400) 이외의 사용자 인터페이스 상에 있는 경우, 각각의 페이지 헤더에서 디스플레이되는 홈 페이지 링크(480)가 홈 페이지 사용자 인터페이스(400)로 리턴되도록 선택될 수 있다.
페이지 헤더(470)는 사용자가 블록체인 네트워크와 연관된 정보를 서치할 수 있게 하는 서치 박스(482)를 포함한다. 예를 들어, 서치 박스(482)는 사용자가 특정 블록에 대해 서치할 블록 높이 또는 블록 해시 값을 입력하게 할 수 있다. (예를 들어, 블록 세부사항 사용자 인터페이스에서) 사용자가 블록 세부사항들을 보기 위해 특정 블록 서치 결과를 선택할 수 있게 하는 서치 결과 페이지가 보여질 수 있다. 다른 서치 예들은 사용자가 트랜잭션 식별자 또는 트랜잭션 해시 값을 사용하여 트랜잭션을 서치하는 것, 계정 식별자 또는 계정 해시 값을 사용하여 계정을 서치하는 것 또는 계약 식별자 또는 계약 해시 값을 사용하여 계약을 서치하는 것을 포함한다. 사용자는 각각의 트랜잭션 세부사항, 계정 세부사항 또는 계약 세부사항 사용자 인터페이스에서 특정 트랜잭션, 계정 또는 계약을 보기 위해 각각의 서치 결과에 대해 클릭할 수 있다.
일부 구현들에서, 홈 페이지 사용자 인터페이스(400)는 하나 이상의 필터 옵션을 포함한다. 예를 들어, 사용자는 블록 영역(430)에 대한 이용가능한 필터들을 보기 위해 필터 제어(490)를 선택할 수 있다. 필터 제어(490)는 특정 시간 범위 내에서 생성된 블록들, 비어있지 않은 블록들(예를 들어, 비어있는 블록들을 필터링 아웃함) 등을 도시하기 위해 블록 영역(430)이 필터링되게 할 수 있다. 다른 예로서, 사용자는 트랜잭션 영역(450)에 대한 이용가능한 필터들을 보기 위해 필터 제어(492)를 선택할 수 있다. 필터 제어(490)는 특정 시간 범위에 생성된 트랜잭션들, 특정 계정과 연관된 트랜잭션들 또는 다른 기준들에 매칭되는 트랜잭션들을 보여주기 위해 트랜잭션 영역(450)이 필터링되게 할 수 있다.
도 5는 본 명세서의 구현들에 따른 예시적인 블록 리스트 사용자 인터페이스(500)를 도시한다. 블록 리스트 사용자 인터페이스(500)는 홈 페이지 사용자 인터페이스(400)의 블록 영역(430)에서 모든 블록 보기 링크(446)의 선택에 응답하여, 또는 홈 페이지 사용자 인터페이스(400)의 페이지 헤더(470) 내의 블록 링크(476) 또는 다른 사용자 인터페이스에서 제시된 블록 링크의 선택에 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다.
블록체인 네트워크(102)의 블록들에 대한 블록 정보는 페이지들 내의 블록 리스트 사용자 인터페이스(500)에서 디스플레이될 수 있다. 미리 정의된 수의 블록들(예를 들어, 10개)이 각각의 페이지에서 디스플레이될 수 있다. 페이지 네비게이션 영역(502)은 사용자가 특정 페이지로 네비게이팅하거나 얼마나 많은 블록들이 각각의 페이지에 디스플레이되는지를 구성하게 할 수 있다. 디폴트로, 블록들의 가장 최근의 세트가 제1 페이지 상에서 초기에 디스플레이될 수 있다. 현재 디스플레이된 페이지 내의 블록들에 대한 블록 정보는 블록 리스트(503)에서 디스플레이될 수 있다. 블록 리스트(503) 내의 각각의 행은 특정 블록에 대응한다. 예를 들어, 블록 리스트(503)는 행(504)을 포함한다.
현재 디스플레이된 페이지 내의 각각의 블록에 대해, 하기 정보, 즉, 블록 높이(505), 블록 생성 시간(506), 트랜잭션 카운트(508), 가스 소비 양(510) 및 블록 해시(512)가 블록 리스트(503)에서 각각의 행에 디스플레이될 수 있다.
블록에 대한 블록 높이(505)는 블록체인에서 블록에 선행하는 블록들의 수를 표시한다. 블록 높이(505)는 주어진 블록을 식별하기 위해 사용될 수 있다. 예를 들어, 행(504)은 170468의 블록 높이(516)를 포함한다.
블록에 대한 블록 생성 시간(506)은 노드에 의해 블록체인 네트워크에 블록이 추가된 시간을 표시한다. 예를 들어, 블록 생성 시간(518)은 행(504)과 연관된 블록이 11-08-2018의 14: 26: 14에 생성되었음을 표시한다.
블록에 대한 트랜잭션 카운트(508)는 블록에 얼마나 많은 트랜잭션들이 포함되는지를 표시한다. 예를 들어, 트랜잭션 카운트(520)는 행(504)과 연관된 블록이 5개의 트랜잭션들을 포함함을 표시한다.
블록에 대한 가스 소비 양(510)은 블록과 연관된 계약들을 실행하기 위해 요구되는 계산 노력의 양을 표시한다. 예를 들어, 행(504)은 200의 가스 소비 값(522)을 포함한다. 블록이 어떠한 계약들도 갖지 않으면, 가스 소비 양은 제로일 수 있다.
블록에 대한 블록 해시(512)는 블록의 콘텐츠의 해시 값이다. 예를 들어, 행(504)은 "d8fc5856051ba6314e9e4fef5207d53580"로 시작하는 블록 해시 값(524)을 포함한다.
사용자는 선택된 블록에 대한 블록 세부사항 사용자 인터페이스를 보기 위해 특정 블록을 선택할 수 있다. 예를 들어, 블록을 선택하기 위해, 사용자는 블록 높이(516)와 같은 블록 높이 값 또는 블록 해시 값(524)과 같은 블록 해시 값을 선택할 수 있다. 다른 예로서, 일부 구현들에서, 블록 리스트(503)(행(504)을 포함함)의 각각의 행은 선택가능한 유닛이고, 선택된 행과 연관된 블록에 대한 블록 세부사항 사용자 인터페이스는 선택된 행의 선택에 응답하여 디스플레이될 수 있다. 주어진 행은 예를 들어, 행 내에서 클릭 또는 탭에 의해 선택될 수 있다.
도 6은 본 명세서의 구현들에 따른 예시적인 블록 세부사항 사용자 인터페이스(600)를 도시한다. 블록 세부사항 사용자 인터페이스(600)는, 블록 리스트 사용자 인터페이스(500) 또는 홈 페이지 사용자 인터페이스(400) 상에서 블록의 선택 또는 다른 사용자 인터페이스 상의 블록 또는 블록 식별 정보의 선택에 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다.
하기 정보, 즉, 블록 식별자(601), 블록 해시(602), 블록 생성 시간(604), 트랜잭션 상태(606), 블록 높이(607), 이전 블록 해시(608), 블록 가스 소비 양(610), 트랜잭션 루트(612), 영수증 루트(614) 및 상태 루트(616)가, 선택된 블록에 대해 디스플레이될 수 있다.
앞서 설명된 바와 같이, 블록 해시(602)는 블록의 콘텐츠의 해시 값이고, 블록 생성 시간(604)은 노드에 의해 블록체인 네트워크에 블록이 추가된 시간을 표시하고, 블록 높이(607)는 블록체인에서 블록에 선행하는 블록들의 수를 표시하고, 블록 가스 소비 양(610)은 블록과 연관된 계약들을 실행하기 위해 요구되는 계산 노력의 양을 표시한다.
트랜잭션 상태(606)는 블록의 생성을 도출하는 트랜잭션의 상태를 디스플레이한다. 이전 블록 해시(608)는 블록체인에서 블록에 선행하는 블록의 해시 값이다. 일부 구현들에서, 이전 블록 해시(608)의 선택은 이전 블록 해시(608)를 갖는 블록에 대한 세부사항들을 도시하는 업데이트된 블록 세부사항 사용자 인터페이스(600)에 대한 요청이 웹 서버에 전송되는 것을 도출할 수 있다.
트랜잭션 루트(612)는 블록에 나열된 트랜잭션들을 포함하는 트랜잭션 트리의 루트 노드의 해시이다. 영수증 루트(614)는 블록에 대한 영수증 트리의 루트의 해시 값이다. 영수증 트리는 블록에서 실행된 트랜잭션들의 영수증들을 포함한다. 트랜잭션에 대한 트랜잭션 영수증은 트랜잭션을 실행하는 것으로부터 얻어진 정보를 포함한다. 트랜잭션 영수증들은, 트랜잭션이 프로세싱된 후 생성되고 트랜잭션-후 정보를 포함한다. 상태 루트(616)는 블록에 대한 상태 트리의 루트의 해시 값이다. 상태 트리는 블록과 연관된 각각의 실행된 트랜잭션의 상태에 대한 정보를 포함한다. 상태 트리는 블록들의 트랜잭션들 모두가 실행되고 마무리된 후 생성될 수 있다.
도 7은 본 명세서의 구현들에 따른 예시적인 트랜잭션 리스트 사용자 인터페이스(700)를 도시한다. 트랜잭션 리스트 사용자 인터페이스(700)는 홈 페이지 사용자 인터페이스(400)의 트랜잭션 영역(450)에서 모든 트랜잭션 보기 링크(462)의 선택에 응답하여, 또는 홈 페이지 사용자 인터페이스(400)의 페이지 헤더(470) 내의 트랜잭션 링크(478) 또는 다른 사용자 인터페이스에서 제시된 트랜잭션 링크의 선택에 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다.
트랜잭션 정보는 페이지들 내의 트랜잭션 리스트 사용자 인터페이스(700)에서 디스플레이될 수 있다. 미리 정의된 수의 트랜잭션들(예를 들어, 10개)이 각각의 페이지에서 디스플레이될 수 있다. 페이지 네비게이션 영역(702)은 사용자가 특정 페이지로 네비게이팅하거나 얼마나 많은 트랜잭션들이 각각의 페이지에 디스플레이되는지를 구성하게 할 수 있다. 디폴트로, 트랜잭션들의 가장 최근의 세트가 제1 페이지 상에서 초기에 디스플레이될 수 있다. 현재 디스플레이된 페이지 내의 트랜잭션들에 대한 트랜잭션 정보는 트랜잭션 리스트(703)에서 디스플레이될 수 있다. 트랜잭션 리스트(703) 내의 각각의 행은 특정 트랜잭션에 대응한다. 예를 들어, 트랜잭션 리스트(703)는 행(704)을 포함한다.
현재 디스플레이된 페이지 내의 각각의 트랜잭션에 대해, 하기 정보, 즉, 트랜잭션 해시(705), 트랜잭션 유형(706), 블록 높이(708), 개시 계정 번호(710), 수신 계정 번호(712), 트랜잭션 상태(714), 트랜잭션 양(716) 및 트랜잭션 시간 스탬프(718)가 트랜잭션 리스트(703)에서 각각의 행에 디스플레이될 수 있다.
트랜잭션에 대한 트랜잭션 해시(705)는 트랜잭션에 대한 고유의 식별자이다. 예를 들어, 행(704)은 "0fa72825313af97b"로 시작하는 트랜잭션 해시 값(720)을 포함한다.
트랜잭션에 대한 트랜잭션 유형(706)은 트랜잭션의 유형을 표시한다. 예를 들어, 행(704)과 연관된 트랜잭션은 행(704)과 연관된 트랜잭션이 계약의 실행에 의해 개시되었음을 표시하는 "호출 계약"의 트랜잭션 유형(722)을 갖는다. 트랜잭션 유형들은 트랜잭션 유형들의 미리 정의된 세트로부터의 것일 수 있다. 다른 트랜잭션 유형들은 "트랜잭션"을 포함할 수 있고, 이는 트랜잭션이 블록체인 네트워크 노드와 연관된 계정에 의해 개시된 것(및 계약 실행의 결과로서 실행되지 않은 것)을 표시한다.
트랜잭션의 블록 높이(708)는 트랜잭션을 포함하는 블록의 블록 높이이다. 예를 들어, 행(704)과 연관된 트랜잭션은 149270의 블록 높이(724)를 갖는다.
트랜잭션에 대한 개시 계정 번호(710)는 트랜잭션을 개시한 계정의 계정 번호이다. 예를 들어, 행(704)과 연관된 트랜잭션은 "e7d3e769f3f593dad"로 시작하는 개시 계정 번호(726)를 갖는다.
트랜잭션에 대한 수신 계정 번호(712)는 트랜잭션의 수신자인 계정의 계정 번호이다. 예를 들어, 행(704)과 연관된 트랜잭션은 "87e89abb4c1c551f"로 시작하는 수신 계정 번호(728)를 갖는다.
트랜잭션에 대한 트랜잭션 상태(714)는 트랜잭션에 대한 상태 값을 표시한다. 예를 들어, 행(704)과 연관된 트랜잭션은 "성공"의 트랜잭션 상태 값(730)을 갖는다. 트랜잭션 상태 값들은 트랜잭션 상태 값들의 미리 정의된 세트로부터의 것일 수 있다. 다른 트랜잭션 상태 값들은, 트랜잭션이 계류중인 것, 성공적이 아니었던 것 또는 일부 다른 상태에 있는 것을 표시하는 값들을 포함할 수 있다.
트랜잭션에 대한 트랜잭션 양은 트랜잭션과 연관된 양이다. 예를 들어, 행(704)과 연관된 트랜잭션은 10의 트랜잭션 양(732)을 갖는다.
트랜잭션에 대한 트랜잭션 시간 스탬프는 트랜잭션이 생성된 시간을 표시한다. 예를 들어, 행(704)과 연관된 트랜잭션은 11-07-2018의 20: 42: 45에 트랜잭션이 발생한 것을 표시하는 트랜잭션 시간 스탬프(734)를 갖는다. 도시되지 않지만, 일부 구현들에서, 특정 트랜잭션에 대한 값들을 디스플레이하는 트랜잭션 식별자의 선택에 응답하여, 트랜잭션 세부사항 사용자 인터페이스가 디스플레이될 수 있다.
도 8은 본 명세서의 구현들에 따른 예시적인 계정 리스트 사용자 인터페이스(800)를 도시한다. 계정 리스트 사용자 인터페이스(800)는, 홈 페이지 사용자 인터페이스(400)의 페이지 헤더(470) 내의 계정 링크(472) 또는 다른 사용자 인터페이스에서 제시된 계정 링크의 선택에 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다.
계정 정보는 페이지들 내의 계정 리스트 사용자 인터페이스(800)에서 디스플레이될 수 있다. 미리 정의된 수의 계정들(예를 들어, 10개)이 각각의 페이지에서 디스플레이될 수 있다. 페이지 네비게이션 영역(802)은 사용자가 특정 페이지로 네비게이팅하거나 얼마나 많은 계정들이 각각의 페이지에 디스플레이되는지를 구성하게 할 수 있다. 디폴트로, 가장 최근에 생성된 계정들의 세트가 제1 페이지 상에서 초기에 디스플레이될 수 있다. 다른 예로서, 계정들은 계정 번호로 소팅될(sorted) 수 있고, 계정들의 초기에 디스플레이된 세트는 가장 낮은(또는 가장 높은) 계정 번호 값들을 갖는 계정 번호들을 갖는 계정들의 세트일 수 있다. 현재 디스플레이된 페이지 내의 계정들에 대한 계정 정보는 계정 리스트(803)에서 디스플레이될 수 있다. 계정 리스트(803) 내의 각각의 행은 특정 계정에 대응한다. 예를 들어, 계정 리스트(803)는 행(804)을 포함한다.
현재 디스플레이된 페이지 내의 각각의 블록에 대해, 하기 정보, 즉, 계정 번호(805), 계정 밸런스(806), 계정 상태(808), 트랜잭션 카운트(810) 및 계정 생성 트랜잭션 해시(812)가 계정 리스트(803)에서 각각의 행에 디스플레이될 수 있다.
계정에 대한 계정 번호(805)는 계정과 연관된 공개 키일 수 있다. 예를 들어, 행(804)과 연관된 계정은 "6f2656b6d6cfc42ef2753beb2cb0f7ca321"로 시작하는 계정 번호(814)를 갖는다.
계정에 대한 계정 밸런스(806)는 블록체인 네트워크에서 계정에 대한 계정 밸런스 값이다. 예를 들어, 행(804)과 연관된 계정은 210의 계정 밸런스 값(816)을 갖는다.
계정에 대한 계정 상태(808)는 계정과 연관된 상태이다. 예를 들어, 행(804)과 연관된 계정은 "정상"의 계정 상태(818)를 갖는다.
계정에 대한 트랜잭션 카운트(810)는, 계정의 생성 이후 계정이 얼마나 많은 트랜잭션들에 참여했는지를 표시한다. 예를 들어, 행(804)과 연관된 계정은 3의 트랜잭션 카운트(820)를 갖는다.
계정에 대한 계정 생성 트랜잭션 해시(812)는 계정을 생성하기 위해 실행된 트랜잭션의 식별자이다. 예를 들어, 행(804)과 연관된 계정은 "bdcf9174635807c69e0611ac666ee6774"로 시작하는 계정 생성 트랜잭션 해시 값(822)을 갖는다. 트랜잭션 세부사항 사용자 인터페이스(예를 들어, 트랜잭션 세부사항 사용자 인터페이스(800))는 계정 생성 트랜잭션 해시 값(822)과 같은 계정 생성 트랜잭션 해시 값의 선택에 응답하여 디스플레이될 수 있다.
사용자는 선택된 계정에 대한 계정 세부사항 사용자 인터페이스를 보기 위해 특정 계정을 선택할 수 있다. 예를 들어, 계정을 선택하기 위해, 사용자는 계정 번호(814)와 같은 계정 번호를 선택할 수 있다. 다른 예로서, 일부 구현들에서, 계정 리스트(803)(행(804)을 포함함)의 각각의 행은 선택가능한 유닛이고, 선택된 행과 연관된 계정에 대한 계정 세부사항 사용자 인터페이스는 선택된 행의 선택에 응답하여 디스플레이될 수 있다. 주어진 행은 예를 들어, 행 내에서 클릭 또는 탭에 의해 선택될 수 있다.
도 9는 본 명세서의 구현들에 따른 예시적인 계정 세부사항 사용자 인터페이스(900)를 도시한다. 계정 세부사항 사용자 인터페이스(900)는, 계정 리스트 사용자 인터페이스(900) 상에서 계정의 선택 또는 다른 사용자 인터페이스 상에서 계정 또는 계정 식별 정보의 선택을 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다. 계정 어드레스 값들(902 및 904)은 계정 세부사항 사용자 인터페이스(900)가 디스플레이되기 전에 어느 계정이 선택되었는지를 표시한다. 계정 어드레스 값들(902 및 904)은 선택된 계정과 연관된 공개 키일 수 있다.
계정 생성 트랜잭션 해시(906)는 선택된 계정을 생성하기 위해 실행된 트랜잭션의 식별자이다. 계정 밸런스(908)는 블록체인 네트워크에서 선택된 계정에 대한 계정 밸런스 값을 표시한다. 계정 상태(910)는 선택된 계정과 연관된 상태이다. 트랜잭션 카운트(912)는, 선택된 계정의 생성 이후 선택된 계정이 얼마나 많은 트랜잭션들에 참여했는지를 표시한다.
복구 시간(914)은 선택된 계정이 복구된 시간을 표시한다. 복구 키(916)는 선택된 계정의 복구를 위해 사용된 암호화 키이다. 공개 키(918)는 계정과 연관된 공개 암호화 키이고 블록체인 네트워크에서 계정을 식별하기 위해 사용된다. 가중치(920)는 공개 키(918)와 연관된 가중치(예를 들어, 해밍(Hamming) 가중치)이다. 트랜잭션 리스트 링크(922)는 계정과 연관된 트랜잭션들을 보기 위해 선택될 수 있다.
도 10은 본 명세서의 구현들에 따른 예시적인 계약 리스트 사용자 인터페이스(1000)를 도시한다. 계약 리스트 사용자 인터페이스(1000)는, 홈 페이지 사용자 인터페이스(400)의 페이지 헤더(470) 내의 계약 링크(475) 또는 다른 사용자 인터페이스에서 제시된 계약 링크의 선택에 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다.
계약 정보는 페이지들 내의 계약 리스트 사용자 인터페이스(1000)에서 디스플레이될 수 있다. 미리 정의된 수의 계약들(예를 들어, 10개)이 각각의 페이지에서 디스플레이될 수 있다. 페이지 네비게이션 영역(1002)은 사용자가 특정 페이지로 네비게이팅하거나 얼마나 많은 계약들이 각각의 페이지에 디스플레이되는지를 구성하게 할 수 있다. 디폴트로, 가장 최근에 생성된(또는 실행된) 계약들의 세트가 제1 페이지 상에서 초기에 디스플레이될 수 있다. 다른 예로서, 계약들은 계약 식별자에 의해 소팅될 수 있고, 계약들의 초기에 디스플레이된 세트는 가장 낮은(또는 가장 높은) 계약 식별자 값들을 갖는 계약 식별자들을 갖는 계약들일 수 있다. 현재 디스플레이된 페이지 내의 계약들에 대한 계약 정보는 계약 리스트(1003)에서 디스플레이될 수 있다. 계약 리스트(1003) 내의 각각의 행은 특정 계약에 대응한다. 예를 들어, 계약 리스트(1003)는 행(1004)을 포함한다.
현재 디스플레이된 페이지 내의 각각의 계약에 대해, 하기 정보, 즉, 계약 식별자(1005), 밸런스(1006), 계약 상태(1008), 트랜잭션 카운트(1010), 계약 생성 트랜잭션 해시(1012) 및 코드 해시(1014)가 계약 리스트(1003)에서 각각의 행에 디스플레이될 수 있다.
계약에 대한 계약 식별자(1005)는 계약에 대한 고유의 식별자이다. 예를 들어, 행(1004)과 연관된 계약은 "03732bc6062b51ce62acd80cc993a79fd1"로 시작하는 계약 식별자(1015)를 갖는다. 계약에 대한 계약 식별자(1005)는 계약과 연관된 계약 정보의 해시 값일 수 있다.
계약에 대한 계약 밸런스(1006)는 블록체인 네트워크에서 계약에 대한 계약 밸런스 값이다. 예를 들어, 행(1004)과 연관된 계약은 10의 밸런스 값(1016)을 갖는다.
계약에 대한 계약 상태(1008)는 계약과 연관된 상태이다. 예를 들어, 행(1004)과 연관된 계약은 "정상"의 계약 상태(1018)를 갖는다. 계약에 대한 계약 상태(1008)는 계약의 마지막 실행의 결과를 반영할 수 있다. 계약 상태(1018)는 다른 미리 정의된 계약 상태 값들 중 미리 정의된 값일 수 있다.
계약에 대한 트랜잭션 카운트(1010)는 계약을 실행한 결과로서 얼마나 많은 트랜잭션들이 생성되었는지를 표시한다. 예를 들어, 행(1004)과 연관된 계약은 4의 트랜잭션 카운트(1020)를 갖는다.
계정에 대한 계약 생성 트랜잭션 해시(1012)는 계약을 생성하기 위해 실행된 트랜잭션의 식별자이다. 예를 들어, 행(1004)과 연관된 계약은 "a1ebbbd6831febb8d3c27b303a7d81200"로 시작하는 계약 생성 트랜잭션 해시 값(1022)을 갖는다. 트랜잭션 세부사항 사용자 인터페이스(예를 들어, 트랜잭션 세부사항 사용자 인터페이스(800))는 계약 생성 트랜잭션 해시 값(1022)과 같은 계약 생성 트랜잭션 해시 값의 선택에 응답하여 디스플레이될 수 있다.
사용자는 선택된 계약에 대한 계약 세부사항 사용자 인터페이스를 보기 위해 특정 계약을 선택할 수 있다. 예를 들어, 계약을 선택하기 위해, 사용자는 계약 식별자(1015)와 같은 계약 식별자를 선택할 수 있다. 다른 예로서, 일부 구현들에서, 계약 리스트(1003)(행(1004)을 포함함)의 각각의 행은 선택가능한 유닛이고, 선택된 행과 연관된 계약에 대한 계약 세부사항 사용자 인터페이스는 선택된 행의 선택에 응답하여 디스플레이될 수 있다. 주어진 행은 예를 들어, 행 내에서 클릭 또는 탭에 의해 선택될 수 있다.
도 11은 본 명세서의 구현들에 따른 예시적인 계약 세부사항 사용자 인터페이스(1100)를 도시한다. 계약 세부사항 사용자 인터페이스(1100)는, 계약 리스트 사용자 인터페이스(1200) 상에서 계약의 선택 또는 다른 사용자 인터페이스 상에서 계약 또는 계약 식별 정보의 선택을 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다. 계약 식별자 값들(1102 및 1104)은 계약 세부사항 사용자 인터페이스(1100)가 디스플레이되기 전에 어느 계약이 선택되었는지를 표시한다. 계약 식별자 값들(1102 및 1104) 각각은 선택된 계약을 고유하게 식별할 수 있다.
계약 밸런스(1106)는 블록체인 네트워크에서 선택된 계약에 대한 계약 밸런스 값을 표시한다. 계약 상태(1108)는 선택된 계약과 연관된 상태이다. 트랜잭션 카운트(1110)는 선택된 계약을 실행한 결과로서 얼마나 많은 트랜잭션들이 생성되었는지를 표시한다. 계약 생성 트랜잭션 해시(1112)는 제시된 계약을 생성하기 위해 실행된 트랜잭션의 식별자이다. 코드 해시 값(1114)은 제시된 계약과 연관된 코드의 해시 값이다.
공개 키(1116)는 인가(authorization)에 사용되는 공개 키이다. 가중치(1118)는 공개 키(1116)와 연관된 가중치(예를 들어, 해밍 가중치)이다.
도 12는 본 명세서의 구현들에 따른 계약 트랜잭션들에 대한 예시적인 계약 세부사항 사용자 인터페이스(1200)를 도시한다. 트랜잭션 리스트(1201)는 트랜잭션 리스트 링크(1202)의 선택에 응답하여, 웹 서버에 의해 생성되고, 요청 클라이언트 디바이스에게 제공되고, 클라이언트 디바이스 상에 디스플레이될 수 있다. 트랜잭션 리스트(1201)는 계약 식별자(1203)를 갖는 선택된 계약을 실행한 결과로서 생성된 트랜잭션들에 대한 트랜잭션 정보를 디스플레이한다. 트랜잭션 리스트(1201) 내의 각각의 행은 특정 트랜잭션에 대응한다. 예를 들어, 트랜잭션 리스트(1203)는 행(1204)을 포함한다.
트랜잭션 정보는 페이지들 내의 트랜잭션 리스트(1201)에서 디스플레이될 수 있다. 미리 정의된 수의 트랜잭션들(예를 들어, 10개)이 각각의 페이지에서 디스플레이될 수 있다. 페이지 네비게이션 영역(1206)은 사용자가 특정 페이지로 네비게이팅하거나 얼마나 많은 트랜잭션들이 각각의 페이지에 디스플레이되는지를 구성하게 할 수 있다. 디폴트로, 계약의 실행으로부터 생성된 트랜잭션들의 가장 최근의 세트가 제1 페이지 상에서 초기에 디스플레이될 수 있다.
현재 디스플레이된 페이지 내의 각각의 트랜잭션에 대해, 하기 정보, 즉, 트랜잭션 해시(1208), 블록 높이(1210), 개시 계정 번호(1212), 수신 계정 번호(1214) 및 트랜잭션 양(1216)이 트랜잭션 리스트(1201)에서 각각의 행에 디스플레이될 수 있다.
트랜잭션에 대한 트랜잭션 해시(1208)는 트랜잭션에 대한 고유의 식별자이다. 예를 들어, 행(1204)은 "0f04e67cc26a8895a5b97b"로 시작하는 트랜잭션 해시 값(1218)을 포함한다.
트랜잭션의 블록 높이(1210)는 트랜잭션을 포함하는 블록의 블록 높이이다. 예를 들어, 행(1204)과 연관된 트랜잭션은 86375의 블록 높이(1220)를 갖는다.
트랜잭션에 대한 개시 계정 번호(1212)는 트랜잭션을 개시한 계정의 계정 번호이다. 예를 들어, 행(1204)과 연관된 트랜잭션은 "c60a9d48105950a0cca07a"로 시작하는 개시 계정 번호(1222)를 갖는다.
트랜잭션에 대한 수신 계정 번호(1214)는 트랜잭션의 수신자인 계정의 계정 번호이다. 예를 들어, 행(1204)과 연관된 트랜잭션은 "03732bc6062b51ce62acd8"로 시작하는 수신 계정 번호(1224)를 갖는다.
트랜잭션에 대한 트랜잭션 양은 트랜잭션과 연관된 양이다. 예를 들어, 행(1204)과 연관된 트랜잭션은 100의 트랜잭션 양(1226)을 갖는다.
도 13은 본 명세서의 구현들에 따른 계약 코드에 대한 예시적인 계약 세부사항 사용자 인터페이스(1300)를 도시한다. 계약 코드 영역(1302)은 계약 코드 링크(1304)의 선택에 응답하여 디스플레이될 수 있다. 계약 코드 영역(1302)은 계약 식별자(1306)를 갖는 계약에 대한 계약 코드(예를 들어, 바이트코드)를 보여줄 수 있다. 사용자는 계약 코드를 포함하는 계약 코드 파일을 선택하기 위해 사용자 인터페이스 제어(1308)를 선택할 수 있다. 다른 예로서, 사용자는 입력 영역(1310)에 계약 코드 파일에 대한 참조를 입력할 수 있다. 사용자는 사용자 인터페이스 제어(1308)를 사용하여 선택된 또는 입력 영역(1310)에서 특정된 계약 코드 파일을 제출하기 위해 제출 사용자 인터페이스 제어(1312)를 선택할 수 있다.
도 14는 본 명세서의 구현들에 따라 실행될 수 있는 예시적인 프로세스(1400)를 도시한다. 제시의 명확성을 위해, 이하의 설명은 이러한 설명에서 다른 도면들의 문맥에서 예시적인 프로세스(1400)를 일반적으로 설명한다. 그러나, 예시적인 프로세스(1400)는 예를 들어 임의의 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어 및 하드웨어의 조합에 의해 적절하게 수행될 수 있다는 것을 이해할 것이다. 일부 구현들에서, 예시적인 프로세스(1400)의 다양한 단계들은 병렬적으로, 조합하여, 루프들에서, 또는 임의의 순서로 실행될 수 있다.
1404에서, 블록체인 시각화 사용자 인터페이스에 대한 요청은 클라이언트 디바이스로부터 수신된다. 예를 들어, 블록체인 시각화 사용자 인터페이스는 자원 식별자(예를 들어, URL(Uniform Resource Locator))과 연관될 수 있고, 클라이언트 디바이스의 사용자는 자원 식별자를 클라이언트 디바이스 상에서 실행되는 브라우저에 입력할 수 있다. 블록체인 시각화 사용자 인터페이스에 대한 요청은 웹 서버에서 수신될 수 있다.
1406에서, 블록체인은 블록체인 시각화 사용자 인터페이스를 생성하기 위해 사용된다. 사용자 인터페이스는 블록체인의 적어도 일부분 및 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사하는 체인 그래프 구조를 포함할 수 있다. 트랜잭션 정보는 블록체인과 연관된 가장 최근의 트랜잭션들에 대한 정보를 포함할 수 있다. 생성된 블록체인 시각화 사용자 인터페이스는 예를 들어, 웹 페이지일 수 있다. 체인 그래프 구조는 블록체인 내의 블록을 각각 표현하는 선택가능한 블록 표현들의 체인을 포함할 수 있다. 선택가능한 블록 표현들은 선택가능한 링크들과 연결될 수 있고, 블록체인 시각화 사용자 인터페이스는, 특정한 선택가능한 링크의 사용자 선택에 응답해서 체인 그래프 구조를 재배치하여, 선택된 링크의 타겟인 선택가능한 블록 표현이 체인 그래프 구조의 최상부에 배치되도록 구성될 수 있다.
1408에서, 블록체인 시각화 사용자 인터페이스는 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 클라이언트 디바이스에 제공된다. 클라이언트 디바이스는 블록체인 시각화 사용자 인터페이스를 예를 들어, 브라우저에 제시할 수 있다. 블록체인 시각화 사용자 인터페이스가 클라이언트 디바이스 상에 제시된 후, 웹 서버는 업데이트 블록체인을 식별 또는 결정할 수 있다. 업데이트된 블록체인 시각화 사용자 인터페이스는 업데이트된 블록체인을 사용하여 생성될 수 있다. 업데이트된 블록체인 시각화 사용자 인터페이스는 클라이언트 디바이스 상에의 제시(presentation)를 위해 클라이언트 디바이스에 제공될 수 있다.
일부 경우들에서, 블록체인은 블록체인의 콘센서스 버전일 수 있다. 일부 구현들에서, 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하기 전에, 블록체인의 콘센서스 버전은 (앞서 이전에 설명된 바와 같이) 블록체인과 연관된 블록체인 네트워크의 노드들과의 상호작용에 기초하여 결정될 수 있다.
도 15는 본 명세서의 구현들에 따른 장치(1500)의 모듈들의 예들을 도시한다. 장치(1500)는 콘소시엄 블록체인 네트워크와 같은 블록체인 네트워크와 연관된 블록체인의 시각화를 제공하도록 구성된 서버의 예시적인 구현일 수 있다. 장치는 앞서 설명된 구현들에 대응할 수 있고, 장치(1500)는, 클라이언트 디바이스로부터, 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하기 위한 수신기 또는 수신 유닛(1502); 블록체인에 기초하여 블록체인 시각화 사용자 인터페이스를 생성하기 위한 생성기 또는 생성 유닛(1504) - 블록체인 시각화 사용자 인터페이스는 블록체인의 적어도 일부분 및 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사하는 체인 그래프 구조를 포함함 -; 및 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 블록체인 시각화 사용자 인터페이스를 클라이언트 디바이스 상에서의 디스플레이를 위해 제공하기 위한 제공기 또는 제공 유닛(1506)을 포함한다.
이전의 구현들에서 예시된 시스템, 장치, 모듈 또는 유닛은 컴퓨터 칩 또는 엔티티를 사용함으로써 구현될 수 있거나 또는 특정 기능을 갖는 제품을 사용함으로써 구현될 수 있다. 통상적인 구현 디바이스는 컴퓨터이고, 컴퓨터는 개인용 컴퓨터, 랩탑 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트 폰, 개인 휴대 정보 단말, 미디어 플레이어, 네비게이션 디바이스, 이메일 수신 및 전송 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이러한 디바이스들의 임의의 조합일 수 있다.
장치에서 각각의 유닛의 기능들 및 역할들의 구현 프로세스에 대해, 이전 방법에서의 대응하는 단계들의 구현 프로세스가 참조될 수 있다. 세부사항들은 단순화를 위해 여기에서 생략된다.
장치 구현이 기본적으로 방법 구현에 대응하기 때문에, 관련 부분들에 대해, 방법 구현에서의 관련 설명들이 참조될 수 있다. 이전에 설명된 장치 구현은 단지 예이다. 별개의 부분들로 설명된 유닛들은 물리적으로 별개일 수 있거나 아닐 수 있고, 유닛들로 디스플레이된 부분들은 물리적 유닛들일 수 있거나 아닐 수 있고, 하나의 위치에 위치될 수 있거나, 또는 다수의 네트워크 유닛들 상에 분산될 수 있다. 방법들 중 일부 또는 전부는 본 명세서의 솔루션들의 목적들을 달성하기 위한 실제 요구들에 기초하여 선택될 수 있다. 당업자는 창작적 노력 없이 본 출원의 구현들을 이해하고 구현할 수 있다.
도 15를 다시 참조하면, 이는, 블록체인 네트워크와 연관된 블록체인의 시각화를 제공하도록 구성된 서버의 내부 기능 모듈 및 구조를 예시하는 것으로 해석될 수 있다.
본 명세서에서 설명된 기술들은 컴퓨터가 블록체인의 대화형 시각적 표현을 제공할 수 있게 한다. 기술들은 컴퓨터가 클라이언트 요청들에 응답하여 블록체인에서 데이터의 상이한 뷰들을 제공할 수 있게 한다. 따라서, 기술들은 컴퓨터가 블록체인의 대화형 및 포괄적인 시각적 표현을 사용자들에게 제공하여, 블록체인 내의 데이터를 분석하는 작업을 단순화시킬 수 있게 한다. 또한, 기술들은 컴퓨터가 연관된 블록체인 네트워크에서 블록체인의 현재 표현(즉, 콘센서스 버전)에 기초하여 블록체인의 시각적 표현을 제공하게 할 수 있다. 시각적 표현을, 블록체인 네트워크의 노드들과의 상호작용들로부터 도출되는 것과 같은 블록체인의 가장 현재의 표현에 기초하는 것은, 시각적 표현에 대한 요청이 수신된 시점에 컴퓨터가 현재의 정확한 블록체인의 시각적 표현을 제공할 수 있게 한다.
본 명세서에 설명된 요지, 액션들 및 동작들의 구현들은 디지털 전자 회로로, 유형적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어로, 또는 본 명세서에서 개시된 구조들 및 이들의 구조적 등가물들을 포함하는 컴퓨터 하드웨어로, 또는 이들의 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 요지의 구현들은 하나 이상의 컴퓨터 프로그램, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해, 컴퓨터 프로그램 캐리어 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 캐리어는 유형의 비일시적 컴퓨터 저장 매체일 수 있다. 대안적으로 또는 추가적으로, 캐리어는 인공적으로 생성된 전파되는 신호, 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하도록 생성된 머신-생성된 전기적, 광학적 또는 전자기적 신호일 수 있다. 컴퓨터 저장 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 또는 이들의 일부일 수 있다. 컴퓨터 저장 매체는 전파되는 신호가 아니다.
용어 "데이터 프로세싱 장치"는 예를 들어, 프로그래밍가능 프로세서, 컴퓨터, 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 머신들을 포함한다. 데이터 프로세싱 장치는 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array), ASIC(application-specific integrated circuit) 또는 GPU(graphics processing unit)를 포함할 수 있다. 장치는 또한 하드웨어에 추가로, 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템 또는 이들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 엔진, 스크립트 또는 코드로 또한 지칭되거나 설명될 수 있는 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 엔진, 서브루틴 또는 컴퓨팅 환경에서 실행하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배치될 수 있고, 이러한 환경은 하나 이상의 위치에서 데이터 통신 네트워크에 의해 상호연결되는 하나 이상의 컴퓨터를 포함할 수 있다.
컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있지만 반드시 그럴 필요는 없다. 컴퓨터 프로그램은 다른 프로그램들 또는 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트, 해당 프로그램에 전용되는 단일 파일, 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈, 서브-프로그램 또는 코드의 일부들을 저장하는 파일들에 저장될 수 있다.
본 명세서에서 설명된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 동작들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 컴퓨터에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어, FPGA, ASIC 또는 GPU에 의해, 또는 특수 목적 로직 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치(central processing unit)에 기초할 수 있다. 일반적으로, 중앙 처리 장치은 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 엘리먼트들은 명령어들을 실행하기 위한 중앙 처리 장치 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다. 중앙 처리 장치 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
일반적으로, 컴퓨터는 적어도 하나의 비일시적 컴퓨터 판독가능 저장 매체(또는 컴퓨터 판독가능 메모리로 지칭됨)에 커플링될 것이다. 컴퓨터에 커플링된 저장 매체는 컴퓨터의 내부 컴포넌트(예를 들어, 통합 하드 드라이브) 또는 외부 컴포넌트(예를 들어, 범용 직렬 버스(USB) 하드 드라이브 또는 네트워크를 통해 액세스되는 저장 시스템)일 수 있다. 저장 매체들의 예들은, 예를 들어, 자기, 자기-광학, 또는 광학 디스크들, 솔리드 스테이트 드라이브들, 네트워크 저장 자원들, 예를 들어, 클라우드 저장 시스템들, 또는 다른 유형의 저장 매체들을 포함할 수 있다. 그러나, 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 몇몇 예를 들자면, 모바일 전화, 개인 휴대 정보 단말(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기, 휴대용 저장 디바이스, 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에서 설명된 요지의 구현들은, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 입력 디바이스, 예를 들어, 키보드 및 포인팅 디바이스, 예를 들어, 마우스, 트랙볼 또는 터치패드를 갖는 컴퓨터 상에 구현되거나 그와 통신하도록 구성될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하기 위해 사용될 수 있는데: 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 센서 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써, 또는 사용자 디바이스, 예를 들어, 스마트폰 또는 전자 태블릿 상에서 실행되는 앱과 상호작용함으로써, 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 그로부터 문서들을 수신함으로써 사용자와 상호작용할 수 있다. 또한, 컴퓨터는 개인용 디바이스, 예를 들어, 메시징 애플리케이션을 실행하고 리턴으로 사용자로부터 응답 메시지들을 수신하는 스마트폰에 텍스트 메시지들 또는 다른 형태들의 메시지를 전송함으로써 사용자와 상호작용할 수 있다.
본 명세서는 시스템들, 장치 및 컴퓨터 프로그램 컴포넌트들과 관련하여 용어 "구성되는"을 사용한다. 하나 이상의 컴퓨터의 시스템이 특정 동작들 또는 액션들을 수행하도록 구성되는 것은, 시스템이 시스템으로 하여금 동작들 또는 액션들을 수행하게 하도록 동작하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 설치되어 있음을 의미한다. 하나 이상의 컴퓨터 프로그램들이 특정 동작들 또는 액션들을 수행하도록 구성되는 것은, 하나 이상의 프로그램들이 데이터 프로세싱 장치에 의해 실행되는 경우 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령어들을 포함함을 의미한다. 특수 목적 로직 회로가 특정 동작들 또는 액션들을 수행하도록 구성되는 것은, 회로가 동작들 또는 액션들을 수행하는 전자 로직을 가짐을 의미한다.
본 명세서는 많은 특정 구현 세부사항들을 포함하지만, 이들은, 청구항들 자체에 의해 정의되는, 청구되고 있는 범주에 대한 제한들로서 해석되는 것이 아니라, 오히려 특정 구현들에 특정될 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 구현들의 맥락에서 본 명세서에서 설명된 특정 특징들은 또한 조합하여 단일 구현으로 실현될 수 있다. 반대로, 단일 구현들의 맥락에서 설명된 다양한 특징들은 또한 다수의 실시예들에서 별개로 또는 임의의 적절한 하위 조합으로 실현될 수 있다. 또한, 특징들은 특정 조합들로 작용하는 것으로 앞서 설명되고 심지어 초기에 이와 같이 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 제거될 수 있고, 청구항은 하위 조합 또는 하위 조합의 변형으로 유도될 수 있다.
유사하게, 동작들이 도면들에서 도시되고 청구항들에서 특정 순서로 인용되어 있지만, 이는 바람직한 결과들을 달성하기 위해 이러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나 모든 예시된 동작들이 수행되도록 요구하는 것으로 이해되어서는 안된다. 특정 상황들에서, 멀티태스킹 및 병렬적 프로세싱이 유리할 수 있다. 또한, 앞서 설명된 구현들에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 구현들에서 이러한 분리를 요구하는 것으로 이해되지 않아야 하며, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에서 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.
요지의 특정 구현들이 설명되었다. 다른 구현들은 다음의 청구항들의 범위 내에 존재한다. 예를 들어, 청구항들에서 인용되는 액션들은 상이한 순서로 수행되고 여전히 바람직한 결과들을 달성할 수 있다. 일례로서, 첨부된 도면들에 도시된 프로세스들은, 바람직한 결과들을 달성하기 위해, 반드시 도시된 특정 순서 또는 순차적인 순서를 요구하지는 않는다. 일부 경우들에서, 멀티태스킹 및 병렬적 프로세싱이 유리할 수 있다.

Claims (20)

  1. 블록체인 네트워크와 연관된 블록체인의 시각화(visualization)를 제공하기 위한 컴퓨터-구현 방법(computer-implemented method)에 있어서,
    클라이언트 디바이스로부터, 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하는 단계;
    상기 블록체인에 기초하여 상기 블록체인 시각화 사용자 인터페이스를 생성하는 단계 - 상기 블록체인 시각화 사용자 인터페이스는 상기 블록체인의 적어도 일부분 및 상기 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사(depict)하는 체인 그래프 구조를 포함함 -; 및
    상기 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 상기 블록체인 시각화 사용자 인터페이스를 상기 클라이언트 디바이스 상에서의 디스플레이를 위해 제공하는 단계
    를 포함하는, 컴퓨터-구현 방법.
  2. 제1항에 있어서,
    상기 체인 그래프 구조는 상기 블록체인 내의 블록을 각각 표현하는 선택가능한 블록 표현들의 체인을 포함하는, 컴퓨터-구현 방법.
  3. 제2항에 있어서,
    상기 블록체인 내의 특정 블록에 대응하는 특정 블록 표현의 사용자 선택에 응답하여 블록 세부사항 사용자 인터페이스에 대한 요청을 수신하는 단계;
    상기 블록체인으로부터 상기 특정 블록에 대한 블록 정보를 리트리빙(retrieving)하는 단계;
    상기 리트리빙된 블록 정보에 기초하여 상기 블록 세부사항 사용자 인터페이스를 생성하는 단계; 및
    상기 블록 세부사항 사용자 인터페이스에 대한 요청에 응답하여 상기 블록 세부사항 사용자 인터페이스를 제공하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  4. 제2항에 있어서,
    상기 선택가능한 블록 표현들은 선택가능한 링크들과 연결되고, 상기 블록체인 시각화 사용자 인터페이스는, 특정한 선택가능한 링크의 사용자 선택에 응답해서 상기 체인 그래프 구조를 재배치(reposition)하여, 상기 선택된 링크의 타겟인 선택가능한 블록 표현이 상기 체인 그래프 구조의 최상부에 배치되도록 구성되는, 컴퓨터-구현 방법.
  5. 제1항에 있어서,
    상기 트랜잭션 정보는 상기 블록체인과 연관된 가장 최근의 트랜잭션들에 대한 정보를 포함하는, 컴퓨터-구현 방법.
  6. 제1항에 있어서,
    상기 트랜잭션 정보는 제1 트랜잭션에 대한 트랜잭션 식별 정보를 포함하고, 상기 방법은,
    상기 트랜잭션 식별 정보의 사용자 선택에 응답하여 상기 제1 트랜잭션에 대한 트랜잭션 세부사항 사용자 인터페이스에 대한 요청을 수신하는 단계;
    상기 블록체인을 사용하여 상기 제1 트랜잭션에 대한 트랜잭션 정보를 리트리빙하는 단계;
    상기 제1 트랜잭션에 대한 상기 트랜잭션 정보에 기초하여 상기 트랜잭션 세부사항 사용자 인터페이스를 생성하는 단계; 및
    상기 트랜잭션 세부사항 사용자 인터페이스에 대한 요청에 응답하여 상기 트랜잭션 세부사항 사용자 인터페이스를 제공하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  7. 제1항에 있어서,
    상기 클라이언트 디바이스로부터, 블록 리스트 사용자 인터페이스에 대한 요청을 수신하는 단계;
    상기 블록체인으로부터 블록 정보를 리트리빙하는 단계;
    상기 리트리빙된 블록 정보에 기초하여 상기 블록 리스트 사용자 인터페이스를 생성하는 단계; 및
    상기 블록 리스트 사용자 인터페이스에 대한 요청에 응답하여 상기 블록 리스트 사용자 인터페이스를 제공하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  8. 제1항에 있어서,
    상기 클라이언트 디바이스로부터, 트랜잭션 리스트 사용자 인터페이스에 대한 요청을 수신하는 단계;
    상기 블록체인을 사용하여 트랜잭션 정보를 리트리빙하는 단계;
    상기 리트리빙된 트랜잭션 정보에 기초하여 상기 트랜잭션 리스트 사용자 인터페이스를 생성하는 단계; 및
    상기 트랜잭션 리스트 사용자 인터페이스에 대한 요청에 응답하여 상기 트랜잭션 리스트 사용자 인터페이스를 제공하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  9. 제1항에 있어서,
    상기 클라이언트 디바이스로부터, 계정 리스트 사용자 인터페이스에 대한 요청을 수신하는 단계;
    상기 블록체인을 사용하여 상기 블록체인 네트워크의 노드들에 대한 계정 정보를 리트리빙하는 단계;
    상기 리트리빙된 계정 정보에 기초하여 상기 계정 리스트 사용자 인터페이스를 생성하는 단계; 및
    상기 계정 리스트 사용자 인터페이스에 대한 요청에 응답하여 상기 계정 리스트 사용자 인터페이스를 제공하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  10. 제1항에 있어서,
    상기 클라이언트 디바이스로부터, 계약 리스트 사용자 인터페이스에 대한 요청을 수신하는 단계;
    상기 블록체인을 사용하여 계약 정보를 리트리빙하는 단계;
    상기 리트리빙된 계약 정보에 기초하여 상기 계약 리스트 사용자 인터페이스를 생성하는 단계; 및
    상기 계약 리스트 사용자 인터페이스에 대한 요청에 응답하여 상기 계약 리스트 사용자 인터페이스를 제공하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  11. 제1항에 있어서,
    상기 블록체인의 업데이트된 버전을 식별하는 단계;
    상기 블록체인의 업데이트된 버전에 기초하여 업데이트된 블록체인 시각화 사용자 인터페이스를 생성하는 단계; 및
    상기 업데이트된 블록체인 시각화 사용자 인터페이스를 상기 클라이언트 디바이스에 제공하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  12. 제1항에 있어서,
    상기 블록체인은 상기 블록체인의 콘센서스 버전인, 컴퓨터-구현 방법.
  13. 제12항에 있어서,
    상기 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하기 전에, 상기 블록체인 네트워크의 노드들과의 상호작용에 기초하여 상기 블록체인의 상기 콘센서스 버전을 결정하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  14. 하나 이상의 컴퓨터에 커플링되고 명령어들이 저장된 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체에 있어서,
    상기 명령어들은,
    클라이언트 디바이스로부터, 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하고;
    블록체인 네트워크와 연관된 블록체인에 기초하여 상기 블록체인 시각화 사용자 인터페이스를 생성하고 - 상기 블록체인 시각화 사용자 인터페이스는 상기 블록체인의 적어도 일부분 및 상기 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사하는 체인 그래프 구조를 포함함 -;
    상기 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 상기 블록체인 시각화 사용자 인터페이스를 상기 클라이언트 디바이스 상에서의 디스플레이를 위해 제공하도록,
    상기 하나 이상의 컴퓨터에 의해 실행가능한, 비일시적 컴퓨터 판독가능 저장 매체.
  15. 제14항에 있어서,
    상기 체인 그래프 구조는 상기 블록체인 내의 블록을 각각 표현하는 선택가능한 블록 표현들의 체인을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제15항에 있어서,
    상기 블록체인 내의 특정 블록에 대응하는 특정 블록 표현의 사용자 선택에 응답하여 블록 세부사항 사용자 인터페이스에 대한 요청을 수신하고;
    상기 블록체인으로부터 상기 특정 블록에 대한 블록 정보를 리트리빙하고;
    상기 리트리빙된 블록 정보에 기초하여 상기 블록 세부사항 사용자 인터페이스를 생성하고;
    상기 블록 세부사항 사용자 인터페이스에 대한 요청에 응답하여 상기 블록 세부사항 사용자 인터페이스를 제공하도록
    상기 하나 이상의 컴퓨터에 의해 실행가능한 명령어들이 또한 저장된, 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제15항에 있어서,
    상기 선택가능한 블록 표현들은 선택가능한 링크들과 연결되고, 상기 블록체인 시각화 사용자 인터페이스는, 특정한 선택가능한 링크의 사용자 선택에 응답해서 상기 체인 그래프 구조를 재배치하여, 상기 선택된 링크의 타겟인 선택가능한 블록 표현이 상기 체인 그래프 구조의 최상부에 배치되도록 구성되는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제14항에 있어서,
    상기 트랜잭션 정보는 상기 블록체인과 연관된 가장 최근의 트랜잭션들에 대한 정보를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 시스템에 있어서,
    하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터에 커플링되고 명령어들이 저장된 하나 이상의 컴퓨터 판독가능 메모리
    를 포함하고,
    상기 명령어들은,
    클라이언트 디바이스로부터, 블록체인 시각화 사용자 인터페이스에 대한 요청을 수신하고;
    블록체인 네트워크와 연관된 블록체인에 기초하여 상기 블록체인 시각화 사용자 인터페이스를 생성하고 - 상기 블록체인 시각화 사용자 인터페이스는 상기 블록체인의 적어도 일부분 및 상기 블록체인 네트워크에서 발생한 트랜잭션들에 대한 트랜잭션 정보를 시각적으로 묘사하는 체인 그래프 구조를 포함함 -;
    상기 블록체인 시각화 사용자 인터페이스에 대한 요청에 응답하여 상기 블록체인 시각화 사용자 인터페이스를 상기 클라이언트 디바이스 상에서의 디스플레이를 위해 제공하도록,
    상기 하나 이상의 컴퓨터에 의해 실행가능한, 시스템.
  20. 제19항에 있어서,
    상기 체인 그래프 구조는 상기 블록체인 내의 블록을 각각 표현하는 선택가능한 블록 표현들의 체인을 포함하는, 시스템.
KR1020197021997A 2018-12-29 2018-12-29 시각적인 블록체인 브라우저 KR102282770B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/125183 WO2019072309A2 (en) 2018-12-29 2018-12-29 VISUAL BLOCK CHAIN BROWSER

Publications (2)

Publication Number Publication Date
KR20200083934A true KR20200083934A (ko) 2020-07-09
KR102282770B1 KR102282770B1 (ko) 2021-07-30

Family

ID=66100125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021997A KR102282770B1 (ko) 2018-12-29 2018-12-29 시각적인 블록체인 브라우저

Country Status (15)

Country Link
US (1) US20190278805A1 (ko)
EP (1) EP3559819B1 (ko)
JP (1) JP2020517126A (ko)
KR (1) KR102282770B1 (ko)
CN (1) CN110337647A (ko)
AU (2) AU2018348339A1 (ko)
BR (1) BR112019015376A2 (ko)
CA (1) CA3051287C (ko)
MX (1) MX2019008857A (ko)
PH (1) PH12019501731A1 (ko)
RU (1) RU2746584C2 (ko)
SG (1) SG11201906828VA (ko)
TW (1) TWI714181B (ko)
WO (1) WO2019072309A2 (ko)
ZA (1) ZA201904887B (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11727366B1 (en) * 2019-02-20 2023-08-15 BlockNative Corporation Systems and methods for verification of blockchain transactions
CN110245189A (zh) * 2019-05-25 2019-09-17 上海源庐加佳信息科技有限公司 一种大宗商品区块链账本可视化展示方法
US11126593B2 (en) 2019-06-15 2021-09-21 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
EP4071649A1 (en) * 2019-06-15 2022-10-12 Meta Platforms, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
CN110308903B (zh) * 2019-07-04 2023-07-25 明链科技(深圳)有限公司 创建区块链网络的方法、电子设备及介质
CN110308962B (zh) * 2019-07-04 2022-08-23 明链科技(深圳)有限公司 管理区块链网络的方法、电子设备及介质
SG11202007465UA (en) * 2019-10-11 2020-09-29 Alipay Hangzhou Inf Tech Co Ltd Decentralized automatic phone fraud risk management
CN110826992A (zh) * 2019-10-31 2020-02-21 百度在线网络技术(北京)有限公司 基于区块链的政务信息处理方法、装置、设备和介质
US11720526B2 (en) 2019-11-12 2023-08-08 ClearTrace Technologies, Inc. Sustainable energy tracking system utilizing blockchain technology and Merkle tree hashing structure
CN110851466B (zh) * 2020-01-16 2020-04-21 台州市相闻信息技术有限公司 一种区块链系统的可视化方法及装置
CN111475547B (zh) * 2020-04-10 2024-03-29 张家界万达信息网络科技工程有限公司 一种基于区块高度关联区块与输出关联信息的方法及系统
CN113762956A (zh) * 2020-06-05 2021-12-07 富泰华工业(深圳)有限公司 基于区块链的交易方法、装置及电子设备
CN111831907A (zh) * 2020-06-23 2020-10-27 珠海复旦创新研究院 基于区块链的搜索公平排序方法、装置及介质
EP4285456A1 (en) 2021-01-29 2023-12-06 Cleartrace Technologies, Inc. Sustainable energy physical delivery tracking and verification of actual environmental impact
CN113114488A (zh) * 2021-03-29 2021-07-13 明链科技(深圳)有限公司 一种对已有区块链网络实现管理的平台支持方式
CN113626515A (zh) * 2021-08-06 2021-11-09 戈尔特西斯科技(济南)有限公司 基于区块链供应链的企业财务监管审计的系统解决方法
CN113783965A (zh) * 2021-09-18 2021-12-10 北京俩撇科技有限公司 一种区块链出块方法、装置、设备和存储介质
CN117422058B (zh) * 2023-12-18 2024-03-12 佳瑛科技有限公司 一种可视化图形报表生成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070185895A1 (en) * 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using maps
US20180129958A1 (en) * 2016-11-09 2018-05-10 Cognitive Scale, Inc. Cognitive Session Graphs Including Blockchains

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598043B1 (en) * 1999-10-04 2003-07-22 Jarg Corporation Classification of information sources using graph structures
US8280915B2 (en) * 2006-02-01 2012-10-02 Oracle International Corporation Binning predictors using per-predictor trees and MDL pruning
US8823709B2 (en) * 2007-11-01 2014-09-02 Ebay Inc. User interface framework for viewing large scale graphs on the web
US20090319933A1 (en) * 2008-06-21 2009-12-24 Microsoft Corporation Transacted double buffering for graphical user interface rendering
US11080718B2 (en) * 2012-09-28 2021-08-03 Rex Wiig System and method of a requirement, active compliance and resource management for cyber security application
US10262377B2 (en) * 2013-09-13 2019-04-16 Mace Engineering Group Pty Ltd. Sales order data collection and management system
US9875510B1 (en) * 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
US9967334B2 (en) * 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US10304143B2 (en) * 2016-05-05 2019-05-28 Lance Timothy Kasper Consensus system for manipulation resistant digital record keeping
US10635471B2 (en) * 2015-05-15 2020-04-28 Joshua Paul Davis System and method for an autonomous entity
US11941588B2 (en) * 2015-11-06 2024-03-26 Cable Television Laboratories, Inc. Systems and methods for blockchain virtualization and scalability
CN107085582A (zh) * 2016-10-12 2017-08-22 雷盈企业管理(上海)有限公司 区块链数字资产可视化呈现方法、系统及服务器设备
CN106453377B (zh) * 2016-10-28 2021-03-02 中金云金融(北京)大数据科技股份有限公司 基于区块链的分布式网络智能监控系统及方法
US11631077B2 (en) * 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
TWI661433B (zh) * 2017-01-20 2019-06-01 現代財富控股有限公司 基於區塊鏈的電子病歷系統及其方法
US10726388B2 (en) * 2017-02-09 2020-07-28 Accenture Global Solutions Limited Component tracking method and system
US10997509B2 (en) * 2017-02-14 2021-05-04 Cognitive Scale, Inc. Hierarchical topic machine learning operation
US20180239959A1 (en) * 2017-02-22 2018-08-23 Anduin Transactions, Inc. Electronic data parsing and interactive user interfaces for data processing
US20180285996A1 (en) * 2017-04-03 2018-10-04 FutureLab Consulting Inc. Methods and system for managing intellectual property using a blockchain
CN107317725A (zh) * 2017-06-14 2017-11-03 物链(北京)科技有限公司 一种区块链的可视化方法及系统
US10311079B1 (en) * 2017-06-27 2019-06-04 On Full Display, LLC Database interface system
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
CN304519171S (ko) * 2017-07-17 2018-02-27
CN108134819A (zh) * 2017-12-06 2018-06-08 北京连琪科技有限公司 区块链运行状态收集及传送方法、装置及服务器
CN107888429A (zh) * 2017-12-06 2018-04-06 北京连琪科技有限公司 区块链运行状态可视化方法、装置及浏览器
US20190178657A1 (en) * 2017-12-12 2019-06-13 Figayou LLC Systems and methods for visualizing, controlling and delivering content
CN108874634A (zh) * 2018-06-05 2018-11-23 迪肯区块链科技(重庆)有限公司 一种数字货币区块链运行状态的可视化方法及浏览器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070185895A1 (en) * 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using maps
US20180129958A1 (en) * 2016-11-09 2018-05-10 Cognitive Scale, Inc. Cognitive Session Graphs Including Blockchains

Also Published As

Publication number Publication date
PH12019501731A1 (en) 2020-03-09
AU2018348339A1 (en) 2020-07-16
TW202027464A (zh) 2020-07-16
BR112019015376A2 (pt) 2020-03-10
WO2019072309A2 (en) 2019-04-18
RU2019123450A3 (ko) 2021-01-26
ZA201904887B (en) 2020-05-27
KR102282770B1 (ko) 2021-07-30
SG11201906828VA (en) 2019-08-27
EP3559819B1 (en) 2022-03-09
CA3051287A1 (en) 2019-04-18
CN110337647A (zh) 2019-10-15
RU2019123450A (ru) 2021-01-26
EP3559819A4 (en) 2020-02-05
CA3051287C (en) 2022-08-02
AU2021202001A1 (en) 2021-04-29
TWI714181B (zh) 2020-12-21
WO2019072309A3 (en) 2019-08-22
EP3559819A2 (en) 2019-10-30
MX2019008857A (es) 2019-09-11
JP2020517126A (ja) 2020-06-11
US20190278805A1 (en) 2019-09-12
RU2746584C2 (ru) 2021-04-16

Similar Documents

Publication Publication Date Title
KR102282770B1 (ko) 시각적인 블록체인 브라우저
US10678597B2 (en) Event-driven blockchain workflow processing
US11074358B2 (en) Data isolation in a blockchain network
US10270795B2 (en) Identifying network security risks
US10572685B1 (en) Protecting sensitive data
JP2022529967A (ja) ブロックチェーン・ネットワークからのデータの抽出
CN110709870A (zh) 智能成员管理
KR102276230B1 (ko) 유한 상태기계 생성 방법, 유한 상태기계 운영 방법, 이를 수행하는 서버 및 컴퓨터 프로그램
US11966887B1 (en) Bridging network transaction platforms to unify cross-platform transfers
US11803789B2 (en) Provision of remote application action feed cards
US20240144201A1 (en) Bridging network transaction platforms to unify cross-platform transfers
US20220164257A1 (en) Methods, apparatuses and computer program products for updating a card data object rendering interface based on card action inputs, reversal card action inputs, reinstate card action inputs, and replicate card action inputs

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right