top of page
resource-database-PwX6T0gejkw-unsplash.jpeg

PLATFORM

​쇼플체인 플랫폼

MAIN-NET

표삽입.png

쇼플체인의 블록체인 네트워크는 프라이빗 형태로 설계되어,

합의 알고리즘으로 POA(Proof- of Authority)를 사용합니다.

POA는 사전에 승인 받은 권한을 이용하여 거래에

대한 유효성을 검사하는 합의 알고리즘입니다.

POA 합의 알고리즘은 다른 Side Net 과

Main Net에서 사용하는 POW(Proof-of-Work),

POS(Proof-of-Stake)에 비해 더 빠르게 합의를 이루어

낼 수 있어 트랜잭션 합의 시간을 줄일 수 있습니다.

Coin information

shc22.PNG

​기존 메이저 코인의 한계를 극복

기존의 메이저 코인의 단점

이더리움 처리 속도는 20TPS정도로 일반 데이터양을
처리하기 어렵습니다. Dapp인 CryptoKitty가 배포되었을 때
트랜잭션을 감당하지 못하고 이더리움 네트워크에 심각한 저하를
일으켜 성공되지 못하고 대기되는 트랜잭션이 증가하였습니다.
비트 코인과 이더리움과 같은 작업 증명 (Proof of Work/PoW)
방식으로 초당 약 10건의 트랜잭션(TPS)를 지원하고,
PBFT 기반 지분 증명 (Proof of Stake/PoS) 방식을
사용하는 텐더민트는 100~200개의 노드로
약 1,000 TPS를 지원합니다.

트랜잭션을 발생시켜 해결

이더리움은 낮은 TPS를 나타내기 때문에 이더리움의 트랜잭션의
TPS는 이더리움 네트워크가 혼잡 해질 때 더욱 성능이 저하됩니다.
네트워크가 배포되는 트랜잭션은 트랜잭션의 내용이 복잡 해질수록 더욱
네트워크에 부하를 주었습니다. 간단하게 트랜잭션을 발생시킬 수
있다면 TPS가 급격하게 떨어지는 것을 줄일 수 있습니다.
화살표_2x.png

기존 블록체인 연산 방식의 한계

또한 연산을 수행하는 과정같이 스마트 콘트랙트의
함수 호출에서 내부 함수가 복잡해지면 오버헤드가
증가합니다. 오버헤드의 증가로 인해 이더리움
네트워크의 속도가 저하되어 이더리움 네트워크
사용이 불가능할 가능성이 있습니다.

탈 중앙화 분산 방식

암호화 같이 복잡한 계산은 블록체인 내부가 아닌
외부에서 진행 후 암호화된 데이터를 넣는 것으로
반영되며, 쇼플체인 네트워크는 탈중앙화 분산 방식의
블록체인 시스템을 단일 노드 수준의 빠른 속도와
높은 성능을 구현하는데 목표를 두고 제작된
프라이빗 네트워크 기반으로 제작되었습니다.
화살표_2x.png

POA ​프라이빗 네트워크 장점

resource-database-PwX6T0gejkw-unsplash.jpeg

최적화된 블록체인 서비스

스마트 콘트랙트의 함수

호출의 매개변수의 데이터 구조 및

개수에 따른 배포시의 가스 비용의

최댓값과 추정 값을 이용하여 가장

적은 가스 비용을 나타내는 스마트

콘트랙트 개발을 하여 최적화된

블록체인 서비스 제공이 가능합니다.

AdobeStock_253832985_edited.jpg

​테스트의 최적화

가스 비용 절감을 위한 테스트 환경은

Geth 1.8.15와 Mist 0.11.1을 사용하여

진행합니다. MainNet에서 테스트를

진행하면 더욱 더 정확한 결과가

나올 수 있지만 실제 돈을 사용하여

배포해야 한다는 점을 고려하여

테스트넷인 showby를 사용하여

테스트를 진행합니다. Rinkeby는

합의 알고리즘으로 POA를 사용한다.

resource-database-AbBzgyA4f7o-unsplash_edited.jpg

비용 측정 용이

함수 실행 시 함수 내부 및

매개변수에 따른 자료의 구조 및

개수에 따른 가스 비용을 측정할 수

있습니다. 이를 측정함으로써 똑같은

데이터를 저장할 수 있다면 어떤

방식으로 저장하는 것이 가장 효율적인

스마트 콘트랙트 구성이 되는지에

대한 방안을 제공합니다.

resource-database-VcO2K2JHIzg-unsplash.jpeg

스마트 블록

쇼플체인은 서비스가 제대로 작동하는지 확인하기 위해 원래

리소스처럼 충분히 작동하는 차단된 리소스에 대한 로컬의 개인 정보

보호 대안을 지능적으로 로드 하는 메커니즘(Mechanism)인

SmartBlock을 개발했습니다. SmartBlock은 추적 보호

(Tracking Protections) 기능으로 오작동이나 빈페이지가 발생할

경우 사용자의 개인 정보를 침해하지 않고 지능적으로 수정합니다.

또한 차단된 타사의 추적 스크립트의 로컬 대역을 제공하여 수정 작업을

진행합니다. 이러한 독립 실행형 스크립트는 웹 사이트가 제대로

작동하는지 확인할 수 있는 원본의 스크립트와 동일하게 동작 합니다.

이런 기능을 사용하여 기존 스크립트에 의존하는 손상된 사이트를

그대로 로드 할 수 있습니다. SmartBlock의 세 번째 버전에서 널리

사용되는 Google Analytic 스크립트를 대체하기 위한 지원이 크게

향상되었으며 Optimizely, Criteo, Amazon TAM 및 다양한

Google 광고 스크립트와 같은 인기 서비스 지원이 추가되었습니다.

SmartBlock의 이러한 대체 기능은 판도 브라우저에 번들로 제공되며,

추적기의 타사 컨텐츠가 전혀 로드되지 않으므로 어떤 방식으로도

사용자를 추적할 수 없습니다.

핵심 코드

쇼플체인은 핵심 설정을 위해 최근 기존 Curve25519의 32bit 구현을

Fiat-Crypto 프로젝트의 구현으로 교체하였습니다. 이 구현의 임의 정밀도 산술

함수는 기능적으로 올바른 것으로 입증되었으며 기존 코드에 비해 10배 향상되었습니다.

쇼플체인은 64비트를 구현함에 있어 새로운 HACL* 코드로 업데이트 하여

이전 버전 대비 ~27% 속도향상을 이루었습니다. 판도 브라우저는 최근에

이 업데이트를 Window에도 제공하였습니다. 이와 같은 개선사항은 매우 중요 합니다.

 

Telemetry는 Curve25519가 판도 브라우저의 ECDH(E) 키 설정에 가장 널리

사용되는 타원 곡선형태를 이루며 모바일 장치와 접목 시 처리량 증가 대비 에너지

소비가 감소하며 이는 모바일 장치에서 특히 중요한 요소로 작용됩니다.

그래프2.png

<Fiat-Crypto가 포함된 32비트 Curve25519>

그래프1.png

<64비트 curve25519(HACL 포함)>

Curve25519의 산술적 성질을 살펴보면 다음과 같습니다.

𝑦^2= 𝑥^3+48662𝑥^2+𝑥

사용된 곡선은 소수 2^255−19 로 정의된 소수 영역 위의 몽고메리 곡선입니다.

그리고 기준점으로 𝑥=9를 사용합니다. 이 기준점은 소수를 순서로 하는 순환

하위 그룹을 생성합니다. 이 하위 그룹은 아래 소수를 나타냅니다.

2^252+27742317777372353535851937790883648493

이 하위 그룹의 Co-factor는 8이며 이는 하위그룹의 구성 요소의 수가 1/8임을 의미합니다.

몽고메리 곡선은(필드K) 다음의 방정식으로 정의됩니다.

𝑀_(𝐴,𝐵)  : 𝐵_(𝑦^2 )= 𝑥^3+ 〖𝐴𝑥〗^2+ 𝑥^

특정 A, B ∈ K 이고 동시에 B(𝐴^2−4)≠0

스크린샷 2024-03-26 오후 12.44.29.png

쇼플체인은 암호화 및 암호 해독을 위해서 ChaCha20-Poly1305의 성능을 개선했습니다.

ChaCha20-Poly1305는 ChaCha20 스트림 암호와 Poly1305 메시지 인증 코드를

결합한 AEAD(Authenticated Encryption with Additional Data) 알고리즘입니다.

ChaCha20-Poly1305 알고리즘은 일반적으로 CPU에 하드웨어 가속 기능이 없는

시스템에서 널리 사용되는 AES-GCM 알고리즘보다 더 나은 성능을 제공합니다.

128비트 및 256비트 정수 산술(x86-64 CPU에 설정된 AVX2 명령어 사용)을 통한

벡터화를 활용하여 처리량이 두 배로 증가했습니다. 이러한 기능을 사용할 수 없는 경우

NSS는 AVX 또는 스칼라 구현으로 대체되며 둘 다 더욱 최적화됩니다.

스크린샷 2024-03-26 오후 12.51.56.png

Architecture

info2_edited.png

Distribution information

파이2.PNG

쇼플체인은 쇼플체인 생태계에서 활용될 수 있는 어플리케이션에

대한 투자 및 정보 활용 등에 대한 개발과 거래, 생태계 참여를 유도하기 위한 목적

그리고 정보의 투명한 기록과 관리를 위한 생태계 조성 등을 위해 배분됩니다.

 

또한 다른 사업체와의 제휴와 협력 등 쇼플체인 생태계의 확대를 위한 마케팅,

상장과 독자적인 블록 체인 네트워크 개발, 유지보수, 플랫폼 구축, 시장 상황 변동에

대한 대비책 마련 등에 활용될 예정입니다.

bottom of page