본문 바로가기
개발/Solana

Solana Network Transaction Fee vs Ledger Transaction Fee

by 꾸르배 2021. 6. 17.

2021-06-16 22:00 기준.

 

Solana Network 의 강점 중 하나는 Transaction Fee가 매우 저렴하다는 것이다.

 

Solana Network 에서 Transaction을 남기는 것과, DB 에서 Ledger Transaction을 구현을 할 때, 어느 것이 더 경제적인지 알아보자.

 

Solana 기준 하나의 트랜젝션에 57개의 token transfer instruction 을 담을 수 있다.

 

더보기

transaction의 max size는 1232 bytes 이다.

50개의 instruction 을 넣었을 때 transaction의 size는 1112 bytes.
10개의 instruction 을 넣었을 때 transaction의 size는 432 bytes.

 

50개의 instruction 이 들어간 transaction size - 10개의 instruction 이 들어간 transaction size

=> 40개의 instruction size = 680 bytes

 

따라서, 

기본 메타 데이터 = 262 bytes

1 개의 transfer instruction size = 17 bytes

 

262 bytes + n개의 transfer instruction * 17 bytes <= transaction max size = 1232 bytes

n <= 57.0588... 

 

[n] = 57

 

https://explorer.solana.com/tx/3JW6yaYExx6NEMTWKpJzNsAR9p4DCKuhaVb3aDKQZnSUdq6bR1Gf1nM5JfuGqfrQRxTDkCFci7vLMvof2BQfuegW

 

Explorer | Solana

 

explorer.solana.com

에 접속시 57개의 token transfer이 있는걸 확인할 수 있다.

 

전제조건

계산의 편의성을 위해 초당 57개의 token transfer 이 이동한다.

또한 하나의 Ledger Transaction 은 1kib를 가진다.

Solana Token Price는 변동 가능성이 있고, DB 설계에 따라 DB의 가격은 줄어들 수 있다.

또한 개발에 필요한 시간 및 비용은 고려하지 않는다.

 

Solana

1 solana = $37.78

1 on-chain transaction fee = 0.000005 sol = $0.0001889

 

AWS Server - t2.medium / seoul 기준

시간당 $0.0576

 

AWS Database

Storage - 한달에 $0.12/GB 

Read/Write - 1백만건의 I/O 당 $0.24

 

Solana vs AWS Server + Database

 

Solana

 

1. 초당 한번의 트랜젝션(57번의 token transfer)

2. 한달 Transaction fee = 30(일) * 24(시간) * 60(분) * 60(초) * transaction fee = 2,592,000 * 0.000005 SOL = 12.96 SOL

3. 한달 USD = 12.96 * $37.78 = $489.6288

4. n달 USD = n * $489.6288

 

AWS

AWS Server - t2.medium / Seoul 기준

1. 한달 USD = 0.0576 * 24(시간) * 30(일) = $41.472

2. n달 USD = n * $41.472

 

AWS Database - Storage

1. 하루 트랜젝션 발생 용량 = 1(일) * 24(시간) * 60(분) * 60(초) * 57(횟수) * 1 kib= 4,924,800번 * 1 kib = 4,924,800 kib = 4,809.375 mib => 4.6966... gib => 4.7gib

2. 한달 USD = 4.7 * 0.12 * (1/30) + 4.7 * 0.12 * (2/30) + ... + 4.7 * 0.12 * (29/30) + 4.7 * 0.12 * (30/30) = 4.7 * 0.12 * (1 + 2 + ... + 29 + 30) / 30 = 4.7 * 0.12 * 465 / 30 = 72.85 * 0.12 = $8.742

3. n달 USD = 1번째 달 * n달 요금 + 2번째 달 * (n-1)달 요금 + ... + (n-1)번째 달 * 2달 요금 + n번째 달 * 1달 요금 = 72.85(n달요금 + n-1달요금 + ... + 2달요금 + 1달요금) = 72.85(0.12n + 0.12(n-1) + ... + 0.12 * 2 + 0.12) = 72.85 * ((0.12n + 0.12) * n / 2) = 36.425 * (0.12n^2 + 0.12n) = 4.371n^2 + 4.371n

 

AWS Database - I/O

1. 쓰기 - 초당 57번, 읽기 - 초당 57 * 8 [checkHasToken, confirmToken, checkTokenChanged, checkTokenTransfer, ...]

2. 한달 I/O 발생 횟수 = 57 * 9(쓰기 + 읽기) * 30(일) * 24(시간) * 60(분) * 60(초) = 1,329,696,000 회

3. 한달 USD = 0.24 * 1329= $318.96

4. n달 USD = n * $318.96

 

AWS RDS - t2.medium / Seoul 기준

1. 한달 USD = 0.125 USD * 24(시간) * 30(일) = $90

2. n달 USD = n * $90

 

총 n달 Solana Cost = 489.6288n

총 n달 AWS Cost = 41.472n + 4.371n^2 + 4.371n+ 318.96n + 90n

 

첫 번째 달에는 Solana Network가 비용이 많이 든다

하지만, Solana Cost = AWS Cost 로 식을 두고 손익분기점을 구하면,


489.6288n = 41.472n + 4.371n^2 + 4.371n + 318.96n + 90n

489.6288n = 454.803n + 4.371n^2

34.82588n = 4.371n^2

 

n = 7.967485701212537

 

따라서, 8개월 이상 시스템이 지속이 될 경우, Transaction Fee는 On-chain으로 처리하는 것이 바람직하다.

'개발 > Solana' 카테고리의 다른 글

Transaction fee 에 대한 사실  (1) 2021.07.23
Solana 지갑 만들기  (3) 2021.07.05