AOK

덤프버전 :

파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
국어 강사 김승리의 개념 강좌에 대한 내용은 All Of KICE 문서
All Of KICE번 문단을
All Of KICE# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.








AOK코인
AOK
파일:AOK 심볼+글자.png
발행국가
SINGAPORE
생성연도
2020년
CEO/CTO
CHUNHEE LEE
사용국
전 세계
분류
암호화폐
발행 방식
PoS 3.0
최대 발행량
2,100,000,000 AOK
공식 웹사이트
트랜잭션 확인
Api 확인
공식 텔레그램 채널

1. 발행배경
1.1. 개발개요
1.2. 기존의 합의 알고리즘
1.3. PoS 3.0 합의 알고리즘
2. AOK 메인넷
2.1. Block Reward
2.2. Coin-Age Problem
2.2.1. 보안문제
2.2.2. 스테이크 그라인드 공격(Stake grinding attack)에 대한 방어
2.2.3. 문제 해결
2.3. Payment System
2.3.1. UTXO
2.3.2. UTXO 동작 구조
2.4. Coin-Age Problem
2.4.1. 자산 발행과 거래
2.5. Transaction Fee
3. AOK Explorer
3.1. AOK Scan
3.2. Explorer Overview
3.3. Explorer Address
4. AOK API
4.1. API Overview
4.2. API Address



1. 발행배경[편집]


블록체인 기술은 ‘분장원장’의 기본적인 개념을 구현한 비트코인의 1세대를 넘어 원장 속에서 계약의 기능을 더한 스마트 컨트랙트(Smart contract)기능을 특징으로 하는 이더리움의 2세대로 진화하였다.

1세대로 불리우는 대표적인 블록체인인 비트코인은 합의제의 거버넌스로 구성되어 시스템 업그레이드가 어려운 구조이다. 또한 작업증명(PoW: Proof of Work) 방식이기 때문에 채굴 이익과 관련하여 채굴업자들의 이해관계에 좌우되어 탈중앙화 개념이 손상받는 문제도 발생하였다. 이 문제는 컴퓨팅 파워를 제공하는 업자들의 힘이 강해지면서 발생한 일이었다.

이더리움은 데이터 처리 용량 증가에 따른 속도지연이 큰 문제로 대두되었고 전송수수료인 가스비(Gas Fee)의 증가로 인한 거래 비용 증가 문제가 대두되었다. 이러한 1, 2세대 메인넷은 모두 PoW방식으로 블록생성을 하므로 근본적으로 컴퓨팅 파워와 전기자원의 과도한 소비 문제를 안고 있을 수 밖에 없게 되었다. 따라서 이더리움 2.0 에서 PoS (Proof of Stake)방식으로 전환을 시도하고 있으나 2022년 6월 현재까지 전환되지 못하고 있는 실정이다.

AOK는 이러한 1세대, 2세대 블록체인의 단점을 보완한 제 3세대 메인넷(MinNet)으로 PoS 3.0 방식의 합의 알고리즘을 사용하는 최초의 4세대 디지털 화폐이다. AOK는 가장 전통적이며 체인의 안전성을 인정받은 비트코인의 블록체인 기술을 계승하여 보안성을 확보하고, PoS 3.0 합의 알고리즘을 통해 비트코인의 합의 알고리즘인 PoW 방식의 단점을 개선하고 비트코인의 최대 약점인 느린 처리 속도를 보완하여 목표 블록타임을 기존 20분에서 1분으로 줄여 거래의 속도를 높여 빠른 전송 속도를 보장하고, 가장 개선된 합의 알고리즘인 PoS 3.0을 통해 블록 검증을 위해 과도한 장비와 전기 에너지를 소모하는 비트코인, 이더리움에 비해 경제적이면서 안전한 블록검증이 가능한 합리적인 구조의 특징을 가지고 있다.



1.1. 개발개요[편집]


파일:aok디지털에셋.png


AOK는 가장 전통적이며 체인의 안전성을 인정받은 비트코인의 블록체인 기술을 계승하여 보안성을 확보하고, PoS 3.0 합의 알고리즘을 통해 비트코인의 합의 알고리즘인 PoW 방식의 단점을 개선하고 비트코인의 최대 약점인 느린 처리 속도를 보완하여 목표 블록타임을 기존 20분에서 1분으로 줄여 거래의 속도를 높여 빠른 전송 속도를 보장하고, 가장 개선된 합의 알고리즘인 PoS 3.0을 통해 블록 검증을 위해 과도한 장비와 전기 에너지를 소모하는 비트코인, 이더리움에 비해 경제적이면서 안전한 블록검증이 가능한 합리적인 구조의 특징을 가지고 있다.

지분 증명에 대한 보안은 다년간의 시험을 통해 이미 입증되었으며, AOK의 PoS 3.0은 CoinAge와 블록보상 및 블록체인 사전계산 문제를 동시에 해결하였다. PoS 3.0 프로토콜은 강력하며 활성 노드를 권장하여 노드를 네트워크에 지속적으로 연결하게 한다. 이 문서에서는 기존 PoS 합의 알고리즘의 보안이슈와 해결책을 제시하고 AOK의 보안을 더욱 강화할 수 있는 아이디어를 기술한다.


1.2. 기존의 합의 알고리즘[편집]


블록체인 시스템은 네트워크에 참여하는 모든 참여자들이 동일한 데이터를 각각 보유하며, 같은 데이터를 분산 저장하기 때문에 원본과 사본의 구별이 존재하지 않으며 통일된 의사결정을 내릴 수 있는 중앙이 존재하지 않게 된다.

이러한 상황에서 합리적이고 효율적인 의사결정을 내릴 수 있는 다양한 알고리즘이 개발되었다. 이러한 합의 알고리즘을 통해 분산원장이 데이터의 일관성을 이루게 되는데 이러한 합의체제(컨센서스)에는 작업증명 방식(PoW; Proof of Work)과 지분증명 방식(PoS; Proof of Stake), 위임지분증명 방식(DPoS; Delegated Proof of Stake) 등 이 있다.

즉, 채굴보상을 얻기 위한 채굴에 참여하는 컴퓨팅 파워가 적으면 난이도가 낮아지고, 많으면 난이도가 높아지는 것이다. 그러므로 암호화폐의 채굴 경쟁이 점점 더 치열해짐에 따라 채굴 난이도는 계속하여 상승하고 있다.

채굴 난이도가 상승한 다는 것은 투입되는 해시 파워의 양도 증가하는 것을 의미하며 늘 동일한 해시 파워로는 암호화폐를 채굴하기가 점점 더 어려워지는 것을 의미한다. 또한 채굴 난이도가 높아지면 이전과 동일한 블록을 생성하기 위해 더 많은 해시레이트(hashrate)를 필요로 하게 되고 과거와 동일한 수준으로 채굴하기 위해서는 채굴장비에 대한 지속적인 성능 업그레이드 비용 및 막대한 전기 비용 등 상당한 비용을 투자해야 하는 것이다. 이는 필연적으로 자원 낭비를 가져오게 되었다.


1.3. PoS 3.0 합의 알고리즘[편집]


비트코인은 ‘비잔틴 장군의 문제’를 해결함으로써 Peer-to-Peer 네트워크 구조가 위조와 변조를 방지할 수 있는 솔루션이라는 점을 보여주었고, 그 이후 많은 암호화폐가 Bitcoin가 공개한 오픈소스를 기반으로 만들어졌다. AOK 역시 Bitcoin의 안정된 오픈소스를 계승하여 필요한 차세대 기능을 추가하여 개발한 결과물이며, 오픈소스 규칙에 따라 AOK 역시 자사의 Github 채널에 수정된 소스코드를 공개하는 투명한 Public OpenSource Public Blockchain이다.

AOK가 도입한 PoS 3.0 합의 알고리즘은 과도한 컴퓨팅 파워로 인한 전력과 장비 비용의 낭비를 지양하는 장점을 가지고 있다. AOK는 기본 합의 방식을 위해 최신의 비트코인 코어를 기반으로 PoS 3.0를 로직을 도입하여 합리적이고 경제적인 블록 생성을 실시한다. 일반적인 PoS 합의 로직은 Coin-Age 공격 및 여러가지 유형의 공격으로 인하여 다양한 보안 이슈를 가지고 있어 AOK는 개선된 PoS 3.0을 합의 로직으로 채택하고 있다.


2. AOK 메인넷[편집]


PoS의 아이디어는 최초로 PeerCoin에서 구현되었고 이는 다시 BlackCoin에서 PoS 2.0의 개념으로 발전하여 이후 QTUM 등 일부 암호화폐 플랫폼이 PoS 3.0 알고리즘으로 발전시켰다. PoS의 지분 증거는 본질적으로 코인 보유자 간의 코인 보유량의 경쟁으로 치환되며 네트워크 연결성과 무작위 우연에 기반하여 확률적으로 코인을 보상받을 수 있다. 보상을 받을 확률은 얼마나 많은 코인을 스테이킹하는 가에 달려있는데, 보상을 받고나면 해당 지분은 일정기간 검증에 참여하지 않도록 하면서, 대량지분의 노드의 독식을 제어한다.

이는 비트코인의 에너지 낭비 문제를 해결하면서 네트워크 보안에 대한 새로운 도전 과제를 제시한다. AOK는 이 프로토콜 장점에 대한 기술적 구현을 실현하고 기존의 이론 창시자를 존중하고 잠재적인 개선점 및 단점에 대해서도 보완하고자 한다. AOK는 PoS 3.0이 현재 가장 안전하고 진보된 효울적인 블록 생성방식이라고 판단하여 PoS 3.0 합의 알고리즘을 구현하기로 결정하여 제작에 이르게 되었다.


2.1. Block Reward[편집]


기존의 PoS 시스템의 대부분의 증명에 대한 보상은 불행히도 Coin Age를 기반으로 했고, 이론적으로 이것은 노드가 잠정적인 지불을 받을 수 있게 함으로써 공정하게 관심을 분배하며 이는 공통된 이율을 유지하려는 시도이다. 또한 노드가 연결 상태를 유지할 수 있는 인센티브를 제공하지 않았다. 분산 시스템에서는 신뢰가 단일 엔티티에서 네트워크 자체로 이동하기 때문에 더 노드의 양이 많을 수록 보안을 강화된다.


2.2. Coin-Age Problem[편집]



2.2.1. 보안문제[편집]


지분 증명은 해당 코인을 많이 가지고 있는 (지분을 많이 보유한) 만큼 블록에 대한 유효성을 검증할 확률이 높아지는 구조인데, 코인 보유를 증명하고 코인의 보유 수량만큼 블록 보상을 가져갈 확률을 높인다. 이로써 더 많은 사람들이 더 많은 블록보상을 가져가기 위한 경쟁을 유발한다.

Coin Age는 코인을 오래 두면 블록발견 확률이 높아진다는 이론으로 원래의 의도는 코인을 보유하고 있는 사람들에게 동기를 부여하는 것이었으나 이는 보상이 증가할 때까지 기다리기만 해도 그 확률이 높아지기 때문에, 노드들이 실제로 네트워크에 계속 연결되어 있도록 하는 것을 권장하지는 않는다. 이런 문제로 오랜 기간 네트워크와 연결을 끊고 다시 접속하여 네트워크에 대한 51% 공격을 감행할 수 있는 가능성을 열어 두었다. 이처럼 연결된 노드가 적을 수록 합의를 이루는 블록의 대부분을 얻는 것이 쉬워지며 이러한 공격을 효과적으로 하기 위해 필요한 코인의 개수를 미리 계산할 수 있었다.

2.2.2. 스테이크 그라인드 공격(Stake grinding attack)에 대한 방어[편집]


시간의 증가에 따른 Coin Age 블록보상의 제거는 보안성의 개선을 가져왔다. 따라서, 고정하는 노드의 양이 감소는 끊어진 노드에 비례하여 증가한다. 예를 들어, 네트워크의 1/4 만이 스테이킹을 하고 있다면 보상은 보유량의 최대 5 배를 기대할 수 있게 된다. 많은 코인에는 노드가 충분하지 않기 때문에 소규모 보유자에게도 큰 이점이고 일반적으로 홀더의 20 % 미만인 것이 현실이다. AOK는 이러한 인센티브의 증가가 노드의 경쟁력을 확실히 유지할 것이라고 생각하며 “스테이크 그라인드 공격”을 방지하는 데 유용하다고 판단하고 있다.

이 공격의 확률에 대한 좋은 분석은 Neucoin에서 수행되었다. Neucoin의 주장은 비트코인 네트워크의 모든 해싱 파워를 사용하더라도 공격이 불가능하다는 것이다. 그러나 몇 분 Roll-back하면 새로운 사용자가 네트워크에 어떤 체인을 연결할 지 확신할 수 없게 되는데, Stake 시스템은 “Check pointing”을 사용하여 기본적으로 주 개발자가 이 작업을 시도하는 체인을 선택할 수 있도록 중앙에서 제어한다. 물론 이것은 이상적인 솔루션이 아니다. Coin Age 제거는 일반적으로 안전한 결정이었으며, 타임 서버를 검사하는 하이브리드 시스템을 수행하여 드리프트를 계산하고 노드가 일반적인 시간 합의와 밀접하게 동기화하도록 요구할 수 있었다. 블록 체인 자체에 기초한 다른 무작위 인자의 추가도 고려 사항 일 수 있다.


2.2.3. 문제 해결[편집]


Coin Age는 사용되지 않은 코인의 양과 보유 시간에 의해 계산되는데 최초의 PoS코인인 PeerCoin에서 도입한 개념으로 사용하지 않은 코인의 수와 보유한 기간을 곱한 만큼의 값으로 네트워크에서 가장 오래된 체인을 만들면 그 체인이 블록으로 등록되는 방식이다.

Coin Age는 첫 번째 블록보상을 받은 후 재설정되기 때문에 연속적인 이중 지출을 수행하기가 매우 어렵기 때문에 Coin Age를 구하기 위한 공격이 이전에 불가능하다고 설명되었다. 그러나 입력이 수많은 출력으로 분할될 수 있기 때문에 이는 명확하지 않으며, 연속적인 이중지출 공격의 가능성을 줄 수 있었고 이는 공격자가 네트워크보다 큰 가중치를 유지하기 위해 상당한 금액의 자금을 필요로 하기 때문에 여전히 어려운 문제이다.

이론상으로는 매우 합리적이라 볼 수 있다. AOK와 다른 인기있는 PoS 방식을 사용하는 시스템의 포크양을 보면 노드의 양이 상당히 적다는 사실을 알 수 있는데, 이는 소수의 소수 노드에 더 큰 비중을 둔다는 것을 의미한다, 많은 양의 코인을 소유한 사람은 코인의 가치가 심각하게 낮아질 수 있기 때문에 이 공격을 수행하기를 원하지 않을 수 있기 때문이다.

Coin Age는 여전히 중요한 공격이 가능한 루트이며 매 순간 새로운 블록이 생성될 때 마다 코인이 발행되기 때문에 보안을 위해 가능한한 많은 노드를 연결하는 것이 필수적이기 때문에 PoS 2.0 부터 이 개념이 제거되었다. 따라서, AOK는 Coin Age를 통한 공격으로부터 자유롭다.



2.3. Payment System[편집]



2.3.1. UTXO[편집]


AOK는 비트코인의 결제 시스템인 UTXO를 사용한다. UTXO는 Unspent Trasaction Outputs의 약자로서, 미사용 트랜잭션 출력값을 의미한다. 비트코인은 이더리움의 ‘계좌 잔고모델’(Account Balance Model)과는 달리 계정이나 잔고가 없고, 블록체인에 기록된 ‘소비되지 않은 출력값’을 통해 거래의 유효성을 검사하여 코인의 존재 여부를 확인한다.

2.3.2. UTXO 동작 구조[편집]


AOK는 누군가로부터 받은 금액을 UTXO로 저장한다. 예를 들어, A와 B로부터 각각 2AOK와 3AOK를 받아 총 5비트코인을 갖게 되었으면, 지갑에는 5 AOK로 저장되지 않고, 각각 2 AOK, 3 AOK의 UTXO로 구분 저장된다. 그리고UTXO 안에 있는 금액을 송금할 경우에는 새로운 UTXO를 생성하여 기존의 UTXO는 파기된다. 즉 3 AOK가 있는 UTXO에서 2 AOK를 타인에게 송금하면 2AOK를 송금한 AOK와 남겨진 1 AOK에 대한 UTXO가 새로 생성된다.


2.4. Coin-Age Problem[편집]



2.4.1. 자산 발행과 거래[편집]


AOK의 토큰 이름은 중복될 수 없으며, 해당 이름으로 토큰을 발행하는 첫번째 발행자가 해당 프로젝트의 소유자가 된다. 발행자는 발행된 수량, 데시멀 (decimal, 소수점 자릿수), 향후 동일한 토큰을 더 많이 발행할 수 있는지 여부를 결정하고, 토큰을 QT 지갑에 통합하고 토큰 관리 기능을 제공하는 새로운 RPC 호출을 만들면 새로운 자산 토큰을 쉽게 발행하고 현재 잔액을 알려주며 다른 사용자에게 자산을 전송할 수도 있다.



2.5. Transaction Fee[편집]


AOK 메인넷 네트워크에서 트랜잭션이 발생하는 경우 수수료는 최소 0.0001 AOK부터 발생하여 네트워크의 혼잡도에 따라 가변적으로 조절된다. 해당 블록에 사용된 모든 블록보상과 함께 블록을 발견한 스테이크 노드에 지급된다.



3. AOK Explorer[편집]


AOK는 빠르고 안정적인 블록 검색을 위해 독자적인 모델의 블록체인 탐색기를 서비스 하고 있고, Github를 통해 소스코드를 공개하고 있다. 이 AOK 블록체인 탐색기는 AOK의 블록, AOK 주소, 거래내역 및 AOK 네트워크를 사용하는 서브토큰에 대한 기록을 자세하게 제공하고 있다.


3.1. AOK Scan[편집]


AOK Scan에서는 AOK의 실시간으로 최신화 되는 가격과 시가총액을 한눈에 볼 수 있다. AOK Explorer와 비슷한 형태의 블록체인 탐색기지만, 이전 모델의 블록체인 탐색기보다 세련된 디자인을 통해 개발된 블록체인 탐색기다. 유저들의 편의를 위해 제작된 블록체인 탐색기이며, AOK 블록체인 산하에 있는 모든 토큰들의 현황도 실시간으로 확인할 수 있다. 또한, AOK 네트워크 통계 및 AOK 노드 분포도 차트를 통해 쉽게 확인 할 수 있다.



3.2. Explorer Overview[편집]


AOK Explorer
파일:AOK Explorer.png

AOK Scan
파일:AOK scan.png

3.3. Explorer Address[편집]


AOK 익스플로러의 접속 주소는 다음과 같다.
https://explorer.aok.network/
AOK 익스플로러의 접속 주소는 다음과 같다.
https://aokscan.com/


4. AOK API[편집]



4.1. API Overview[편집]


AOK API는 어플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로 AOK 네트워크를 사용하는 3rd party 소프트웨어를 제작할 때 유용하게 사용할 수 있는 어플리케이션 프로그래밍 인터페이스를 의미한다.

AOK의 API를 사용하면, 소프트웨어 노드를 직접 운영하지 않고도 전송내역을 검증하거나 잔액을 확인하거나 하는 일련의 과정을 편리하게 수행할 수 있다. AOK의 API는 URL 방식으로 편리하게 이용가능하며, 모든 결과는 항목이 포함된 JSON 형식으로 제공되어 활용도가 높다.





4.2. API Address[편집]


AOK의 API는 다음과 같은 주소에서 확인할 수 있다.
https://api.aok.network/
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-20 02:53:17에 나무위키 AOK 문서에서 가져왔습니다.