KR-20260061388-A - Apparatus and Method for Blockchain Transaction Processing Combining Recursive Hash Chain-Based Absolute Order Indexing and Pre-emptive Collision Avoidance Hint-Driven Optimistic Parallel Execution
Abstract
본 발명은 블록체인 트랜잭션을 처리하는 장치 및 방법에 관한 것으로, 재귀적 해시 연산에 의해 생성된 해시 시퀀스의 각 단계에 트랜잭션을 결합하여 암호학적으로 검증 가능한 절대적 순서 인덱스를 생성하는 타임스탬핑 모듈(110), 상기 절대적 순서 인덱스를 트랜잭션 실행 이전에 수신하여 트랜잭션 간의 데이터 간섭 가능성을 사전 분석하고 충돌 회피 힌트(123)를 생성하는 사전 의존성 분석부(120), 및 상기 충돌 회피 힌트(123)에 기초하여 트랜잭션들을 낙관적으로 병렬 실행하되 간섭이 예측된 트랜잭션 그룹은 직렬 실행으로 전환하는 병렬 실행 엔진(130)을 포함한다. 상기 절대적 순서 인덱스는 사전 의존성 분석부(120)를 통해 병렬 실행 엔진(130)의 스케줄링에 직접 입력됨으로써, 트랜잭션 순서 확정과 병렬 실행이 파이프라인 구조로 결합된다. 이로써 재실행 빈도의 구조적 저감, 암호학적 순서 보장, 및 높은 처리 처리량이 동시에 달성된다.
Inventors
- 안범주
Assignees
- 안범주
Dates
- Publication Date
- 20260506
- Application Date
- 20260416
Claims (1)
- 블록체인 트랜잭션을 처리하는 장치에 있어서, 재귀적 해시 연산을 연속적으로 수행하여 생성된 해시 시퀀스의 각 단계에 트랜잭션을 결합함으로써, 상기 트랜잭션에 대한 암호학적으로 검증 가능한 절대적 순서 인덱스를 생성하는 타임스탬핑 모듈; 상기 절대적 순서 인덱스를 트랜잭션 실행 이전에 수신하여, 상기 인덱스 순서에 기초한 트랜잭션 간의 데이터 간섭 가능성을 사전 분석하고, 그 결과를 충돌 회피 힌트로 생성하는 사전 의존성 분석부; 및 상기 충돌 회피 힌트에 기초하여 트랜잭션들을 복수의 실행 스레드에 분배하여 낙관적으로 병렬 실행하되, 간섭이 사전 예측된 트랜잭션 그룹에 대해서는 직렬 실행으로 전환하는 병렬 실행 엔진을 포함하며, 상기 타임스탬핑 모듈이 생성한 절대적 순서 인덱스가 상기 사전 의존성 분석부를 통해 상기 병렬 실행 엔진의 실행 스케줄링에 입력됨으로써, 트랜잭션 순서 확정과 병렬 실행이 파이프라인 구조로 결합되는 것을 특징으로 하는 블록체인 트랜잭션 처리 장치.
Description
재귀적 해시 체인 기반의 절대적 순서 인덱싱과 사전 충돌 회피 힌트를 이용한 낙관적 병렬 실행 결합형 블록체인 트랜잭션 처리 장치 및 방법{Apparatus and Method for Blockchain Transaction Processing Combining Recursive Hash Chain-Based Absolute Order Indexing and Pre-emptive Collision Avoidance Hint-Driven Optimistic Parallel Execution} 본 발명은 블록체인 네트워크에서 트랜잭션을 처리하는 장치 및 방법에 관한 것으로서, 더욱 상세하게는 재귀적 해시 연산에 의해 생성된 해시 시퀀스를 이용하여 개별 트랜잭션에 암호학적으로 검증 가능한 절대적 순서 인덱스를 부여하고, 상기 절대적 순서 인덱스를 트랜잭션 실행 이전에 사전 분석하여 생성된 충돌 회피 힌트를 낙관적 병렬 실행 엔진의 스케줄링에 직접 입력함으로써 재실행(rollback) 빈도를 구조적으로 저감하면서 트랜잭션 처리 처리량(throughput)과 처리 지연 시간(latency)을 동시에 개선하는 하이브리드 블록체인 트랜잭션 처리 장치 및 방법에 관한 것이다. 블록체인 네트워크에서 트랜잭션 처리 성능은 합의 알고리즘(consensus algorithm)의 설계에 의해 근본적으로 제한된다. 초기 블록체인 시스템들은 단일 리더가 순차적으로 트랜잭션을 처리하는 직렬(serial) 실행 모델을 채택하였으나, 이는 현대적 멀티코어 프로세서의 병렬 처리 능력을 활용하지 못하는 근본적인 한계를 가진다. 역사증명(Proof of History, PoH) 기법은 리더 노드가 암호학적 해시 함수를 재귀적으로 연속 수행하여 생성되는 해시 시퀀스를 시간의 흐름을 증명하는 장치로 활용하는 기술이다. 리더 노드는 이전 해시 출력값을 다음 해시 연산의 입력값으로 순환 공급하는 방식으로 해시 체인을 끊임없이 생성하면서, 특정 트랜잭션이 수신되는 시점에 해당 해시 체인의 카운트 값을 해당 트랜잭션에 삽입(mix-in)함으로써 해당 트랜잭션이 특정 시점에 존재하였음을 암호학적으로 증명한다. 이 방식은 외부의 신뢰할 수 있는 시계 없이도 트랜잭션들 사이의 시간적 선후 관계를 수학적으로 증명할 수 있다는 장점을 제공한다. 그러나 PoH 방식은 리더 노드가 해시 체인 생성과 트랜잭션 순서 결정을 독점하는 구조적 특성으로 인해 리더 노드에 병목 현상이 집중되고, 트랜잭션 실행 자체는 여전히 상대적으로 직렬적인 구조에 머무르는 한계를 가진다. 또한 리더 노드 장애 시 전체 네트워크의 블록 생성이 중단되는 단일 장애점(single point of failure) 문제에 노출되어 있다. 소프트웨어 트랜잭셔널 메모리 기법을 블록체인에 적용한 Block-STM은 블록 내 트랜잭션들을 낙관적(optimistic) 가정 하에 복수의 실행 스레드로 분배하여 병렬 실행한 후, 실행 완료 시점에 각 스레드가 접근한 메모리 상태의 버전을 비교 검증하여 충돌(conflict)이 발생한 트랜잭션만을 선택적으로 재실행하는 방식으로 동작한다. 이 방식은 기존 직렬 실행 모델 대비 멀티코어 프로세서를 활용한 높은 병렬 처리 성능을 제공한다. 그러나 Block-STM 방식은 트랜잭션 실행 전에 데이터 충돌 여부를 사전 예측하는 메커니즘이 없어 실제 실행 후에야 충돌 발생 여부를 확인하고 재실행을 수행하는 사후 처리 방식에 의존한다. 이는 충돌이 빈번한 트랜잭션 패턴에서 재실행 오버헤드가 누적되어 처리 성능이 저하되는 근본적인 한계를 야기한다. 또한 Block-STM은 트랜잭션 간의 절대적인 시간 순서를 보장하는 암호학적 메커니즘이 없어 트랜잭션 순서 확정에 별도의 합의 과정이 요구된다. 이와 같이 종래 기술들은 트랜잭션 처리의 시간적 순서 확정과 병렬 실행 성능 최적화를 동시에 달성하는 통합적 메커니즘을 제공하지 못하고 있으며, 특히 재귀적 해시 연산에 의해 확정된 절대적 순서 정보를 병렬 실행 엔진의 충돌 회피 로직에 사전 입력(pre-feeding)하여 재실행 발생 확률 자체를 구조적으로 저감하는 통합형 파이프라인 처리 장치에 대한 기술적 필요성이 존재한다. 도 1은 본 발명의 일 실시예에 따른 블록체인 트랜잭션 처리 장치(100)와 외부 검증 노드들 간의 전체 네트워크 구성을 나타내는 개략도이다. 도 2는 본 발명의 일 실시예에 따른 블록체인 트랜잭션 처리 장치(100)의 내부 구성요소인 타임스탬핑 모듈(110), 사전 의존성 분석부(120) 및 병렬 실행 엔진(130)의 연결 관계를 나타내는 블록도이다. 도 3a는 재귀 해시 체인 생성기(111)에 의한 재귀적 해시 체인의 생성 구조를 나타내는 도면이다. 도 3b는 트랜잭션 삽입부(112)에 의한 트랜잭션mix-in 삽입 구조를 나타내는 도면이다. 도 3c는 카운터 잠금부(113)의 단조 증가 보장 메커니즘을 나타내는 도면이다. 도 4는 타임스탬핑 모듈(110)에서 절대적 순서 인덱스를 생성하여 사전 의존성 분석부(120)로 전달하는 처리 흐름을 나타내는 흐름도이다. 도 5a는 집합 추출부(121)에 의한 읽기 집합 및 쓰기 집합의 추출 구조를 나타내는 도면이다. 도 5b는 간섭 판정부(122)에 의한 교집합 기반 간섭 판정 로직을 나타내는 도면이다. 도 5c는 충돌 회피 힌트(123)의 데이터 구조를 나타내는 도면이다. 도 6은 사전 의존성 분석부(120)에서 충돌 회피 힌트(123)를 생성하여 병렬 실행 엔진(130)으로 전달하는 처리 흐름을 나타내는 흐름도이다. 도 7a는 그룹 분배부(131) 및 직렬 실행 큐(132)의 구조를 나타내는 도면이다. 도 7b는 실행 이력 기록부(133)를 포함한 낙관적 병렬 실행 구조를 나타내는 도면이다. 도 7c는 잔여 충돌 처리부(134)에 의한 선택적 재실행 로직을 나타내는 도면이다. 도 7d는 순서 보존 커밋부(135)에 의한 인덱스 오름차순 커밋 대기 구조를 나타내는 도면이다. 도 8은 타임스탬핑 모듈(110), 사전 의존성 분석부(120) 및 병렬 실행 엔진(130)이 시간 축 상에서 서로 다른 트랜잭션 배치에 대해 중첩 동작하는 3단 파이프라인 타이밍 다이어그램이다. 도 9는 타임스탬핑 모듈(110), 사전 의존성 분석부(120) 및 병렬 실행 엔진(130)이 단일 반도체 다이 또는 단일 서버 내에서 내부 데이터 버스(160)로 연결된 물리적 통합 구조를 나타내는 도면이다. 도 10은 리더 선정부(140)에 의한 리더 노드 선정 처리 흐름을 나타내는 흐름도이다. 도 11은 검증 패킷 생성부(150)가 생성한 검증 패킷의 데이터 구조 및 외부 검증 노드의 단일 해시 검증 과정을 나타내는 도면이다. 도 12는 본 발명의 일 실시예에 따른 블록체인 트랜잭션 처리 방법의 전체 처리 흐름을 나타내는 순서도이다. 이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 상기 목적을 달성하기 위한 본 발명의 블록체인 트랜잭션 처리 장치는, 재귀적 해시 연산을 연속적으로 수행하여 생성된 해시 시퀀스의 각 단계에 트랜잭션을 결합함으로써 암호학적으로 검증 가능한 절대적 순서 인덱스를 생성하는 타임스탬핑 모듈(110), 상기 절대적 순서 인덱스를 트랜잭션 실행 이전에 수신하여 인덱스 순서에 기초한 트랜잭션 간의 데이터 간섭 가능성을 사전 분석하고 충돌 회피 힌트(123)를 생성하는 사전 의존성 분석부(120), 및 상기 충돌 회피 힌트(123)에 기초하여 트랜잭션들을 복수의 실행 스레드에 분배하여 낙관적으로 병렬 실행하되 간섭이 사전 예측된 트랜잭션 그룹에 대해서는 직렬 실행으로 전환하는 병렬 실행 엔진(130)을 포함한다. 상기 타임스탬핑 모듈(110)에서 생성된 절대적 순서 인덱스는 상기 사전 의존성 분석부(120)를 통해 상기 병렬 실행 엔진(130)의 실행 스케줄링에 입력됨으로써 트랜잭션 순서 확정과 병렬 실행이 파이프라인 구조로 결합된다. 상기 타임스탬핑 모듈(110)은 직전 해시 출력값을 다음 해시 연산의 입력값으로 순환 공급하는 재귀 해시 체인 생성기(111), 해시 체인의 특정 카운트 값에 트랜잭션 데이터를 혼합(mix-in)하는 트랜잭션 삽입부(112), 카운트 값의 단조 증가를 강제하는 카운터 잠금부(113), 및 축약 증명을 생성하는 증명 생성부(114)를 포함한다. 상기 사전 의존성 분석부(120)는 각 트랜잭션의 읽기 집합(read set) 및 쓰기 집합(write set)을 추출하는 집합 추출부(121), 선행 트랜잭션의 쓰기 집합과 후행 트랜잭션의 읽기·쓰기 집합 간 교집합에 기초하여 간섭 여부를 판정하는 간섭 판정부(122), 및 판정 결과를 구조화한 충돌 회피 힌트(123)를 포함한다. 상기 병렬 실행 엔진(130)은 충돌 회피 힌트(123)의 실행 모드 플래그에 따라 트랜잭션을 병렬 실행 그룹 또는 직렬 실행 큐(132)로 분배하는 그룹 분배부(131), 낙관적 실행 과정에서 실제 접근된 상태 객체의 버전을 기록하는 실행 이력 기록부(133), 힌트에 의해 사전 예측되지 못한 잔여 충돌을 감지하고 해당 트랜잭션만 선택적으로 재실행하는 잔여 충돌 처리부(134), 절대적 순서 인덱스의 오름차순으로 커밋을 수행하는 순서 보존 커밋부(135), 및 재실행 횟수를 실시간 모니터링하여 스레드 수를 동적으로 조절하는 적응형 스레드 스케줄러(136)를 포함한다. 도 1 및 도2를 참조하면, 본 발명의 일 실시예에 따른 블록체인 트랜잭션 처리 장치(100)는 타임스탬핑 모듈(110), 사전 의존성 분석부(120) 및 병렬 실행 엔진(130)을 핵심 구성요소로 포함한다. 블록체인 트랜잭션 처리 장치(100)는 블록체인 네트워크에서 리더 노드로서 기능하며, 수신된 트랜잭션에 암호학적으로 검증 가능한 절대적 순서