Multichain KOR

Multichain ์ด๋ž€?

๋‹ค์ค‘๋ธ”๋ก์ฒด์ธ ๊ตฌ์กฐ๋Š” ๊ฑฐ๋ž˜๋‚ด์—ญ์„ ์ €์žฅํ•˜๋Š” ๋ฉ”์ธ ๋ธ”๋ก์ฒด์ธ๊ณผ ๋ธ”๋ก์ฒด์ธ ์šด์˜์— ๊ด€๊ณ„๋˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋ธŒ ๋ธ”๋ก์ฒด์ธ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ด๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๊ตฌ์กฐ๋ฅผ ๋‹จ์ˆœํ™”์‹œํ‚ค๋ฉฐ ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค๋ชจ๋ธ์„ ์ฒด๊ณ„์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ฐ”๊พธ์–ด ์ฃผ๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  • blockchain์˜ ์ข…๋ฅ˜

  • ๋‚ด๋ถ€ ์ฒด์ธ ์—ฐ๊ฒฐ

  • ๋ธ”๋ก-๊ฒ€์ฆ

  • Block Structure

    • Main Block Structure

    • Warrant Block Structure

    • Citizen Block Structure

    • Oracle Block Structure

Block Chain์˜ ์ข…๋ฅ˜

  • Main block chain: ๋‹จ์ˆœ ๊ฑฐ๋ž˜, ๋ธ”๋ก์ฒด์ธ ๊ธฐ์—ฌ๋„์— ๋”ฐ๋ฅธ ๋ณด์ƒ ๋‚ด์—ญ ๋“ฑ์„ ๊ธฐ๋ก

  • Citizen block chain: SymID ๋ณ„ ๊ณ„์ • ์ •๋ณด ๋ฐ ์—…๋ฐ์ดํŠธ ์ •๋ณด ๊ธฐ๋ก

  • Warrant block chain: ์ธ์ฆ ๋…ธ๋“œ ์„ ์ถœ ์ •๋ณด ๊ธฐ๋ก

  • Oracle block chain: ์šด์˜ ์ •์ฑ… ํŒŒ๋ผ๋ฏธํ„ฐ, ํ† ํฐ๊ฐ„ ํ™˜์œจ ์ •๋ณด ๋“ฑ ๊ธฐ๋ก

  • Future block chain: ์˜ˆ์•ฝ ๊ฑฐ๋ž˜ ๊ธฐ๋ก (๊ฐœ๋ฐœ์ค‘)

๋‚ด๋ถ€ ์ฒด์ธ ์—ฐ๊ฒฐ (Inter-connection Of Chains)

Main Block์€ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์ด๋‚˜ ๊ธฐ๋ก ์‚ฌํ•ญ์ด ์—†๋”๋ผ๋„ ๋ณด์•ˆ์„ฑ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ์ผ์ • ์ฃผ๊ธฐ๋งˆ๋‹ค ์ƒ์„ฑ๋˜๋ฉฐ, Sub Block์€ ๊ธฐ๋กํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ Main Block๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑ๋œ๋‹ค.

Sub Block์€ Main Block๋ณด๋‹ค ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์–ด ์ƒ๋Œ€์ ์œผ๋กœ ์กฐ์ž‘์˜ ์œ„ํ—˜์„ฑ์ด ๋†’๋‹ค. ๋”ฐ๋ผ์„œ Sub Block์ด ์ƒ์„ฑ๋  ๋•Œ Main Block์˜ ์ •๋ณด(Number)๋ฅผ ๋ธ”๋ก์— ๊ธฐ๋กํ•˜๊ณ , ํ•ด๋‹น Sub Block ์ •๋ณด(Number, Hash)๋ฅผ Main Block์— ๊ธฐ๋กํ•จ์œผ๋กœ์จ ์ž„์˜๋กœ Sub Block๋งŒ ์กฐ์ž‘ํ•  ์ˆ˜ ์—†๋„๋ก ์„œ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ด€๋ฆฌ๋œ๋‹ค. (Main Block์˜ CBHash, WBHash, OBHash, CBNum, WBNum, OBNum ๊ณผ ๊ฐ Sub Block์˜ RelatedMBNum ์ฐธ๊ณ )

์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ธ”๋ก๋“ค์€ ๋‹ค์ˆ˜์˜ ๋‚ด๋ถ€ ์ฒด์ธ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋ฉฐ DAG(Directed Acyclic Graph)๋ฅผ ๊ทธ๋ฆฌ๋ฉฐ ์„ฑ์žฅํ•ด ๊ฐ์œผ๋กœ ์ธํ•ด ๋น„๊ฐ€์—ญ์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค. Sub Block Chain์€ ๋„์ฟจ ์‹๋ฌผ์ฒ˜๋Ÿผ Main Chain์„ ์ง€์ฃผ์‚ผ์•„ ๊ฐ™์ด ์ž๋ผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ • ์ฒด์ธ์˜ ํŠน์ • ๋ธ”๋ก์„ ์กฐ์ž‘ ํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” ๋ฉ”์ธ ๋ธ”๋ก ์ฒด์ธ์˜ ์ตœ์ดˆ๋ธ”๋ก๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๋ถˆํŠน์ • ๋‹ค์ˆ˜์˜ ๋ณด์ฆ ๋…ธ๋“œ๋“ค์˜ ์ „์ž์„œ๋ช…์„ ๋ชจ๋‘ ์œ„์กฐํ•ด์•ผ ํ•œ๋‹ค.

๋˜ํ•œ Main Block์ด ์ƒ์„ฑ๋  ๋•Œ ์œ ํšจํ•œ Sub Block์˜ ์ •๋ณด(Number)๋ฅผ ๊ธฐ๋กํ•จ์œผ๋กœ์จ Main Block ์ƒ์„ฑ ์‹œ์ ์— ํ™œ๋™ ์ค‘์ธ Sub Block์˜ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ชจ๋“  Sub Block์€ ์ƒ์„ฑ์‹œ๊ธฐ์™€ ์ ์šฉ ์‹œ๊ธฐ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ Main Block M2 ์ƒ์„ฑ์‹œ ์ตœ์ข… Citizen Block์€ C1์ด๋‹ค. ์ฆ‰ C1์— ๊ธฐ๋ก๋œ ๋‚ด์šฉ์€ Main Block M2๋ถ€ํ„ฐ ๋ฐ˜์˜๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ Main Block M3๋ถ€ํ„ฐ ํ™œ๋™ํ•œ Warrant Node๋“ค์€ W1์— ๊ธฐ๋ก๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. Warrant Block์€ ํ•ด๋‹น Warrant Block์„ ์ ์šฉํ•˜๊ธฐ ๋ช‡ ๋ธ”๋ก ์ด์ „์— ์ƒ์„ฑ๋œ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด Main Block Number๊ฐ€ 100์—์„œ 200๊นŒ์ง€ ์ ์šฉํ•  Warrant Block์€ Main Block Number๊ฐ€ 90์ผ๋•Œ ์ƒ์„ฑ๋œ๋‹ค.) ์ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ์œ„ํ•ด์„œ Warrant Block์—๋Š” ๊ฐ Warrant Block์˜ ์ ์šฉ ์ฃผ๊ธฐ์™€ Warrant Node ์ž„๊ธฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

์ฐธ๊ณ  : Main Block์˜ ActiveCBNum, ActiveWBNum, ActiveOBNum

๋ธ”๋ก ๊ฒ€์ฆ

๋ธ”๋ก์˜ ๊ฒ€์ฆ์€ ๋ธ”๋ก ๋‚ด์— ํฌํ•จ๋œ ์„œ๋ช… ๊ฐ’์„ ๊ฒ€์ฆํ•จ์œผ๋กœ์จ ์ด๋ฃจ์–ด์ง„๋‹ค. ๋ธ”๋ก ๋‚ด์˜ ์„œ๋ช…์€ ๊ฒฐํ•ฉ ์„œ๋ช… ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋Š” ๋ธ”๋ก ํ•ฉ์˜์— ์ฐฌ์„ฑํ•œ ๋ณด์ฆ ๋…ธ๋“œ๋“ค์ด ์ƒ์„ฑํ•œ ์„œ๋ช…์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ƒ์„ฑ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์„œ๋ช…์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ธ”๋ก ํ•ฉ์˜์— ์ฐฌ์„ฑํ•œ ์ „์ฒด ๋ณด์ฆ ๋…ธ๋“œ๋“ค์˜ ์‹ ์›์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ๋งŒ ํ•˜๋ฉฐ, ์ด๋Š” ๋ธ”๋ก์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฒฐํ•ฉ ์„œ๋ช… ์ƒ์„ฑ์— ์‚ฌ์šฉ๋œ ์ „์ฒด ๋ณด์ฆ ๋…ธ๋“œ๋“ค์˜ ์ „์ž์„œ๋ช…์„ ๋ชจ๋‘ ์œ„์กฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

Block Structure

  • Data size

Type

Size(Bytes)

uint64

8

common.Address

10

Common.Hash

32

common.PubKeyHash

20

*big.Int

๊ฐ€๋ณ€

BKeyPub

65

BKeyPubSigned

128

Sign

64

Bloom

256

Extra

256

Payload

32000

Main Block Structure

Name

Type

Description

header

*Header

ํ—ค๋”

transactions

Transactions

๋ธ”๋ก ๋‚ด์˜ ํŠธ๋žœ์žญ์…˜ ๋ฆฌ์ŠคํŠธ

rewards

Rewards

๋ธ”๋ก ๋‚ด์˜ ๋ณด์ƒ ๋‚ด์—ญ

validatorInfos

ValidatorInfo

๋ธ”๋ก ํ•ฉ์˜์— ์ฐฌ์„ฑํ•œ ๋ณด์ฆ ๋…ธ๋“œ ์ •๋ณด ๋‚ด์—ญ

signInfo

*SignInfo

๋ธ”๋ก ๊ฒ€์ฆ์„ ์œ„ํ•œ ์„œ๋ช… ์ •๋ณด

  • Header Structure in Main Block

Name

Type

Json Name

Description

ParentHash

Common.Hash

parentHash

๋ถ€๋ชจ ๋ธ”๋ก ํ—ค๋”์˜ ํ•ด์‹œ๊ฐ’

Primary

Common.Address

primary

๋ธ”๋ก ์ œ์•ˆ์ž์˜ SymID

Root

Common.Hash

stateRoot

์ƒํƒœ ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

SctRoot

Common.Hash

sctStateRoot

SCT ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

TxHash

Common.Hash

transactionsRoot

ํŠธ๋žœ์žญ์…˜ ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

RewardHash

Common.Hash

rewardRoot

๋ณด์ƒ ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

ReceiptHash

Common.Hash

receiptsRoot

์˜์ˆ˜์ฆ ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

CBHash

Common.Hash

cbHash

๋ธ”๋ก๊ณผ ์—ฐ๊ฒฐ๋œ ์‹œํ‹ฐ์ฆŒ ๋ธ”๋ก์˜ ํ•ด์‹œ๊ฐ’

WBHash

Common.Hash

wbHash

๋ธ”๋ก๊ณผ ์—ฐ๊ฒฐ๋œ ์›Œ๋ŸฐํŠธ ๋ธ”๋ก์˜ ํ•ด์‹œ๊ฐ’

OBHash

Common.Hash

obHash

๋ธ”๋ก๊ณผ ์—ฐ๊ฒฐ๋œ ์˜ค๋ผํด ๋ธ”๋ก์˜ ํ•ด์‹œ๊ฐ’

Number

*big.Int

number

๋ธ”๋ก์˜ ๋†’์ด (๋ธ”๋ก ์ƒ์„ฑ ์ฃผ๊ธฐ์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ํŠธ๋žœ์žญ์…˜์ด ์กด์žฌํ•˜๊ฑฐ๋‚˜, ๋ธ”๋ก ์ƒ์„ฑ ์ฃผ๊ธฐ์— ๋งž์ถฐ ๋ธ”๋ก ์ƒ์„ฑ์‹œ ๋งˆ๋‹ค ์นด์šดํŠธ๋˜๋Š” ๊ฐ’)

CBNum

*big.Int

cbNum

๋ธ”๋ก๊ณผ ์—ฐ๊ฒฐ๋œ ์‹œํ‹ฐ์ฆŒ ๋ธ”๋ก์˜ ๋†’์ด

WBNum

*big.Int

wbNum

๋ธ”๋ก๊ณผ ์—ฐ๊ฒฐ๋œ ์›Œ๋ŸฐํŠธ ๋ธ”๋ก์˜ ๋†’์ด

OBNum

*big.Int

obNum

๋ธ”๋ก๊ณผ ์—ฐ๊ฒฐ๋œ ์˜ค๋ผํด ๋ธ”๋ก์˜ ๋†’์ด

ActiveCBNum

*big.Int

activeCbNum

์ตœ์ข… ์ƒ์„ฑ๋œ ์‹œํ‹ฐ์ฆŒ ๋ธ”๋ก์˜ ๋†’์ด ๋ฒˆํ˜ธ

ActiveWBNum

*big.Int

activeWbNum

๋ธ”๋ก์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์›Œ๋ŸฐํŠธ ๋ธ”๋ก์˜ ๋†’์ด ๋ฒˆํ˜ธ

ActiveOBNum

*big.Int

activeObNum

ํ˜„์žฌ ์ ์šฉ ์ค‘์ธ ์˜ค๋ผํด ๋ธ”๋ก์˜ ๋†’์ด ๋ฒˆํ˜ธ

Bloom

Bloom

logsBloom

ํŠธ๋žœ์žญ์…˜๋“ค์˜ ๋กœ๊ทธ๋“ค์„ ๋ธ”๋ฃธํ•„ํ„ฐ๋กœ ํ‘œํ˜„

TickStamp

*big.Int

tickStamp

๋ธ”๋ก ์ƒ์„ฑ ์ฃผ๊ธฐ(BlockGenTick) ๋งˆ๋‹ค ์นด์šดํŠธ ๋˜๋Š” ๊ฐ’

Time

*big.Int

timeStamp

ํƒ€์ž„์Šคํƒฌํ”„ epoch๊ฐ’ (UTC)

GasLimit

uint64

gasLimit

๋ธ”๋ก๋‹น ํ˜„์žฌ ์ง€๊ธ‰ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ ๊ฐ€์Šค ์ดํ•ฉ

GasUsed

uint64

gasUsed

๋ฉ”์ธ ๋ธ”๋ก ๋‚ด์— ํŠธ๋žœ์žญ์…˜์— ์˜ํ•ด ์‚ฌ์šฉ๋œ ๊ฐ€์Šค์˜ ์ดํ•ฉ

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

  • Transactions in Main Block

Name

Type

Json Name

Description

Publisher

common.Address

from

๋ฐœ์‹ ์ž ์ฃผ์†Œ

AccountNonce

uint64

nonce

ํŠธ๋žœ์žญ์…˜ ์ผ๋ จ๋ฒˆํ˜ธ

Price

*big.Int

gasPrice

๋ฐœ์‹ ์ž๊ฐ€ ๊ฑฐ๋ž˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ง€๊ธ‰ํ•˜๋Š” ๊ฐ€์Šค๊ฐ€๊ฒฉ

GasLimit

uint64

gas

๊ฑฐ๋ž˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ—ˆ์šฉ๋˜๋Š” ์ตœ๋Œ€ ๊ฐ€์Šค๋Ÿ‰

Recipient

common.Address

to

์ˆ˜์‹ ์ž ์ฃผ์†Œ (๊ณ„์ • ๋˜๋Š” ์ปจํŠธ๋ž™ํŠธ ์ฃผ์†Œ)

Amount

*big.Int

value

์ˆ˜์‹ ์ž์—๊ฒŒ ๋ณด๋‚ด๋Š” ์ฝ”์ธ ์–‘

Payload

[]byte

input

์ž„์˜์˜ ๋ฉ”์‹œ์ง€ or ๊ณ„์•ฝ์— ๋Œ€ํ•œ ํ•จ์ˆ˜ ํ˜ธ์ถœ or ๊ณ„์•ฝ์„ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ

Type

uint64

type

ํŠธ๋žœ์žญ์…˜ ์ข…๋ฅ˜ ( 0: original, 1:sct, 2:deposit)

WorkNode

[]common.Address

workNodes

ํŠธ๋žœ์žญ์…˜์„ ์ค‘๊ฐœํ•˜๋Š” ์›Œํฌ๋…ธ๋“œ์˜ SymID

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

V

*big.Int

v

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

R

*big.Int

r

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

S

*big.Int

s

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

  • Rewards in Main Block

Name

Type

Json Name

Description

SymId

Common.Address

symId

๋ณด์ƒ์„ ๋ฐ›์„ ๊ณ„์ •์˜ Sym ID

Value

*big.Int

value

๋ณด์ƒ์„ ๋ฐ›์„ ์–‘

Type

uint

type

๋ณด์ƒ ์ข…๋ฅ˜ (Reserved)

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

  • ValidatorInfos in Main Block

Name

Type

Json Name

Description

SymId

Common.Address

symId

๋ธ”๋ก ํ•ฉ์˜์— ์ฐฌ์„ฑํ•œ ๋ณด์ฆ ๋…ธ๋“œ์˜ Sym ID

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

  • SignInfos in Main Block

Name

Type

Json Name

Description

MBNum

*big.Int

mbNum

์„œ๋ช… ์ •๋ณด์™€ ๊ด€๋ จ ๋œ ๋ฉ”์ธ ๋ธ”๋ก์˜ ๋†’์ด ๋ฒˆํ˜ธ (๋ธ”๋ก ๋™๊ธฐํ™”์‹œ ์‚ฌ์šฉ)

Sign

[]byte

sign

๊ฒฐํ•ฉ ์„œ๋ช… ๊ฐ’(๋ธ”๋ก ๊ฒ€์ฆ์ž๊ฐ€ ์ƒ์„ฑํ•œ ์„œ๋ช… + ํ”„๋ผ์ด๋จธ๋ฆฌ ์„œ๋ช…์„ ๊ฒฐํ•ฉํ•œ ๊ฐ’)

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

-   ๊ฒ€์ฆ์ž ์„œ๋ช… ๋ฒ”์œ„ (Header, Transactions, Rewards)
-   ํ”„๋ผ์ด๋จธ๋ฆฌ ์„œ๋ช… ๋ฒ”์œ„ (Header, Transactions, Rewards, ValidatorInfos)

Warrant Block Structure

Name

Type

Description

header

*WarrantHeader

ํ—ค๋”

warrants

[]*Warrant

๋ธ”๋ก ๋‚ด์˜ ๋ณด์ฆ ๋…ธ๋“œ ์ •๋ณด ๋ฆฌ์ŠคํŠธ

  • Header in Warrant Block

Name

Type

Json Name

Description

ParentHash

Common.Hash

parentHash

๋ถ€๋ชจ ๋ธ”๋ก ํ—ค๋”์˜ ํ•ด์‹œ๊ฐ’

RelatedMBNum

*big.Int

relatedMbNum

๋ธ”๋ก๊ณผ ๊ด€๋ จ ๋œ ๋ฉ”์ธ ๋ธ”๋ก ๋†’์ด ๋ฒˆํ˜ธ

WarrantHash

Common.Hash

warrantsRoot

๋ณด์ฆ๋…ธ๋“œ์ •๋ณด ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

Number

*big.Int

number

ํ˜„์žฌ ๋ธ”๋ก์˜ ๋†’์ด

BeginMBNum

*big.Int

beginMbNum

๋ธ”๋ก๋‚ด์— ํฌํ•จ ๋œ ๋ณด์ฆ ๋…ธ๋“œ ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฒ€์ฆ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ธ ๋ธ”๋ก ์‹œ์ž‘ ๋ฒˆํ˜ธ

EndMBNum

*big.Int

endMbNum

๋ธ”๋ก๋‚ด์— ํฌํ•จ ๋œ ๋ณด์ฆ ๋…ธ๋“œ ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฒ€์ฆ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ธ ๋ธ”๋ก ๋ ๋ฒˆํ˜ธ

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

  • Warrant Data in Warrant Block

Name

Type

Json Name

Description

SymId

*Common.Address

symId

๋ณด์ฆ ๋…ธ๋“œ๋กœ ํ™œ๋™ ํ•  ๋…ธ๋“œ์˜ Sym ID

BKeyPub

[]byte

bKeyPub

๋ธ”๋ก ๊ฒ€์ฆ์šฉ ๊ณต๊ฐœํ‚ค ๊ฐ’

BKeyPubSigned

[]byte

bKeyPubSigned

๋ธ”๋ก ๊ฒ€์ฆ์šฉ ๊ณต๊ฐœํ‚ค๋ฅผ ์–ด์นด์šดํŠธ ํ‚ค๋กœ ์„œ๋ช…ํ•œ ๊ฐ’

Group

*uint64

group

๋ณด์ฆ ๋…ธ๋“œ ๊ทธ๋ฃน (A or B)

Elected

*big.Int

elected

ํ•ด๋‹น ๋…ธ๋“œ๊ฐ€ ๋ณด์ฆ ๋…ธ๋“œ๋กœ ํ™œ๋™ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ธ ๋ธ”๋ก ์‹œ์ž‘ ๋ฒˆํ˜ธ

Finished

*big.Int

finished

ํ•ด๋‹น ๋…ธ๋“œ๊ฐ€ ๋ณด์ฆ ๋…ธ๋“œ๋กœ ํ™œ๋™ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ธ ๋ธ”๋ก ๋ ๋ฒˆํ˜ธ

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

Citizen Block Structure

Name

Type

Description

header

*CitizenHeader

ํ—ค๋”

citizens

[]*Citizen

๋ธ”๋ก ๋‚ด์˜ ์‹œํ‹ฐ์ฆŒ ๋ฐ์ดํ„ฐ ๋ฆฌ์ŠคํŠธ

  • Header in Citizen Block

Name

Type

Json Name

Description

ParentHash

Common.Hash

parentHash

๋ถ€๋ชจ ๋ธ”๋ก ํ—ค๋”์˜ ํ•ด์‹œ๊ฐ’

Root

Common.Hash

stateRoot

์‹œํ‹ฐ์ฆŒ ์ƒํƒœ ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

RelatedMBNum

*big.Int

relatedMbNum

๋ธ”๋ก๊ณผ ๊ด€๋ จ ๋œ ๋ฉ”์ธ๋ธ”๋ก ๋†’์ด ๋ฒˆํ˜ธ

CitizenHash

Common.Hash

citizensRoot

์‹œํ‹ฐ์ฆŒ ์ •๋ณด ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

Number

*big.Int

number

๋ธ”๋ก์˜ ๋†’์ด

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

  • Citizen Data in Citizen Block

Name

Type

Json Name

Description

Publisher

common.Address

from

์‹œํ‹ฐ์ฆŒ ์ •๋ณด๋ฅผ ๋ฐœํ–‰ํ•œ CA์˜ Sym ID

Recipient

*common.Address

to

Reserved

AccountNonce

uint64

nonce

์‹œํ‹ฐ์ฆŒ ์ผ๋ จ๋ฒˆํ˜ธ

SymId

common.Address

symId

์‹ ๊ทœ ๋“ฑ๋ก ๋˜๋Š” ์—…๋ฐ์ดํŠธํ•  Citizen์˜ Sym ID

AKeyPubH

common.PubKeyHash

aKeyPubH

20bytes, Account ๊ณต๊ฐœํ‚ค hash (20bytes cut)

VFlag

*uint64

vFlag

๊ฒ€์ฆ ๋ ˆ๋ฒจ

Country

*uint64

country

๊ตญ๊ฐ€ ์ฝ”๋“œ

Status

*uint64

status

์ƒํƒœ ์ฝ”๋“œ ( 0x01: Active, 0x02 :Revoked, 0x03 : Locked, 0x04 : Marked

Credit

*uint64

credit

์‹ ์šฉ๋„

Role

*uint64

role

์—ญํ•  ( 0xf0f0 : Master CA, 0xf0f1 : CA, 0xf0f2 : Oracle, 0x1 : general, 0x02 : Dapp)

RefCode

*uint64

refCode

๋ฐœ๊ธ‰์ž ์ฐธ์กฐ ์ฝ”๋“œ

WriteTime

*big.Int

writeTime

์‹ ๊ทœ ๋“ฑ๋ก ๋˜๋Š” ์—…๋ฐ์ดํŠธ ์š”์ฒญ ์‹œ๊ฐ„

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

V

*big.Int

v

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

R

*big.Int

r

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

S

*big.Int

s

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

Oracle Block Structure

Name

Type

Description

header

*OracleHeader

ํ—ค๋”

citizens

[]*Oracle

๋ธ”๋ก ๋‚ด์˜ ์˜ค๋ผํด ๋ฐ์ดํ„ฐ ๋ฆฌ์ŠคํŠธ

  • Header in Oracle Block

Name

Type

Json Name

Description

ParentHash

Common.Hash

parentHash

๋ถ€๋ชจ ๋ธ”๋ก ํ—ค๋”์˜ ํ•ด์‹œ๊ฐ’

Root

Common.Hash

stateRoot

์˜ค๋ผํด ์ƒํƒœ ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

RelatedMBNum

*big.Int

relatedMbNum

๋ธ”๋ก๊ณผ ๊ด€๋ จ ๋œ ๋ฉ”์ธ๋ธ”๋ก ๋†’์ด ๋ฒˆํ˜ธ

OracleHash

Common.Hash

citizensRoot

์˜ค๋ผํด ์ •๋ณด ํŠธ๋ฆฌ ๋ฃจํŠธ์˜ ํ•ด์‹œ๊ฐ’

Number

*big.Int

number

๋ธ”๋ก์˜ ๋†’์ด

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

  • Oracle Data in Oracle Block

Name

Type

Json Name

Description

Publisher

common.Address

from

์˜ค๋ผํด๋ผ์ด์ €์˜ Sym ID

Recipient

*common.Address

to

Reserved

AccountNonce

uint64

nonce

์˜ค๋ผํด ์ผ๋ จ๋ฒˆํ˜ธ

Payload

[]byte

payload

์˜ค๋ผํด ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด

Extra

[]byte

extraData

์ถ”๊ฐ€ ์ •๋ณด (optional)

V

*big.Int

v

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

R

*big.Int

r

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

S

*big.Int

s

ECDSA ์„œ๋ช… ๊ตฌ์„ฑ ์š”์†Œ

Last updated