공개 SW 기반의 IoT 블록체인 2018. 08. 29 문승진 (sjmoon@etri.re.kr) 한국전자통신연구원블록체인기술연구센터
1. 공개 SW 과제개발프로세스및추진체계 @ETRI ( 예시 ) 2. IoT Blockchain 3. Consortiums/Platforms/Services/Projects 4. Trends 5. Deep Dive : IOTA Tangle
공개 SW 과제개발방법 ( 안 ) 공개 SW 의목적 개발자들과사용자들의저변을확대하여개발되는 SW 의가치를극대화하고글로벌표준화협력과시장경쟁력을확보하는데있음 공개 SW 개발방식 ( 방식 1, 개발全단계오픈소스화 ) 개발초기부터오픈소스외부개발자들과오픈소스커뮤니티를구성하여공동으로개발하고개발된소스를공유하는방식 ( 방식 2, 개발완료후공개 ) 최종 SW 개발완료후공개 SW로공개하는방식 ( 방식 3, 하이브리드방식 ) 위방식의하이브리드형태로서초기버전개발후공개 SW로전환하여완성버전을개발하는방식. 대형 SW의단계별개발에유리 공개 SW 관리방식 ( 개발단계 ) 소스형상관리, 이슈추적관리, 시험및검증자동화에의해관리 (SW 공개후 ) 블록체인오픈소스커뮤니티를구성하여이커뮤니티에서오픈소스관리를전담 오픈소스관리주요내용 : 오픈소스개발규칙및라이선스결정, 소스관리의사결정, 패키징및시험을통한배포등포함 3
공개 SW 의 Benefit 공개 SW 의경제적이익 : 라이선스의종류에따라다양한비즈니스모델적용 듀얼라이선스모델 : 개발된 SW의일부 ( 예, 엔터프라이즈용 ) 는미공개하고나머지만공개 독립적부가제품모델 : 공개 SW를기반으로플러그인제품또는액세서리형태의추가기능제품판매로수익창출 컨설팅및시스템통합 : 개발된 SW를공개하고사용자가필요한시스템통합이나컨설팅으로수익창출 공개 SW 전문가서비스 : 개발된 SW를공개하고사용자에게기술전문가를지원하여수익창출 공개 SW SaaS(Software as a Service) 모델 : 개발된 SW를공개하고사용자에게 SaaS 서비스를제공해줌으로써수익창출 출처 : 공개소프트웨어연구개발수행가이드라인, 2018.6, 과기정통부 특허의실효성 공개 SW를제공하는글로벌기업들은특허를자사경쟁력확보의전략적수단으로활용 공개 SW로외부 SW 개발자와사용자들을최대한확보한후, 공개 SW에포함된특허를활용하여다양한라이선스정책으로유리한비즈니스창출 공개 SW에포함된특허는라이선스에따라실시권을허용하거나, 듀얼라이선스정책으로핵심특허의경우는전략적으로허용하지않을수있음 공개 SW 과제에서의주관 / 참여기관이민간기업일때의이슈 SW 공개시민간기업의현실적인이익은무엇인가?( 과제참여이슈, 개발범위이슈등 ) 특허출원후 SW 공개 : 특허침해소송비용, Know-How 이슈 4
공개 SW 과제개발프로세스 @ETRI ( 예시 ) ETRI R&D 표준프로세스 에따른체계적관리및자동화환경구축 과제특성 ( 공개 SW) 을고려하여오픈소스공개프로세스추가수행 요구사항정의및관리 문제점 / 이슈관리 오픈소스라이선스검증및공개 요구사항관리자동화도구적용요구사항양방향추적성유지요구사항변경신청서자동생성 문제점의해결상황진척도파악버전관리와연계 - SVN 과연계 라이선스, 시기, 범위, 장소, 관리방안수립공개 SW 라이선스분석및보안취약점검증도구활용공개 SW 개발 / 관리를위한커뮤니티활용홍보 목표및요구사항 정립 구조설계 상세설계 구현 시스템시험 오픈소스공개 단계별개발완료 과제실행관리 과제진도관리 SW 검증 SW 정적분석동료간검토 버전관리 결과물검증 과제별프로세스검증정량적목표항목외부공인시험 Q-mark 시험인증 ETRI 오픈소스공개뱅크활용개발자간협업, 롤백환경구축패키지버전관리 5
공개 SW 과제개발추진체계 @ETRI ( 예시 ) 1 단계 : ETRI 내자체오픈소스관리시스템구축 2 단계 : 국내용오픈소스관리시스템구축 or GitHub ( 국책과제결과물의국외공개와관련된 Issue 존재 ) 구축장소및접근권한관리방법은과제전담기관과협의운용방법 전담기관, ETRI 오픈소스센터및참여기관과의협의하에공개 SW 라이선스정책결정 과제내공개 SW 담당자지정 : SW 결과물확인 / 공개 / 관리전담 프로젝트커뮤니티구축및운영 : SW 개발자문및공개 SW 확인 / 검증 정보통신 방송연구개발관리규정제 40 조 4 항 : 수행기관의장은연구개발사업의성격및목표, 사용된공개소프트웨어의종류및라이선스, 사업수행결과를실시하고자하는자등을고려하여사업수행결과를배포할공개소프트웨어라이선스를선택해야한다. 6
1. 공개 SW 과제개발프로세스및추진체계 @ETRI ( 예시 ) 2. IoT Blockchain 3. Consortiums/Platforms/Services/Projects 4. Trends 5. Deep Dive : IOTA Tangle
IoT + Blockchain : Needs 중앙집중식 IoT 플랫폼으로부터분산형태로의시대적요구 Server 가독식하는구조가아닌 Peer 들이주체 (P2P) 기존 IoT 플랫폼에블록체인기술이접목되면어떤장점이있을까?( 거래? 보안? 데이터? Etc.) IoT 디바이스간의신뢰 ( 인증 ) 가능 IoT 디바이스들의데이터에대한신뢰문제 (Configuration 또는 FW Update, etc.) IoT 디바이스의자율적 ( 사용자개입없음 ) 트랜잭션 ( 거래 ) 의필요성 기존 IoT 플랫폼에서는디바이스 ( 센서노드또는게이트웨이 ) 의자율거래수단이없어서서버및사용자에의존할수밖에없음 ( 지불방법부재 ) 블록체인은제 3 의인증기관 ( 예, 은행 ) 없이거래가가능한기술 (IoT 플랫폼에 Value-Added Service 가능 ) IoT 플랫폼의 Smart Device 가생산해내는데이터를 M2M( 장치간 ) 자율적인계약을통해서거래가능 IoT 의 Smart Devices 역할을 Smart Contract 가수행 IoT 플랫폼의보안이슈 ( 사용자 / 디바이스인증, 데이터보안, 암호화등 ) 모두블록체인으로해결가능한가? 8
IoT Blockchain : A few Considerations (1 of 2) IoT 블록체인의정의 Broad : IoT 플랫폼 ( 센서, GW) 으로부터들어오는 IoT 데이터를이용하는블록체인플랫폼 IoT + 블록체인의단순연동, 서버가블록체인 Node Non-IoT 블록체인서비스와기술적으로차별점이있는가? Narrow : IoT 플랫폼내센서노드 (or GW) 들이자체적으로 (Smart Contract or AI) 판단하여자율적으로 (Autonomous) 처리 / 거래하는블록체인플랫폼 ( 예, ADEPT) 블록체인은거래가가능한 (Coin 을주고받을수있는 ) 플랫폼 (IoT 플랫폼에 Value-Added Service 가능 ) IoT 블록체인노드의범위 IoT 데이터를수집 / 관리하는서버? WiFi 를지원하는 IoT GW 만? Raspberry Pi 3 사양 : 초경량 / 저전력블록체인필요 ( 한정된 Resource(CPU 용량, Memory, Battery)) WiFi 를지원하지않는단순 Sensor(Zigbee, Bluetooth, etc.) 까지포함? Drone, Smart Phone 합의시간 / 블록생성타임 /TPS/ 원장저장능력 9
IoT Blockchain : A few Considerations (2 of 2) Micropayment 에서의거래수수료문제 IoT 데이터가원장에기록될만한가치가있는것인가? Smart Grid( 전력검침및거래 ) FW Update/Patch, Instruction 무결성기존의가상통화를제외한데이터전달이가능한트랜잭션구조필요 IoT 데이터의용량문제 Smart Grid( 수십 GB/day 신규데이터생성 ) Off-Chain 으로실제데이터를보내고, 전달내역 ( 데이터 Hash 값포함 ) 만트랜잭션으로전달 Smart Contract 실행환경 (VM, State DB etc.) for IoT 10
ADEPT ADEPT : Autonomous Decentralized Peer-to-Peer Telemetry Ethereum 소스코드기반의 IoT 플랫폼 기존의 IoT 플랫폼에구상했던서비스들을 ( 인간의개입없이 ) 디바이스가스스로거래 ( 화폐지불 ) 를하고서로가치를공유한다는개념 ADEPT 기능내장세탁기가세제가떨어지면사용자에게알려서, 세제를자동적으로재주문하는시나리오제시 세제공급처는스마트컨트랙트에대해유효성을확인하고, 지불받은후, 주문된세제를공급 Wallet 이 ADEPT washer 내에있음 11
1. 공개 SW 과제개발프로세스및추진체계 @ETRI ( 예시 ) 2. IoT Blockchain 3. Consortiums/Platforms/Services/Projects 4. Trends 5. Deep Dive : IOTA Tangle
Trusted IoT Alliance (https://www.trusted-iot.org/) Tech Giants and start-ups have joined to form a consortium that will look to build a trusted IoTecosystemwith enhanced security and trust protocol BigChain DB : Blockchain Database Streamr : Streaming of Live Data in exchange for payment IOTA : Tangle Completed PoCs for trusted odometer( 차량주행기록계 ), luxury goods identity verification, router firmware verification, trade finance automation, supply chain event logging, smart vehicle charging, data logger provenance 13
Chain of Things (www.chainofthings.com) (1 of 4) Chain of Things is developing Maru-an integrated blockchainand IoThardware solution to solve IoT'sissues with identity, security, and interoperability Mission 1: Save IoT. CoT will investigate whether the core technology behind bitcoin, blockchain/ distributed ledger technology, can provide a more secure and interoperable fabric for the future of IoT. Mission 2: Find the best use-cases for blockchain IoT combined. CoT is to investigate the best possible use-cases where blockchain and IoT combined can offer significant benefits to industry, governments, individuals.. 14
Chain of Things (www.chainofthings.com) (2 of 4) Usecase1. Chain of Security Device Firmware Hashing Device firmware can be hashed into a Blockchain on a continual basis. If the firmware state changes (by even a single digit) due to malware altering the firmware code, can the hash failure will alert the device owners to foul play. Instruction Authentication Information or checking instructions - device hashes information it wants to send to another device and places the hash into a Blockchain...the receiver of the information hashes the same information...if the hash matches the hash on the Blockchain then the information has not changed in transit. Device Identity Protocol 15
Chain of Things (www.chainofthings.com) (3 of 4) Usecase2. Chain of Solar (for Energy Trade) The ElectriCChain is an open science project dedicated to the intersection of solar energy, IoT and blockchain technology. One of the ElectriCChain s goals is to connect the world s 7 million solar facilities, watching the skies 24/7 and posting live data to one blockchain for scientists, researchers and human progress. Initial focus is on verifying and publishing solar power generation data publicly in near real time. The ElectriCChain project supports the development of open standards and tools to publish and read solar electricity generation data using the SolarCoin blockchain and/or other blockchain technologies. 어떤 Solar Cell 에서얼마만큼의 Solar Energy 가생산되었나? ( 거래가능, 생산능력 Check) 16
Chain of Things (www.chainofthings.com) (4 of 4) Usercase3. Chain of Shipping 1) B/L 운송조건에대한정보전달 2) 해당조건에따라화물운송 3) 컨테이너에부착된 Smart Sensor 가화물온도및품질정보감지 4) 센서데이터는블록체인 Shared Ledger 에기록 5) 계약조건과화물품질정보검증 ( 예 20 도 : OK, 30 도 : 위반 ) 6) 검증데이터는모든참여자 (Seller, Buyer, Carrier, Bank, Insurance) 에게전달 7) 조건충족시, 인도후결제대금지급자동화 17
Blockchain for Electricity Payment - Bank pays Identity - Managed by bank & energy company Timing - Settlement take time Visibility - Bank keeps ledger & reconcile needed 과금위주 전력직접거래가능 Payment - Paid to digital wallet Identity - Managed by key Timing - Immediate fund transfer Visibility - Every stakeholder keeps ledger & no reconcile Privacy and security of smart meters Peer-to-peer energy transaction and control Permanent record of maintenance 거래방법이없어해당가정에서만소비 E-mobility(charging, sharing) Clearing and settlement of electricity trading Verification of green electricity, CO2 certificates 18
Industry 4.0 IIoT(Industrial IoT) Digital Twin Big Data AI(Deep Learning) Blockchain : 스마트컨트랙트로 M2M Economy 가능 독일 : Industrie 4.0 에 IOTA 적용중. (www.plattform-i40.de) 폭스바겐과 IOTA 테스트중 Ex) 3D Printing Subtractive Manufacturing 19
IOTA : ledger-of-things < IOTA s Background & Features > < IOTA s Usecases and Vision > 출처 : IOTA-ledger-of-things 20
1. 공개 SW 과제개발프로세스및추진체계 @ETRI ( 예시 ) 2. IoT Blockchain 3. Consortiums/Platforms/Services/Projects 4. Trends 5. Deep Dive : IOTA Tangle
Current Blockchain Vs. IoT Blockchain 기존블록체인기술로부터 IoT 블록체인개발시고려해야할문제점 #IoT_P1 #IoT_P2 #IoT_P3 #IoT_P4 #IoT_P5 #IoT_P6 IoT 노드의기존블록체인엔진 ( 코어 ) 수용한계 (Tangle 의 Light Node 는 Full Node 와, ADEPT 의 Light Peer 는 Standard Peer 와의협력으로트랜잭션을발생가능. 저전력 IoT 노드 (Drone/Smart Phone/IoT GW etc.,) 를 Full Node/Standard Peer 형태로구축할수없다면메인네트워크와단절되는환경에서는트랜잭션처리가불가능 ) - 저전력기반 IoT 디바이스에서 JVM, Middleware, Docker 등탑재불가 - PoW 작업부담 (Load) 거래수수료 (Fee) 발생문제 - 기존블록체인플랫폼은사용자와채굴자가분리된구조로거래수수료가발생 (Bitcoin Fee Rate, Ethereum Gas Rate 계속상승중 ) 하여 IoT 환경의소액결제에부적합 IoT 데이터의신뢰성문제 - 사용자와 IoT 노드간, 또는 IoT 노드간의 Configuration, 전송데이터및제어메시지가제 3 자에의해위변조가능성 오프라인환경에서의거래및데이터전송 - 비동기적인 IoT 환경에서는네트워크에지속적연결이용이하지않을수있음 - 오프라인환경 ( 메인네트워크와연결이되지않은상태 ) 에서도안전한데이터전송과거래보장 확장성 (Scalability) 의한계 - 기존블록체인플랫폼은참여노드수가많아지면시스템성능이현저히저하 지연시간및성능 (Latency & Performance) - 많은노드들이참여하는 IoT 플랫폼에서지연시간및성능 (TPS) 는매우중요 - IoT 데이터및제어메시지포함하는 IoT Contract 적용시, 실시간성강화필요 JVM: Java Virtual Machine 22
Future R&D Trends of IoT Blockchain 23
1. 공개 SW 과제개발프로세스및추진체계 @ETRI ( 예시 ) 2. IoT Blockchain 3. Consortiums/Platforms/Services/Projects 4. Trends 5. Deep Dive : IOTA Tangle
IOTA IOTA : 블록체인기술을 IoT 플랫폼에적용하여실제운영하고있는재단 founded by 4 individuals: David Sønstebø, Sergey Ivancheglo, Dr. Serguei Popov (Whitepaper(2016.04.03) 저자 ) and Dominik Schiener in 2015. MIOTA IOTA 재단의코인 ( 암호화폐 ) 2015년 10월 21일런칭 ICO(Initial Coin Offering) 를통해약 27억개코인발행및유통 25
IOTA Ranking 출처 : https://coinmarketcap.com/ (2018 년 8 월 15 일현재 ) 26
27
Tangle 이라고불리는새로운형태의분산원장사용 기존블록체인의사용자및채굴자구분구조탈피 사용자가직접검증 (Transaction 승인 ) 에참여 (PoW 방식 ) 신규 Transaction 1 개발생을위해기존 Transaction 2 개검증필수 기존 Transaction (= Tip) 선택하는알고리즘 : MCMC (Markov Chain Monte Carlo) 블록형성을위한별도과정이존재하지않아거래수수료및고성능하드웨어자원불필요 IoT 환경에서마이크로 payment 를활성화를목적으로전송수수료면제 (No Fee) 개념도입 방향성비 - 사이클그래프 (Directed Acyclic Graph, DAG) 알고리즘을이용한검증 (approve) 기법적용 근본적으로블록체인과동일한분산데이타베이스및 P2P 네트워크를이루고합의와확인 (consensus and validation) 메커니즘보유 28
초록 : 합의가이미이루어진거래 빨강 : 아직 100% 승인이이루어지지않은불확실한거래 회색 : 팁 / 미확인된거래 Tangle 에서 Transaction( 거래 ) 이진행 / 검증되는 4 단계 1. 서명하기 : 개인키로거래인풋 (Tx Hash) 을서명 2. 팁선발 : 한거래를통해다른두개의팁 ( 미확인된거래들 ) 을선택하기위해 Markov Chain Monte Carlo(MCMC) 알고리즘사용 3. 작업증명 : Hashcash 4. 신규 Transaction( 거래 ) 가네트워크에브로드캐스트됨 팁 29
cumulative weight of a transaction: the own weight of this transaction plus the sum of own weights of all transactions that approve our transaction directly or indirectly. The small numbers in the SE corner stand for the own weights of the transactions, while the (bigger) bold numbers are the cumulative weights For example, the transaction F is approved, directly or indirectly, by the transactions A;B;C;E. The cumulative weight of F is 9 = 3 + 1 + 3 + 1 + 1, the sum of the weight of F and the weights of A;B;C;E. On the top picture, the only unapproved transactions (the tips) are A and C. When the new transaction X comes and approves A and C, it becomes the only tip; the cumulative weight of all other transactions increases by 3 (which is the weight of X). 30
For the discussion of approval algorithms, we need also to introduce some other variables. height, as the length of the longest oriented path to the genesis; depth, as the length of the longest reverse-oriented path to some tip. For example, on Figure 2, G has height 1 and depth 3 (because of the reverse path F;B;A), while D has height 2 and depth 2. By definition, the score of a transaction is sum of own weights of all transactions approved by this transaction plus the own weight of the transaction See Figure 2. Again, the only tips are A and C. Transaction A approves (directly or indirectly) transactions B;D; F;G, so the score of A is 1 + 3 + 1 + 3 + 1 = 9. Analogously, the score of C is 1 + 1 + 1 + 3 + 1 = 7. 31
(In Progress) weight, score 정보를참조하여 tip 을선택하는데, 아직까지취약점이많아서계속수정중 (We also notice that the approval strategy may be further modified) Nevertheless, it is still worth considering the simplest tip selection strategy ( approve two random tips"), since it is the easiest to analyze, and therefore may give some insight about the qualitative and quantitative behavior of the system. In fact, the author's feeling is that the tip approval strategy is the most important ingredient for constructing a tangle-based cryptocurrency. It is there that many attack vectors are hiding. Also, since there is usually no way to enforce a particular tip approval strategy, it must be such that the nodes would voluntarily choose to follow it. 32
채굴자없이거래의유효성합의를얻어낸다는특징 아이오타는 10 원보다더적은가치의 P2P 를송금인혹은수령인에게서수수료를청구하지않고도보낼수있는첫번째거래지불프로토콜 현재및미래의마이크로페이먼트뿐만아니라나노페이먼트사용사례의근간 33
기존블록체인처럼거래들이순차적인간격을두고처리되지않고평행적으로이루어지는덕분에많은거래가이루어져도아이오타는문제없이확장혹은증가가능 더많은거래가이루어지면그만큼탱글또한더효율적이고안전 34
원장의데이터가영구적으로접근가능하고보관되어야하는특정한어플리케이션 ( 예, 투명검사 (transparent audit) 지원 모든탱글히스토리와데이터를영구적으로보관 (2017 년기준약 30GB) 현진행상황 : 알파테스팅 사물인터넷을구성할디바이스들을위해 " 스냅샷 (snapshotting) 사용 전체원장이너무많은저장공간을차지하면 " 스냅샷 " 을통해가장최근의부분만유지가능 IoT 디바이스가저장할수있게끔원장 (ledger) 데이터베이스를아주작게만들어줌 동일주소에서동일주소로보내어진여러개의트랜잭션을하나의레코드로묶어서처리 현진행상황 : 개발 (2017. 8 ~ ) 중 & Test 35
Offline Transactions = Partitioning 탱글을통해사용자의디바이스집단이메인네트워크에자유자재로분리 / 통합가능비동기적인사물인터넷환경 ( 항상네트워크에연결 x) 에아주중요한필수요소 IoT 디바이스 (GW, Sensor Node, Drone, Smart Phone) 의 Full Node화필수오프라인환경에서도내부통신프로토콜 (ZigBee, 블루투스 LE 등등 ) 을통해안전한데이터전송및거래가능현재개발중 36
높은처리량의거래들을신속하게처리하는양방향성 off-tangle 지불채널비트코인의라이트닝 (Lightning) 네트워크나이더리움의레이든 (Raiden) 네트워크와유사각각의거래가승인되는것을기다리지않고, 거래자들끼리빈번한거래가능 IOTA 네트워크에단두거래만이발생 : 플래시채널의첫번째 / 마지막거래두사용자사이에토큰스트리밍이필요한특정한사용사례에적용현진행상황 : 베타테스팅 37
가장큰보안문제들은대부분주소재사용에서기인 IOTA 는결정적인 (deterministic) 주소생성을사용하여코인을받을때마다새로운주소로수신사용시, 이주소들을하나의페이먼트로통합 ( 모든주소들의연계증명 ) 필요추후해결과제 (Update 예정 ) : University College London의 IOTA 팀에서개발중 38
구현언어현황비고 JavaScript Done 현재운영중 Java Done, Stresstest 예정현재운영중 C++ In early port stage IoT 디바이스에 Java VM 이설치될필요가없고, 실시간으로기계코드로컴파일되기때문에 IoT 에더적합 Rust Early development 사물인터넷을위한가장촉망되고빠른언어들중하나 Go Early development 구글개발언어 39
IXI : IOTA extension Interface 아이오타플랫폼모듈러역할 목적에최대한적합하게끔각각의요소를하나의어플리케이션으로제작 기능들중하나만사용할때각각의기능에오버헤드를유발하지않고서프로토콜의활용을자유자재로조정가능 40
현재 1000 TPS 를목표로하는더큰스트레스테스트를준비하는과정 41
아이오타생태계개발을위한계획중하나 커뮤니티멤버와파트너들과함께아이오타의이해와인식 / 관심을높이기위한프로젝트, IXI 모듈연구, 프로토타입, 그리고사용사례개발을위해 1 천만달러이상의자금조달 자금지원요청 : https://blog.iota.org/iota-ecosystem-fund-2-million-f6ade6a4d8ba 42
Tangle Install 부터 트랜잭션 Confirm 까지 43
44
45
This is a list of public IOTA nodes that you can use with your Light Wallet. All addresses listed on this site are dedicated 24/7 nodes hosted by volunteers from the IOTA community. https://iotanode.host/ 46
Full Node 구축시 Neighbor 필요 원장동기화 (Milestone Sync.) Milestone : 1분마다 Coordinator(IOTA 재단에서운용 ) 가 Tx를검증하여포함 It should be noted that the coordinator will be made optional to the network by Summer(2017), and then completely removed once the network is large enough. 트랜잭션 Broadcasting [https://discordapp.com/channels/ 의 #botbox] 나의 Tx 를나의 Neighbor 들로 Broadcast 하고, 나의 Neighbor 들은각자의 Neighbor 들로 Broadcast 하여전체 Tangle Network 에전파 47
Neighbor 검색및연결은어떻게? https://iotatangle.slack.com/ 접속 2018년 1월중에 discord (https://discordapp.com/) 로변경 iotatangle 커뮤니티의일원으로가입한후, #nodesharing 채널에서 Neighbor로추가할노드 ( 사람 ) 를검색 서로 Neighbor로추가하려면 DM(Direct Message) 로고정 IP address/port를공유 Neighbor 연결수는 7~9개를권장, Neighbor와는 UDP 및 TCP로연결 https://forum.helloiota.com/community/node-sharing ( 최근에추가 ) ( 주의 ) 1) 불특정다수에서선택. 악의적사용자가능성 2) Neighbor는 24시간 Tangle Network에연결되어야함 3) 최근에는 CPU/Memory 성능을제시하면서 Neighbor 모집 4) Neighbor 역할을충실히 [Neighbor Search : https://discordapp.com/channels/ 의 #fullnodes or #nodesharing] 못하면 Disconnect & Re-search 필요 48
왜 IOTA Token(coin) 을구매해야하나? 현재 Tangle 의트랜잭션은 IOTA 거래밖에지원하지않음 IOTA 는국내의가상화폐거래소 ( 코인원 ) 에서구매가능 해외의거래소 (BitFinex, Binance) 에서도취급 국내거래소인 ( 빗썸, 코인원또는코빗등 ) 에서비트코인을구입한후, BitFinex 또는 Binace 에계정을만들어송금한후, 이를다시 IOTA 로환전하여계정에저장 또한개인의 Android Wallet/Light Wallet 에내려받아송금거래가능 IOTA 는거래단위가 Miota( 1 Miota= 1,000,000 iota) 로거래가되며, 현재시점에는약 Miota=0.5 USD 가치 49
Seed 로그인을하기위해 Seed 를입력. Seed 는대문자 A~Z 와 9로 81자를생성 Seed가계정이며 IOTA 가귀속됨. Seed를잊어버리면 IOTA 를찾을수없음 Seed 생성지원 Site http://iotaseed.co/ (Official IOTA - IOTA Seed Generator) https://iotaseed.io/ 50
Transaction 절차 IOTA 송신 : 다른지갑에서나의지갑으로 1000 IOTA 를전송, SEND 메뉴에서받을지갑의주소 ( 나의지갑 ) 와전송할 IOTA 수를입력 트랜잭션승인과정 (HISTORY 화면 ) : 거래한내역을볼수있음. 거래가시작되면 Pending 상태가되고 Confirmed 상태가되어야거래가완료된것 IOTA 수신 : 트랜잭션승인후, 내지갑에서 1000 IOTA 를수신 [IOTA 송신 ] [HISTORY] [IOTA 수신 ] Double Spending 방지를위해현재의 Tx Confirmed 전에는다른거래불가 51
Bundle Hash : MJGYMGFBV9HJBTKUKCPPNCGFAMJWGYQMNNJDMXAFEXGYSSJFXFDZLOLGFVEHSIFBCAZROEMYVKKZZ9999 52
IOTA Tangle 현황분석 1 Neighbor 노드 Search 및추가가용이하지않음 현재의 IOTA Tangle 은다른 Node 들과의 Neighbor 연결 ( 가입동의 ) 을통한 Private 형태로운영 IOTA 는신규노드의가입및동기화를위해 7~9 개의 Neighbor 연결을권장 8 개의 Neighbor 연결에일주일소요 Neighbor 연결이 7~9 개정도로제한되기에적당한수의 Neighbor 를이미확보하고있는노드는더이상 Neighbor 추가를허용하지않으려하는경향이있기때문 2 트랜잭션성공률이낮음 pending 상태의트랜잭션은 confirmed 상태로변경되어야트랜잭션처리완료 본시험결과, 트랜잭션의약 40% 정도가실패 이경우, 트랜잭션을계속 reattach 해야하며, reattach 시 confirm 확률은높아짐 ( 트랜잭션승인에 reattach 과정을포함해평균 20 분이상소요 ) reattach 를하지않으면영구적으로 pending 으로남음 pending 상태에서거래를하게되면이중거래 (Double Spending) 로거부됨 나의트랜잭션이승인되려면, 다른노드에서발생한트랜잭션처리과정에서특정알고리즘 (MCMC) 을통해나의트랜잭션이선택 / 승인되어야함 네트워크에서발생하는트랜잭션수가적어승인시간이지연되는것으로판단 3 IOTA 시험결과정리 사물인터넷환경에서 IOTA 를적용하여서비스에대한가상화폐결제방식은 IOTA 의여러차별화된장점이있는반면에, IOTA 가현재베타버전임을고려하여시스템운영의안정성및기능확장등의완성도를좀더지켜보고적용필요 53
API Command getnodeinfo getneighbors addneighbors removeneighbors gettips findtransactions gettrytes getinclusionstates getbalances gettransactiontoapprove attachtotangle interruptattachingtotangle broadcasttransaction storetransactions Returns Information about your node Description Return the set of neighbors you are connected with, as well as their activity count. The Activ ity counter is reset after restarting IRI. Add a list of neighbors to your node Removes a list of neighbors to your node Returns the list of tips. Find the transactions which match the specified input and return Returns the raw transaction data (trytes) of a specific transaction Get the inclusion states of a set of transaction Similar to getinclusionstates Tip selection which returns trunktransaction and branchtransaction. The input value is depth, which basically determines how many bundles t o go back to for finding the transactions to approve Attaches the specified transactions (trytes) to the Tangle by doing Proof of Work Interrupts and completely aborts the attachtotangle process Broadcast a list of transactions to all neighbors. The input trytes for this call are provided b y attachtotangle Store transactions into the local storage. The trytes to be used for this call are returned by a ttachtotangle chrome-extension://restlet_client.html 가능 54
IOTA Tangle 기술분석 (IRI Release 1.4.1.1, 현재 Beta 버전 ) ( 데스크탑 PC 기반 ) Tangle 환경구축 / 트랜잭션처리가능확인 (Full Node / Light Node) Tangle에서현재지원하는모든기능시험및확인완료 (Raspberry Pi-3 기반 ) Tangle 플랫폼설치및시험 (Full Node / Light Node) IoT 게이트웨이 / 센서노드에서주로사용하는 Raspberry Pi-3 환경에서의구동가능여부시험 (Full Node) Raspberry Pi-3에서 IRI 1.4.1.1 버전구동실패 현재의 IRI는 ARM64 계열지원불가 iri-1.4.1.1.jar 에 arm64 용 librocksdbjni.so 부재 (Light Node) Raspberry Pi-3에 Wallet 설치가능 ( 원격의 Headless Full Node를통해트랜잭션가능확인 ) 55
http://www.iotaindex.com/ 56
감사합니다!