1 |
1
컴퓨팅 장치의 블록 합의 방법으로서,복수의 노드 각각으로부터 트랜잭션 해시를 포함하는 위임 요청(delegate request) 메시지를 수신하는 단계,상기 위임 요청 메시지에 기초해서 트랜잭션 해시를 포함하는 후보 블록을 만들고, 상기 복수의 노드로 상기 후보 블록을 포함하는 준비(prepare) 메시지를 전송하는 단계,상기 복수의 노드로부터 상기 후보 블록의 유효성에 동의하는 증거를 포함하는 커밋(commit) 메시지를 수신하는 단계, 그리고상기 커밋 메시지에 기초해서 확정한 최종 블록을 포함하는 답변(reply) 메시지를 전송하는 단계를 포함하는 블록 합의 방법
|
2 |
2
제1항에서,상기 위임 요청 메시지는 상기 위임 요청 메시지에 포함된 상기 트랜잭션 해시에 해당하는 원본 트랜잭션을 포함하지 않으며,상기 준비 메시지는 상기 준비 메시지에 포함된 상기 트랜잭션 해시에 해당하는 원본 트랜잭션을 포함하지 않는블록 합의 방법
|
3 |
3
제1항에서,각 노드로부터 수신한 상기 위임 요청 메시지에 포함된 상기 트랜잭션 해시는 해당 노드가 상기 후보 블록에 추가하기를 원하는 트랜잭션의 트랜잭션 해시를 포함하는, 블록 합의 방법
|
4 |
4
제1항에서,상기 준비 메시지를 전송하는 단계는 상기 위임 요청 메시지에 포함된 상기 트랜잭션 해시에 기초해서 상기 복수의 노드 중 소정 수의 노드가 동의한 트랜잭션 해시를 포함하는 상기 후보 블록을 만드는 단계를 포함하는, 블록 합의 방법
|
5 |
5
제4항에서,상기 복수의 노드의 수가 (2f+1)인 경우, 상기 소정 수는 (f+1)인, 블록 합의 방법
|
6 |
6
제1항에서,상기 준비 메시지를 전송하는 단계는상기 복수의 노드 중에서 상기 후보 블록에 포함된 트랜잭션 해시에 대응하는 원본 트랜잭션을 요청할 노드를 선택하는 단계, 그리고상기 선택한 노드에 상기 원본 트랜잭션을 요청하는 단계를 포함하는 블록 합의 방법
|
7 |
7
제6항에서,상기 준비 메시지를 전송하는 단계는 상기 복수의 노드 각각의 보유 트랜잭션 수를 계산하는 단계를 더 포함하며,상기 원본 트랜잭션을 요청할 노드를 선택하는 단계는 상기 보유 트랜잭션 수가 적은 노드부터 차례로 상기 원본 트랜잭션을 요청할 노드를 선택하는 단계를 포함하는블록 합의 방법
|
8 |
8
제7항에서,상기 원본 트랜잭션을 요청하는 단계는 상기 선택한 노드에 K개의 원본 트랜잭션을 요청하는 단계를 포함하는, 블록 합의 방법
|
9 |
9
제7항에서,서로 다른 노드에 요청되는 상기 원본 트랜잭션은 중복되지 않는, 블록 합의 방법
|
10 |
10
제1항에서,상기 커밋 메시지를 수신하는 단계는, 각 노드로부터, 상기 후보 블록에 포함된 트랜잭션 해시 중에서 해당 노드에게 요청된 트랜잭션 해시에 해당하는 원본 트랜잭션을 수신하는 단계를 포함하는, 블록 합의 방법
|
11 |
11
제1항에서,상기 답변 메시지를 전송하는 단계는, 상기 복수의 노드 중에서 어떤 노드가 상기 위임 요청 메시지를 통해 어떤 트랜잭션의 트랜잭션 해시를 전송하였는지를 지시하는 정보를 전송하는 단계를 더 포함하는 블록 합의 방법
|
12 |
12
분산 합의에서 컴퓨팅 장치의 트랜잭션 상태 관리 방법으로서,제1 트랜잭션의 해시를 포함하는 블록을 수신하는 단계,메모리 풀에 상기 제1 트랜잭션이 존재하지 않은 경우, 상기 제1 트랜잭션의 상태를 해시 유일(Hash-only) 상태로 설정하는 단계, 그리고상기 제1 트랜잭션의 원본 트랜잭션을 요청하여서 얻은 경우, 상기 제1 트랜잭션의 상태를 해시 유일 상태에서 상기 제1 트랜잭션의 실행 준비가 완료된 준비 완료(Ready) 상태로 변경하는 단계를 포함하는 트랜잭션 상태 관리 방법
|
13 |
13
제12항에서,상기 준비 완료 상태에서 상기 제1 트랜잭션을 실행하는 단계, 그리고상기 제1 트랜잭션을 실행하는 경우, 상기 제1 트랜잭션의 상태를 상기 준비 완료 상태에서 실행 완료(Spent) 상태로 변경하는 단계를 더 포함하는 트랜잭션 상태 관리 방법
|
14 |
14
제12항에서,제2 트랜잭션을 실행하기 전에 상기 제2 트랜잭션의 부모 트랜잭션이 실행되었는지를 확인하는 단계를 더 포함하는 트랜잭션 상태 관리 방법
|
15 |
15
제14항에서,상기 제2 트랜잭션의 부모 트랜잭션이 모두 실행된 경우, 상기 제2 트랜잭션을 실행하는 단계를 더 포함하는 트랜잭션 상태 관리 방법
|
16 |
16
제14항에서,상기 부모 트랜잭션 중에서 적어도 일부가 실행되지 않은 경우, 실행되지 않은 부모 트랜잭션의 상태를 확인하는 단계를 더 포함하는 트랜잭션 상태 관리 방법
|
17 |
17
제16항에서,상기 실행되지 않은 부모 트랜잭션 중에서 상기 준비 완료 상태의 부모 트랜잭션이 존재하는 경우, 상기 준비 완료 상태의 부모 트랜잭션의 실행을 대기하는 단계를 더 포함하는 트랜잭션 상태 관리 방법
|
18 |
18
제16항에서,상기 실행되지 않은 부모 트랜잭션 중에서 상기 해시 유일 상태의 부모 트랜잭션이 존재하는 경우, 상기 해시 유일 상태의 부모 트랜잭션의 원본 트랜잭션을 요청하는 단계를 더 포함하는 트랜잭션 상태 관리 방법
|
19 |
19
제16항에서,상기 실행되지 않은 부모 트랜잭션 중에서 대기(Waiting) 상태의 부모 트랜잭션이 존재하는 경우, 상기 대기 상태의 부모 트랜잭션이 합의할 블록에 추가되기를 대기하는 단계를 더 포함하는 트랜잭션 상태 관리 방법
|
20 |
20
적어도 하나의 명령어를 저장하는 메모리, 그리고상기 명령어를 실행하는 프로세서를 포함하며,상기 명령어를 실행함으로써, 상기 프로세서는복수의 노드 각각으로부터 트랜잭션 해시를 포함하는 위임 요청(delegate request) 메시지를 수신하고,상기 위임 요청 메시지에 기초해서 트랜잭션 해시를 포함하는 후보 블록을 만들고, 상기 복수의 노드로 상기 후보 블록을 포함하는 준비(prepare) 메시지를 전송하고,상기 복수의 노드로부터 상기 후보 블록의 유효성에 동의하는 증거를 포함하는 커밋(commit) 메시지를 수신하고,상기 커밋 메시지에 기초해서 확정한 최종 블록을 포함하는 답변(reply) 메시지를 전송하는 컴퓨팅 장치
|