IoTon Technical Paper_KO_v1.0

Size: px
Start display at page:

Download "IoTon Technical Paper_KO_v1.0"

Transcription

1 Version 1.0 Sep 14, 2018

2 Contents IoTon 블록체인소개 1. IoTon블록체인개요 1. 분산공유원장 2. 데이터베이스구조 DAG(Directed Acyclic Graph) 2.1 DAG의배경과발전과정 2.2 DAG의특징 2.3 DAG의수학적증명 2.4 합의와이중지불판단 합의모형 (PBFT + DPoS) 3.1 PBFT 3.2 DPoS 3.3 Tendermint 3.4 IoTon의컨센서스구성 Smart Contract system 4.1 인공지능기반트레이닝모델 Smart Contract 2.0 구현 AI 기반의안전한 Smart Contract 실행 AI 스크립트모델에기반한보안 Smart Contract AI에기반한위탁거래 AI에기반한멀티플렉싱 (Multiplexing) 거래 4.2 보안성을가진 Smart Contract의실현 4.3 보안성을가진 Smart Contract의디지털자산지지 4.4 Smart Contract의확장 4.5 Smart Contract 다중언어생성지원 Wallet 6. Cross Chain Gateway 7. 보안매커니즘 8. 서비스소프트웨어아키텍처

3 IoT Platform 1. IoT SDK Structure 2. IoT 기기인증 3. IoT SDK 프레임워크구조상세설명 References 책임면책성명

4 IoTon 블록체인소개 4

5 IoTon 블록체인소개 1.IoTon 블록체인개요 1. IoTon 블록체인개요 IoTon 은사물인터넷 (Internet of Things, IoT) 기반의서비스플랫폼으로프라이빗블록체인과퍼블릭블록체인둘 다를포함하여구성되어있으며개발지원용 SDK(Software Development Kit) 를제공한다. IoTon 은세개의하위 플랫폼인 IoT 플랫폼, 서비스플랫폼과퍼블릭플랫폼 ( 코인플랫폼 ) 으로구성되어있다. 그림 1. IoTon platform 구성 5

6 IoTon 블록체인소개 1.IoTon 블록체인개요 IoTon은기존기술과최신기술을모두사용한다. 기존데이터기술을이용하여현존하는데이터베이스와유사한테이블을생성할수있다. 새롭게개발된분산원장기술과가상머신기술을이용하여신속한데이터변환과동기화를용이하게한다. 프라이빗블록체인 (IoT 플랫폼 ) 은사물인터넷과관련된보안을담당한다. 서비스플랫폼은사물인터넷통제와모니터링기능들을제공한다. 코인플랫폼 ( 퍼블릭블록체인 ) 은토큰경제시스템을구현하기위하여설계된자체적인코인플랫폼이다. IoTon의이러한구조는 HIPP(Hyper Integration of the Private and the Public) 네트워크구조라고명칭된다. 1 그림 2. IoTon HIPP network structure 각플랫폼의기능들은아래에자세하게설명되어있다. 1 Hyper Integration of the Private and the Public 은 개인적인것과공적인것의초통합 으로이해될수있다. 6

7 IoTon 블록체인소개 1.IoTon 블록체인개요 IoT 플랫폼 (The Private Blockchain, 프라이빗블록체인 ) - IoT 기기들을통합 SDK를통하여엠베드된노드들과연결한다. - IoT 기기들을암호화된개인키와공개키를사용하여이용한다. - 사용자서비스를편리하게하기위하여가상머신을운영한다. - DAG(Directed Acyclic Graph 방향성비순환그래프 ) 를사용하여거래비용을거의무료화하고속도를극대화한다. - 인공지능으로 IoT 장치사용패턴을분석하여사용자환경을개선하는서비스를개발한다. 서비스플랫폼 - 프라이빗네트워크에서생성된 UX 데이터 (User Experience Data) 를데이터베이스관리시스템 (DBMS-Database Management System) 에저장한다. - Shared Cloud DB: 퍼블릭블록체인의공유클라우드에저장될 DBMS의데이터를추출한다. - 관리자서비스 : 장치관리, 제어, 청구, 보상서비스를룰엔진 (Rule Engine) 을통해운영한다. - 개인키를분실하거나잊어버렸을때복구한다. 코인플랫폼 (The Public Blockchain, 퍼블릭블록체인 ) - 퍼블릭블록체인은 IoTon 토큰발행, 거래, 전자지갑서비스를지원한다. - 프라이빗네트워크에등록되어있지않은가상머신들을연결한다. - DAG(Directed Acyclic Graph 방향성비순환그래프 ) 를사용하여거래비용을거의무료화하고속도를극대화한다. 7

8 8

9 1. 분산공유원장 1. 분산공유원장 IoTon은 DHT(Distributer Hash Table) 를적용한분산형 P2P 저장기술을사용한다. DHT는분산저장프로토콜및파일의내용이색인된데이터를포함한대용량파일을고정된용량의데이터로분할한뒤여러노드에분산하도록지원하는기술이다. 각서버노드에는전체파일또는전체조각이없고부분색인의정보만기록되어있다. 따라서단일서버를해킹하더라도전체파일은확보할수없다. 전체파일데이터는분산스토리지에저장되며, 분산된스토리지에서색인테이블기능을통하여데이터의진위여부를파악할수있다. 브릿지모듈을통해데이터의중복성과신뢰성을한번더검증하여데이터의무결성과전체보안을추가적으로강화한다. 9

10 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 2. 데이터베이스구조 DAG (Directed Acyclic Graph) IoTon 은 DAG( 방향성비순환그래프 ) 를분산원장의구조로사용한다. 2.1 DAG 의배경과발전과정 수학및컴퓨터과학분야에서사용되는 DAG는루프가없는방향을가진그래프이다. 그것의우수한구조적인특성덕분에 DAG는확장성확대를위한블록체인진화의중요한방향이되었다. 비트코인으로대표되는블록체인 1.0은최초로분산화된네트워크에서합의를성공적으로이루어내며수천개의뒤따라온암호화폐들의청사진을제공하였다. 이더리움으로대표되는블록체인 2.0은프로그래밍이가능한 Smart Contract를도입하며암호화폐의응용시나리오들을크게확대했다. 그러나현존하는블록체인기술은수행능력에있어서명백한병목현상을나타내고있다. 비트코인은이론적으로 7 TPS( 초당거래량 ), 이더리움은 15 TPS를지원한다. 반면에금융계의대표라고할수있는 Visa는평균적으로 2,000TPS를지원하며처리속도가최대일때는 56,000 TPS를지원한다. 진정으로사람들이매일사용할수있는파이낸셜시스템이되기위해서블록체인은여전히갈길이멀다. 이런상황에서고동시성 (high concurrency) 을지원하는타고난특징을가진 DAG는블록체인의현존하는확장성문제를효과적으로해결할것으로기대되어블록체인 3.0 기술의핵심으로부상하였다. Byteball과 IOTA는 DAG에기반한분산원장솔루션들을제안했다. Byteball은 12개의명예노드들을시스템의증인들 (Witnesses) 로도입하였다. 이증인노드들은 DAG의메인체인을결정하기위하여자주트랜잭션들을퍼블리싱 (Publishing) 하고트랜잭션순서와이중지불판단을완료한다. IOTA에서각트랜잭션의퍼블리셔들은트랜잭션을퍼블리싱하기위하여약간의작업증명 (Proof of Work) 를수행해야한다. 트랜잭션은누적가중치 (cumulative weight) 에의해서확정된다. Byteball과 IOTA 중누구도진정한탈중앙화를실현하지못했다. Byteball은증인들이일반사용자들에의해서선택된다고명시한다. 하지만사용자들은플랫폼설계의한계로증인들을선출할자유를실질적으로거의가지지못한다. 결과적으로증인들은플랫폼의운영이시작된이래로한번도교체된적이없다. 또한 Byteball의합의진행알고리즘은수학적증명이부족하여해석적으로애매모호함을지니고있다. 이때문에합의가원활하게진행되지않으며극단적인경우에는오류들이발생할수있다. IOTA에서는명확한보안한계점이제시될수없다. 현재 10

11 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 네트워크에참가하는사용자들의제한된숫자때문에악성공격들이효과적으로방어될수없다. 이러한이유로 IOTA 재단은거래확정을위해서매우중앙화된코디네이터 (Coordinator) 를운영하기시작하였고이것은 블록체인의탈중앙화라는설계이념으로부터의이탈을의미했다. Tendermint 와 DAG 에기반하여, IoTon 은탈중앙화된조건들에서도효율성과보안성을모두갖춘 DAG 합의를 도출해낼새로운하이브리드합의모형을설계하였다. DAG 합의와그토대가되는합의모듈들은 2.4 와 3 에 자세하게묘사되어있다. 2.2 DAG 의특징들 정의 : 임의의정점 v V에대해방향성그래프 G = (V, E) 에서경로 p = (e 1, e 2,... e n ); e i E는존재하지않는다. e i E이므로 v에서 v로되돌아간다. 그러면 G는방향성비순환그래프 (DAG) 라고부른다. 기존블록체인과달리 DAG 에는블록개념이없거나각트랜잭션을단일블록으로이해할수있다. IoTon에서 DAG의각정점 v는하나의특정트랜잭션이며노드라고한다. 지시된쪽 e는트랜잭션간의부모 - 자식참조관계를보여주며우리는이관계를나타내기위해 부모, 자식 이란용어를사용한다. DAG는하나의트랜잭션이동시에부모노드로서둘이상의부모를인용할수있게하며, 둘이상의자식노드에의해인용될수도있게한다. DAG의원장구조는그림 3에묘사되어있다. 그림 3. DAG 구조 11

12 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 본질적으로블록체인은 2개의계층을가진시스템이다. 트랜잭션이생성되고확산될지라도분산원장의일부가될수없다. 채굴자들 (Miners) 이트랜잭션을모아블록에넣었을때만인정될수있다. 채굴자가블록을생성할필요가있기때문에채굴자의처리능력의한계는블록체인의병목현상을야기한다. 즉, 블록체인의단일체인구조가자연적인성능한계가되는것이다. DAG에는이러한제한이없다. DAG 상에선사용자가생성한합당한트랜잭션이 DAG 데이터베이스에직접추가되어장부의일부가될수있다. 사용자가트랜잭션을생성하면 IoTon은 DAG에서최신터미널노드 ( 자식없는노드 ) 를사용하도록사용자를유도한다. 네트워크의트랜잭션양이적을시 DAG에서가끔포크가일어나나다시빠른속도로병합된다. 활동중인네트워크사용자들이있는경우 DAG에더많은터미널노드가있을수있다. 이때에활동중인네트워크사용자들에의해서생성된새로운거래들은모든노드를사용할수있으며이것은 DAG의융합을효과적으로촉진한다. 이러한비단일체인 (non-single-chain) 구조는자연적으로고동시성 (high concurrency) 과고처리량을지원하며사물인터넷의퍼플릭체인의기반원장구조가될잠재력을가진다. DAG 원장설계와자체합의알고리즘이결합될때 IoTon은다음과같은강점을가진다 고동시성 : DAG 구조는자연적으로 IoT 네트워크노드들에서동시적으로발생하는트랜잭션들을지원한다. 다수의동시적으로발생한트랜잭션들은동시적으로터미널노드들을호출할수있다. 고처리량 : DAG 네트워크는탁월한적재능력을가지고있다. 여기에 IoTon 고유의하이브리드컨센서스모형설계가합쳐진다면 IoTon은 K TPS를달성할수있다. 즉각적인거래확정 : Tendermint의합의모형에기반하여, IoTon은 DPoS와 PBFT를통합하여거래들이일초안에확증되도록한다. 낮은수수료 : 작업증명에서요구되는엄청난컴퓨팅파워가불필요하므로네트워크의에너지소비량이매우적다. 이러한친환경적인특징때문에 IoTon은사물인터넷경제에어울리는매우낮은수수료를보장한다. 분산원장분야에서고동시성을자랑하는타고난솔루션인 DAG는 Quarantine Witness, Lightning Network 및 Bitcoin-NG와같은블록체인기반확장방식에비해탁월한이점을제공한다. IoTon은강력한기본인프라를제공하여다양한상황에서개발자들이유저들에게탁월한서비스를제공하고 IoTon의생태계를풍성하게할수있는블록체인어플리케이션들을설계할수있게해준다. 더많은참가자들이 IoTon 네트워크에참여할수록전체시스템은더욱강력해지고다양화되어사물인터넷분야의가치인터넷의기반토대를구축할것이다. 12

13 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 2.3 DAG 의수학적증명 방향성비순환그래프 G = (V, E) 에서 P 문제를생각해보자. 우리가 P 에대한동적프로그래밍알고리즘을가지고있거나각정점에대해함수 f 를계산하는것과동일한문제 P 의해가있다고말할수있다. 함수 f 일때우리는집합 F 로부터다음과같은특징들을가진함수들만고려한다. - f : V Σ - 결과집합 Σ는실수 R 또는정수 {0,..., Z}, 어떤정수 Z> 0. - 만약이면, 함수이다. 여기서함수들에대해서 n 요소들의벡터집합이다. - 이면는일정시간동안고전적으로계산할수있다. 로부터나온대부분의 함수가시간복잡도를갖는양자알고리즘를갖는다고가정하면, 여기서 k 는함수에대한인수의 길이이다. 그후다음알고리즘을제안할수있다. Algorithm 1: 우리가배열을가지면, 함수 f. tf (j) 가 j nˆ 이라면 tf (j) = t [j] 와같은함수라하자. tf (j) = f (j), 은임을의미한다. 알고리즘은다음과같다. 13

14 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 에대하여 부터 to 1 까지 일때,. 알고리즘 1 의시간복잡성을논해보자. 부명제 1. 양자알고리즘의시간복잡도를, 여기서 k 는인수의길이다. 그러면알고리즘 1 의시간복잡도 은 증명. 우리가를계산할때우리는이미모든에대해이기때문에일정한시간에 계산되거나계산할수있음에유의하라. 정점에대한처리의시간복잡도는이다. 알고리즘은정점을하나씩처리하여시간복잡도 한다. 을계산한다. 우리는각정점의처리시간복잡성들을합산해야 양자알고리즘은확률론적인행동을한다. 그러므로우리는알고리즘에대한오류확률을계산해야한다. 알고리즘 1 에대한오류확률을계산을해보자. 부명제 2. 함수에대한양자알고리즘가에러확률을가지고있다고하자. 여기서 이다. 그러면알고리즘 1 의오류확률은최대 증명. 알고리즘 1 의성공확률을계산해보자. 모든정점이오류없이계산된다고가정하자. 이이벤트의확률은 이벤트이기때문이다. 이다. 왜냐하면에서정점에대한알고리즘를호출하고각호출의오류가독립적인 그러므로알고리즘 1 에대한오류확률은최대 이다. 일부함수와알고리즘의경우, h 의모든 인수가오류없이계산되야한다는요구사항이없다. 이경우우리는더좋은오류확률을얻을수있다. - 결합 (AND 함수 ). 이함수를계산하기위해우리는 Grover 검색알고리즘은인수중에서 14

15 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 0 을검색한다. 찾은요소가 0 이면결과는 0 이다. 요소가 1 이면, 0 이없으면결과는 1 이다. - 불연속 (OR 함수 ). 우리는같은접근방식을사용할수있다. 1 초검색. 1 을찾으면결과는 1 이다. 그렇지않으면 0 이다. - NAND 함수. 우리는 AND 함수와같은접근법을사용할수있지만, 여기서는 1 을검색한다. 0 을찾으면결과는 1 이다. 그렇지않으면 0 이다. - 최대함수. Durr and Høyer 최대검색알고리즘을사용할수있다. - 최소함수. 우리가사용했던것과동일한알고리즘을사용할수있다. - 양자알고리즘을가진다른함수들. 부명제 3. 함수이있다면시간복잡성과 에러확률를갖는문제 P 에대한양자동적프로그래밍알고리즘 A 가있다. 증명. 우리는함수 에대한양자메커니즘 와결정론적알고리즘 를 가지고있다. 여기서 이다. NAND 함수의경우, 우리는 로서 OR 함수에대한결정론적 알고리즘을사용한다. 선형적시간에작용하는함수 에대한결정론적알고리즘 를만드는 것은간단하다. 알고리즘2. 우리가함수 f의결과를저장할배열을갖는다고하자. 또한임시배열가있다고하자. 가이라면와같은함수라하자. 이때이다. 알고리즘은다음과같다. 15

16 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 알고리즘 1 과알고리즘 2 의차이점은다음과같다. 알고리즘를한번호출하는대신번호출한다. 우리는일때가가반환하는결과들이라고 고려할수있다. 정점의처리의결과는오직가 0 일때만틀리나결과는반드시 1 이 되어야한다. 그러므로알고리즘의에러확률은최대이다. 둘째로, AND 함수를고려해보다. 유사한방식으로우리는알고리즘 Qi가결과가 1인경우항상올바른답을반환한다는것을증명할수있다. 확률로 0대신 1을반환한다. 만약우리가을정점 vi를처리한것의결과로고려한다면알고리즘의오류확률은최대이다. 그러므로, 오류확률은최대이다. 또한라는것을기억하라. 그러므로, 이다. 알고리즘 2 의시간복잡성을논해보자. 부명제 1 에의하면시간복잡성은 Cauchy-Bunyakovsky-Schwarz 불평등공식으로인하여우리는다음공식을구한다. 주의할것은에대하여라는것이다. 그러므로, 16

17 2. 데이터베이스구조 DAG (Directed Acyclic Graph) 왜냐하면 m 은모서리들의전체수이기때문이다. 그러므로, 이다. 그러므로, 이다. 알고리즘 3. 우리에게함수 f 의결과들을저장하는배열이 t = (t [1],...,t [n]) 라고할수있다. 추가적으로우리는일시적인배열 b = (b[1],...,b[2log 2 q]) 을가진다. 여기서 q를 V a 로부터 v L인정점들중하나에도달하는가장긴경로라고하자. 여기서 tf(j) 가인함수라고하자. 알고리즘은다음과같다. 부명제 4. 우리가함수들을가지고있다고가정하고문제 P 의해는어떤 a 에 대해의값이다. 그렇다면시간복잡성와오류확률을갖는문제 P 에대한양자동적프로그래밍알고리즘 A 가있다. - d i = 0 인정점 v i 일때정점은변수로라벨링된다. 이정점을 " 가변정점 " 이라고부른다. - d i = 1과같은정점 v i 는없다. - 정점 v i 가 d i 2일때, 이정점은 Conjunction 또는 Disjunction으로표기된다. 이정점을 " 함수정점 " 이라고부른다. 17

18 2. 데이터베이스구조 DAG (Directed Acyclic Graph) - 모든모서리는 0 또는 1 이라고라벨이붙는다. - 하나의특수루트정점 v s 가있다. - 예로들수있는공식은다음과같다. 2.4 합의와이중지불판단 분산원장의기술적핵심은참여노드에서합의에도달하여조작될수없는투명한트랜잭션을달성하는것이다. 여기서가장중요한문제는이중지출거래의판단이다. 동일한돈을한번만사용하도록보장해야하며악의적인이차거래가발생할경우에도이중지불이포함되지않은거래내역만이궁극적으로유효하게처리된다는것을보장해야한다. IoTon의토대를이루고있는 Tendermint 컨센서스모듈들은노드구성위원회에참여하며 DAG 네트워크를항상모니터링하여합의가이루어졌던핵심노드를게시한다. 주요노드들은 DAG를개별 Epoch들로분리한다. 각 Epoch의트랜잭션은위상학적그래프 (topological graph) 에따라정렬된다. Epoch의정렬결과들은연결되어 DAG의전체순서를형성한다. 철저한순서형성을통해 IoTon은트랜잭션을확실하게결정할수있으며이중지출트랜잭션을즉시표시하고처리할수있다. 18

19 3 합의모형 (PBFT + DPoS) 3. 합의모형 (PBFT + DPoS) DAG가차세대블록체인 3.0의핵심원장모형이될것으로 2.1에서언급되었다. 그러나기존기획들은가장중요하고어려운합의의문제를근본적으로해결하지못했다. IoTon의합의모형은 Tendermint 합의아키텍처를기반으로 PBFT (Practical Byzantine Fault Tolerance) 와 DPoS (Delegated Proof of Stake) 를결합한것이다. IoTon의합의알고리즘은결정론적알고리즘을통해 DAG의모든트랜잭션의전체순서를결정하여 DAG의효율적인수렴을촉진한다. PBFT, DPoS 및 Tendermint는각각다음섹션에서소개될것이며 IoTon 컨센서스모형이해당장의마지막부분에세부적으로설명될것이다. 3.1 PBFT Leslie Lamport는 1980년대에 "Byzantine Fault( 비잔틴장애 )" 개념을제안했으며, 그뒤비잔틴문제의학술적연구에서악의적인노드가있는분산시스템에서합의에도달하는방법에대한여러가지제안들이있었다. 1999년 MIT의 Castro팀은 PBFT (Practical Byzantine Fault Tolerance 실용적비잔틴장애허용 ) 에서악의적인노드가전체노드의 3분의 1 미만을차지할때시스템의안전하고안정적인작동을보장할수있는상대적으로효율적인비동기비잔틴결함허용알고리즘을제안했다. 이제안은 PBFT 알고리즘의청사진이되었으며많은다른변형들이파생되었다. 일반적으로 PBFT 는사전준비 (Pre-prepare), 준비 (Prepare), 헌신 (Commit) 의세단계로구성된다. 주요작업과정은다음과같다. 1. 주요노드들은합의내용에대한제안을한다. 2. 각복제노드는주요노드들에서제안한내용을검토하고합법적인것으로간주되면서명한다. 3. 2/3 이상의유효한서명이수집되면합의가이루어지고이는해당작업이완료되었음을의미한다. 19

20 3 합의모형 (PBFT + DPoS) 그림 4. PBFT 알고리즘작동매커니즘 각작업중에위원회의 PBFT 참여노드는주요노드가제안한것을검토및확인해준다. Commit 단계에서복제 노드의 3 분의 2 이상의서명을수집할수있으면위원회는결과에동의한다. 악성기본노드의경우 PBFT 는 View-change 메커니즘을통해 View 를변경하며기본노드를대체하여시스템이정상적으로작동하도록한다. Bitcoin 은분산원장기술의적용을성공적으로촉발하였다. 분산시스템에서컨센서스를달성하기위해 Bitcoin 은 PoW 프로토콜을사용한다. 이후컨센서스알고리즘의진화로 IBM 의 Hyperledger, Algrand, Stellar, Elastico 등과같은암호화폐체제들이합의에도달하기위해 PBFT 를도입했다. 3.2 DPoS 블록체인컨센서스알고리즘인 DPoS (Delegated Proof-of-Stake, 위임지분증명 ) 는 2014 년 Dan Larimer ( 현재 EOS CTO) 에의해제안되었으며 Bitshares에처음적용되었다. DPoS는주로과도한에너지소비, 중앙집중식컴퓨팅및 PoW의비효율성문제를해결하기위해고안되었다. DPoS는신속성, 안전성, 분산화및낮은에너지소비와같은많은장점을가지고있어점점업계에서수용되고있다. 대표적인 DPoS의사용자는 EOS이다. IoTon 의 DPoS 에는주주 (Stakeholder), 증인 (Witness), 대표 (Delegate) 라는세가지의중요역할들이있다. 주주는시스템토큰을보유하고있으며권력을행사할수있는증인과대표를투표를통해선출한다. 증인은 PoW 시스템의채굴자들과비슷한역할을한다. 즉, 증인은블록들을생성하며트랜잭션의정확한기록과분쟁상황 20

21 3 합의모형 (PBFT + DPoS) 해결을담당한다. 대표들은주주들의신탁관리자로서중요한시스템업데이트들과매개변수변경들에대한투표를 담당한다. IoTon 에있는증인의수는 21 로고정되어있으며이증인들은주주에의해선택된다. 네트워크운영을유지하는 중요한기능을가진증인은정기적으로거래를패키지에넣어차례대로블록을생성한다. 증인들의주요임무들은 다음과같다. 1. 노드들의정상적인작동을보장하는고성능서버노드를제공한다. 2. 네트워크에서트랜잭션들을수집한다. 3. 트랜잭션들을확인하고이를블록으로묶는다. 4. 검증후블록을유포하고다른노드들을자체데이터베이스에추가한다. 증인의노드서버는 Bitcoin 네트워크의마이닝시스템과같다. 일반적으로시스템에기여하는자들로서그들은정상적인업무수행을위해거래수수료및시스템보상을받을수있다. 그러나행동을취하지않거나악의적인행위 ( 불법정보제안또는상충되는두가지제안서체결등 ) 를제시하면모기지자금을체계적으로압수당할뿐아니라주주들의신뢰를잃고증인으로머물자격을박탈당한다. PoW 네트워크에서네트워크를업그레이드하거나매개변수를조정하는것은매우어렵다. Bitcoin의확장성에관한논쟁을보면이는분명해진다. DPoS 시스템에서커뮤니티는주주가선택한대표들에의해서공동적으로관리된다. 대표들은수수료, 블록사이즈, 블록스페이싱과같은매개변수들을변화시킬지말지에대하여투표를통하여결정한다. 대표자는주주들에의해서선택되어서네트워크에속한일반적인유저들의이해관계를대표함으로써분산화된커뮤니티거버넌스를달성한다. 또한 DPoS 는공정성측면에서 PoW 보다뛰어나다. DPoS 하에서주주가비교적적은수의사용자일지라도증인및 대표를선출함으로써권력을행사할수있다. 반면에컴퓨팅파워가작은 PoW 의채굴자들은기본적으로채굴에 관여하지않는다. 만약이러한채굴자들이마이닝풀에참여하기로결정하면시스템의중앙화가발생한다. 효율성, 보안, 친환경및편리한커뮤니티거버넌스를기반으로 DPoS 는 IoTon 의컨센서스모형의중요한구성 요소로선정되었다. IoTon 의 DPoS 메커니즘은다음사항들을보장한다. 21

22 3 합의모형 (PBFT + DPoS) 1. 노드들이경쟁이아닌협업을선택하며 21 개의노드들이신속하게합의에도달할수있다. 2. PBFT 합의매커니즘과결합될때강력한보안능력을보여준다. 3. 트랜잭션확정이 1 초내에완료된다. 3.3 Tendermint Tendermint 는다수의상태머신들가운데서안정적이고일관성있는복제어플리케이션들을개발하기위한 오픈소스소프트웨어로 2014 년도에설계되었다. Tendermint 의또다른설계목적은 Bitcoin 의작업증명 시스템에의해서야기된속도, 확장성, 환경오염에관한문제들을해결하는것이었다. Tendermint는 PoS(Proof of Service, 지분증명 ) 의가장두드러진문제점인 Nothing-at-stake 를해결했으며개선된 PBFT 알고리즘을갖춘고성능의일관성을갖춘 PBFT 기반컨센서스엔진을제공했다. 악의적인적의통제비율이 1/3 미만일때컨센서스프로세스블랙박스를만들어합의에확실하게도달하고상태머신들가운데서자동적으로동기화를진행한다. Tendermint는두가지중요한기술구성요소인블록체인컨센서스엔진과제네릭응용프로그램인터페이스를포함한다. 컨센서스엔진은 Tendermint Core라고불리며트랜잭션레코드가모든노드에서일관되게정렬될수있도록보장한다. 일반응용프로그램인터페이스는 ABCI (Application BlockChain Interface) 라고도불리며모든프로그래밍언어로트랜잭션을처리할수있도록만드는기능을담당한다. Tendermint는그림 5에서제시된단순한상태머신을따르는주로비동기적인비잔틴장애허용합의라고할수있다. IoTon의 DpoS에있는증인들은위원회의회원이된다. 나머지가투표를하는동안각자가순서대로제안을한다. 여기서 Tendermint는개선된 PBFT를사용하여 3단계컨센서스를 2단계컨센서스로변경하고 PBFT의뷰변경메커니즘을조정한다. 개선후, 성공적인합의는 2단계 (Pre-vote와 Pre-commit) 의투표를요구한다. 동일한제출라운드에서 Witness의 3 분의 2 이상이동일한제안서를사전제출했을때만합의에도달한것으로간주된다. 22

23 3 합의모형 (PBFT + DPoS) 그림 5. Consensus Stages 1. DeliverTx 는응용프로그램간의주요메시지이며모든트랜잭션이메시지와함께전송된다. 2. CheckTx 는 DeliverTx 와유사하지만트랜잭션확인에만사용된다. 3. 응용프로그램의현재상태를계산하려면다음블록의헤드에놓고 Commit 을수행한다. 23

24 3 합의모형 (PBFT + DPoS) 그림 6. ABCI ABCI 에서 Message Flow 는아래그림 7 에묘사되어있다. 그림 7. ABCI Message Flow PBFT 알고리즘에서위원회의모든구성원의가중치 (weight) 는같고 2/3 서명은위원회의 2/3명이상의서명으로정의된다는점에유의해야한다. PBFT가제대로작동하기위해필요한서명중 2/3 이상이 IoTon의증인들의가중치를기반으로계산된다. 마찬가지로이들가운데서발생하는로테이션은가중치비율 (weight ratio) 에따라실행된다. IoTon의합의설계는 DPoS와 PBFT를결합하여 Tendermint 컨센서스엔진에통합시켜안전하고 24

25 3 합의모형 (PBFT + DPoS) 신뢰할수있는컨센서스아키텍처를형성한다. 결과적으로, IoTon 은 IoT 네트워크에참여하는라이트노드에대한 효율적이고안전한즉각적인확인및무신뢰적인 (trustless) IoT 장치들간의잦은소액거래들에대한강력한 지원을제공할수있다. 3.4 IoTon 의컨센서스구성 이전섹션에서는 IoTon 컨센서스모형의세가지중요한구성요소인 PBFT, DPoS 및 Tendermint 를소개하였다. 여기서는구체적인합의모형을제시하고구성요소가어떻게작동하는지설명하겠다. IoTon 의컨센서스모형은 그림 8 에묘사되어있다. 일반적으로말해 IoTon 은 DAG 와컨센서스모형이라는두가지주요모듈로구성되어있다. 사용자지향 어플리케이션인 DAG 는주로비즈니스논리처리를완료하는데사용된다. 사용자에게거의투명한컨센서스모형은 IoTon 의토대를이루며주로분산원장의 DAG 합의를완료하는데사용된다. 사용자는트랜잭션을생성하여 DAG 그래프에서최신터미널노드를인용 ( 해당인센티브를얻을수있도록 ) 하고소량의처리수수료를지불한다. 그뒤트랜잭션을유효하게서명한다음 P2P 네트워크를통해분산시킨다. 네트워크의모든노드는이러한트랜잭션을수집하여합법적인지 ( 이중지출확인및판단제외 ) 확인한다음로컬 DAG 네트워크에합류하여이를네트워크의인접노드에보급한다. 상위 DAG는주로원장의상태를유지하고기본 Tendermint 컨센서스엔진의최신결과를지속적으로동기화하여 DAG의모든트랜잭션의순서를구성하는데사용된다. 25

26 3 합의모형 (PBFT + DPoS) DAG 그림 8. IoTon 합의다이어그램 DPoS 와 PBFT 의두부분으로구성된기반 Tendermint 합의엔진은주로 DAG 상태에대한합의에도달하는것을 책임진다. 주주의투표와증인자신의모기지를기반으로한 DPoS 모듈은 PBFT위원회를구성하기위해상위 21명의증인을뽑는다. 주주의모기지및투표에따라서이증인들은후속 PBFT 합의에서투표가중치에해당하는서로다른가중치를가진다. 증인은정기적으로 PBFT의리더역할을하고 PBFT를통해 DAG의핵심노드에대한합의가이루어진다. 리더는각라운드에서 DAG 상태에따라제안된키노드를업데이트하고다른증인들은합법성을확인하고합법적이라고판단되면서명한다. 제안된키노드가투표가중치의 2/3 이상을받으면 ( 이는증인의수가아니라가중치를기반으로함 ) 합법적인것으로간주되어네트워크의다른전체노드와동기화된다. 26

27 4.Security mechanism 이키노드는 DAG 를직렬로연결된서로다른 Epoch 들로분할한다. 각 Epoch 내의트랜잭션의상대적순서는 토폴로지정렬알고리즘을실행하여고유의방식으로결정될수있다. 각 Epoch 의정렬결과를연결하면 DAG 의 전체순서가형성된다. 이시점에서우리는이중지출비용을확실하게결정하고법적거래를확인할수있다. 거래가핵심노드에의해확인되고합법적인것으로판단되면향후이중지출은허용되지않는다. 나중에이중 지출을실현하려는거래가 Epoch 의증인에의해서만사용될수있으므로전체순서는더뒤쪽에있어야하기에이중 지불이성공할수가없다. 만약 Epoch 에서이중지불이발생할경우, 전체순서를놓고볼때, 상위랭크된트랜잭션에대해선합법이되며 뒤에랭크된트랜잭션에대해서는불법이된다 PBFT 알고리즘의확실성은 IoTon의핵심노드들에포킹이없음을보장한다. 이경우트랜잭션이키노드들에의해직접또는간접적으로사용되고정당한것으로결정되면사용자는트랜잭션이정당하며변경될수없음을알수있다. 반면에트랜잭션이 DAG에들어갔지만이중지출로판단되면전체트랜잭션이불법으로표시되고데이터는전체노드의저장공간을낭비하지않도록블랭킹 (blanked) 처리된다. IoTon 의합의솔루션은다음과같은이점을제공한다. 1. PBFT 의확실성은분기가일어나지않도록한다. 트랜잭션은 Bitcoin 처럼확률적인확인만을확보하는것이 아니라구체적이고최종적인상태들을가지게된다. 2. DPoS 의분산된설계는 PoW 의계산에서오는전력낭비와같은문제를피하기때문에효율적이고친환경적이다. 3. 증인은 DAG 의새로운거래에대한합의에도달하기위해노력하고있으므로 IoTon 은 1 초이내에거래확인을할 수있다. 4. DAG 의구조는높은동시성을지원하므로 IoTon 은 5, ,000 TPS 를달성할수있다. 27

28 4.Security mechanism 4. Smart Contract system IoTon의 Smart Contract는코인플랫폼 ( 퍼블릭블록체인 ) 에서만작동하도록분리된다. 가상머신의트랙잭션저장및상태처리는코인플랫폼에서수행된다. 퍼블릭블록체인과연동성이있는프라이빗블록체인은동기화를통해해당 IoT 인증및장치의구동을실행할수있도록디자인되었다. 룰엔진은 Smart Contract가필요없는행위와 Smart Contract가필요한행위를나누어필요한상황에서만 Smart Contract가작동하도록만든다. 시스템에서룰엔진을통해해당 Smart Contract를설정하여서비스중발생하는변동상황에유동적으로대처하게한다. 서비스별유저가동시에 Smart Contract에참여할수있으며가상화장비에서도 Smart Contract 수행이가능하다. 특정행위는인증만참여후 Smart Contract를수행하지않을수있다. Smart Contract는자동으로실행되며, 룰엔진을통해서도컨트랙트의세부사항들을설정할수있다. 그림 9. 블록체인내부스마트컨트랙트다이어그램 4.1 인공지능기반트레이닝모델 Smart Contract 2.0 구현 IoTon의노드는 AI 가상시스템을통해 Smart Contract를호환가능한형식으로실행한다. Smart contract 2.0은다음과같이구현된다. 28

29 4. Smart contract system 첫째, 여러사용자가계약수립단계에속하는 Smart Contract 개발에공동으로참여한다. 계약집행자 ( 사용자 ) 가블록체인의사용자로등록되면그는한쌍의공개키와개인키를배급받게된다. 공개키는블록체인의사용자계정주소이며개인키는계정을조작할수있는유일한키이다. 두명이상의사용자가필요에따라계약을설계한다. 절차적조건을통해양당사자의권리와의무가포함된관련약속을결정한다. 이러한권리와의무는기계어로전산화되어프로그램에입력된다. 참가자는개인키각각에개별적으로서명하여계약의유효성을확인한다. 서명된 Smart Contract를통해계약된내용이블록체인네트워크에업로드된다. 둘째, 사용자가 Smart Contract를블록체인에제출하면유효성검증단계로들어간다. 유효성검증단계에서는다음절차가진행된다. 계약은 P2P 를통해블록체인전체에퍼지며각 IoTon 노드는하나의복사본 (replica) 을받는다. 블록체인의확인 노드는수신된계약을먼저메모리에저장하고새로운합의라운드를기다리며계약의합의및처리를유발한다. 합의시간에도달하면유효성검사노드는가장최근기간에저장된모든계약을계약집합으로패키지화한다. 계약집합의해시값을계산하고그결과를블록구조로모아전체네트워크에전파한다. 다른검증노드가블록구조를수신하면포함된계약집합의해시가추출되어해당계약집합과저장된계약집합과비교된다. 또한, 자체인증된컬렉션을다른인증노드로전송한다. 이다중라운드전송및비교를통해모든검증노드는지정된시간내에최신계약세트에대해최종적으로동의한다. 새로합의된계약집합은블록형태로전체네트워크에확산되며각블록에는현재블록의해시값, 이전블록의해시값, 합의에도달한시점에관한타임스탬프및기타정보가포함된다. 동시에, 블록체인에대한가장중요한정보는일련의동의된계약이다. 각계약은노드가계약을수신할때유효한것이된다. 확인된계약서는마침내블록체인에기록될수있다. 검증의주요내용은계약참여자의개인키서명이계정과일치하는지여부이다. 마지막으로블록체인이확인된계약서를작성하면다음단계를포함하여 Smart Contract 의자동실행이시작된다. Smart Contract 는주기적으로자동화상태를검사하고각계약에포함된상태머신, 트랜잭션및트리거조건을 검사한다. 조건에의해만족되는트랜잭션을유효성검사대기열로밀어넣어합의를기다린다. 트리거를충족시키지 않는트랜잭션은블록체인에계속저장된다. 마지막유효성확인라운드에들어가는트랜잭션은각검증노드로확산된다. 정상적인블록체인트랜잭션과마찬가지로, 검증노드는먼저트랜잭션의유효성을확인하기위해서명검증을수행한다. 확인된거래는보류중인합의의집합을입력한다. 대부분의유효성검증노드가동의하면트랜잭션이성공적으로실행되고사용자에게통지된다. 29

30 4. Smart contract system 트랜잭션이성공적으로실행된후 Smart Contract의상태가판단된다. 계약에포함된모든트랜잭션이순차적으로실행되면상태기회 (the status opportunity) 는계약상태를완료로표시하고최신블록에서계약을제거한다. 대신다음라운드처리가완료될때까지진행중인것으로표시되고최신블록에저장된다. 전체트랜잭션및상태처리는블록체인기반에내장된 Smart Contract 시스템에의해자동으로완료된다. 전체과정은투명하고조작될수없다 AI 기반의안전한 Smart Contract 실행 1) IoTon은 AI 기반계약실행메커니즘을채택한다. 계약실행프로세스는자동적일뿐아니라진정한의미에서지능적이다. 개발단계에서계약당사자는 IoTon에서제공하는컨트롤체인및 Smart Contract 보안보조소프트웨어를통해보안 AI 모델을게시한다. 당사자는계약서에결함이있는지여부를확인하고계약이완료되고보안검토규정을충족할때까지양당사자의 " 권리 " 및 " 의무 " 코드를자동으로수정한다. 2) 타당성확인단계에서계약은전체네트워크의합의에의해확인될필요가있다. 현재계약의외부조건이이시점에서변경될수있다. 따라서계약서명의일관성을확인하는것외에도각검증노드의 AI 가상시스템은계약이요구사항을충족하는지여부를추가로점검하여다양한실행조건이완전하고실행가능하도록보장한다. 계약자가추가비용을지불하면검증노드는추가조건부검토및사전실행기능을실행하여계약의새로운취약점을역동적으로감지할수있다. 계약유효성이확인되면블록체인에기록되고자동실행단계로들어간다. 3) 자동계약실행단계에는예기치않은미래로인한다양한허점이발생한다. 이시점에서계약을실행하는 AI 가상시스템노드는계약의원활한실행을보장하기위해 IoTon이공식규칙및규정에따라 AI 자동판단메커니즘을통해나타나는허점을보완할수있다. 또한, IoTon AI 가상머신은내장된 AI 모델을통해솔루션을제공하고참가자가운데갈등이생겨 Smart Contract를정상적으로실행할수없을때솔루션을지원한다. 4) Smart Contract이실행되면, IoTon의스마트툴은거래의중간단계와해당거래및상태를분석할수있다. 사용자는모델행동을요약하고최적화하여노드를통해계약실행결과를제출할수있다. IoTon의노드가모델에동의하면블록으로작성되고사용자모델로게시되어 IoTon의계약모델라이브러리를더욱풍부하게한다. 계약의실행단계에서피싱사기와같은행동을위해문제를해결하는두가지방법이있다. 1) 인공지능훈련을통해관련부정행위에대한조기경보를얻을수있으며, 합의행동과정에서이행동을확인하여 계약이행을거부할수있다. 30

31 4. Smart contract system 2) 피싱사기의경우사기당사자가사기당사자의행동모델및지갑주소를표시하기위해 AI 모델을제공하여유사한신용평가시스템을실현한다. 후속 AI는행동특성을자동으로확인하여다시발생하지않도록한다. 계약의실행단계에서전달할수없는행동이발생할경우검증노드는일정기간계약이중단된후 AI 검토를실행하여계약의집행가능성을결정한. 또한내장된 AI 모델규칙을통해계약실행을용이하게한다. AI 판단에기반한계약의이행은전체네트워크 AI의합의에의해완료될필요가있다. 그림 10 은 AI 기반의 Smart Contract 실행프로세스를보여준다. 그림 10. AI 기반 Smart Contract 실행프로세스 31

32 4. Smart contract system AI 스크립트모델에기반한보안 Smart Contract Smart contract 2.0은실제적으로바이트연산코드를지원하는유한상태기계 (finite state machine) 이다. 일반적으로사용자는트랜잭션모델및실행프로세스매개변수의세부사항을설명해야하는데이때많은허점들이발생할수있다. 여러고급언어가개발된후에도사용자는해당바이트코드를컴파일하여관련모델설명을작성해야한다. 사용자설명서에제시된모델의부정확성과불완전성으로인해다양한허점이자주발생한다. Smart Contract 체결과정에서사용자가이취약점을알고있다고해도이를설명할방법이없다. IoTon은 AI 판단모델을미리모델에도입하고모델업데이트를지원함으로써이문제를해결한다. 그러나직접적으로취약점을피할수있다면사용자친화적일것이다. IoTon은 AI 스크립팅모델에기반한 Smart Contract를도입하여이문제를해결한다. 사용자는보안 Smart Contract 를시작할준비가되면 IoTon 의 Smart Contract 기반모델라이브러리를참조하여 게시해야하는현재 Smart Contract 및작업을매칭할수있다. 완전한매칭모델이없으면모델조합을통해 AI 에 의해기본매칭이완료되고나머지매칭되지않는부분은 AI 스크립트를통해사용자에의해첨부된다. 사용자가 AI 스크립트모델을기반으로지능형계약을제출하면 AI 가상컴퓨터가사용자계약을분석한다. Smart Contract 기반모델라이브러리를직접호출하는부분에서 AI는 IoTon에서정의한대로실행된다. 스크립트섹션의경우보안검토는통역사 (interpreter) 를통해수행된다. 행동규칙을확인하고악의적인공격을막기위해모든실행행동을 AI가식별해야한다. 이구현의장점은사용자가모델설명에집중할필요가없으며모델목적에따라개발을단순화한다는것이다. AI 스크립트모델을기반으로한 Smart Contract 는많은기본보안모델을필요로하기때문에 IoTon 은초기 단계에서일부거래모델을구축하고사용자가이후에보안거래모델을적극적으로제출함으로써전체모델 라이브러리를완성한다. 32

33 4. Smart contract system 그림 11. 스크립트에기반한 AI 모델실행 AI 에기반한위탁거래 Smart contract 2.0은입력된정보의질에크게의존한다. Smart Contract 2.0은종종다양한옵션과지점을통해문제를해결하는데도움이되는 " 예측기계 " 의역할을한다. 정보소스의소멸, 새롭고나은정보출현또는판단조건의변화와같이 " 예측기계 " 가해결할수없는상황이필연적으로등장한다. 이러한현상의근본적인이유는 Smart Contract 2.0이아직은 " 예측불가능한미래 " 라는것이다. 결과적으로보안 Smart Contract는인공지능에기반하여관리된트랜잭션을설계하여미래에인공지능이트레이닝모델및기능제약을통해사용자타깃요구사항들에따라계약코드를실행할수있도록한다. 관리되는트랜잭션을사용할때사용자는타깃요구사항들만제공하며실행세부사항, 트랜잭션코드와그가운데 있는실행프로세스는 AI 에의해완료된다 AI 에기반한멀티플렉싱 (Multiplexing) 거래 전통적인 Smart Contract 는일반적으로거래를완료하기위해엄격한매칭이필요하며정상적인상황에서는여러 당사자가이를언팩킹하거나지원할수없다. 예를들어, 사용자 A, B 및 C 가일련의트랜잭션계약을맺는다고하자. 결과적으로사용자는중앙집중식교환을통해유사한거래및다자간거래를완료하는경우가많으며심지어간단한 거래도교환을통해처리된다. 그러나거래소는종종사용자가법정통화나토큰을거래소의은행계좌또는 33

34 4. Smart contract system 블록체인주소로충전하도록요구한다. 그런다음사용자는교환소의가상주소를사용하여차용증서보관을관리한다. 계약을실행할때사용자는실제로 IOU를기반으로트랜잭션을수행한다. 사용자는차용증서를거래소를통해법정화폐또는블록체인토큰으로교환신청하고전체거래가완료되기전에승인을받아야만한다. 사용자를위해자산을보유할수있는거래소의기능은거래하는동안사용자에게가장큰위험이다. 또한, 사용자는거래운영자의비즈니스윤리에서비롯되는다른위험을감수해야한다. IoTon은위거래모델에 AI 기반 Smart Contract 매칭시스템을구축했다. 계약들의집합을검증하는동안검증노드는사용자가전송한계약들의집합을스캔하고분석하여다양한트랜잭션루프를결정한다. 실행과정에서동적매칭이수행된다. 최대거래루프와최저거래비용을추구하여여러거래상대방의복수주문을완료함으로써 IoTon 은중앙집중식교환으로인한단점을피할수있다. 4.2 보안성을가진 Smart Contract 의실현 보안성이확보된 Smart Contract 의핵심아이디어는다양한 AI 모델을수립하여계약검토를완료하고계약실행을 보장하는것이다. 따라서이러한기본적인 AI 모델을사용자에게가장적합한모델에붙이는방법은 IoTon 이 프로그래밍언어를고려하는데있어서초점을맞춰야할부분이다. IoTon 은현재안전한 Smart Contract 를위한기본프로그래밍언어로 Lua 를사용한다. Lua 는 Standard C 로 작성되며소스코드형식으로열리는 Turing 의완벽한요구사항을충족시키는경량및소형스크립팅언어이다. 응용프로그램에유연하게확장및사용자지정기능을제공하기위해아예응용프로그램에포함되도록설계되었다. Lua 의핵심기능은다음과같다. 경량성 : Standard C 로작성되었으며 100Kb 가조금넘는수준으로컴파일된소스코드에개방되어있다. 다른 프로그램에쉽게임베드될수있다. 확장가능성 : Lua 는매우사용하기쉬운확장인터페이스와메커니즘을제공한다. IoTon 은 Lua 가쉽게호출할수 있는다양한 AI 모델과기능을설계했다. 기타기능 : 절차지향프로그래밍및기능프로그래밍을지원한다. 자동메모리관리 : 배열, 해시테이블, 컬렉션및오브젝트를시행하는데사용할수있는하나의일반적인유형의 34

35 4. Smart contract system 테이블만제공한다. 언어기본제공패턴매칭 ; 종결 ; 함수는하나의가치값으로간주될수있다. 운영체제에서 지원하는스레드가아닌다중스레드 ( 협업프로세스 ) 지원을제공한다. 클로저와테이블을사용하면데이터추상화, 가상함수, 상속및오버로드와같은객체지향프로그래밍에필요한핵심메커니즘을쉽게지원할수있다. 그러므로 IoTon 은 Lua 의바이트코드실행해석을완료하기위해 Lua 사용스크립트인터프리터와컴파일러 AI 가상머신세트를설계할것이다. 또한 AI 가상머신은 Lua 의 AI 모델호출인터페이스를추가할것이다. IoTon의작업또는 Smart Contract를포함하는블록동기화확인에서노드는블록에서해당계약바이트코드를추출한다. 또한 AI 가상머신을사용하여해당코드를실행하고매개변수가있는 AI 모델을호출하여계약바이트코드의실행결과를확보한다. AI 가상머신의실행결과및관련컨텍스트상태변경들은블록체인에서사용된다. IoTon은 IoTon 노드에서 Smart Contract 2.0에대한하위호환성을제공하기때문에 AI 가상컴퓨터를바이트인터프리터로사용하여 Smart Contract 2.0을시뮬레이션해볼수있다. 4.3 보안성을가진 Smart Contract 의디지털자산지지 대부분의블록체인어플리케이션은디지털자산을중심으로이루어진다. 또한, 사용자는흔히자체자산유형을만들고 Smart Contract를사용하여발급및거래논리를관리하려한다. 그러나전통적인블록체인디자인에서각디지털자산에대하여 Smart Contract를기반으로한일련의비즈니스프로세스를반복적으로새롭게개발해야한다. 이러한방식은매우비효율적이며많은오류에노출된다. 안전한 Smart Contract에서 IoTon은 AI 기술을사용하여디지털자산을기반으로많은트랜잭션모델및비즈니스프로세스를생성한다. 사용자가자신의디지털자산을만들면해당 IoTon 내장자산계약인터페이스를호출하여완전한디지털자산시스템을생성하기만하면된다. 해당디지털자산거래논리는사용자가개발하고 IoTon의다양한 AI 모델을통해생성되므로 IoTon에서정의한디지털자산모델기능을직접상속받을수있다. IoTon의보안전망과사용자정의디지털자산을생성할수있는능력은 IoTon이주도하는 " 자가재정 " 시대가도래했다는것을의미한다. 각사용자는계약에따라자신의속성들 (attributes) 중하나를토큰으로판매하고 AI가자격이있다는전제하에 IoTon의트랜잭션을안전하게처리할수있다. 예를들어기업가는 IoTon에대한그의아이디어를토큰으로팔고적절한지원을얻기위해 Smart Contract의형태로소유권을거래및수익화를시행한다. 기업가의아이디어를구매한사용자는이에따르는혜택을누리게된다. 일반적으로사용자가만든디지털자산은온라인자산일뿐이므로기존의 Smart Contract를통해오프라인자산및동작과상호작용할수없다. 35

36 4. Smart contract system IoTon 은다양한확장을통해 AI 판단메커니즘과신뢰할수있는게이트웨이장치를도입하여온라인및오프라인 연결및상호작용을달성한다. 4.4 Smart Contract 의확장 전통적인블록체인에존재하는모든문제들은다음항목들로분류될수있다. (1) Smart Contract는계약의기초로서외부사건에따라행동을바꿀필요가있다. (2) 데이터는다음실행을위한기반인 Smart Contract의실행중에외부서비스에서가져온다. (3) Smart Contract는온라인및오프라인거래를직접완료하려고시도한다. (4) Smart Contract는기밀데이터를숨길수없다. 문제 (1) 과 (2) 의핵심은블록체인외부의데이터소스가모든노드와일치하도록요구하는것이다. 블록체인의관점에서보았을때, 외부데이터소스는실제로통제할수없으며미래의행동은알려지지않았다. 그이유는데이터소스가다른응답을제공하거나다른노드에서요청을받으면일시적으로사용할수없기때문이다. 이는블록체인의외부데이터가불확실하다는것을의미하다. 또한블록체인의기초는합의메커니즘이며, 합의메커니즘의핵심은블록체인에서일어나는모든일이결정되어야한다는것이다. 따라서외부데이터소스의동작을제어할수없는경우합의메커니즘이필연적으로혼동되고전체블록체인이무너질수있다. 질문 (1) (2) 의출발점은실제로온라인 ( 블록체인 ) 과오프라인 ( 외부세계 ) 간의연결문제를해결하는것이다. 따라서 IoTon 은여러독립적인신뢰가능한게이트웨이를사용하고 AI 감사를도입함으로써위의문제를해결한다. 구체적인구현단계는다음과같다. 단계 (1) : Smart Contract 가직접호출데이터를판독할필요가있을때, AI 가상기계는지능형감사를수행하여 계약이외부데이터및해당보안을판독할필요가있는지결정한다. 보안이오래되지않았을경우 AI 가상시스템은 후속프로세스처리를위해미리정해진규칙을따른다. 통과하면단계 (2) 로들어간다. 단계 (2) : 외부데이터소스가판독될필요가있는것으로확인되면, IoTon 상의모든신뢰게이트웨이는외부데이터 추출을위해통지된다. 신뢰할수있는게이트웨이는외부데이터를읽고공용장부에기록한다. 단계 (3) : AI 가상머신은각신뢰할수있는게이트웨이가제공한데이터를감사하고데이터신뢰도분석을 36

37 4. Smart contract system 수행한다. 예를들어, 항상일관된데이터를제공하고잘못된데이터를제공하는게이트웨이를처벌하는보완 게이트웨이가존재한다. 단계 (4): AI 가상머신은감사된 (Auditied) 데이터를독립블록체인데이터영역에기록하고체인에서계약실행의 토대를구축한다. 그림 12. Smart Contracts 와외부데이터소스의상호작용과정 위의아키텍처를통해 IoTon은온라인및지정된오프라인거래시스템을손쉽게통과하고다양한거래체계를시작할수있다. 전형적인예를들어, 계약은계약명칭의기초로서프리미어리그축구경기의결과를규정할필요가있다. 예를들어, 나스닥의특정날짜를지정하는지수는계약서등의기초로사용된다. 따라서문제 (3) 이그에따라해결된다. 37

38 4. Smart contract system 질문 (4) 의핵심은 Smart Contract를통해데이터기밀성을지원하고다른비관련사용자가데이터의세부사항을알수없도록보장하는것이다. 이것은실제로하나의딜레마이다. Smart Contract가공개되지않으면전체네트워크가합의에도달할수없다. 그러나공용데이터는숨길수없다. 전통적인블록체인은일반적으로부분합의메커니즘혹은개인계약을통해개인키를획득한참가자를통해서만기밀데이터에대한액세스요구사항을충족시킨다. 이모델은사실 JP Morgan의 "Quorum" 블록체인프로젝트를포함하는블록체인보안메커니즘의개정판이다. 문제 (4) 의경우, IoTon은또한신뢰할수있는게이트웨이처리를사용한다. 모든기밀데이터는암호화되어신뢰할수있는게이트웨이에제출되고 IoTon의기밀데이터영역에신뢰할수있는게이트웨이에저장된다. 한편데이터의이부분에대한무결성검증및요약내용이블록에기록된다. Smart Contract는암호화된데이터의이부분을신뢰할수있는외부데이터소스로처리한다. 계약을실행하는동안모든노드는데이터의존재와안정성을확인할수있다. 그러나특정인증된사용자만신뢰할수있는게이트웨이를통해암호화된데이터를확인할수있다. 위의모드에서블록체인의합의메커니즘은손상되지않으며고객의개인정보도보호된다. 비슷한메커니즘이특정데이터를규제하기위해정부에의해사용될수있다. 4.5 Smart Contract 다중언어생성지원 고급프로그래밍언어로 Smart Contract를직접작성하는것이가능하다. 지원되는첫번째언어는 C ++, C #, VB, Net, F # 및 Java다. 우리는이러한프로그래밍언어에대해작성자와플러그인을제공할것이다. 프로그래밍언어를통해가상언어가지원하는명령을준수할수있다. 또한, C, GO 및 Javascript와같은추가프로그래밍언어도지원할예정이다. 38

39 5. Wallet 5. Wallet 다음은블록체인 Wallet 구현원칙이다. 블록체인의 Wallet 구현의기술적인원칙을이해하기위해서우리는먼저다음사항들을이해해야한다. 1. 개인키, 공개키및주소생성방법. 2. 원격호출에 API 를사용하는것과같은기본개념을이해한다. 이것은전통적인 IT 산업관련지식에속한다. 3. 마지막으로지갑디자인과관련된연상기호 (mnemonic) 단어, 키저장소및암호개념을이해한다. 블록체인 공개키, 개인키및주소가생성되는것과같은방식이다. 그러나전체프로세스는블록체인 Wallet 설계프로세스에 속하므로블록체인과관련된지식과혼동될수없다. 개인키, 공개키및주소가생성되는방식 : 1. Bitcoin 개인키는실제로 sha-256 을사용하여생성된 32 바이트 (256 비트 ) 의임의의수이다. 유효한개인 키의범위는 Bitcoin 에서사용하는 secp256k1 타원곡선디지털서명표준에따라다르다. 2. 개인키앞에버전번호를추가한다음압축플래그와추가체크코드를추가한다. 소위추가체크코드는개인 키에대한두번의 sha-256 작업후두번해시결과의첫번째 4 바이트이다. 그런다음 base58 이일반 WIF (Wallet Import Format) 형식의개인키를가져오기위해인코딩된다. 3. 개인키는타원곡선곱셈을통해얻을수있다. 공개키는 x와 y 좌표를가진타원곡선상의점이다. 공개키에는압축형식과압축되지않은형식이있다. 초기에는 Bitcoin이압축되지않은공개키를사용했으나, 이제대부분의클라이언트는기본적으로압축된공개키를사용한다. 공개키는개인키에서파생되며공개키의해시는단방향이다. 이알고리즘은타원곡선알고리즘 (Elliptic curve algorithm) 으로도불리며철회불가한알고리즘이다. 4. 공개키가생성된후공개키는 SHA256 해시알고리즘에의해처리되어 32 바이트해시값을얻는다. 이두번째해시값은 ripemd-160 알고리즘을통해가져와 20 바이트의해시값 (Hash1605) 을얻는다. 버전 [2] + Hash160으로구성된 21 바이트배열을이중해시처리하며해시값의처음 4 바이트는체크섬들 (checksums) 로사용되어 21 바이트배열의끝을배치한다 비트배열이 base58 로인코딩되고주소가최종적으로획득된다. 39

40 6. Cross Chain Gateway 6. Cross Chain Gateway 응용프로그램내에서디지털자산의정적보안및동적보안을효과적으로보장한후에기업은더많은시나리오에적용하여더많은사용자에게서비스를제공할수있는지여부를고려해야한다. 그러나현재상황은다양하고새롭게부상하는공공블록체인들, 동맹체인들및 DAPP이서로분리되어수많은격리된섬들로구성된 " 블록체인세계 " 를형성하고있다. 따라서서비스범위를확장하고자하는기업의경우모든새로운블록체인은새로운기술요구사항, 새로운게임규칙및새로운사용자를의미한다. 한계비용이높으면개별응용프로그램의확장과블록체인상용화의전반적인속도를저해할수있다. 이러한개발장벽을고려하여 IoTon Cross Chain Gateway는어댑터체인과데이터동기화장치가다른블록체인과연결되도록요청하는노드커넥터로서서로다른체인사이에서작동한다. 이는스마트계약의교차체인호출변환과서로다른체인간의데이터및자산의동기화및전송을실현한다. IoTon의분산 Wallet을예로들면사용자는 Wallet을사용하여 BTC, ETH 등과같이서로다른체인에저장된토큰을동시에관리하기만하면된다. 물론 IoTon 의 Cross Chain Gateway 는서로다른체인에서동일한사용자의자산을통합관리할수있으며체인 간에 Smart Contract 를호출하여블록체인응용프로그램의교차체인작업을실현할수있다. 기업의경우이 기술은현장및서비스범위의한계를벗어나상업용응용프로그램의구현을촉진하려는동기를부여한다. 40

41 7. 보안매커니즘 7. 보안매커니즘 분산원장의보안은최저계층암호화키조합의보안과밀접한관련이있다. 시스템이보안성이철저한상태로 안전하게작동하도록하기위해 IoTon 은암호화솔루션을설계할때두가지측면을고려했다. 1. 해시알고리즘을통한 IoTon 의보안향상 : IoTon 은 SHA-3 을해시알고리즘을사용한다. 2. 양자 - 저항서명 : 보안성이확보된암호화폐시스템은장기적으로안정적으로작동해야한다. 양자컴퓨터의 미래는현재명확하지않지만우리는이를대비해야만한다. 이를위해 Bliss 양자저항서명과 IoTon 서명솔루션 설계의일반적인 ECDSA 서명을포함시켰다. 사용자는실제필요에따라이들중선택하여사용할수있다. 41

42 8. 서비스소프트웨어아키텍처 8. 서비스소프트웨어아키텍처 Interface Module 인터페이스모듈은공통 API 를제공하고각각의데이터관련하여정합성확인및변환, 매핑모듈을제공한다. 또한 Wallet API 를제공하여 DAPP 개발을지원한다. Core Module 유저관리 사용자의계정관리및등록, 로그인, 로그아웃프로세스와개인키및인증처리를담당한다. 관리자관리 관리자의계정관리, 공지사항및관리자룰변경, 시스템설정및배치파일설정을담당한다. 에러관리 각각코드관리및패턴관리를수행한다. 토탈에러관리기능을통해서현재발생중인에러를감지하고미래 에러를예방한다. 통계관리 사용자통계, 알림통계, 에러통계및시스템통계의현황을지원한다. 분석관리 결제분석, QR Code 분석, TCP 분석, 네트워크분석을지원한다. 알림관리 스케쥴관리, 셋팅관리를통해알림을제공한다. 42

43 8. 서비스소프트웨어아키텍처 블록체인 코어블록체인의기술에기반하여퍼블릭및프라이빗블록체인네트워크를관리한다. 체인코어 보안컨테이너생성및보안등록을제공한다. Common Core Module 공통코어모듈로써에러매핑, 시스템관리, 이미지매핑, 데이터정합성, 이벤트스트림의기본기능을제공한다. External Interface 확장인터페이스로서버인터페이스, 결제인터페이스, 통신인터페이스, 시스템인터페이스를제공하여 IoTon 이다양한 시스템과연동이가능하도록한다. Rule Engine 다양한서비스에적합한형태로룰을생성관리할수있다. 서비스정책및보상관련정책도룰엔진을통해시뮬레이션 할수있다. 해당룰서비스를이용한다양한서비스를제공할수있다. 보상규칙도사용자의요구에맞게수정가능하며, 다양한방식의적용범위를지원한다. Rule package Rule source Rule package Rule snapshot 43

44 8. 서비스소프트웨어아키텍처 룰소스 : 프로그램소스와같이업무룰을정의하고있는파일 룰패키지 : 컴파일된프로그램실행파일처럼룰소스를묶어서룰을실행할수있는단위 룰스냅샷 : 룰패키지에버전을부여하여업데이트와롤백을시행하는단위 Rule Engines and Production Rule System (PRS) The Rules은 Production Memory에저장되며추론엔진과일치하는사실은작업메모리에보관된다. 사실 (Fact) 은워킹메모리에나타나며, 워킹메모리에서수정되거나취소될수있다. 다수의규칙과사실을가진시스템은동일한사실주장에대해많은규칙이적용될수있다. 이규칙들은충돌될수있다. Agenda는 Conflict Resolution 전략을사용하여이러한충돌규칙의실행순서를관리한다. 44

45 8. 서비스소프트웨어아키텍처 Hybrid Reasoning System (HRS) 그림 13. Forward Chaining 전향체인은 " 데이터중심 " 이고작업메모리에사실이명시되어반동적 (reactionary) 이다. 이로인해하나이상의 규칙이동시에사실로인정되며 Agenda 에의해실행되도록예약된다. 간단히말해서, 하나의사실로시작하고, 그것은규칙을통해전파되며, 결국하나의결론으로끝을맺는다. 45

46 8. 서비스소프트웨어아키텍처 그림 14. Backward Chaining 역방향체인은 " 목표지향적 " 이며, 이는엔진이충족하려는결론부터시작한다는것을의미한다. 그것이가능하지않다면만족할수있는결론을찾는다. 이것은현재목표의알려지지않은부분을충족시키는데도움이되는부차적목적으로파악된다. 초기결론이입증되거나더이상하위목표가없을때까지이과정을계속진행한다. Prolog는 Backward Chaining 엔진의한예이다. 46

47 8. 서비스소프트웨어아키텍처 Common Module JSON 파서및에러핸들러, 로거, 암호화 / 복호화, 유틸리티, 푸쉬핸들러, SMS 핸들러기능을제공하여기능확장시 재사용이가능하도록한다. Database Common Module 데이터베이스를사용할수있는다양한커넥션풀제공및사용자데이터와원천데이터, 에러, 결제, 통계, 알림및분산 원장에대한기본데이터를제공하는모듈이다. AI Module AI Module 은딥러닝및스트림분석을통해인공지능서비스를제공하기위한모듈이다. 47

48 IoT Platform 48 12

49 IoT Platform 1. IoT SDK Structure IoT Platform 은기존장비연결및신규개발을위한네개의 Agent 영역을포괄하는 SDK 를제공함으로써 IoT 기기들이플랫폼에쉽게연결될수있도록도와준다. 1. IoT SDK Structure IoTon의스마트컨트랙트는코인플랫폼에서만작동하도록분리된다. 그러나스마트컨트랙트를처리하기위한가상머신의트랙잭션저장및상태처리는 Public Blockchain에서수행한다. Public Blockchain과연동성이있는 Private Blockchian은동기화를통해해당 IoT인증및장치의구동을할수있도록디자인된다. 룰엔진은스마트컨트랙트가필요없는행위와스마트컨트랙트가필요한행위를나누어필요한상황에서만스마트컨트랙트가작동하도록만든다. 시스템에서룰엔진을통해해당스마트컨트랙트를설정하여서비스중발생하는변동상황에유동적으로대처하게한다. 서비스별유저가동시에스마트컨트랙트에참여할수있으며가상화장비에서도스마트컨트랙트수행이가능하다. 그림 15. IoTon SDK 구조 SDK 는 Blockchain Agent, Service Ready Agent, Connection Ready Agent, Management Agent(s) 4 개의 Agent 로구성되어있다. Blockchain Agent 는다른 Agent 들과분리되어단독으로도작동될수있도록설계되어 있다. 49

50 IoT Platform 2. IoT 기기인증 2. IoT 기기인증 IoT 기기인증을위하여공개키가먼저생성된다. 인증이수행되고나서인증정보는머클트리 (Merkle Tree) 형태로저장되어지난 IoT 디바이스의행위등에대한인증을수행하고자할때활용이가능하다. IoT 디바이스의 속성및커널코드등의정보를통해무결성검증정보를생성하여트랜잭션형태로블록체인네트워크에전송한다. 그림 16. IoT 인증정보생성 50

51 IoT Platform 2. IoT 기기인증 그림 17. IoT Authentication Information stored in the form of Merkle Tree 머클트리 (Merkle Tree) 는가장말단노드들을제외한 (non-leaf) 노드들이자식노드의데이터를해시한값으로구성한트리다. 여기서가장말단노드 (leaf) 는거래내용을가지고있고, 말단을제외한나머지모든노드들은각각의자식노드의정보를해시한값을가지고있다. 모든부모노드들은자식노드를최대 2개까지만가질수있는 이진트리의형식을취한다. 2 머클트리의목적은데이터의간편하고확실한인증이라고할수있다. 해시함수의특징으로머클트리하위노드들의해시값은상위노드에영향을주며, 어떤악의적인유저가머클트리최하위에있는트랜잭션정보를가짜로바꿀경우상위부모들의해시값이변경되고, 머클루트값또한변경된다. 이것이발생하는이유는해시가상향으로전파되기때문이라고할수있다. 머클루트정보가변경될경우블록해시정보또한변경되어해당블록은기존의블록과전혀다른블록으로등록된다

52 IoT Platform 3. IoT SDK 프레임워크구조상세설명 3. IoT SDK 프레임워크 구조상세설명 그림 18. SDK 구조 APIs Agent 1) API Agent 를통해서단일한 I/O 를사용하여시스템들과커뮤니케이션을수행 52

53 IoT Platform 3. IoT SDK 프레임워크구조상세설명 Connection Ready Agent 1) IoTon Service Platform과다른 IoT Ready로부터 GMMP/oneM2M 요청과응답을처리 2) G/W버전의경우 Proxy G/W로동작하여하위 Device로중계수행 3) Device버전의경우 Proxy G/W가제외되어경량화함 Management Agents 1) 다른 Agent의요청에대해 Middleware 내부의핵심기능을처리 2) Device/Resource/Security/System으로역할을구분하여구성 3) Manager는 Message State를기반으로한 Common I/F 호출형태로구현하여향후추가적인 Manager가개발되어도영향을최소화하도록개발 Service Ready Agent 1) 다른 Agent의요청에대해 Sensor의제어및정보수집 / 변환을처리 2) Sensor의비동기적발생데이터를 Management Agent로전달보고 3) 보고 / 수집된정보는 Sensor/Device Modeler에의해정규포멧으로변환 Blockchain Agent 1) Blockchain Node 생성및데이터변환및인증 2) 통신, 구간블록체인생성및확인 Device Storage Adaptor 1) Resource/Device의정보및 System 운영에필요한정보는 DB로관리 2) Resource/Device의 Policy, Sensor/Device Data Model은 File로관리 3) 경량버전및확정 / 유연성을위해 Storage Adaptor로만접근하도록제공 4) 보안이필요한데이터는블록체인으로저장 Transport Adaptor 1) onem2m을위한 HTTP/MQTT/CoAP와 GMMP를위한 TCP 제공 2) 통신보안을위한 TLS/DTLS 적용개발 53

54 References 54 12

55 References ACR+10. Andris Ambainis, Andrew M Childs, Ben W Reichardt, Robert Spalek, and Shengyu Zhang. Any and-or formula of size n can be evaluated in time n1/2 + o(1) on a quantum computer. SIAM Journal on Computing, 39(6): , Amb07. Andris Ambainis. A nearly optimal discrete query quantum algorithm for evaluating nand formulas. arxiv preprint arxiv: , Amb10. Andris Ambainis. Quantum algorithms for formula evaluation AS06. Andris Ambainis and Robert Spalek. Quantum algorithms for matching and network flows. In Annual Symposium on Theoretical Aspects of Computer Science, pages Springer, BBHT98. Michel Boyer, Gilles Brassard, Peter Høyer, and Alain Tapp. Tight bounds on quantum searching. Fortschritte der Physik, 46(4-5): , CLRS01. Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford Stein. Introduction to Algorithms-Secund Edition. McGraw-Hill, DH96. Christoph Durr and Peter Høyer. A quantum algorithm for finding the minimum. arxiv preprint quant-ph/ , DHHM04. Christoph D urr, Mark Heiligman, Peter Høyer, and Mehdi Mhalla. Quantum query complexity of some graph problems. In International Colloquium on Automata, Languages, and Programming, pages Springer, DHHM06. Christoph D urr, Mark Heiligman, Peter Høyer, and Mehdi Mhalla. Quantum query complexity of some graph problems. SIAM Journal on Computing, 35(6): , D or08. Sebastian D orn. Quantum complexity of graph and algebraic problems. PhD thesis, Universit at Ulm, D or09. Sebastian D orn. Quantum algorithms for matching problems. Theory of Computing Sys- 55

56 References tems, 45(3): , Gro96. Lov K Grover. A fast quantum mechanical algorithm for database search. In Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, pages ACM, NC10. Michael A Nielsen and Isaac L Chuang. Quantum computation and quantum information. Cambridge university press, Smo93. Roman Smolensky. On representations by low-degree polynomials. In Foundations of Computer Science, Proceedings., 34th Annual Symposium on, pages IEEE, Yab89. Sergey Vsevolodovich Yablonsky. Introduction to Discrete Mathematics: Textbook for Higher Schools. Mir Publishers, Practical Byzantine Fault Tolerance. Bitcoin: A Peer-to-Peer Electronic Cash System. Directed Acyclic Graph. L. Lamport, R. Shostak, and M. Pease, The byzantine generals problem, ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 4, no. 3, pp , M. Castro, B. Liskov, et al., Practical byzantine fault tolerance, in OSDI, vol. 99, pp , Delegated proof-of-stake. delegated-proof-of-stake-consensus/.39 56

57 References Debate on bitcoin. the-bitcoin-for-is-a-coup. Tendermint. 57

58 책임면책성명 58

59 Technical Whitepaper Disclaimer 해당문서는 IoTon 플랫폼에대한정보제공용기술백서이다. 본기술백서는 IoTon General White Paper(IoTon 일반백서 ) 에소개된 IoTon 플랫폼구현에적용되는기술들에대한정보를제공하고플랫폼개발중개발자들이 참고할목적으로도작성되었다. 본기술백서를읽을때반드시일반백서와참조해서읽어야한다. 이문서는 IoTon 플랫폼과 IoTon 토큰이코노믹스에대한참고자료일뿐이며 IoTon 플랫폼과 IoTon 토큰이코노믹스의상품, 관련상품, 주식들을구매할것을제안하는문서가아니다. 이문서에나오는어떠한내용도 IoTon 프로젝트에대한투자나기금형성에참여할것을제안하지않는다. 이문서를주식공모설명서나다른그어떠한형식의표준화계약문서로간주할수없다. 본문서의내용은또한가상화폐의투자결정의건의를구성하지않는다. 본문서는아직어떤국가의사법당국의심사도받지않았으며차후끊임없이업데이트될것이기때문에최종화된문서로도볼수없다. 본문서를참고하여작성된어떠한분석자료에대해서도본문서는책임을지지않는다. 본문서의어떠한내용도미래에대한약속이나진술로간주될수없다. 본문서를참고하여내려진어떠한손실에도본문서는책임지지않는다. 다만정보제공을위하여이문서를참조할때본문서의영문버전과한글버전이충돌된해석을일으킬경우영문버전이최종적권위를가진다. 본문서를참고하여만약 IoTon 플랫폼과토큰이코노믹스에투자나혹은다른형태의결정을내릴때독자들은 반드시자기자신이직접법률전문가, 기술전문가, 회계전문가들을포함한필요분야전문가들과상의하고결정을 내려야한다. 물론이렇게내려진어떠한결정에대해서도본문서는책임지지않는다. 59

60

말은 많은 Blockchain 2

말은 많은 Blockchain 2 loopchain-블록체인으로 진짜 서비스 만들어보기 말은 많은 Blockchain 2 진짜 만든 것은 있나? 뭐가 많이 있기는 한데 우리가 써먹어 볼건 있나요? 3 그런데 이런 일이 일어났습니다. 4 뭘 만든건가요?: 블록체인 기반 인증서 발급 각 증권사를 통해 인증서 발급 요청 후 인증서 발급에 필요한 정보를 기반으로 거래를 생성하고 이에 대한 Smart

More information

비잔틴 노드에 의한 네트워크 분기 시도와, 네트워크 정지 시도를 막기 위하여 네트 워크의 모든 노드들에 2번에 거쳐 합의 데이터를 전송한다. Tendermint와 같은 선행 연구들은 PBFT를 이용하여 비트코인으로 대표되는 작업증명 알고리즘을 사용하는 블록체인 시스템의

비잔틴 노드에 의한 네트워크 분기 시도와, 네트워크 정지 시도를 막기 위하여 네트 워크의 모든 노드들에 2번에 거쳐 합의 데이터를 전송한다. Tendermint와 같은 선행 연구들은 PBFT를 이용하여 비트코인으로 대표되는 작업증명 알고리즘을 사용하는 블록체인 시스템의 LFT: Byzantine Fault Tolerance를 지원하는 경량화된 고성능 합의 알고리즘 theloop June 23, 2017 Abstract 최초의 블록체인 구현 서비스인 비트코인은 작업증명 (Proof of Work) 알고리 즘을 이용하여 전 세계 규모의 네트워크에서 거래장부에 대한 합의를 이루었다. 그러나 비트코인에서 사용한 작업증명 알고리즘은

More information

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

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

User interface design

User interface design Course Introduction Minsoo Ryu Hanyang University 교과목정보 1 강좌명 블록체인구조와원리 수업연도 2019 년수업학기 1 학기 과목구분전공학수번호 BLC6001 학점 - 이론 - 실습 3-3-0 수업코드 33451 교과목정보 설강대학한양대학교설강학과블록체인융합학과 강의시간 월 18:00 ~ 21:00 (X) 월 18:30

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 WSA 10 주차 (18.09..) Ethereum 김도윤 (doyunism@gmail.com) 백서연구조합 (WSA: Whitepaper Study Alliance) Ethereum Scalability CryptoKitties, Ethereum Killer(DApp) Source : https://medium.com/@512jay/cryptokitties-5b5e2899267f/

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft Word - 08_01_블록체인.docx

Microsoft Word - 08_01_블록체인.docx 아이리포지식창고 기출심화 - 01 블록체인합의알고리즘 양경주정보관리기술사 (kjyang75@gmail.com) 블록체인의핵심기술, 합의알고리즘 Concept KeyWord ( 블록체인정의 ) - 제3의공인기관이나중개자개입없이투명하고안전한거래를가능하게하는분산되고, 개방된공동장부관리기술 ( 합의알고리즘정의 ) - P2P 네트워크와같이정보도달에시간차가있는네트워크에서참가자가하나의결과에대한합의를얻기위한알고리즘

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

Yggdrash White Paper Kr_ver 0.18

Yggdrash White Paper Kr_ver 0.18 White paper (ver 0.18) 1 ,.,.?.,,,???..,,..,.,...,.,., p2p.. Team Yggdrash 2 1. 1.1 Why, Another, Blockchain? (,,?) 1.1.1, (TPS) / (Throughput),?. DApp., DB P2P..,.. DApp.... 2012 2 2018 2, 150GB, 14..

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

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

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

참고 : 더블링크드리스트 노드는데이터와포인터를가지고포인터가다음노드의데이터부분을참조하면서 연결되는자료구조이며, 데이터검색시포인터로연결된노드를검색하여값을찾음 < 더블링크드리스트연결구조 > 구분인덱스 ( 데이터베이스 ) 더블링크드리스트 장점 단점 < 인덱스및더블링크드리스트방

참고 : 더블링크드리스트 노드는데이터와포인터를가지고포인터가다음노드의데이터부분을참조하면서 연결되는자료구조이며, 데이터검색시포인터로연결된노드를검색하여값을찾음 < 더블링크드리스트연결구조 > 구분인덱스 ( 데이터베이스 ) 더블링크드리스트 장점 단점 < 인덱스및더블링크드리스트방 보안연구부 -2015-029 블록체인및비트코인보안기술 ( 보안연구부보안기술팀 / 2015.11.23) 개요 블록체인 (BlockChain) 은보안성, 무결성을제공하는저장플랫폼으로써, 비트코인 (Bitcoin), 거래정보, 저작권관리등다양한서비스가출시되고있음 본보고서에서는블록체인의대표적인이용사례인비트코인을통해적용된주요보안기술에대해알아보고자함 블록체인 ( 개념

More information

PowerPoint Presentation

PowerPoint Presentation 정보보호블록체인 목차 2 블럭체인메커니즘 블록체인플랫폼 블록체인메커니즘 1. 블록체인메커니즘 : 거래정보전파 4 멀리있는노드들간거래내용과순서는다를수있음 출처 : https://homoefficio.github.io 1. 블록체인메커니즘 : 블록체인충돌해소 5 멀리있는노드들이거의동시에 nonce 값을찾아마지막블록인 P 에각새로운블록을추가하며인접노드들에게전파 출처

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 프라이빗블록체인소개와경량맞춤형블록체인 (it-chain) 구현사례공유 Kosslab 5 기전담개발자 이준범 2018-10-18 소개 이준범 Kosslab 5기전담개발자 카이스트소프트웨어아키텍처연구실석사졸업 중앙대학교컴퓨터공학부졸업 취미 : 카페에서코딩하기 관심분야 : 소프트웨어아키텍처, 머신러닝 ( 딥러닝,NMT), 블록체인 Github: https://github.com/junbeomlee

More information

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

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

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

IoTon General Paper(IEO)_KO_v1.0

IoTon General Paper(IEO)_KO_v1.0 Version 1.0 Sep 03, 2018 Contents 4 6 7 7 10 11 11 13 14 15 17 18 21 24 1. Abstract 2. 배경 2.1 IoT란무엇인가? 2.2 IoT의전망 3. IoT 기술이가진난관 3.1 미래의혁신들을막는문제 3.2 초연결시스템창조에놓인난제 4. 가능한해결방법 4.1 보안문제 4.2 문제의해결 BIoT범용플랫폼

More information

- 목차 - 1. 개요 가. 아이콘 (ICON) 이란? 나. 주요스펙 1) 기본정보 2) 시장정보 2. 주요팀멤버및재단소개 3. ICON 컨셉및특징 - 독자적인블록체인기술, Loopchain - ICON의블록체인네트워크, 넥서스 (NEXUS) - IISS (ICON I

- 목차 - 1. 개요 가. 아이콘 (ICON) 이란? 나. 주요스펙 1) 기본정보 2) 시장정보 2. 주요팀멤버및재단소개 3. ICON 컨셉및특징 - 독자적인블록체인기술, Loopchain - ICON의블록체인네트워크, 넥서스 (NEXUS) - IISS (ICON I 아이콘 상장검토보고서 2018.03.21 - 목차 - 1. 개요 가. 아이콘 (ICON) 이란? 나. 주요스펙 1) 기본정보 2) 시장정보 2. 주요팀멤버및재단소개 3. ICON 컨셉및특징 - 독자적인블록체인기술, Loopchain - ICON의블록체인네트워크, 넥서스 (NEXUS) - IISS (ICON Incentives Scoring System) 4.

More information

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

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

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

공정한합의알고리즘 : deb 합의알고리즘 (A fair consensus algorithm : deb consensus algorithm) 목차 1. 개요 2. 합의알고리즘의공정성 3. deb 합의알고리즘 4. 공정한노드의역할및신뢰성검증 5. 성능 6. deb 합의알고 공정한합의알고리즘 : deb 합의알고리즘 (A fair consensus algorithm : deb consensus algorithm) 목차 1. 개요 2. 합의알고리즘의공정성 3. deb 합의알고리즘 4. 공정한노드의역할및신뢰성검증 5. 성능 6. deb 합의알고리즘특성 7. 결론 1. 개요 2008년분산원장 (distributed ledger) 개념과합의알고리즘인작업증명

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

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

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1 IP 심화 º 각 P 의게이트웨이는해당네트워크의마지막주소를사용한다. - P1 (210.220.10.1/26) 의게이트웨이 (5의 Fa0/0) : 210.220.10.63 /26 = 255.255.255.192 호스트비트수 : 32-26 = 6 비트 => = 64 그러므로 P1의 IP 210.220.10.1 중서브넷마스크에의거 26비트는변함이없고, 나머지 6비트가호스트비트로변하므로

More information

untitled

untitled Oracle DBMS 로그인의접근제어우회 취약점분석 2006. 2. 9 인터넷침해사고대응지원센터 (KISC) 본보고서의전부나일부를인용시반드시 [ 자료 : 한국정보보호진흥원 (KISA)] 룰명시하여주시기바랍니다. 개요 o 2005년이후 Oracle Critical Patch Update(CPU) 는 Oracle사제품대상으로다수의보안패치및보안패치와관련된일반패치를발표하는주요수단임

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

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

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

More information

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

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

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

Implement a business platform based on blockchain blockchain기반 비즈니스 플랫폼 구현을 위한 White Paper (요약본) -1- Qcity Implement a business platform based on blockchain blockchain기반 비즈니스 플랫폼 구현을 위한 White Paper (요약본) -1- Qcity 1. 배경 암호화폐의시중유통에있어서주된장애요소는가격변동성과결제시간지연의문제 이다. Qcity 는고정가치를유지하는큐코인 (Qcoin) 을생성하고이를거래수단으로유통시 킬 Q-

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

Security Issues in the Blockchain as a Service Platform 2019년 8월 30일 ( 금 ) 람다256 오재훈

Security Issues in the Blockchain as a Service Platform 2019년 8월 30일 ( 금 ) 람다256 오재훈 Security Issues in the Blockchain as a Service Platform 2019년 8월 30일 ( 금 ) 람다256 오재훈 Chapter 제목 Agenda 루니버스소개 Security Issues Smart Contract 보안 Private Key 보안 Infra 시스템보안 System Asset 보호 Operation System

More information

LTC 라이트코인명세서

LTC 라이트코인명세서 LTC 2017-10-27 라이트코인명세서 본명세서는회원님들의이해에도움이되고자작성한내용이며, 투자권유의의도는일절없음을안내드립니다. Index 1 개요 2 기술명세서 O ver view 2-1 라이트코인 (Litecoin) 이란? 2-2 기술적특징 2-3 관련웹사이트 3 시장명세서 3-1 라이트코인의유통구조 3-2 시장현황 3-3 해외라이트코인상장거래소및거래현황

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

항목

항목 Cloud 컴퓨팅기반분산파일시스템개요 개발실 UPDATE : 2012. 11 18 INDEX 1. 가용성 2. 확장성 3. PrismFS 4. Q&A 2 가용성 3 Gmail 장애 2011년 2월 27일 34000명의 Gmail 사용자들이일어나보니메일, 주소록, 채팅기록등이사라진것을발견 2011년 2월 28일 스토리지소프트웨어업데이트를진행하는중 Bug로인해발생했다고공지

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

WIZBL_WHITEPAPER 한글

WIZBL_WHITEPAPER 한글 WIZBL WHITE PAPER 5th Generation of Blockchain Technology v 0.8 content subject to change 2018 WIZBL. All rights reserved. 면책조항 본 백서는 정보 제공을 목적으로만 작성된 것이므로 이 문서의 진술에 의존해서는 안됩니다. WIZBL은 어떠한 진술이나 보증(표현이나

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

Lightpaper Bryllite Platform Beyond the Game Boundaries 브릴라이트플랫폼 : 게임의경계를넘어 Bryllite Ltd.

Lightpaper Bryllite Platform Beyond the Game Boundaries 브릴라이트플랫폼 : 게임의경계를넘어 Bryllite Ltd. Lightpaper Platform Beyond the Game Boundaries 브릴라이트플랫폼 : 게임의경계를넘어 Ltd. labs@bryllite.com www.bryllite.com 브릴라이트플랫폼소개 브릴라이트플랫폼은게이머의자산을안전하게저장하고이동할수있는기능을제공하고, 자산거래의동시성을강제하여중개 자없이도신뢰할수있는거래가가능하게하는플랫폼입니다. 게임서비스내부

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

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

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

More information

2 노드

2 노드 2019/05/03 17:01 1/5 2 노드 2 노드 소개 노드를사용하여계층적분산모니터링을구축할수있습니다. 각노드는Zabbix 서버자체이며, 각각이놓인위치모니터링을담당합니다 Zabbix는. 분산설정은최대 1000 개의노드를지원합니다. 노드의설정을사용하는장점은다음과같습니다. 일부지역에걸친대규모네트워크에서여러수준의모니터링계층을구축합니다. 계층에서하노드는마스터노드에전송합니다.

More information

USC HIPAA AUTHORIZATION FOR

USC HIPAA AUTHORIZATION FOR 연구 목적의 건강정보 사용을 위한 USC HIPAA 승인 1. 본 양식의 목적: 건강보험 이전과 책임에 관한 법(Health Insurance Portability and Accountability Act, HIPAA)이라고 알려진 연방법은 귀하의 건강정보가 이용되는 방법을 보호합니다. HIPAA 는 일반적으로 귀하의 서면 동의 없이 연구를 목적으로 귀하의

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

Blockchain for the Internet of Things 2

Blockchain for the Internet of Things 2 WHITEPAPER Blockchain for the Internet of Things 2 함유량 개요... 4 1. 소개... 5 Blockchain... 9 Blockchain이 IoT 응용프로그램에적용되는것과관련하여중요한주제... 11 왜오늘날 blockchain 은 IoT에적합하지않는가?... 13 2. ThingsChain의비전... 14 어떻게 ThingsChain은현재의문제들을해결할수있는가?...

More information

Sequences with Low Correlation

Sequences with Low Correlation 레일리페이딩채널에서의 DPC 부호의성능분석 * 김준성, * 신민호, * 송홍엽 00 년 7 월 1 일 * 연세대학교전기전자공학과부호및정보이론연구실 발표순서 서론 복호화방법 R-BP 알고리즘 UMP-BP 알고리즘 Normalied-BP 알고리즘 무상관레일리페이딩채널에서의표준화인수 모의실험결과및고찰 결론 Codig ad Iformatio Theory ab /15

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L 1,000 AP 20,000 ZoneDirector 5000. IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. WLAN LAN Ruckus Wireless (ZD5000),, WLAN. 20,000 2,048 WLAN ZD5000 1,000 ZoneFlex

More information

Amazon EBS (Elastic Block Storage) Amazon EC2 Local Instance Store (Ephemeral Volumes) Amazon S3 (Simple Storage Service) / Glacier Elastic File Syste (EFS) Storage Gateway AWS Import/Export 1 Instance

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft Word - release note-VRRP_Korean.doc

Microsoft Word - release note-VRRP_Korean.doc VRRP (Virtual Router Redundancy Protocol) 기능추가 Category S/W Release Version Date General 7.01 22 Dec. 2003 Function Description VRRP 는여러대의라우터를그룹으로묶어하나의가상 IP 어드레스를부여해마스터로지정된라우터장애시 VRRP 그룹내의백업라우터가마스터로자동전환되는프로토콜입니다.

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

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

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

SANsymphony-V

SANsymphony-V 국내대표적인구축사례 (KR) XXXX공사(공공) 2013년 12월 도입 센터 이전에 따른 스토리지가상화 통합 및 이기종통합 이기종 스토리지 (무중단이중하) 무중단 서비스 확보 24시간 운영 체계의 고가용 확보 스토리지 인프라의 유연한 구성 및 통합 환경 구축 업무서버 Unix 20대 업무서버 V 58대 CIe SSD(Fusion IO 3.2TB) ㅇㅇㅇㅇㅇㅇ

More information

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion 요약 본연구에서는, 웹문서로부터특정상품에대한의견문장을분석하는오피니언마이닝 (Opinion

More information

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

04 Çмú_±â¼ú±â»ç 42 s p x f p (x) f (x) VOL. 46 NO. 12 2013. 12 43 p j (x) r j n c f max f min v max, j j c j (x) j f (x) v j (x) f (x) v(x) f d (x) f (x) f (x) v(x) v(x) r f 44 r f X(x) Y (x) (x, y) (x, y) f (x, y) VOL.

More information

Cisco FirePOWER 호환성 가이드

Cisco FirePOWER 호환성 가이드 Cisco 호환성가이드 Cisco 호환성 이문서에서는 Cisco 소프트웨어와하드웨어의호환성및요건을다룹니다. 추가 릴리스또는제품정보는다음을참조하십시오. 설명서로드맵 : http://www.cisco.com/c/en/us/td/docs/security/firesight/ roadmap/firesight-roadmap.html Cisco ASA 호환성가이드 : http://www.cisco.com/c/en/us/td/docs/security/asa/compatibility/

More information

- 목차 - 1. 개요 가. 애터니티 (Aeternity, AE) 란? 나. 주요스펙 1) 기본정보 2) 시장정보 2. 주요팀멤버및재단소개 3. 애터니티컨셉및특징 - Aeon Token (AE) - Name 시스템 - Aepps 4. 기술적특징 - PoW, PoS Hy

- 목차 - 1. 개요 가. 애터니티 (Aeternity, AE) 란? 나. 주요스펙 1) 기본정보 2) 시장정보 2. 주요팀멤버및재단소개 3. 애터니티컨셉및특징 - Aeon Token (AE) - Name 시스템 - Aepps 4. 기술적특징 - PoW, PoS Hy 애터니티 (AE) 상장검토보고서 2018.06.07 - 목차 - 1. 개요 가. 애터니티 (Aeternity, AE) 란? 나. 주요스펙 1) 기본정보 2) 시장정보 2. 주요팀멤버및재단소개 3. 애터니티컨셉및특징 - Aeon Token (AE) - Name 시스템 - Aepps 4. 기술적특징 - PoW, PoS Hybrid - State Channels

More information

라우터

라우터 네트워크 라우터 네트워크연결 라우터의 포지셔닝 맵 예전에는 소규모 환경에서도 스위치 무선 액세스 포인트 가속 어플라이언스 등 다양한 디바이스를 설치해야만 했습니다 은 이런 여러 디바이스에서 제공되는 네트워크 서비스를 하나의 플랫폼에 통합할 수 있는 슈퍼 라우터 입니다 이런 라우터들은 여러 서비스를 통합할 수 있을 뿐 아니라 라이선스 활성화 및 또는 확장 모듈

More information

Microsoft PowerPoint - 6.pptx

Microsoft PowerPoint - 6.pptx DB 암호화업데이트 2011. 3. 15 KIM SUNGJIN ( 주 ) 비에이솔루션즈 1 IBM iseries 암호화구현방안 목차 목 차 정부시책및방향 제정안특이사항 기술적보호조치기준고시 암호화구현방안 암호화적용구조 DB 암호화 Performance Test 결과 암호화적용구조제안 [ 하이브리드방식 ] 2 IBM iseries 암호화구현방안 정부시책및방향

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture1 Malware Analysis #1 Agenda 악성코드정적분석 악성코드분석 악성코드정적분석 정적분석 임의의코드또는응용프로그램을실행하지않고분석 ASCII 문자열 (ex. URL) API 리스트 Packing VT 기타등등 정적분석 : 파일식별 악성으로의심되는파일의형태식별 file

More information

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로 3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로성립한다. Theorem 7 두함수 f : X Y 와 g : X Y 에대하여, f = g f(x)

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

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

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

Microsoft PowerPoint - 26.pptx

Microsoft PowerPoint - 26.pptx 이산수학 () 관계와그특성 (Relations and Its Properties) 2011년봄학기 강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계

More information

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

백지 개정판 1.6 / 2001 년 8 월 7 일 백지 개정판 1.6 / 2001 년 8 월 7 일 내용 내용 1. 소개 2. 핵심 기술 2.1 스테이크 증명 2.1.1 POW와 DPOS의 비교 2.1.2 암호화 2.1.3 블록 및 블록 생성 2.1.4 주화 및 단조 공정 2.1.5 노드 2.1.6 트랜잭션 : 수수료 및 처리 시간 2.2 SegWit 2.2.1 개관 2.2.2 보안 2.2.3 블록 크기 및

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

EA0015: 컴파일러

EA0015: 컴파일러 5 Context-Free Grammar 무엇을공부하나? 앞에서배운 " 정규식 " 은언어의 " 어휘 (lexeme)" 를표현하는도구로사용되었다. 언어의 " 구문 (syntax)" 은 " 정규언어 " 의범위를벗어나기때문에 " 정규식 " 으로표현이불가능하다. 본장에서배우는 " 문맥자유문법 " 은언어의 " 구문 (syntax)" 을표현할수있는도구이다. 어떤 " 문맥자유문법

More information

<464B4949B8AEC6F7C6AE2DC0AFBAF1C4F5C5CDBDBABBEABEF7C8AD28C3D6C1BE5FBCD5BFACB1B8BFF8BCF6C1A4292E687770>

<464B4949B8AEC6F7C6AE2DC0AFBAF1C4F5C5CDBDBABBEABEF7C8AD28C3D6C1BE5FBCD5BFACB1B8BFF8BCF6C1A4292E687770> 국내 유비쿼터스 사업추진 현황 본 보고서의 내용과 관련하여 문의사항이 있으시면 아래로 연락주시기 바랍니다. TEL: 780-0204 FAX: 782-1266 E-mail: minbp@fkii.org lhj280@fkii.org 목 차 - 3 - 표/그림 목차 - 4 - - 1 - - 2 - - 3 - - 4 - 1) 유비쿼터스 컴퓨팅프론티어사업단 조위덕 단장

More information

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

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

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 블록체인현황과전망 Token Sale between Jan. 2014 Aug. 2018 https://www.youtube.com/watch?v=yq7zrwujaye 구글트랜드지난 2 년의변화 (2017.1~2018.11) 블록체인 인공지능 사물인터넷 블록체인개요 블록체인현황 모든구성원이분산형네트워크를통해정보및가치를검증 저장 실행함으로써특정인의임의적인조작이어렵도록설계된분산시스템기술

More information

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에대하여 AB=BA 1 가성립한다 2 3 (4) 이면 1 곱셈공식및변형공식성립 ± ± ( 복호동순 ), 2 지수법칙성립 (은자연수 ) < 거짓인명제 >

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); 인터페이스적용 오리객체설계하기 ) 청둥오리, 물오리를설계하세요. 1 단계 : 필요한객체설계 class 청둥오리 { class 물오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); mallardduck.fly(); mallardduck.quack(); redheadduck.swim();

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 1 2.1 대칭암호원리 제 2 장. 대칭암호와메시지기밀성 2 3 기본용어 평문 (Plaintext) - original message 암호문 (Ciphertext) - coded message 암호화 (Cipher) - algorithm for transforming plaintext to ciphertext 키 (Key) - info used in cipher

More information

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

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

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

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E > 6. ASP.NET ASP.NET 소개 ASP.NET 페이지및응용프로그램구조 Server Controls 데이터베이스와연동 8 장. 데이터베이스응용개발 (Page 20) 6.1 ASP.NET 소개 ASP.NET 동적웹응용프로그램을개발하기위한 MS 의웹기술 현재 ASP.NET 4.5까지출시.Net Framework 4.5 에포함 Visual Studio 2012

More information

Chap 6: Graphs

Chap 6: Graphs AOV Network 의표현 임의의 vertex 가 predecessor 를갖는지조사 각 vertex 에대해 immediate predecessor 의수를나타내는 count field 저장 Vertex 와그에부속된모든 edge 들을삭제 AOV network 을인접리스트로표현 count link struct node { int vertex; struct node

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

TOKENOMY_KO.cdr

TOKENOMY_KO.cdr OSA DC 사례 연구 및 토크 노미 (TOKENOMY) company@osadc.io www.osadc.io 12.09.2018 개요 이 문서에서는 주요 비즈니스 사례와 그 구현 전략을 활용하여 OSA DC 분산 마켓플레이스의 몇 가지 측면의 기능에 대한 통찰력을 제공한다. 또한 마켓플레이스 토크노믹스(Tokenomics)에 대 해서도 설명한다. 1. 소개

More information

Contents Absract Project Background Vision FLETA Project 1. 블록체인기능극대화 2. 차별화된토큰이코노미 3. 멀티체인을통한확장성 FLETA's Innovation 1. 4대기술혁신 1.1 새로운블록 & 레벨트리검증방식 1.

Contents Absract Project Background Vision FLETA Project 1. 블록체인기능극대화 2. 차별화된토큰이코노미 3. 멀티체인을통한확장성 FLETA's Innovation 1. 4대기술혁신 1.1 새로운블록 & 레벨트리검증방식 1. FLETA WHITE PAPER KOR 1 Contents Absract Project Background Vision FLETA Project 1. 블록체인기능극대화 2. 차별화된토큰이코노미 3. 멀티체인을통한확장성 FLETA's Innovation 1. 4대기술혁신 1.1 새로운블록 & 레벨트리검증방식 1.2 새로운합의방식 : PoF (Proof-of-Formulation)

More information