목차 요약... 3 소개 네트워크장부... 4 정의... 4 네트워크노드... 4 마지막으로저장되는블록... 4 노드의동기화 네트워크합의제... 5 합의제비교... 5 메인네트워크노드의개념... 6 네트워크노드의장비... 7 합의도출...

Similar documents
메뉴얼41페이지-2

Windows 8에서 BioStar 1 설치하기

View Licenses and Services (customer)

[Brochure] KOR_TunA

슬라이드 1

Microsoft PowerPoint - chap06-2pointer.ppt

RHEV 2.2 인증서 만료 확인 및 갱신

LTC 라이트코인명세서

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Microsoft Word - PLC제어응용-2차시.doc

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Windows Server 2012

PowerPoint 프레젠테이션

Microsoft Word - src.doc

vRealize Automation용 VMware Remote Console - VMware

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap01-C언어개요.pptx

MF Driver Installation Guide

chap 5: Trees

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

2 노드

© Rohde & Schwarz; R&S®CDS Campus Dashboard Software

약관

IRISCard Anywhere 5

Microsoft Word - release note-VRRP_Korean.doc

항목

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

말은 많은 Blockchain 2

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

1. 제품 개요 AhnLab Policy Center 4.6 for Windows(이하 TOE)는 관리대상 클라이언트 시스템에 설치된 안랩의 안티바이러스 제품인 V3 제품군에 대해 보안정책 설정 및 모니터링 등의 기능을 제공하여 관리대상 클라이언트 시스템에 설치된 V3

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

ThinkVantage Fingerprint Software

Office 365 사용자 가이드

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

슬라이드 1

PowerPoint 프레젠테이션

SBR-100S User Manual

Sequences with Low Correlation

Beyond Blockchain 블록체인기술은중앙화된권력없이모든노드들간을합의할수있게하는방법을고안해냈습니다. 하지만블록체인기술은실시간트랜잭션의성사, 확장성같은근본적인문제점들과직면해있습니다. 개선된합의알고리즘에도불구하고, 현재구현된블록체인은한번에한블록만동기화하는노드를사용합

gnu-lee-oop-kor-lec06-3-chap7

Microsoft PowerPoint - e pptx

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

행정학석사학위논문 공공기관기관장의전문성이 조직의성과에미치는영향 년 월 서울대학교행정대학원 행정학과행정학전공 유진아

게시판 스팸 실시간 차단 시스템

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

untitled

PowerPoint 프레젠테이션

공정한합의알고리즘 : deb 합의알고리즘 (A fair consensus algorithm : deb consensus algorithm) 목차 1. 개요 2. 합의알고리즘의공정성 3. deb 합의알고리즘 4. 공정한노드의역할및신뢰성검증 5. 성능 6. deb 합의알고

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

A Study on the efficient mutual authentication mechanism using the agent server

Microsoft Word - 08_01_블록체인.docx

로거 자료실

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

설계란 무엇인가?

Chapter 4. LISTS

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

제 2 장 기본 사용법

이제까지 경험해보지 못한 방식으로 공동 작업하고 상호작용하십시오. 여러분은 얼마나 연결되어 있습니까? 이것이 바로 기업이 직원과 사업 파트너, 클라이언트 간의 일관적인 통신을 추구하는, 오늘날의 가상 모바일 기업 환경에서 경험하는 어려움입니다. 원격 재택 근무를 하는

MyCreditChain FAQ Q 어떻게네트워크에참여할수있나요? 개인누구나앱스토어에서 MCC App을다운로드하고사용할수있습니다. 절차는지갑 App을다운로드하고각국가별로정해진절차에따라 KYC를수행하고본인인증을합니다. KYC가

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Implement a business platform based on blockchain blockchain기반 비즈니스 플랫폼 구현을 위한 White Paper (요약본) -1- Qcity

ISP and CodeVisionAVR C Compiler.hwp

Frama-C/JESSIS 사용법 소개

ActFax 4.31 Local Privilege Escalation Exploit

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


백지 개정판 1.6 / 2001 년 8 월 7 일

Chap 6: Graphs

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft PowerPoint - 6.pptx

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx

WIZBL_WHITEPAPER 한글

Chapter ...

마켓온_제품소개서_ key

*2008년1월호진짜

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

gdac-token-whitepaper-full-version-v1.2

04 Çмú_±â¼ú±â»ç

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Microsoft PowerPoint - 권장 사양

adfasdfasfdasfasfadf

Microsoft PowerPoint - chap06-1Array.ppt

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

Cisco FirePOWER 호환성 가이드

본 강의에 들어가기 전

리눅스 프로세스 관리

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

대량문자API연동 (with directsend)

Transcription:

기술백서 ( 다른세부사항이추가될수있습니다 ) 탈중앙화금융시스템 CREDITS 1.5 버전 /2017 년 9 월 12 일

목차 요약... 3 소개... 3 1. 네트워크장부... 4 정의... 4 네트워크노드... 4 마지막으로저장되는블록... 4 노드의동기화... 5 2. 네트워크합의제... 5 합의제비교... 5 메인네트워크노드의개념... 6 네트워크노드의장비... 7 합의도출... 7 장부의개발과개시... 7 레지스터에포함되지않은트랜잭션... 8 3. 트랜젝션프로세싱... 8 트랜젝션... 8 합의도출... 8 트랜잭션프로세싱... 8 장부입력구조... 8 CREDITS 의장부구조... 9 블록크기... 9 트랜잭션참여자탐색... 9 데이터전송채널... 9 시스템의동작... 10 유효성검사를위해트랜잭션추가하기... 11 트랜잭션비용... 11 4. 스마트컨트랙트... 11 소개... 11 개체... 11 스마트컨트랙트메소드... 12 가상실행서버... 12 가치의단위... 12 스마트컨트랙트조건수행... 12 데이터소스... 13 5. 시행계획... 13 프로젝트시행의기술적계획... 13 CREDITS 가상화폐... 14

요약 CREDITS 플랫폼은피어투피어 (P2P) 원리를이용해참여자들간직접적인트랜잭션이가능한탈중앙화금융시스템입니다. 우리의플랫폼은분산된장부, 자동실행되는스마트컨트랙트, 그리고 CREDITS만의가상화폐를이용하여금융서비스의한계를넘고있습니다. 시스템의목적은모든참여자를한사이트로모아, 금융서비스를창조하고사용할수있는플랫폼을통해모두가서비스를이용할뿐아니라제안할수있도록하는것입니다. CREDITS 플랫폼은명확하고균형잡힌기술시스템을확립하여, 온라인참여자들이상호작용하는새로운금융모델이자기술적솔루션을갖춘첨단탈중앙화금융서비스를시작합니다. 소개 자금이전, 통화와가치간교환, 신용거래, 펀딩과참여자들간의직접적인트랜잭션를가능하게하는서비스전달체제간의완전한피어투피어방식을채택합니다. 우리의원칙에따라서로다른시스템의참여자들간에도중개인의개입이필요없습니다. 결과적으로모두가더욱저렴하고, 빠르고개선된서비스를이용할수있게됩니다. 우리의세상의상호작용은점점사람들간의직접적이고평등한소통으로변화하고있습니다. 이것은가히혁신이라고할수있습니다! 이현상은미디어에서도뚜렷이나타납니다 : 1990년대까지는정보의주요전달자는신문, 잡지와 TV였습니다. 오늘날여론을주도하는것들은유투브채널과소셜네트워크를이용하는블로거들, 크라우드펀딩과 ICO에투자한자금, 그리고탈중앙화클라우드시스템입니다. 금융업계는이러한추세와달리아직까지탈중앙화방식과참여자들간직접적인소통을도입하길꺼려하는몇남지않은부문중하나입니다. 기술적으로는탈중앙화금융시스템의개발이무인자동차를만드는것보다어렵지도않습니다. 분산장부를기반으로하는탈중앙화금융상품과서비스시스템을만들기위해서는그를위한기술적환경이갖추어져야합니다. 1. 빠른실행속도 ( 수초내 ) 로거대한양의트랜잭션를동시에다룰수있는처리능력 (1초당몇만건 ) 를각트랜잭션을 ( 소액결제와비현금트랜잭션등 ) 저렴한가격에제공할수있어야합니다. 2. 이에더해양질의탈중앙화서비스제공에필요한참여자와아이템이모두확보된시스템을개발해야하며, 사용자들의개인화, KYC, 개인신용조회기관, 신용화폐거래소, 가상화폐의인출과현금화기능도필요합니다. 현재피어투피어금융상품의개발을방해하는것은기본적이지만큰과제두가지입니다. 우리는 CREDITS 금융시스템으로이러한과제를해결합니다. CREDITS 단일기술적탈중앙화플랫폼은금융서비스의모든참여자를통합하고, 분산장부의원리를이용하여모든트랜잭션을빠르고안전하게처리합니다. 자동실행되는스마트컨트랙트와연합투표제도의원리를이용하면어떤참여자던다양한금융상품을만들어독특한상호작용을이어갈수있습니다. 이플랫폼은블록체인프로젝트와금융서비스, 그리고속도와거래비용의한계로이용하지못했던다른부문들에게도거대한잠재력이있는시장을열어줍니다.

1. 네트워크장부 정의 1. 시스템이란처리능력을제공, 트랜잭션저장, 스마트컨트랙트의조항을실행하고확인하며외부시스템의프로세싱요청을처리하며요청된정보를제공하는역할을수행하는탈중앙화된노들의집합입니다. 2. 네트워크노드란완전한네트워크클라이언트가설치되어공유시스템에연결되어있으며, 트랜잭션을식별하고장부에기록하는컴퓨터입니다. 3. 장부란시스템이검증한트랜잭션의목록이며모든네트워크노드에저장되어있습니다. 4. 트랜잭션이란시스템의아이템으로, 스마트컨트랙트기능실행요청이나네트워크상의모든행위를의미하며블록체인시스템에그결과가기록됩니다. 5. 스마트컨트랙트역시시스템의아이템으로, 참여자들간상호작용의조건을식별하고지켜지는지확인하는컴퓨터프로토콜입니다. 일반적으로사용자인터페이스를가지며계약성관계의논리를따릅니다. 스마트컨트랙트의주요한특징은그탈중앙화된성격과중심적인소스로부터독립적으로존재한다는것입니다. 6. 스마트컨트랙트메소드란스마트컨트랙트조항의처리결과를계산하고장부에기록하는프로그램코드입니다. 7. 계약당사자는네트워크최종참여자와시스템의이용자입니다. 네트워크노드 우리는접근이무료이며노드간서로연결된탈중앙화네트워크를만들기위해고려하여다양한종류의노드를사용합니다. 1. 공통노드 (ОУ) 는트랜잭션의유효성을조회하는역할에참여하지만최소한의신뢰요인만을가지고있습니다. 또한네트워크가수행하는차기노드역할배정사이클시현재처리노드와신뢰된노드의후보입니다. 2. 신뢰된노드 (ДУ) 란트랜잭션조회에참여하는동시에최대한의신뢰요인 (1) 을가지며, 현재처리와공통노드역할의후보노드입니다. 이노드간노드간수학적으로계산된배정과투표사이클중에는트러스티드가될수없습니다. 수학적계산은노드의수와네트워크의복잡도에따라상이합니다. 3. 네트워크의메인노드 (ГУ) 란조회에참여하는노드이자트랜잭션장부블록에트랜잭션를더하는역할을합니다. 이노드는노드의숫자와네트워크의복잡성에따라수학적으로계산된횟수의사이클동안은신뢰된노드나현재처리노드가될수없습니다. 시스템은신뢰요인 ( 네트워크의전체노드 +1의숫자에서신뢰된노드의갯수비율인, 0과 1 사이의분수로표현된가치의절댓값 ) 을이용합니다. 신뢰된노드의수는네트워크의모든노드중 50% 를넘길수없습니다. 마지막으로저장되는블록 블록의공통장부 (CRB) 는모든시스템노드간의전체공통장부가동기화된상태입니다. 장부블록컨텐츠란, 이전블록의해시코드를담은정보의단위와, 이전블록의관련번호를지닌이전장부에관한데이터의리스트입니다. 다른노드에서블록을받은후에는, 번호에따라블록의공통장부에자리를잡습니다. 이는네트워크대역폭을절약합니다. 동기화과정중블록번호만먼저검사합니다. 이노드에서블록이누락되어있으면다운로드하여저장합니다.

결과적으로, 어떤시점에서던장부의최신업데이트본을가지고있게됩니다. 우리는이것을마지막장부 (LR) 라고합니다. 합의가이루어지고나면이는장부를생성한노드가이를자동으로생성합니다. 이블록은시스템의노드가모두일제히가장최신의장부를가지고있을수모든시스템노드에전송됩니다. 각노드는네트워크의다른노드와연결되어있으며트랜잭션이있는새로운블록을지속적으로교환하여관련정보를관리합니다. 모든블록은장부에추가되기를기다리는트랜잭션후보를선정합니다. 동시에각서버는다른서버와제안된트랜잭션의집합을위해후보를가정하여집합을구성합니다. 확인후에는장부에추가할지결정합니다. 결과적으로, 다수의서버에장부데이터를여러번저장하는것이가능해지고, 시스템노드와정보를모두보호할수있습니다. 시스템에노드가많을수록안정적이고, 독립적입니다. 노드의동기화 각노드는정의가결정되고신뢰성확인을거친뒤동기화됩니다. 정보의처리속도를높이기위해모든프로세스는서로독립적으로동시에처리됩니다. 외부에서유입되는변수가없으면빈장부가 ( 간소화된접근을위해보유된 RAM 공간 ) 생성됩니다. 필요한장부가없는경우에는신뢰할수있는노드에요청하여동기화된계정의트랜잭션을처리하도록합니다. 입력된매개변수가트랜잭션을정의하는오브젝트일경우, 모든동기화스레드가검색을시작합니다. 이러한과정으로신뢰된노드장부의위치번호를나타내는숫자번호나, 가치가 0보다작게나올때의오류번호를출력합니다. 스레드방식이연결오류로끝나는경우에는스레드가완전히종료됩니다. 2. 네트워크합의제 CREDIT 의합의제는집단의사결정방식을채택합니다. 우리는모든네트워크가허용하는최종 솔루션을개발솔루션을개발하는것이목표입니다. 합의제비교 기타합의제와비교하기위한 CREDITS 탈중앙화장부의원리정의 : 장부가용성 ( 노드는장부에언제든데이터를기록하고받을수있습니다 ); 모든참여네트워크에의해변경가능 ; 시스템노드사이의일관성 ( 모든노드는모두완전히같은버전의장부를보게되며, 장부변경시에는업데이트를받습니다 ); 분리에대한저항성 ( 하나의호드가작동하지않아도전체장부의작동에는영향을주지않습니다 ). 비교하는매개변수 CREDITS 의 PoW 와 PoC PoW PoS 블록을생성한노드의식별원리 수학함수의계산마지막 장부사본의저장확인 다양한복잡성을지닌수학함수의반복계산수행 참여자 ( 경합노드 ) 간최대스택검색

Attack 51%. 매우희박합니다. 신뢰된노드는역동적으로선택되고, 자원을완전히갖춘장부와계산을할만한컴퓨터처리능력이필요하기때문입니다. 가능하지만, 자원사용측면에서기회비용이많이듭니다. 가능하지만자신의스택을키워야하기때문에비용이많이듭니다. 장부 / 블록체인에추가하는작업을수행한사이트에대한보상 자동으로산정되며, 작업당요금에따라변합니다. 블록마이닝에부과하는고정된요금 블록마이닝에부과하는고정된요금 메인네트워크노드의개념 모든네트워크는탈중앙화되어있으며노드간우선순위가없습니다. 다른네트워크노드에저장된트랜잭션의큐를처리하기위해네트워크노드를정의해야합니다. 그이후에는장부에새롭게생성된트랜잭션블록을등록해야합니다. CREDITS 플랫폼은자체프로토콜을이용하여트랜잭션의처리속도를높이고, 데이터저장, 처리와트랜잭션의안전성을높입니다. 이프로토콜은모든장부트랜잭션의수학함수의계산결과에기반하며, 작업증명원리를적용합니다. 해시코드, 즉가치의검사합을계산하여가장최신버전의장부와노드의소프트웨어를정확히밝힙니다. 이에더해파일의용량도알아내어, 가장최근에이루어진시스템상트랜잭션에대한가장최신에업데이트된사본과해시코드임을증명합니다. 메인네트워크노드가되기위해서, 마지막으로저장된장부에기반하여노드는해시함수의값을검색합니다. 우리는네트워크끼리새로운장부를생성하고저장할수있는메인노드가되기위해건전한경쟁을펼치는환경을조성합니다. 함수를계산하여얻은결과는검증을위해모든네트워크노드에전송됩니다. 결과는계산의타임스탬프와장부파일과소프트웨어함수의계산을한값을포함합니다. 모든노드는계산된값을받은후, 메인네트워크서버를위한검색에배당된시간을비교한후검증한후노드의신뢰요인을확정하고, 메인네트워크노드로경쟁에참여할수있는기회를제공하기도합니다. 모든네트워크노드의승인을받은후에는, 타임스탬프가포함되어있고, 함수의값을정확히계산한노드의리스트를만듭니다. 올바른값을받고가장빠른시간내에승인한노드는그순간의메인네트워크노드가됩니다. SHA2 알고리즘개념을이용하여파일의해시합계를계산합니다. SHA2 계열의해시함수는 Merkle Damgard 구조를기초로개발됩니다. 추가뒤의초기메시지는블록으로나누어져있으며, 각블록은다시 16개의단어로나누어집니다. 알고리즘은각메시지를 64개나 80개의반복과정이있는사이클에돌립니다. 각반복에서두개의단어가변환되고, 나머지단어는변환함수를정의합니다. 블록프로세스의결과가요약됩니다. 그합계가해시함수의값이됩니다. 그러나내부상태는이전블록처리의결과에따라초기화됩니다. 따라서블록을서로독립적으로처리하고그결과를합하는것은불가능합니다.

네트워크노드의장비 우리가가장빠른트랜잭션처리특성을가진플랫폼을구축하기위해, 가장좋은상태 ( 고성능의서버장비와가장넓은인터넷대역폭 ) 을가진메인네트워크노드에게는물질적인인센티브를제공합니다. 메인네트워크의인센티브는 CREDITS 처리장부의트랜잭션요금에따라책정되는화폐보상입니다. 나머지 (1/2) 는사용자지원, 현재기능및신제품개발등을위한전반적인프로젝트개발예산으로사용됩니다. 이비율은변할수있으며, ICO 이후 3년간네트워크노드의연합투표에의한비율책정시스템으로쪼개질수도있습니다. 결괒거으로, 우리는서버소유자들이자신의서버하드웨어성능을관리하고, 양질의고속통신채널을유지할것을권장합니다. 합의도출 따라서, 우리는모든노드가합의하여메인네트워크노드를선택하도록합니다. 메인노드의주요작업은다음과같습니다 : 후보상태의트랜잭션을구하여모든노드의장부에추가하고, 처리하며, 마지막유효장부를구축하며모든네트워크노드에새로운장부를전송합니다. 트랜잭션처리의과정과마지막유효장부의구축모두합의솔루션을요구합니다. 마지막유효장부의구축결과가곧합의로도출된솔루션입니다. 그과정은다음의단계로나눌수있습니다 : 1. 메인네트워크노드탐색 ; 2. 신뢰된노드구축 ; 3. 트랜잭션목록을수신하고장부에추가할후보의목록생성 ; 4. 후보의목록을처리하고, 노드투표실시 ( 신뢰된노드와공통노드는신뢰요인으로인해서로다른가중치를부여받음 ); 5. 후보자의목록에서검증되지않은트랜잭션이나거부된트랜잭션제거 ; 6. 장부에추가될검증된트랜잭션목록생성 ; 7. 장부에보유한블록의해시코드와타임스탬프가붙은트랜잭션추가 8. 네트워크노드전체에트랜잭션을보유한블록전송수신후에는, 노드의레지스트리에추가됩니다. 장부의개발과개시 이과정은다음의단계를거칩니다 : 1. 네트워크의최종사용자가트랜잭션을생성합니다. 2. 스마트컨트랙트의모든조건이충족되면, 올바른방법으로플랫폼소프트웨어를이용해사용자는동작 ( 트랜잭션 ) 을개시합니다. 3. 블록체인의기본원리를따르기위해서, 유효성검사기의핵심이동기화와장부의업데이트상태를계속하여확인합니다. 4. 합의를도출하는과정에서는, 사이클중수신된모든트랜잭션은블록에수집됩니다. 5. 블록에는타임스탬프와해시코드로변환된노드식별자가붙여지며, 그후합의모듈에배치됩니다. 6. 후보자화이트리스트를만든후에, 트랜잭션의해시뿐아니라블록의해시까지장부에기록하여언제든지트랜잭션의소스를찾을수있도록합니다.

7. 이해시는블록과, 트랜잭션으로이블록을만든사람의서명역할을합니다. 8. 연합검색알고리즘을통해합의를구축한후, 블록에추가된트랜잭션은장부에기록되기위한 전단계로, 유효성검사기의커널로전송됩니다. 레지스터에포함되지않은트랜잭션 준비된트랜잭션목록에포함되지않은트랜잭션은거부된것으로표시합니다. 이정보는즉시트랜잭션의발송자 ( 실행인 ) 단계에서드러납니다. 장부에포함되지않은트랜잭션은후보군으로남으며네트워크노드에저장됩니다. 서버가합의도출을할동안수신한새로운트랜잭션또한이곳으로보내지며, 검색프로세스가다시시작됩니다. 네트워크의이러한지속적인순환형태는짧은시간내트랜잭션을처리함과동시에높은수준의신뢰도와정보의적시성을보장합니다. 3. 트랜젝션프로세싱 트랜젝션 트랜잭션이란컨트랙트방식이나계정간스마트컨트랙트없이이루어진거래를플랫폼에보고하는 시스템의최소단위로, 그결과는피어투피어네트워크에배치됩니다. 합의도출 시스템은합의를도출하기위해연합모델을 ( 신뢰된유효성검사기노드의투표와, 유한상태자동화의통로인합의도출알고리즘 ) 사용합니다. 합의는사이클로 ( 시간단계 ) 이루어지며, 각시간단계마다트랜잭션은풀에배치됩니다 ( 일차원배열 ). 풀에배치된모든트랜잭션은응답을받기위해신뢰된노드로보내집니다. 응답이수신되면, 추가되길요청한트랜잭션은이유효성검사기의장부에추가될수있습니다. 그후에는, 네트워크의다음유효성검사기로전송됩니다. 전송의유효성이완전히검증되는체인의끝에서합의가도출되고나면, 트랜잭션은타당성검증이되어장부에기록되고저장되기위한표시를붙여전송됩니다. 트랜잭션프로세싱 시스템이탈중앙화되기위해서는, 각서버는장부와스토리지를갖추어야하며, 모든트랜잭션을완벽히처리할수있어야합니다. 시스템은시스템커널개념을사용합니다. 커널이란, 남은시스템요소의가용성이나작동성과상관없이특정생산태스크를수행하는데이터의다루개를의미합니다. 각커널은입력단계에서, 태스크가실행되는시점에서프로세싱할변수의목록을받습니다. 그리고항상출력단계에서긍정, 기타, 오류로결과를나타냅니다. 따라서시스템커널은항상메인데이터집합과함께응답코드를가지고보유하고있습니다. 이러한구조는서로독립적으로실행되는각프로세스가최고속도로처리되기위해필요한것입니다. 장부입력구조 보안을유지하면서도장부의성능을높이기위해서, 우리는이전블록의해시코드와트랜잭션결과로이루어진 Merkle 트리가없는장부데이터베이스를제안합니다.

Merkle 트리 (TTH Tiger Tree Hashing) 는데이터의무결성을검사하고, 체인의고유식별자를구하거나시퀀스를복원하기위해사용되는해시함수의일종입니다. Merkle 트리에서데이터는 Leaf Tiger Hash를이용해개별적으로해시된블록으로쪼개어지며, 각해시짝의 Internal Tiger Hash를하나하나계산합니다. 해시가짝이없으면, 변경되지않은채새로운체인으로전송됩니다. 그다음, 각짝의 Internal Tiger Hash가다시계산됩니다. 이과정은해시가하나남을때까지반복됩니다. Merkle 트리를이용해운영된장부는트랜잭션처리속도가매우느리며컴퓨팅처리능력에대한부담은매우큽니다. 우리의생각으로는, 이는합리적인데이터저장방법이아닙니다. CREDITS 의장부구조 우리는 Merkle 트리를사용하지않고, 모든입력사항이후보목록과장부에추가되기위한트랜잭션블록의해시코드를포함하고있는, 트랜잭션블록 CREDITS 시스템의트랜잭션장부를이용하고자합니다. 또한입력사항은노드의식별자와생성된시기의타임스탬프를가지고있습니다. 장부항목에는트랜잭션의방향, 초기및최종계정, 대손상각단위의수, 입금의유형및입금단위의수가있습니다. 이원리는트랜잭션처리의속도를높이고, 불법장부변경을하기어렵게하며, 장부항목의뒤늦은변경을불가능하게만들어줍니다. 블록크기 시간의단위는메인노드와신뢰된노드를탐색하기위한사이클이며, 사이클의시간은네트워크의복잡도에따라다르게계산됩니다. 각시간단위당, 네트워크는생성되어처리를위해네트워크에전송된트랜잭션 N개를보유하며이는이전사이클의끝부터다음사이클의시작까지진행되어, " 장부에추가되기위한후보 " 의상태가됩니다. 네트워크 N에서선택된트랜잭션이블록에배치됩니다. 블록의용량은트랜잭션의수에따라달라집니다. 트랜잭션참여자탐색 CREDITS 피어투피어네트워크는사용자계정은꼭지점으로, 가능한수많은트랜잭션을두꼭지점을잇는방향이정해진테두리선으로표현된그래프로나타낼수있습니다. 모든테두리선은시작점과끝점이있으므로, 항상방향지향그래프 (ograph) 를만들수있습니다. 다음을식별의조건이라고두면 : 모든트랜잭션에는발신자와수신자가있습니다. 모든꼭지점 ( 계정 ) 은항상방향성있는테두리선 ( 트랜재션 ) 으로다른꼭지점으로연결될수있습니다. 그래프의모든꼭지점 ( 계정 ) 은유한한수의방향성있는테두리선 ( 들어오고나가는트랜잭션 ) 을가지고있습니다위의내용으로미루어보았을때, ograph가트랜잭션조건을만족시키고단순한체인을형성하기위한루트를가지고있다는것을알수있습니다. 꼭지점은유한한시퀀스로이루어져있으므로, 각꼭지점은 ( 마지막을제외하고 ) 테두리선에의해다음꼭지점과연결되어있습니다. 데이터전송채널 CREDITS 네트워크에서메인네트워크노드와공통노드사이에이루어지는통신채널은서로구분된 스레드로 ( 멀티스레딩기법 ), 트랜잭션실행시데이터는암호화된형태로전송됩니다.

네트워크의안전성을보장하기위해, 유효성검사기노드간모든데이터는암호화형태로전송되며, 노드간의연결은일정수준네트워크라이브러리를기반으로합니다. 데이터전송중오류가발생하면자동으로스레드가방해되고, 해당항목은로깅시스템, 그리고그이후에는로그파일에쓰여집니다. 데이터는전형적인변수를통해전송됩니다. 전송된데이터는대칭 RC4 알고리즘을이용해암호화됩니다. 이알고리즘은공통비밀키아래움직이므로, 노드끼리연결되면키가전송되며 DiffieHellman 알고리즘으로암호화되어출력됩니다. RC4 알고리즘은여느스팀암호화같이의사랜덤비트생성기를기반으로구축됩니다. 키가생성기의입력으로쓰이고, 의사랜덤비트가결과로출력됩니다. 키의길이는 40에서 2048 비트까지이릅니다. 생성된비트는동일하게분포합니다. DiffieHellman 알고리즘은리스닝으로부터자유롭지는않지만통신채널변경으로부터는보호된채널을통해두참여자가공통비밀키를수신하게해줍니다. 수신된키는대칭암호화를이용하여메시지를교환하는데이용합니다. 알고리즘은개별로그컴퓨팅의복잡성에기반합니다. 공개키를가진많은알고리들과같이그안에서는, 특정큰소수 P까지모듈로계산이실행됩니다. 첫번째로, P보다작은특정자연수 A가특별한방식으로선정됩니다. X를암호화하기위해서는 Y = AX mod P를계산합니다. X를통해 Y를계산하는것은쉽습니다. 그러나역으로 Y를통해 X를계산하는것은다소복잡합니다. 지수 X는이산대수 Y라고합니다. 따라서, 이산대수 Y를산출하는것의복잡성을알면, 모듈러스 P가크다면초기값 X를찾기거의불가능하기때문에 Y를어떠한통신채널에서도공개적으로전송할수있습니다. 키를생성하기위해사용되는 DiffieHellman 알고리즘은이러한수학적사실에기반합니다. 시스템의모든동작은타임스탬프, 이전블록의번호, 사용자의로그인과스마트컨트랙드 ID와연계됩니다. 이를통해실행중복제품을찾을수있습니다. 복제품을발견하면, 풀에서트랜잭션을제거하고, 나머지는위법으로간주합니다. 시스템의동작 시스템의동작이란합의탐색하부조직의솔루션을찾기위해계정간교환이나컨트랙트방식을유효성검사기로전송하는트랜잭션입니다. 같은블록내동일한식별자를가진트랜잭션이없도록시스템은처리를위해유효성하부조직으로보내진트랜잭션이진위의유일한트랜잭션이라는협약을받아들입니다. 이미유효성검사기시스템에는트랜잭션이현재거래에서발생했다는사실이기록되어있고, 트랜잭션을수행할값들이계정에남아있지않기떄문에다시합의를도출할수없습니다. 이로써이중폐기물의문제가해결됩니다. 트랜잭션이실행되면, 그정보는유효성검사기로보내져검증을받으며, 장부의변화에관한정보를자동으로신뢰된목록의노드들에게보낸후, 장부가동기화됩니다. 현재유효성검사기노드를위해모든신뢰된노드가최신의트랜잭션장부를가지기위해서는, 모든노드끼리새로시작된트랜잭션에매번동기화해야합니다. 이문제를해결하기위해, ( 그러한기회가있는경우 ) 동기화를위한별도의포트가사용되어야합니다. 이러한기회는포트에가해지는부하를분산해유효성검사기커널에유입되는정보의처리속도를높입니다. 동기화스레드는항상주기적으로실행됩니다. RAM과 (CPU 사이클을이용한 ) CPU 부하할당의우선순위는평균보다낮습니다. 메모리가대신하여 ( 동시알고리즘으로암호화된형태인 ) 마지막 1,000개의작업과계정의상태를저장하며, 이는다른유효성검사기노드의요청의처리속도를높입니다.

유효성검사를위해트랜잭션추가하기 장부에트랜잭션을추가하는것은합의도축과장부에추가할트랜잭션의결과가담긴화이트리스트를만든후즉시유효성검사하부조직으로부터불려옵니다. 보안성을개선하기위해외부시스템이불러오는것은불가능합니다. 유입되는매개변수- 트랜잭션을특정짓는개체입니다. 결과의값인 ResultValue<0 실행은오류로중단되며, 결과값은 possible error code / 0 < ResultValue 함수는오류없이실행되었으며, 결과는장부항목의번호입니다. 유입매개변수- 트랜잭션의고유레이블, 발신자, 수신자, 전송된값, 가치의대응값, 목표값, 전송된가치의양, 목표값의양과필요시변경할수있는시스템정보를보유한개체입니다. 트랜잭션비용 시스템이사용하는 CREDITS 통화는다음과같이쓰입니다 : 시스템이용에대한내부지불수단 ; 시스템내다른통화와의교환할시 ; 시스템내다양한가치를교환할시 ; 스마트컨트랙트로제어되는작업을생성하고처리하기위해 ; 시스템내의서비스를위해외부소스에게서정보를구입할때 ; 트랜잭션의비용은, 이론적으로피크타임에많은양의트랜잭션의흐름을관리할수있는시스템의특정사용자가부담하는네트워크부하에따라달라집니다. 우리는시스템사용자들에게물질적인혜택을제공하여네트워크부하를조정하도록유도할것입니다. 시스템운영의첫 3년동안은트랜잭션을실행하는비용은트랜잭션과작업의종류에따라개별적으로책정될것입니다. 미래에는, 트랜잭션의비용을자동으로계산하는알고리즘이개발될것입니다. 4. 스마트컨트랙트 소개 CREDITS 시스템의스마트컨트랙트는실제세계와디지털시스템의동작과사건을연결한조건들의집합을나타내는전자알고리즘입니다. 자동제어되는스마트컨트렉트를실행하기위해, 인간의개입을완전히배제한탈중앙화환경이필요하며, 스마트컨트랙트의비용을전송하기위해서는중앙권력기관이없는독립적인가상화폐가필요합니다. 개체 CREDITS 스마트컨트랙트는다음의개체를포함합니다 : 1. 속성 ( 공개변수 ) - CREDITS 시스템의컨트랙트가작동하기위해필요한공개데이터를저장하는개체입니다. 2. 메소드는트랜잭션수행시로직과동작의시퀀스를관측하는 CREDITS의시스템개체입니다. CREDITS 시스템의참여자들은조건준수와협력사실을검증하는프로세스를실행하여컨트랙트속성을변경하는메소드를호출하여스마트컨트랙트에서명을하고,

스마트컨트랙트는참여자들이서명한후효력을발휘합니다. 명시된의무가자동으로이행됨을보장하기위해, 컨트랙트조건을완전히자동으로실행되는존재환경이필요합니다. 이는스마트컨트랙트가스마트컨트랙트항목의실행가능한항목에방해받지않고접근할수있는환경에서만존재할수있다는의미입니다. 컨트랙트의모든조건은수학적설명과명확한실행로직을갖추어야합니다. 즉, 스마트컨트랙트의주요원리는완전한자동화가참여자간계약관계에대한신뢰입니다. 스마트컨트랙트메소드 CREDITS 스마트컨트랙트메소드는로직과트랜잭션중의동작 ( 컨트랙트의동작 ) 에대한준수를책임지는시스템개체입니다. 동작의로직과시퀀스는명령어를가진프로그램코드 ( 모듈 ) 로표현되며, 순차적실행으로목표값에도달합니다. 이코드는시스템명령 ( 예를들어할당명령 ), 사용자명령 ( 별도로작성된함수 ), 계약속성 ( 어떤컨트랙트메소드에서도정적혹은동적으로초기화된변수, 그리고주인과연결된 ( 제3자 ) 컨트랙트끼리만연결하는기타외부계약의메소드를다룹니다. 대중화를위해이는다양한스크립팅언어 (JavaScript) 로제공됩니다. 메소드 ( 프로그램코드 ) 는다양한스크립팅언어연산자 ( 명령어 )( 할당, 조건부및무조건점프 ), 함수의생성과절차 ( 서브루틴 ), 제3자라이브러리간연결을허용합니다. 가상실행서버 CREDITS 시스템의컨트랙트메소드는시스템의가상환경 ( 가상서버, 이하 VM) 을통해실행됩니다. 특정컨트랙트를위해메소드가호출되면, VM이메모리공간을할당하고메소드와초기화된변수 ( 혹은다른컨트랙트메소드를불러올때재정의된변수 ) 를가진컨트랙트바이트코드를로드합니다. VM이메소드바이트코드를처리하기시작하고, 런타임시변수와코드가메모리공간으로로드되며, 명령이실행되고결과는장부에배치되기전피어투피어네트워크로전송됩니다. 실행메소드를개시하는사람은시스템의사용자로, 그의대행으로메소드가실행됩니다. 가치의단위 CREDITS 가상화폐는완전히다른두단위의가치를비교할때상대적인값을나타내기위해, 그리고계약당사자들간합의를도출할때혹은컨트랙트를실행하거나허락할때사용됩니다. 가치 / 게이트웨이조합을모두등록하기보다 CREDIT 가상화폐를사용하며다른단위가치간교환을할때용이합니다. 이는 CREDITS 화폐에대해어떤가치도유동성을가질수있기때문에가능하며, 이는곧다른단위의가치끼리모두서로에대해유동성을가칠수있다는의미입니다. 스마트컨트랙트조건수행 CREDITS 시스템의컨트랙트조건은컨트랙트를종결 ( 완성 ) 하기위해필요한 ( 확인된 ) 트리거필드의값입니다. 스마트컨트랙트조건의이행은트리거 ( 목표 ) 필드가목표값과일치하는지여부를확인하는절차입니다. 컨트랙트조건을충족하는방법에는 3가지가있습니다 :

1. 컨트랙트가가치의이동후 2명이상의당사자사이에서종결됩니다. 이경우에, 컨트랙트의이행은이전하는당사로부터수신하는당사자에게전송되는가치와일치하는비용의제공입니다. 2. 컨트랙트는가치의이전후당사자들간에는종결되지만, 비용지불은몇가지의조건을충족한뒤이루어져야합니다 ( 예를들어, 수신하는당사에게까지전달되어야합니다 ). 3. 시스템에는한가치를 CREDITS의형태로변환하는컨트랙트가배치되어있습니다. 이경우, 플랫폼은다른컨트랙트내변환이이루어질시최단의경로를탐색합니다. 컨트랙트의완료는트랜잭션하나당, 혹은트랜잭션여러개당제공되며, 이는컨트랙트를완료하기위한단위가치의양의채울기회를제공합니다. 데이터소스 CREIDTS는정확하고최적화된작업과정보를추가적으로제공하고확인하여균형잡힌최적의솔루션을위해외부데이터제공자를사용합니다. 시스템에추가데이터소스를도입하는이유는계약당사자들에대해공개된정보가적은문제를해결하기위함입니다 ( 예를들어, 대출자의신용상태를확인할경우필요합니다 ). 외부정보시스템과협엽하기위해, 플랫폼은 integration bus를이용하여원격으로외부시스템의데이터전시포맷으로요청을넣으며, 참여자들에게 CREDITS 로비용을지불합니다. 이요청은표준의것과다르게정보시스템에서제공하는포트와주소로암호화된형태로보내집니다. 요청의결과는결정을내리는데필요한정보를포함서비스에대한모든응답, 혹은목표한대답의수신을방해한오류코드와그오류를해결하기위한절차에대한안내일수있습니다. 5. 시행계획 프로젝트시행의기술적계획 S1 S2 S3 S4 S5 프리알파알파베타 Release candidate 출시 스토리지, 합의 FA : 키 mfa : 키 mfa mfa 합의 디자인 디자인 최적화 실행 실행 n Pow (Proof of Wor k) 와 PoC (Proof of C apacity)

데이터저장소장부탈중앙화, 메시지팩 블록체인 NoSQL 스토어 히스토리 백업 시행 CVM 서버 ) (Credits 가상 디자인과실행생태계와의통합최적화오류확인 제3자시스템 디자인과실행 완전한시스템 통합 최적화 추론엔진 형식명세서와 블록체인과 Reasoner 키디자인 Reasoner 최적화 요소 통합 사용자인터페이스 실행 웹 UX 디자인 월렛 월렛형식명세서 UX 디자인 어플리케이 션시험 Android, ios, 데스크톱월렛 RPC & REST API 형식명세서 블록체인 익스플로러 제3자익스플로러 CREDITS 가상화폐 시스템의릴리스버전을출시한후, 1,000,000,000 CREDITS 라는고정된양이발행될것입니다. ERC20 표준토큰으로구매할수있으며, 초기토큰세일에서지급됩니다. 이는고정된교환률로거래될것입니다 : 1 ERC20 표준토큰 = 1 CREDITS 화폐단위 번역본관련고지사항 해당번역본의 2 차저작권은 SolidLiquid 에게있으며, 1 차저작권자이외제 3 자및단체의상업적사용, 무단수정및복제를금지합니다. 무단사용시관련법에의거하여처벌받을수있습니다. 해당문서의모든내용은영문원본의내용이번역본보다우선합니다. 해당번역물은투자권유의목적이없습니다. 투자자의이해를돕고자번역된문서입니다. 문의사항은이메일 (teamsolidliquid@gmail.com) 으로문의해주시기바랍니다.