블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을...

66
블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 위한 품질 평가지표 개발 홍익대학교 (주)이 노 블 록

Transcript of 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을...

Page 1: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

블 록 체 인 품 질 기 술 조 사 보 고 서

블록체인의 취약점 분석 및 개선을 위한 품질 평가지표 개발

홍익대학교

( 주) 이 노 블 록

Page 2: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

제 출 문

(주)이노블록 대표이사 귀하

본 보고서를 블록체인의 취약점 분석 및 개선을 위한 품질 평가지표 개발의 블록체인 품질 기술 조사 보고서로 제출합니다.

2019 년 8월 7일

수 탁 기 관 : 홍익대학교 세종캠퍼스 산학협력단

수 탁 기 관 장 : 박경문 연 구 책 임 자 : 김영철참 여 연 구 원 : 박보경, 서채연, 문소영,

장우성, 박영식

Page 3: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

목 차

제 1 장 서론 ·······························································································1

제 2 장 소프트웨어 품질 기술 ·······························································2

2.1 소프트웨어 품질의 개요 ·······························································2

2.2 국내외 소프트웨어 품질 기술 현황 ············································3

2.3 국내외 소프트웨어 품질 시장 현황 ············································6

2.4 국내외 소프트웨어 품질 기관 현황 ············································7

제 3 장 블록체인 소프트웨어 품질 기술 ··············································9

3.1 블록체인 기술의 개요 ···································································9

3.2 블록체인 소프트웨어 품질 연구의 필요성 ······························13

3.3 블록체인 소프트웨어 품질의 중요성 ········································14

3.4 국내외 블록체인 품질 기술 ·······················································15

제 4 장 국내외 블록체인 표준화 동향 ················································47

3.1 블록체인 표준화 ···········································································47

3.2 국내 표준화 동향 ·········································································48

3.3 국외 표준화 동향 ·········································································52

제 5 장 블록체인 품질 적용 사례 ························································56

3.1 블록체인 기술 적용으로 인한 효율성 향상 사례 ··················56

제 6 장 결론 ·····························································································59

참고문헌 ·····································································································60

Page 4: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 1 -

제 1 장 서론

최근 세계 소프트웨어 시장은 반도체 시장의 2.9배, 휴대폰 시장의 2.4배인

11,481억 달러 규모로 성장하였으며, 스마트팩토리, AI, 블록체인, 자율주행자

동차, 스마트로봇 소프트웨어 등 4차 산업혁명의 영향으로 더욱 확대될 것으

로 예상된다[1]. 4차 산업혁명 시대는 지능정보화사회로 IoT, Cloud, Big

Data, Blockchain 등의 고도화된 정보통신 기술 인프라를 통해 생성 및 수집

되고 축적된 데이터와 새로운 아이디어와의 융합을 통해 새로운 가치를 창출

할 것으로 기대된다[2].

4차 산업혁명시대의 소프트웨어는 지능형⋅자율적 능력 및 상황에 따라 변

화할 수 있는 특성을 지니고 있다. 따라서 기존의 소프트웨어 실행 결과 중심

의 품질 기준과는 다른 소프트웨어 생명주기 전반에 걸친 품질 보장 능력과

기준이 필요하다. 소프트웨어 품질에 대한 요구는 의료⋅국방⋅자동차 뿐만

아니라 4차 산업혁명 시대와 관련된 모든 산업분야로 확대될 것으로 예상되

며, 급격히 변화하는 시장의 요구를 반영하고 안정적인 서비스를 유지하기 위

해서 소프트웨어 품질은 매우 중요하다.

그러나 4차 산업분야에서 소프트웨어 개발은 여러 가지 이유로 문제가 발

생하고 있다. 방송통신위원회에 따르면, 기업의 위험도 측정 결과 재무적 요

인, 혁신, R&D 등의 품질에 위험요인이 높게 나타났다[3]. 정보통신산업진흥

원의 조사 결과, 국내 중소SW기업은 대기업에 비해 SW공학수준의 품질 역량

이 미흡한 상태였으며, 중소기업의 경우 소프트웨어 개발 시 가시성 및 검증

체계 미비로 인한 소프트웨어 품질 확보에 어려움이 있었다[4].

특히, 세계 각국은 4차 산업의 핵심 분야인 블록체인 기술의 성장 잠재력을

고려하여 금융, 물류, 의료 등 다양한 분야에 접목을 시도하고, 기술개발을 적

극 추진하고 있다. 블록체인은 절차 간소화, 비용 절감 및 인간의 일하는 방

식까지 혁신하여 사회편익을 높이는 성장 잠재력이 높은 기술이다. 블록체인

이 미래 산업의 대표기술로 각광 받으면서 다양한 분야에서 활용되고 있으나,

기술의 특성을 적절히 평가하고 기존 시스템과 비교하기 위한 평가지표나 기

준이 수립되어 있지 않다. 또한 기존 소프트웨어의 품질에 관한 연구는 많이

진행되어 있으나 블록체인 기반 소프트웨어의 품질 연구는 미비한 실정이다.

본 보고서는 국내외 블록체인 품질 관련 기술 및 표준화 동향을 조사⋅분

석하고, 블록체인 품질 관련 기술 현황 및 적용사례를 조사한다.

Page 5: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 2 -

제 2 장 소프트웨어 품질 기술

2.1 소프트웨어 품질의 개요

최근 IT 융⋅복합화가 진행되면서, 세계 IT 시장은 하드웨어에서 소프트웨

어 중심으로 변화하고 있고, 기존 산업(조선, 항공, 국방, 의료 등)과의 융합

및 최근 주목받고 있는 클라우드 컴퓨팅, 빅데이터 등으로 변화되고 있다. 소

프트웨어는 최종 제품의 경쟁력을 좌우하며, 부가가치를 높이는 역할을 하고

있지만, 소프트웨어의 특징인 비가시성, 복잡도 증가, 국내 중소 기업의 소프

트웨어 개발환경은 소프트웨어 품질 관리를 어렵게 한다.

소프트웨어 품질 관리를 어렵게하는 요소에는 소프트웨어의 비가시성, 복

잡도 증가, 국내 중소기업의 소프트웨어 개발 환경 등이 있다. 먼저 가시성

확보의 어려움은 현재의 개발 환경에서 소프트웨어 개발 후 출시된 최종

제품을 테스트하기 때문에 개발 후반에 발생하는 문제가 요구사항 정의에

관한 문제인지, 개발 문제인지 파악하기 어렵다. 두 번째로, 소프트웨어의

복잡도 증가는 잠재되어 있는 버그나 예상치 못한 위험요소에 의해 제품

납기 지연, 비용 초과, 품질 저하 등의 문제가 발생한다. 마지막느로 국내

중소/벤처기업의 소프트웨어 개발 환경은 인력, 시간, 비용 등으로 기존에

제시된 다양한 소프트웨어 품질 방법론을 적용하는데 많은 어려움이 있다.

SW 공학백서(2017)에서 조사한 국내 SW산업수준은 프로세스 수준점수

74.5, 인력 수준점수 66.5, 기술 수준점수 69.6, SW공학 수준점수 70.6을 기

록하였다.

[그림 1] SW공학수준점수 비교[4]

이 결과는 국내 기업들이 SW개발 프로세스를 규정으로 갖추고는 있지만,

해당 프로세스를 수행한 SW품질인력이 부족하거나, 지속적으로 수행 가능

한 자동화된 시스템이 부족함을 의미한다. 결국 SW 프로세스를 기업 내부적

Page 6: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 3 -

으로 내재화하는 능력과 프로세스 개선의 효율성을 저해하는 요인이 된다.

중소/벤처기업의 품질관리 측면에서 보면, 국내 중소/벤처기업은 비용적

인 문제와 전문 인력 부족 문제로 체계적인 품질 관리의 필요성이 증가하고

있지만 적절하게 대응하지 못하는 실정이다. 소프트웨어의 품질향상 방법으

로 테스팅, 정형 검증 등 많은 방법들이 존재하지만 추가적인 인원과 비용이

발생하고, 오류를 찾아낼 수는 있지만 소프트웨어 개선 방법을 제공하지 않

아 쉽게 적용하지 못하고 있다.

고품질 소프트웨어는 품질 관리와 테스트 전담 조직의 역할이 매우 중요

하다. [표 1]과 같이 품질보증 및 테스팅 조직 유무에 따른 프로젝트 성과로

써, 품질 및 테스팅 조직을 보유하고 있는 기업이 그렇지 못한 기업보다 성

과가 좋은 것으로 나타나고 있다.

구분

품질 보증 조직 존재유무 테스트 조직 존재유무

품질보증

조직 보유

품질보증

조직 보유

테스트

조직 보유

테스트

조직 미 보유

SW공학수준 69.2 56.6 68.6 45.3

개발생산성 26.5 22.8 25.9 22.7

납기초과율 0.58% 5.34 1.64% 8.30%

비용초과율 0.19% 5.89 0.87% 7.32%

운영결함밀도 0.105 0.241 0.131 0.268

[표 1] 품질보증 및 테스팅 조직 유무에 따른 프로젝트 성과[4]

이처럼 소프트웨어의 품질 및 테스팅에 대한 중요성은 증가하고 있지만,

“국산 소프트웨어의 낮은 품질”, “국내 소프트웨어 기업의 구조(대기업에 비

해 중소기업이 차지하는 비중이 높은 구조)”, “막연한 외국 소프트웨어 선호

인식”, “열악한 재정으로 품질에 대한 투자 여력 부족”, “테스트 전문 인력 확

보의 어려움” 등이 있다.

2.2 국내외 소프트웨어 품질 기술 현황

2.2.1 국내 기술 동향 및 수준

(1) 소프트웨어 가시화(SW Visualization) 기술

o 국산 소프트웨어 가시화 기술은 눈비소프트의 피니언(Pinion), 정보통신

산업진흥원 SW공학센터의 SW Visualization, 홍익대학교 세종캠퍼스

Page 7: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 4 -

소프트웨어공학 연구실의 SW Visualization 등이 있음

o 눈비소프트[5]

- 피니언은 설계된 산출물을 서버의 운영 모듈에 보내주고, 이것을 실시

간으로 인터프리팅(Interpreting)을 통해 서비스하는 구조

- 피니언은 완성된 개발 코드의 가시화 서비스는 제공하고 있지 않으며,

공개SW기반의 Plug & Play 기술을 적용하고 있지 않음

o 정보통신산업진흥원 소프트웨어공학센터[6]

- 소프트웨어공학센터에서 제공하는 SW 가시화(Visualization)는 효율적

인 SW 개발 관리를 통하여 기업의 SW 경쟁력 확보를 지원하기 위한

서비스로, 1) 품질지표에 의한 명확한 목표수립, 2) 시스템 기반의 효율

적인 개발 활동 3) 시각화를 통한 지속적인 모니터링과 통제를 가능토

록 하여 성공적인 SW 개발 관리 기반을 제공함

- 정보통신산업진흥원 소프트웨어공학센터가 2016년 11월에 폐지됨으로

써, SW 가시화 지원 서비스 불가

o 홍익대학교 소프트웨어공학 연구실[7]

- 정보통신산업진흥원 소프트웨어공학센터와 함께 2015년부터 SW 가시

화의 3단계 프로세스인 프로세스 가시화, 아키텍처 가시화, 문서 가시

화를 진행하였고 현재 중소기업을 위한 오픈소스 기반의 툴-체인 연구

를 계속 진행 중임

- 프로세스 가시화의 기초가 되는 개발 프로세스 구축 방법, 코드 복잡

도, 배드 스멜, 재사용성, 성능 등의 가시화 기술 보유함

- 2017년 육군 정보체계관리단과 MOU(2017~2018)를 체결하고 소프트웨

어 프로세스 가시화 체계를 자문 및 구축을 통해, 이를 기반으로 정보

체계관리단은 SP인증 2등급을 획득하고, 또한 4차 산업의 블록체인 관

련 업체인 리드포인트 시스템도 구축지원으로 SP인증 2등급 획득함

Page 8: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 5 -

도구

특징 눈비소프트

정보통신산업진흥원

소프트웨어공학센터

홍익대학교

소프트웨어공학연구실

기능- Database 설계- UI(User Interface)설계- 프로세스 설계

- 품질 지표에 대한 명확한 목표 수립

- SW프로세스품질인증 평가 및 인증 서비스

- 시각화를 통한 지속적인 모니터링

- 프로세스 가시화, 아키텍처 가시화, 문서 가시화

- 중소기업을 위한 오픈소스 기반의 툴-체인 제공

장점

- 소프트웨어 생명주기의 설계 지원

- 설계된 내용을 메타 데이터로 해석하여 어플리케이션 생성

- 기업 실무자 멘토링 지원- 시스템 기반 효율적인 개발

활동 지원- 정부 대형 SW 개발과제 품

질 관리 사업 및 SW 발주지원(절차적 언어만)

- 개발 프로세스 구축 기술- 코드 복잡도, 배드 스멜, 재

사용성, 성능추출 등 가시화 기술 보유 (절차식언어군 C, C++, 객체지향언어 Java, 기타 Go, Python)

단점

- 완성된 개발 코드의 가시화 서비스는 제공하지 않음

- 공개SW 기반의 Plug &Play 기술 적용하지 않음

- 요구사항 리팩토링 모델 가시화 제공하지 않음

- 테스트 케이스 자동 생성 제공하지 않음

- 2016년 폐지되어 지속적 서비스 어려움

- 아카데미 차원으로 다양한 분야에서 쉽게 활용 불가능

- 별도의 기술지원을 받을 수 없음

[표 2] 국내 소프트웨어 가시화 도구 비교

2.2.2 국외 기술 동향 및 수준

(1) 소프트웨어 가시화(SW Visualization) 기술

o 국외 소프트웨어 가시화 도구는 CodeCrawler, Architecture Explorer,

Class Visualizer, Code_Swarm, JIVE, X-Ray 등이 있음

o CodeCrawler[8]는 경량급 소프트웨어 시각화 도구로(Software

Composition Group, University of Bern, Switzerland), 1998년에 Lanza

박사 팀에 의해 처음으로 구현되었고, 공개 소프트웨어(Open Source)

기반의 Plug & Play 기술을 적용하고 있지 않음

o Architecture Explorer[9]는 JVM 기반 응용프로그램의 아키텍처를 분석

하는 브라우저 기반의 가시화 프로그램으로, 자바 바이트 코드로 작성

된 그래프가 브라우저에 표시되며, 다양한 뷰(jar, 패키지, 클래스,

tangles) 및 필터가 지원되며 모듈화 문제와 관련된 여러 반 패턴 및

메트릭 산출함

o Class Visualizer[10]는 자바 바이트 코드에서 클래스 다이어그램을 생성함

o Code_Swarm[11]는 SW 프로젝트의 Commit 이력을 시각화하는 프로그램

o JIVE[12]는 자바 프로그램을 시각화하는 Eclipse 플러그인으로, 객체 구

조와 메소드 상호작용에 대한 시각화뿐만 아니라 상태 다이어그램을

기반으로 런 타임 검증을 목표로 함

Page 9: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 6 -

o X-Ray[13]는 Eclipse 프레임워크 오픈 소스 소프트웨어 시각화 플러그

인으로 자바 프로젝트에 대한 시스템 복잡도, 클래스 및 패키지 종속성

가시화를 제공

2.3 국내외 소프트웨어 품질 시장 현황

2.2.1 국내외 시장 규모 및 수출입 현황

(단위 : 억원)

년도 (2019년)

현재년도(2028년)

개발 종료 후 1년(2030년)

개발 종료 후 3년세계 시장 규모 134,190 150,000 151,500한국 시장 규모 130 160 165

* 소프트웨어정책연구소 IDCvWorldwide Blackbook(2018.8)

o SW 공학도구의 세계 시장 규모는 2020년까지 연평균 성장률(CAGR)

4.3%로 전망됨

- SW 개발도구 시장은 2016년 43.6억 달러에서 2020년 48.5억 달러 규모로

예상하며, 2.7% 성장할 것으로 전망됨

- SW 품질시험 도구 시장은 2016년 25.6억 달러에서 2020년 30.5억 달러

규모로 예상하며, 4.5% 수준으로 성장할 것으로 전망함

- SW 개발지원도구 시장은 2016년 26.8억 달러에서 2020년 약 34.5억 달러

규모로 증가할 것으로 예상되며, 6.5% 수준의 성장을 기록할 것으로 전

망함

[그림 2] 국내 및 세계 SW 시장 규모 및 추이[14]

o 세계 소프트웨어 품질 분석 및 측정 시장규모 기초자료[15]

- 세계 소프트웨어 품질 분석 및 측정 시장의 매출액이 2014년 5억 4880

Page 10: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 7 -

만 달러에서 2015년 6억 770만 달러로 약 8.7% 성장을 보임

- 코드 및 아키텍처 기능에 대한 가시성에 대한 요구, 인력 감원에 따른

과제, 응용 프로그램 개발 프로젝트에 대한 복잡한 아웃소싱, 규정 준

수, 새롭게 부상하는 개발 패러다임의 복잡성 증가 및 채택과 같은 품

질 관리 필요성을 비롯한 다양한 요인 때문

o 세계 SW 개발 및 테스팅 시장과 전망(2016년도)

- 2016년 인도의 시장조사기관 나스콤(NASSCOM)에 따르면 세계 SW

개발 시장에서 테스팅이 차지하는 비중은 50%에 달함

- 이슈 : 자동화를 통해 테스팅 비용이 감소되고 효과를 향상시키는 것

- NASSCOM은 세계 SW 테스트 자동화 시장은 2020년 500억 달러 시장

을 형성할 것으로 전망함

2.4 국내외 소프트웨어 품질 기관 현황

2.2.1 국내외 기관 및 기업 현황

(1) 국내외 소프트웨어 가시화 기관 및 기업 현황

o VISSOFT(IEEE Working Conference on Software Visualization)

- VISSOFT는 소프트웨어 시각화에 관한 ACM SOFTVIS 심포지엄과

IEEE VISSOFT 국제 워크샵의 공동 학술 연구 학회로, 소프트웨어 유

지보수 및 진화, 프로그램의 이해, 역공학 및 역공학 측면을 목표로 하

는 시각화 기술에 중점을 둠. 즉, 시각화 측면에서, 전문가들이 소프트

웨어를 이해, 분석, 테스트 및 발전시키고, 관련된 이론적 토대, 알고리

즘, 기술, 도구 및 응용 프로그램 등에 대해 연구하고 있음.

- 또한 기술적 논문, 경험적 연구, 응용 또는 사례 연구를 제공하고, 새로

운 연구 아이디어 및 도구를 제시할 수 있는 플랫폼을 제공함.

o 정보통신산업진흥원 소프트웨어공학센터[16]

- 소프트웨어공학센터는 국내 중소기업의 소프트웨어공학 적용을 돕고, 기

업실무자 멘토링 지원, SW프로세스품질인증(SP인증) 평가 및 인증 서비

스, 정부 대형 SW 개발과제 품질관리 사업 및 SW발주지원 등을 담당

- SW 가시화는 시각화(프로세스 시각화, 소스코드 시각화)를 통해 소프

트웨어의 비가시성을 극복함으로써 소프트웨어 개발의 전체 과정을 파

악할 수 있으며, SW개발 품질 관리가 가능하고 문서화(소스코드 문서

Page 11: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 8 -

화, 프로세스 문서화)는 기업의 개발 노하우 관리 및 내부 인력간의 업

무 이해도 향상과 특정 상황에서 외부와의 의사소통을 위한 방안임

- 정보통신산업진흥원 소프트웨어공학센터가 2016년 11월에 폐지됨으로

써, SW 가시화 지원 서비스 불가

(2) 국내외 소프트웨어 품질 관리 기관 및 기업 현황

o NAVER의 소프트웨어 품질 관리

- NAVER에서는 품질전략을 QP 프로세스라 정의하고 결함 예방(Defect

Prevention)을 강화하기 위해 개발 과정에서 수행해야 하는 NHN의

SW개발 품질을 전반적으로 검증함

- 소프트웨어 개발 프로세스에서 기획/설계 단계에는 많은 유관 부서의

인력들이 얽혀 있고 단기간에 이 과정을 개선하기에는 어려움이 따르

기 때문에 NHN에서는 이런 조직 상황을 고려하여 점진적으로 전체

개발 프로세스로 넓혀가는 개선 전략을 사용함. 따라서 기획 단계보다

개선방법을 적용하기가 비교적 쉬운 ‘구현’과 ‘QA’단계에서 먼저 QP를

시작함[17,18]

o IBM의 소프트웨어 품질 관리

- IBM에서는 Rational이라는 품질관리 솔루션을 만들어 품질관리를 자동

화하고 있으며 솔루션 형태로 배포함

- IBM Rational 소프트웨어 품질관리 솔루션은 요구사항-테스트 계획/케이

스-테스트-결함에 이르는 결과의 연관성 및 추적성을 제공하여 조기 결함

발견 및 문제해결을 도와 개발프로세스 후반의 리스크를 감소시킴[19,20].

o Google의 소프트웨어 품질 관리

- Google에서는 생산성 혁신 팀(Engineering Productivity Team)이라 불

리는 별도 조직에서 소프트웨어 테스팅을 담당함

- 생산성 혁신 팀은 개발자와 테스터의 툴 체인을 수행하고, 단위 테스팅

부터 탐색적 테스팅에 이르는 모든 분야의 테스팅과, 그에 관련된 공학

적인 방법을 만들며, 검색, 광고, 앱, 유튜브 등 모든 웹 특성과 관련된

공용 툴과 테스트 인프라스트럭처를 다룸

- 구글은 자체 자동화 툴을 이용하여 많은 테스터들이 품질관리를 진행

하고 있으며, 자동화 툴을 기반으로 한 테스트들이 SW품질관리에 중요

한 역할을 하고 있음[21].

Page 12: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 9 -

제 3 장 블록체인 소프트웨어 품질 기술

3.1 블록체인 기술의 개요

(1) 블록체인의 기술적 개요 및 내용

o 블록체인은 네트워크 내의 모든 참여자가 공동으로 거래 정보를 검증하

고 기록 및 보관함으로써 공인된 제3자 없이도 거래 기록의 무결성과

신뢰성을 확보하는 기술이다. 해시(Hash), 전자서명(Digital Signature),

암호화(Cryptography) 등의 보안기술을 활용한 분산형 네트워크 인프

라를 기반으로 다양한 응용서비스를 구현할 수 있는 구조를 가지고 있

다. 분산장부는 네트워크에 속한 모두와 공유된 암호화되고 변경할 수

없는 거래기록의 리스트로, 접근 권한이 있는 자는 거래에 대해 언제든

조회가 가능하며 허가가 필요없는 공공 장부, 허가된 개별 장부, 허가

된 공공장부로 구성된 분산장부는 규제되지 않은 자금의 전송과 형성

이 문제시 된다. 블록체인은 비트코인 및 기타 토큰과 같은 가치교환거

래가 순차적인 블록단위로 분류된 형태의 분산 장부이며, 각 블록은 기

존 블록과 연결되며 암호메커니즘을 기반으로 Peer-to-peer 네트워크를

통해 지속적으로 기록된다. 이러한 블록체인과 분산장부는 미들웨어,

데이터베이스, 보안, 분석/AI, 금융 등을 아우르는 기술과 과정의 융합

체로서 산업작동모델을 구현하고 금융거래, 재산거래와 같은 중요한 데

이터를 삭제할 수 없도록 제어하는 등 업계의 경영모델을 변화시킬 가

능성을 가지고 있다.

[그림 3] 블록체인 디지털 통화의 기본 개념[22]

Page 13: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 10 -

o 블록체인 또는 분산원장은 인터넷 상에서 서로 알지 못하는 다수의 상

대방과 거래 시, 블록으로 연결된 데이터를 사용자들의 개인 디지털 장

비에 분산 및 저장하여 공동으로 관리하는 탈중앙화 개방형 정보공유

저장기술

[그림 4] 블록체인의 개요[23]

o 블록체인은 시간 순으로 연결된 블록으로 구성된 원장(장부)을 말하며,

i) 이 원장으로 모든 거래 사용자들이 모든 거래 내역을 자신의 원장에

기록할 수 있고, ii) 누구든지 우너하는 시간에 그 원장을 열람할 수 있

으며, iii) 작업증명(proof of work) 과정을 통해 원장을 보증할 수 있음

(2) 블록체인 기술의 특징

o 블록체인의 가장 큰 특징: 데이터 컨트롤의 공유(Shared control of

data)를 통해 데이터의 read, write, process 과정을 다수의 독립된 사용

자들이 상호 간 공동으로 진행[23]

o 사용자 간(P2P: Peer-to-peer)의 직접적인 거래가 가능하도록 사용자들

에게 상호 신뢰성을 부여하는 것이 핵심 기술

o 원장 무결성 확보정책1), 사용자 간 합의정책2), 거래장부 동기화 정책3)

같은 설계가 이루어져 있음

1) 원장 무결성 확보정책: 모든 사용자(node or peer)가 같은 원장을 보관하고 새로운 거래 발생 시 똑같이 업데이트하여 무결성을 유지함.

2) 사용자 간 합의정책: 사용자 상호간 거래내역을 전송하기 위해 전송 요청한 당사자를 제외한 불특정 다수가 거래 검증 및 승인 결과를 검증함.

3) 거래장부 동기화정책: 검증권한을 가진 사용자들이 거래 요청한 주체의 최근 거래 내역 및 일련의 정보를 동일하게 가지고 있는 것이 원칙이나 어떠한 이유로 다른 장부를 가지고 있을 경우(Fork) 각 사용자들은 블록이 많이 형성된 체인을 진본 장부로 간주하는 정책

Page 14: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 11 -

장점 단점

익명성Ÿ 개인정보를 요구하지 않음Ÿ 은행계좌, 신용카드 등 기종 지급

수단에 비해 높은 익명성 제공

Ÿ 불법 거래대금 결제, 비자금 조성, 탈세를 가능하게 함

P2PŸ 공인된 제3자 없이 P2P 거래 가능Ÿ 불필요한 수수료 절감

Ÿ 문제 발생 시 책임소재가 모호

확장성Ÿ 공개된 소스에 의해 쉽게 구축, 연

결, 확장 가능Ÿ IT 구축비용 절감

Ÿ 결제처리 가능 거래건수가 실제경제 내 거리규모 대비 미미

투명성Ÿ 모든 거래기록에 공개적 접근 가능Ÿ 거래 양성화 및 규제 비용 절감

Ÿ 거래 내역이 공개되어 있어 원칙적으로는 모든 거래가 추적 가능

Ÿ 완벽한 익명성 보장이 어려울 수 있으며 조합에 의한 재식별이 가능

보안성Ÿ 장부를 공동으로 소유(무결성)Ÿ 보안관련 비용 절감

Ÿ 개인키의 해킹, 분실 등의 경우 일반적으로 해결방법 없음

Ÿ 기밀성 제공하지 않음

시스템안정성

Ÿ 단일 실패점이 존재하지 않음Ÿ 일부 참가 시스템에 오류 또는 성

능저하 발생 시 전체 네트워크에 영향 미미

Ÿ 채굴이 대형 마이닝 폴에 집중Ÿ 실시간, 대용량 처리의 어려움

[표 4] 블록체인 기술의 장단점[24]

o 블록체인 2.0의 대표적인 기술로는 이더리움(Ethereum)이 있으며, 디지

털통화의 기능과 더불어 비트코인의 거래스크립트를 다양한 형태로 프

로그램 가능하게 만든 스마트 컨트랙트(Smart Contract)를 구현하였으며

블록체인 기반 위에서 부동산 계약, 온라인 투표 등 다양한 분산 어플리

케이션을 개발하고 구동할 수 있는 플랫폼으로 확장됨

(3) 블록체인 기술의 장단점

(4) 블록체인의 유형

o 블록체인은 참여 네트워크의 성격, 범위 등에 따라 여러 가지 형태가

존재하고 사용 용도에 맞게 응용이 가능함

Page 15: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 12 -

퍼블릭 블록체인 컨소시엄 블록체인 프라이빗 블록체인

관리 주체모든 거래 참여자(탈중앙화)

컨소시엄에 소속된 참여자

중앙기관이 모든 권한 보유

거버넌스한번 정해진 법칙을 바꾸기 매우 어려움

컨소시엄 참여자들의 합의에 따라 상대적으로 용이하게 법칙을 바꿀 수 있음

중앙기관의 의사결정에 따라 용이하게 법칙을 바꿀 수 있음

거래 속도네트워크 확장이 어렵고 거래속도가 느림

네트워크 확장이 쉽고 거래 속도가 빠름

네트워크 확장이 매우 쉽고 거래 속도가 빠름

데이터 접근 누구나 접근 가능허가받은 사용자만 접근가능

허가받은 사용자만 접근가능

식별성 익명성 식별 가능 식별 가능

거래 증명

PoW, PoS와 같은 알고리즘에 따라 거래증명자가 결정되며, 거래증명자가 누구인지 사전에 알 수 없음

거래증명자가 인증을 거쳐 알려진 상태이며, 사전에 합의된 규칙에 따라 거래검증 및 블록생성이 이루어짐

중앙기관에 의하여 거래증명이 이루어짐

활용 사례 비트코인 R3 CEV나스닥의 비상장 주식거래소 플랫폼인 링크(Linq)

[표 5] 블록체인의 유형별 특징

(5) 블록체인 기술 발전 전망

o 블록체인 기술은 단순 지급수단(1세대) 기능에 대한 검증을 거쳐 다양

한 거래 및 계약(2세대)에 적용되며 활용 범위 확장 중

o 1세대(‘09~’14): 2009년 비트코인의 등장 이후 블록체인 기술을 활용한

가상통화가 1,600여개 이상 출현(‘18.06 기준)[25]

o 2세대(‘15~현재): 스마트 계약이 추가된 블록체인과 기업의 특정 업무에

활용할 수 있는 프라이빗 블록체인이 등장함[25]

- 스마트 계약의 기능을 통해 상품 주문, 부동산 거래 등의 다양한 서비스

에 활용

- 전자문서 공유, 전자거래 등 다양한 산업 분야에서 응용

o 3세대(향후): 기존 중앙집중 방식의 성능이 개선될 것이며, 신뢰가 필요

한 분야(공공 서비스, 계약, 증명 등)에 다양한 적용사례 창출이 기대됨

- 향후 블록체인은 지금까지 문제점이었던 확장성, 상호운용성, 품질 등

을 개선한 혁신 기반 기술이 될 것으로 전망됨

- 현재 3세대 기술을 위한 다양한 블록체인 플랫폼이 개발 중에 있으나,

블록체인 소프트웨어의 품질에 대한 고려도 필요함

Page 16: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 13 -

3.2 블록체인 소프트웨어 품질 연구의 필요성

최근 세계 소프트웨어 시장은 반도체 시장의 2.9배, 휴대폰 시장의 2.4배인

11,481억 달러 규모로 성장하였으며, 스마트팩토리, AI, 블록체인, 자율주행자

동차, 스마트로봇 SW 등 4차 산업혁명의 영향으로 더욱 확대될 것으로 예상

된다. 4차 산업혁명 시대는 지능정보화 사회로 IoT, Cloud, Big Data 등의 고

도화된 정보통신 기술 인프라를 통해 생성 및 수집되고 축적된 데이터와 새로

운 아이디어와의 융합을 통해 새로운 가치를 창출할 것으로 기대된다. 4차 산

업혁명시대의 소프트웨어는 지능형⋅자율형 능력 및 상황에 따라 변화할 수

있는 특성을 지니고 있다. 앞으로는 4차 산업 관련된 소프트웨어들에 “블록체

인 기술” 접목은 필수적이고 무궁무진한 시장이 될 것이다. 따라서 기존의 소

프트웨어 실행 결과 중심의 품질 기준과는 다른 소프트웨어 생명주기 전반에

걸친 품질 보장 능력과 기준이 필요하다.

소프트웨어 품질에 대한 요구는 의료⋅국방⋅자동차뿐만 아니라 4차 산업혁

명 시대와 관련된 모든 산업분야로 확대될 것으로 예상되며, 빠르게 변화하는

시장의 요구를 반영하고 안정적인 서비스를 유지하기 위해서 소프트웨어 품질

은 매우 중요하다.

세계 블록체인 시장은 향후 5년간 10배 이상 성장할 것으로 전망된다. 가트너

(Gartner)에 따르면 블록체인 기술이 ‘기대치 극대화의 정점’에 위치하고 있으며,

향후 5~10년 내에 시장의 주류로 성장하고 다양한 서비스가 시작될 것으로 예상

된다.

[그림 5] 글록벌 블록체인 시장 예측[26]

세계 각국은 블록체인 기술의 성장 잠재력을 고려하여 금융, 물류, 의료 등

다양한 분야에 접목을 시도하고, 기술개발을 적극 추진 중에 있다. 블록체인은

절차 간소화, 비용 절감은 물론 우리의 일하는 방식까지 혁신하여 사회편익을

Page 17: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 14 -

높이는 성장 잠재력이 높은 기술이다. 블록체인이 미래 산업의 대표기술로 각

광 받으면서 다양한 분야에서 활용되고 있으나 기술의 특성을 적절히 평가하

고 기존 시스템과 비교하기 위한 평가지표나 기준이 수립되어 있지 않다. 또

한 중앙집중형 시스템과 비교할 수 있는 기준이 부재하다. 이로 인해 사용자

들의 불안과 오해, 기술 차단에 대한 불합리한 희망이 생겨 기술 도입에 대한

거부감이 발생할 수 있다. 따라서 블록체인의 취약점 분석 및 개선을 위한 품

질 평가지표 개발이 필요하다.

3.3 블록체인 소프트웨어 품질의 중요성

현재, 블록체인 기술을 도입하고자 하는 기업이나 기관은 증가하고 있지만,

각 특성에 맞는 요구사항이 상이하다. 하나의 블록체인 시스템으로 모든 요구

를 충족시키는 것은 불가능하다. 따라서 각 산업군에서 블록체인의 기술 도입

시 유연하게 적용가능한 블록체인 플랫폼 연구 및 개발이 필요하다.

o 블록체인 플랫폼 기술의 중요성

- 블록체인 기술은 플랫폼 기술에 따라 암호화폐, 공공보안, 산업응용, 거

래결재 등 활용범위가 점차 확대되는 추세이며, 탈중앙화, 보안성, 투명

성 등의 특징을 가지고 있기 때문에 4차 산업혁명의 기반기술로 활용

가치가 높음

- 하지만 블록체인 시스템의 확장성, 안정성 등에 대한 비판적인 의견도

존재하며, 블록체인 기술이 보편적으로 적용되기에는 현실적인 기술 검

증이 필요함

o 블록체인 플랫폼 서비스의 품질 측정 및 개선 기술 필요

- 고품질 블록체인 소프트웨어의 실현 및 품질을 만족하는 블록체인 플랫폼

서비스의 품질 측정 및 개선 기술 필요

- 기존 소프트웨어 품질 측정 연구는 많이 연구되었지만, 블록체인 분야에

서의 품질 연구는 매우 미비한 실정

- 블록체인 소프트웨어의 품질 보증 수행, 블록체인 소프트웨어 개발 프로

세스 검증 지원 방안 필요

- 소프트웨어는 개발 특성상 개발 결과물을 상세히 분석하여 평가하기 힘들

기 때문에 블록체인 소프트웨어 개발 과정 및 품질의 지속적인 모니터링

방안이 필요

Page 18: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 15 -

3.4 국내외 블록체인 품질 기술

현재, 블록체인 품질에 관한 국내외 연구들은 미비한 실정이다. 그러나, 블

록체인 품질 기술 조사 결과, 품질 요소, 클라우드 서비스, 블록체인 소프트웨

어 개발의 설계, 보안 측면에서 유의미한 연구들이 발표되고 있다. 본 장에서

는 국내외 블록체인 품질 연구 및 기술을 조사⋅분석하였다.

3.4.1 국내 연구 및 기술

현재, 국내 기업들은 블록체인 시장 활성화를 위해 노력하고 있으나, 본격적

인 시장 확산으로 이어지지 못하고 있다. 대부분의 국내 블록체인 사업들은

기술 가능성을 확인하는 개념 검증(PoC, Proof of Concept) 수준이며, 선진국

대비 기술력이 낮다4). 정부에서는 블록체인 기술을 발전시키기 위한 여러 정

책을 시행중에 있으며, 지자체 또는 공공기관에서는 블록체인 기술을 적용하

기 위한 다양한 프로젝트를 진행하고 있다. 현재 정부에서는 ‘ICT R&D 기술

로드맵 2023’을 중점적으로 추진하고 있다.

[그림 6] 블록체인 기술개발 로드맵(안)[25]

‘ICT R&D 기술로드맵 2023’에서 블록체인 품질 활동에 대해 살펴보면, i)

4) 블록체인 기술 경쟁력(2018 기준): 미국(100%) > 한국(76.4%), 2.4년의 격차

Page 19: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 16 -

표준화 추진, ii) 블록체인 기술 지원센터 구축, iii) 블록체인 기술개발 로드맵

주요 과제 요소 등에서 찾아볼 수 있다.

먼저, ‘ICT R&D 기술로드맵 2023’은 블록체인의 기술경쟁력 확보를 위한

전략으로 국내 기업들이 경쟁력 있는 블록체인 플랫폼을 자체 개발할 수 있도

록 핵심기술 개발과 플랫폼 구현을 지원하고, 성능 평가체계를 구축하고자 한

다. 이를 위해, 스마트 계약 구현 안전성에 대한 자동 검증, 블록체인 간 데이

터 거래 및 스마트 계약의 상호운용성 확보, 산업 분야별 기존 시스템 연동

기술 등 블록체인의 품질을 위한 연구를 선정하였다.

표준화는 블록체인 표준화 로드맵을 고도화하고, 주요 산업분야에 블록체인

을 적용할 때, 업계간 협의 및 호환성 확보를 위해 표준화를 추진한다. 특히,

ISO, ITU 등 공식 표준화 기구 및 W3C, Hyperledger 활동을 지원한다.

민간 기업의 기술경쟁력 향상을 위해 블록체인 기술 지원센터를 구축하고,

신뢰성 평가 서비스 및 테스트베드를 제공한다. 여기서, 신뢰성 및 성능 평가

는 블록체인 기술 간 비교분석이 가능하도록 블록체인 핵심기술⋅플랫폼⋅서

비스(DApp)의 신뢰성과 성능을 검증할 수 있는 평가체계를 구축하고 운영한

다. 또한 개발 테스트베드를 제공하여 기업이 개발 중인 블록체인 플랫폼 및

서비스를 테스트할 수 있는 대규모 시험환경을 구축 및 제공한다. 본 절에서

는 국내의 블록체인 품질 연구 및 기술을 소개한다.

(1) 블록체인 클라우드 서비스(BaaS)[25]

o 클라우드 기반으로 블록체인 서비스를 개발하고 테스트할 수 있도록

블록체인 시스템의 분산 네트워크, 통신 프로토콜과 같은 구성요소와

거래정보 검증, 합의, 노드 관리와 같은 기능을 제공하는 클라우스 서

비스 환경

- 블록체인 서비스를 개발할 때 클라우드 서비스를 활용함으로써 개발

편의성과 서비스 간 상호호환성 및 안정성 확보가 가능함

[그림 7] 블록체인 클라우드 서비스(BaaS)[27]

Page 20: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 17 -

o 블록체인 개발자는 BaaS를 통해 블록체인에 필요한 하드웨어 자원을

IaaS 형태로 제공받을 수 있으며, 블록체인에 필요한 이더리움, 하이퍼

레저 등의 플랫폼 지원을 받을 수 있음

o 블록체인 클라우드 서비스는 블록체인의 구현 난이도를 낮춰주기 때문

에 수많은 클라우드 기업에서 BaaS를 제공하고 있음

o BaaS의 장점

① 유연한 자원관리: 하드웨어 및 소프트웨어 자원을 보유하지 않아도 블

록체인을 생성할 수 있게 손쉬운 개발 및 운영환경 제공

② 탄력적인 확장성: 블록체인 네트워크에 노드의 추가 및 제거 단순화

③ 글로벌 가용성: 클라우드 환경에서는 세계 어떤 지역에서도 블록체인

인프라와 서비스 구성이 가능함

o BaaS의 플랫폼별 특징 및 적용사례

주체/플랫폼명 특징 적용사례

MS/EBaaS(Ethereum BaaS)

- MS Azure 활용- Ethereum 블록체인 개발 환

경 제공- 세계 최초 서비스 제공

- R3CEV 컨소시엄 내 11개 금융회사의 금융회사 간 송금⋅결제

- 웹젯의 온라인 여행 결제 서비스

IBM/IBMBlockchain

- Bluemix 활용- Hyperledger 블록체인 개발

환경 제공

- 월마트의 식품 공급망 내 추적과 투명성 확보를 위해 블록체인 적용

- 노던 트러스트의 사모펀드 거래 명확성 확보를 위해 적용

아마존/ 블록체인 템플릿

- AWS 활용- Ethereum과 Hyperledger

블록체인 템플릿을 통한 네트워크 구축 제공

- 블록체인 기반 분산앱(DApps) 구축 및 관리 지원

[표 6] BaaS 플랫폼 특징 및 적용사례[25,27]

o 국내의 적용사례

- 국내에서는 KT가 최초로 클라우드 기반 서비스형 블록체인 플랫폼을

개발하여 국내 기업들이 블록체인 서비스를 쉽게 개발할 수 있는 환경

을 제공하기 시작함[28,29]

Page 21: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 18 -

- BaaS(Blockchain as a Service)는 별도의 서버 구축 없이 KT의 uCloud

에 블록체인 노드를 자동으로 구성해 줌

- KT BaaS를 통해 블록체인 적용하는 기업은 서버 구축 비용의 절감, 개

발 기간 단축할 수 있으며, Smart Contract API가 제공되어 Smart

Contract를 전문 개발자 없이도 용이하게 구현 및 활용 가능

- 블록체인 서비스가 안정적으로 운영될 수 있도록 지속적인 관리 서비

스를 제공함

[그림 8] KT BaaS [29]

(2) 블록체인 기반의 스마트 컨트랙트 정적/동적 설계 기법[29]

블록체인 기반의 스마트 컨트랙트 정적/동적 설계 기법은 이더리움 기반

으로 스마트 컨트랙트를 설계하기 위한 메타모델 및 UML 기반의 정적/동

적 설계 기법이다. 블록체인 기술은 무결성과 부인 거부 등의 보안성으로

매매 계약, 부동산 계약과 같은 분야에 활용도가 높다. 이런 계약 서비스는

스마트 컨트랙트를 활용하여 개발할 수 있으며, 여러 블록체인 플랫폼들이

스마트 컨트랙트를 개발하기 위한 프로그래밍 언어5)를 제공한다. 이런 프

로그램 언어를 이용하여 동적으로 처리될 수 있는 스마트 컨트랙트를 개발

할 수 있다. 그러나 다양한 계약 분야에서 스마트 컨트랙트 개발이 진행되

고 있으나 블록체인 기반의 설계 연구는 미흡하다.

블록체인 기반의 스마트 컨트랙트 정적/동적 설계 기법은 정적 설계와

동적 설계가 가능하다. 정적 설계는 스마트 컨트랙트의 속성과 기능 설계

5) 대표적인 블록체인 플랫폼인 비트코인과 이더리움은 비트코인 스크립트와 솔리디티 언어를 제공한다.

Page 22: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 19 -

가 가능하며, 동적 설계는 블록체인 내의 스마트 컨트랙트, 계정, 블록들

간의 배포, 기능 호출, 동기화 설계가 가능하다. 이 연구는 블록체인 소프

트웨어 개발 중 설계 단계에 관한 연구로, 블록체인 소프트웨어 개발에서

이러한 기법을 사용한다면 요구사항의 모호함 감소 및 일관성이 좋아져 이

해 관계자와 원활한 의사소통이 가능해질 것이며, 복잡한 블록체인 시스템

이나 소프트웨어를 추상화하고 분해하여 관리할 수 있다.

o 정적 설계 기법

- [그림 9]는 블록체인 기반 스마트 컨트랙트 설계를 위한 메타모델이다.

스마트 컨트랙트의 기능을 제공하기 위한 Contract와 구성요소인

Attribute 및 Function으로 구성되며, Contract는 거래 내역을 제공하는

Transaction과 함께 Block 내에 포함된다. Block들 간에는 작업 증명

관계가 형성되며 블록체인 내의 계정인 Account에 의해 참조된다.

Account들 간에는 네으퉈크를 구성하여 블록을 형성한다.

[그림 9] 스마트 컨트랙트 구성을 위한 메타모델[30]

- [그림 10]은 컨트랙트 속성의 설계 표기법이다. UML의 문법을 그대로

사용하며 가시성 영역에 option을 정의한다. 데이터 타입은 솔리디티에

서 제공하는 타입을 사용한다.

[그림 10] 컨트랙트 속성의 설계 표기법[30]

Page 23: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 20 -

- [그림 11]은 컨트랙트의 함수 설계 방법이다. 함수 앞에 OPTION을 명

시하며, 가시성을 포함하여 솔리디티 언어에서 제공하는 추가 접근자를

포함한다. 변환 타입은 기본형 데이터 타입인 bool, int, uint 및 계정

주소값에 해당하는 address 등의 추가 데이터 타입을 설계한다.

[그림 11] 컨트랙트 함수의 설계 표기법[30]

- [그림 12]는 컨트랙트 함수 설계와 솔리디티 코드 간의 관계이다.

OPTION과 함수명이 바뀌어서 구현되어야 하며 OPTION 앞에는

returns 예약어를 포함하여 구현되어야 한다.

[그림 12] 컨트랙트 함수 표기와 솔리디티 코드 간의 매핑[30]

o 동적 설계 기법

- 컨트랙트의 동적 설계는 객체지향 설계 기법의 순서 다이어그램을 활

용한다. 동적 설계는 정적 설계에서 정의한 컨트랙트를 기반으로 설계

하고, 블록체인 내의 계정과 블록 인스턴스를 포함한다. 블록체인 내의

인스턴스들을 스테레오 타입을 이용하여 정의하며, 서비스 흐름에 대한

명시도 스테레오 타입을 이용하여 정의한다. [표 7]은 블록체인 내의

인스턴스 및 서비스 흐름 스테레오 타입이다.

Page 24: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 21 -

블록체인 내의 인스턴스 스테레오 타입표기 정의

<<contract>> - 컨트랙트 인스턴스<<account>> - 블록을 포함하고 있는 계정 인스턴스

<<block>> - 컨트랙트를 포함하고 있는 블록 인스턴스서비스 흐름 명시를 위한 스테레오 타입

표기 정의<<deploy>> - 현재 계정에서 블록체인 내의 다른 계정으로 컨트랙트 배포<<create>> - 작업증명 후에 컨트랙트 생성<<sync>> - 블록체인 내의 컨트랙트들 간의 동기화

[표 7] 블록체인 내의 인스턴스 및 서비스 흐름 명시 스테레오 타입

- 컨트랙트가 초기화되면 실행할 수 있도록 다른 계정으로 배포해야하며,

[그림 13] 처럼 현재 계정에서 다른 계정의 블록으로 배포가 가능하게

설계한다.

[그림 13] 컨트랙트 배포의 동적 설계(Concept)[30]

- 컨트랙트 배포처럼 동기화에 대한 동적 설계도 가능한다. 배포와 동기

화는 블록체인 플랫폼 내에서 수행되므로 설계가 유사하지만 컨트랙트

내의 기능에 대한 동적 설계는 매번 다르게 설계되어야 한다.

- [그림 14]는 [그림 13]의 컨트랙트 배포에 대한 상세 설계이다. 배포는

블록체인 내에 연결된 블록들 간에 배포가 이루어져야 하며, 반복문을

통해 배포가 이루어지고 다른 계정의 블록에 배포가 되어 생성된다. 이

때 생성(<<create>>)은 작업증명이 이루어져 블록체인 내에 확정된다.

- 배포는 주로 블록체인 플랫폼에 의해 이루어지며 어떤 계정으로 배포

해야될지를 동작설계를 통해 설계한 후 블록체인 플랫폼에 적용한다.

Page 25: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 22 -

[그림 14] 컨트랙트 배포의 동적 설계(Detail)[30]

(3) 블록체인 기반 서비스 품질 모델[31]

o 와이즈스톤 ICT시험인증연구소는 2019년 2월에 블록체인 기반 서비스

의 품질 모델을 제시하였다. 현재 블록체인 기술은 품질 표준화, 모범

사례 등의 부재로 블록체인 기술에 대한 평가가 제대로 이루어지지 않

고 있는 실정이다. 품질 확보 방안으로 소프트웨어 품질 특성 및 평가

를 규정한 국제 표준 ISO/IEC 25023 기반의 블록체인 품질 모델을 제

사하였다. 이 모델은 개발과정에서 블록체인의 품질 확보 방안으로 블

록체인의 품질 요소를 ISO/IEC 25023의 품질 특성, 품질 부특성에 매

핑한 블록체인 서비스 품질 모델이다.

- 8개의 품질 특성, 19개의 품질 부특성으로 구성됨

(4) 블록체인 패러다임과 핀테크 보안[32]

o 블록체인의 탈중앙화 및 정보공유 특성은 정보보호 문제를 야기한다.

블록체인에서 의미하는 보안성은 블록체인에 저장된 정보의 무결성

(Integrity) 및 원본성(Immutability)을 보장하는 것이다. 그러나 무결성

은 기본적인 정보보호 4대 서비스 중 하나일 뿐이다. 특히, 블록체인은

개인정보보호 측면과는 모순되는 특징을 가지고 있다. 이를 해결하기

위해서는 블록체인 기술을 활용한 운용서비스를 개발할 경우, 기존의

중앙화된 모델과 같이 정보보호 서비스 개발을 독립적으로 개발해야

한다. 그러나 이는 블록체인 기술의 활성화에 문제가 될 수 있다. 따라

서 블록체인 기술에 기본적인 정보보호 기능을 내재해야 한다.

o 사이버보안이란 기존 종이문서에 기반을 둔 사회의 보안 개념을 인터

넷 및 전자문서 기반 보안 개념으로 바꾸는 것이다. 사이버패러다임으

로 인한 업무 현신 과정이 리엔지니어링이다. 사이버패러다임이 기존의

Page 26: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 23 -

종이 기반 비즈니스 모델을 인터넷에 기반을 둔 전자문서 비즈니스 모

델로의 전환을 의미했다면, 블록체인 패러다임은 [그림 15]처럼 인터넷

기반의 모든 비즈니스 모델을 블록체인 기반으로 전환하는 것을 의미

한다.

[그림 15] 블록체인패러다임과 블록체인 리엔지니어링

o 특히, 사이버패러다임과 블록체인패러다임은 본질적인 측면에서 차이를

나타낸다. 사이버패러다임은 기존 중앙집중적인 비즈니스 모델(신뢰기

관)은 유지하면서 업무 프로세스를 혁신하는 것이다. 반면에 블록체인

패러다임은 신뢰기관을 제거하는 특성으로 인해 업무 프로세스 혁신

및 비즈니스 모델 자체의 혁신이다.

o 블록체인패러다임에 의해 정보보호 측면에서도 혁신이 필요하다. 블록

체인패러다임에 따른 블록체인 보안이 필요하다. 블록체인 보안이란 기

존의 중앙집중식 비즈니스 모델의 정보보호 관점이 아닌 탈중앙화 신

뢰시스템인 블록체인 기반 비즈니스 모델의 정보보호 관점을 연구하는

것이다. 블록체인패러다임에 의한 블록체인을 실현하기 위해서는 가장

중요한 성능 문제를 해결해야 한다.

o 블록체인패러다임으로의 전환과 더불어, 핀테크 보안도 인식의 대전환

이 필요하다. 향후 핀테크 보안은 인터넷 기반의 보안이 아닌 암호블록

Page 27: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 24 -

체인 기반의 탈중앙화된 관점의 보안을 고려해야 한다. 예를 들어, 기

존 핀테크 보안은 신뢰기관을 가정한 중앙집중화된 금융산업의 정보보

호 관점이었다. 그러나 암호블록체인 기반의 핀테크 산업은 신뢰기관이

존재하지 않기 때문에 기존의 정보보호 관점에서 다루기는 한계가 있다.

o 탈중앙화된 암호블록체인 기반의 핀테크 보안은 암호블록체인 자체의

안전성 증명6)과 암호블록체인 기반 금융서비스의 해킹 모델 정립 및

안정성 증명7)의 2가지 관점에서 분석해야 한다.

- 기존 인터넷은 단순한 정보통신망 역할이었으나 암호블로체인의 경우

무결성을 보장하는 분산 데이터베이스, 암호화폐, 스마트 계약 등 기본

적인 데이터와 거래에 대한 무결성 보장 기능 및 비밀성, 인증, 부인봉

쇄 등 기본적인 4대 정보보호 기능과 개인정보보호 기능도 내포한다.

- 이는 암호블록체인 기반의 핀테크 보안에서 상당 부분은 서비스 레벨

이 아니라 인프라 레벨인 암호블록체인 기능으로 보장할 수 있다.

- 따라서 핀테크 보안이란 기존 방식과 달리 암호블록체인이 보장하는

정보보호 서비스를 제외한 핀테크 서비스 특성 보안에 집중해야 한다.

즉, 서버보안이 아니라 클라이언트 보안이다.

[그림 16] 암호블록체인패러다임과 핀테크 보안[32]

6) 핀테크 산업의 인트라 관련 안전성 증명7) 핀테크 서비스 레벨에서의 안전성 모델 및 증명

Page 28: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 25 -

(5) 이더리움 컨트랙트 모니터링 및 분석 시스템[33]

o 블록체인은 네트워크 참여자 모두에게 저장되는 정보에 대한 투명성을

공개하며, 이를 기반으로 신뢰 가능한 공개된 분산 원장기술이다. 비트

코인, 스마트 컨트랙트 기능이 추가된 2세대 블록체인 플랫폼인 이더리

움도 블록체인에 저장되는 정보를 모두 공개하며, 악의적인 사용자가

데이터를 의도적으로 수정하려는 시도를 네트워크 참가자가 확인할 수

있다. 하지만 스마트 컨트랙트 정보도 함께 공유하기 때문에 공개된 취

약한 코드를 악용하여 해킹하려는 시도가 증가하고 있다. 이러한 문제

점을 방지하기 위해서는 블록체인에 전파되어 저장되는 컨트랙트 관련

정보들을 수집하고 컨트랙트의 취약성을 분석할 필요가 있다. 이 시스

템은 컨트랙트 모니터링 및 취약한 컨트랙트 탐지 방법이다.

[그림 17] 컨트랙트 모니터링 및 분석 시스템의 아키텍처

o [그림 17]은 컨트랙트 모니터링 및 분석 시스템의 아키텍처이다. 이 아

키텍처는 스마트 컨트랙트를 이용하는 이더리움을 기반으로 설계되었

다. 컨트랙트와 관련된 정보들은 컨트랙트 생성 트랜잭션, 컨트랙트 어

카운트, 컨트랙트 함수 실행을 위한 트랜잭션 등이 있다. 따라서 정보

들은 트랜잭션과 어카운트 정보를 모니터링함으로써 수집할 수 있다.

- 이더리움 클라이언트 geth를 구동시켜, Monitor가 RPC를 통해서 트랜

잭션, 어카운트 정보를 모니터링한다.

- Monitor가 수집한 정보는 Preporcessor에게 전달되어 전처리를 거친

다음 Database에 컨트랙트 정보들을 저장한다.

Page 29: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 26 -

- 2개의 분석기(코드 및 통계 기반)는 이 정보들을 이용해서 트랜잭션의

취약성 정보를 판단하고 취약한 컨트랙트 주소를 추출한다. 추출된 정

보는 Database에 저장되고, 웹 서비스를 통해서 취약한 컨트랙트 주소

List를 공개한다.

(6) 블록체인 네트워크 모니터링 및 분석시스템[34]

o 블록체인은 공개된 분산 원장 기술이다. 분산 원장은 거래장부로 명명

되는 거래 데이터를 공개적으로 여러 곳에 분산 저장시키는 것을 말한

다. 이를 이용하면 인터넷상에서 행해지는 거래의 무결성을 보장할 수

있다. 그러나 최근에는 비트코인의 익명성을 악용한 불법거래의 수가

증가하는 문제가 발생하고 있다. 이러한 불법거래들을 추적하고 대응하

기 위해서는 블록체인 네트워크에서 발생하는 정보를 수집하고 분석하

는 기술이 필요하다. 이 방법은 블록체인 네트워크 모니터링 및 불법거

래를 탐지할 수 있다.

[그림 18] 블록체인 네트워크 모니터링 시스템[34]

o [그림 18]은 블록체인 네트워크 모니터링 시스템의 구조이다. 실제 블록

체인 네트워크의 풀 노드에 모니터링 에이전트를 구동해 실시간으로

Block, Transaction, Node 등의 정보를 수집한다. 수집된 데이터들은 에

이전트-서버 통신을 통해 모니터링 서버의 노드 인터페이스로 전송된다.

- 노드 인터페이스: 서버 안에 구현된 데이터베이스로 각가 다른 블록체

인 네트워크에서 유입된 정보들을 분류하여 저장한다.

Page 30: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 27 -

- 웹 서버: 웹서버는 모니터링 서버에 구현되어 있으며, 데이터베이스 안

에 저장된 정보들을 웹 브라우저와 애플리케이션에 보여주는 시각화 기

능을 제공한다.

- 분석 엔진: 분석 엔진는 불법 거래 탐지를 위한 모델을 만들며, 모니터

링 서버 안에 구현된다.

3.4.2 국외 연구 및 기술

현재, 국외의 블록체인 연구는 단순 지급수단(1세대) 기능에 대한 검증을 거

쳐 다양한 거래⋅계약(2세대)에 적용되며 활용 범위를 넓혀나가는 중이다. 향

후에는 3세대 방식으로 자연스럽게 연구 및 기술이 확장될 것으로 파악된다.

본 절에서는 국외의 블록체인 품질 연구 및 기술을 소개한다.

(1) 일본 경제산업성의 블록체인 기반 시스템 평가 기준[35,36]

① 개요

o 블록체인이 다양한 분야에서 활용되고 있으나 블록체인을 활용한 시스

템을 평가하거나 중앙집중형 시스템과 비교할 수 있는 기준 부재

- 일본 경제산업성은 2017년 3월에 ‘블록체인 기반의 시스템 평가 기준’

을 마련함

② 평가 기준 도입 배경

o 중앙집중형 시스템에 비해 블록체인 시스템은 품질, 성능, 보안 등과

관련되어 체계적인 평가 시스템이 구성되어 있지 않아 블록체인 활성

화의 저해 요인이 됨

o 중앙집중형 시스템: 중앙에 위치한 시스템 평가만으로 전체 시스템의

평가 결과를 얻을 수 있어 평가가 용이하고 국제적인 논의가 활발히

진행되고 있음

- ISO/IEC250008)(SQuaRE, Software Quality and Requirement

Evaluation)와 같은 시스템 평가를 위한 국제 표준이 마련됨

o 블록체인 시스템: 블록체인 시스템은 환경이 유동적이기 때문에 전체

시스템에 대한 평가가 어렵고 평가에 대한 논의가 미비함

- 다양한 노드가 서로 유기적으로 동작하여 연결 방식, 네트워크 구성,

노드 개수 등의 요소에 따라 시스템 환경이 변화하기 때문에 전체 시

8) 소프트웨어 품질 평가를 위한 국제 표준 문서, 소프트웨어 품질 평가 모델부터 전체 품질 평가 표준 방안을 제시함

Page 31: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 28 -

스템 평가가 어려움

③ 블록체인 시스템의 평가 기준

o 블록체인 시스템 평가 기준은 품질, 보수⋅운용, 비용으로 구성되며, 중

앙집중형 시스템 및 소프트웨어의 품질 평가 기준(SQuaRE)을 기반으로

블록체인 기술의 특성에 맞게 보안함

- 품질 측정 항목: 효율성, 호환성, 확장서, 신뢰성, 보안, 이식성으로 분

류하고 총 20개의 소항목으로 평가 기준을 구성

- 보수 및 운용성: 모듈성, 재사용성, 해석성, 수정성, 시험성으로 분류함

- 비용: 연구개발, 구현, 보수 및 운용으로 분류하여 평가 기준을 구성하

였으며, 총 7개의 소항목으로 구성됨

(2) 소프트웨어 커넥터로써의 블록체인[37]

① 개요

o 블록체인은 신뢰할 수 없는 대규모 참여자 네트워크에서 분산 및 트랜

잭션 데이터 공유를 위한 새로운 기술이다. 이 요소들이 중앙 통합 지

점이나 특정한 참여 요소들을 신뢰하지 않고 공유 상태에 대한 합의를

찾을 수 있는 새로운 형태의 분산 소프트웨어 구조를 가능하게 한다.

블록체인을 소프트웨어 커넥터로 고려하면 시스템의 성능 및 품질 속

성(예: 보안, 프라이버시, 확장성 및 지속 가능성)에 대한 아키텍처 고려

가 명확하게 중요하다.

o 블록체인 기반 시스템의 설계는 아직 체계적으로 탐구되지 않았으며,

블록체인 도입이 소프트웨어 아키텍처에 미치는 영향에 대해서도 거의

연구되지 않았다. 이 연구에서는 블록체인을 여러 프로젝트에 적용하여 얻은 경험을 논하며, 이를 통해 쉽게 이욯알 수 있는 블록체인 기법을 사용하여 구축한 운영 프로토타입을 소개한다.

- 프로토 타입은 i) 데이터 공유를 위한 분산된 거래 시장, ii) 보안 데이

터 교환 및 협상 시나리오를 나타내는 중요 데이터 값을 안전하게 협

상하고 저장할 수 있는 플랫폼이다.

o 이러한 경험을 바탕으로, 아키텍처 관점에서 소프트웨어 커넥터의 분류

체계에 따라, 블록체인(blockchain)을 기존의 중앙 집중식 저장소를 분

산형 대안으로 고려해야 하는 새로운 종류의 소프트웨어 커넥터를 제

Page 32: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 29 -

안하였다. 그러한 관점은 애플리케이션의 품질 특성에 대한 명시적으로

중요한 아키텍처 고려사항을 만드는 데 도움이 된다. 블록체인을 소프

트웨어 커넥터로 사용하면 정보 투명성과 추적성을 향상시킬 수 있다.

블록체인에서 저장할 수 있는 데이터의 양은 매우 제한적이므로 어떤

데이터(또는 메타 데이터)를 온체인 대 오프체인(Off-Chain)으로 저장해

야 하는지를 결정하는 것이 중요하다.

② 블록체인 커넥터

o 소프트웨어 커넥터는 소프트웨어 상호작용의 기본 구성 요소이다. 커넥

터는 구성요소를 위한 상호작용 메커니즘이다. 커넥터는 파이프, 리포

지토리 및 소켓이 포함된다. 분산형 시스템의 커넥터는 성능, 신뢰성,

보안 등 시스템 특성을 달성하기 위한 핵심 요소다. 커넥터는 상호작용

요소의 기능과는 거의 무관한 상호작용 서비스를 제공한다. 소프트웨어

커넥터에 의해 제공되는 서비스는 통신, 조정, 변환 및 촉진의 네 가지

범주로 분류될 수 있다.

- 통신 서비스는 요소들 간에 데이터를 전송한다.

- 조정은 요소들 간에 통제를 이전한다.

- 변환 서비스는 상호작용을 조정하여 서로에 대해 정확히 조정되지 않

은 구성요소가 상호작용을 설정하도록 한다.

- 촉진 서비스는 구성 요소의 상호작용을 지원하고 최적화하도록 돕는다.

③ 블록체인 커넥터의 개요

o [그림 19]는 소프트웨어 커넥터의 역할을 수행하는 블록체인 개요를 보

여준다. 블록체인은 복잡한 네트워크 기반 소프트웨어 커넥터로, 통신,

조정(거래, 스마트 계약 및 유효성 확인) 및 촉진 서비스를 제공한다.

- 검증 오라클(Verification Oracle): 외부 독립적으로 관리되는 상태를 사

용하여 네트워크 내의 구성요소 조정을 용이하게 한다.

- 기타 촉진 서비스: 암호 기반의 보안 청산 지불, 마이닝, 거래 검증, 인

센티브 메커니즘 및 허가 관리가 포함된다.

o 블록체인 네트워크의 모든 노드에는 애플리케이션 계층과 블록체인 계

층이라는 두 개의 계층이 있다. 응용 프로그램의 일부는 스마트 계약

측면에서 블록체인 커넥터 내부에서 구현된다. 블록체인 커넥터 외부의

애플리케이션 부분은 오프라인 데이터 및 애플리케이션 로직을 호스팅

Page 33: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 30 -

하고 트랜잭션을 통해 블록체인과 상호 작용할 수 있다.

[그림 19] 블록체인 커넥터 개요[37]

o [그림 20]은 블록체인(blockchain)을 커넥터로 사용할 때 개발자가 고려

해야 할 몇 가지 설계 결정을 보여주고, 품질 특성에 대한 해당 영향을

요약한 것이다.

④ 의사소통 서비스

o 의사소통 서비스는 요소들 간에 데이터를 전송하는 요소 상호 작용의

기본 블록이다. [그림 21]은 블록체인 네트워크 내의 노드의 내부 구조

를 보여준다. 구성요소는 데이터를 전송하기 위해 블록체인(blockchain)

을 중재자로 사용한다. 블록체인에는 두 가지 방법으로 데이터를 저장

할 수 있다.

- 하나는 비트코인과 같은 거래에 데이터를 추가하는 것이고, 다른 하나

는 Etherum과 같은 계약 스토리지에 데이터를 추가하는 것이다.

- 두 가지 방법 모두 블록체인(blockchain)에 거래 제출을 통해 데이터를

저장하는데, 이 데이터에는 일부 임의의 데이터가 포함될 수 있다. 거

래가 블록체인(blockchain)에 포함된 후 네트워크 내의 구성요소에 데

이터를 공개적으로 접근할 수 있게 된다.

Page 34: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 31 -

[그림 20] 디자인 결정 및 품질 속성의 균형(trade-offs)

[그림 21] 어플리케이션과 블록체인 간의 상호작용

(3) 블록체인 기반의 아키텍처 설계[38]

① 개요

o 블록체인 기반 애플리케이션을 설계하는 설계자의 주요 어려움은 이

기술이 많은 구성과 변형을 가지고 있다는 것이다. 블록체인이 초기 단

계에 있기 때문에, 서로 다른 블록체인을 비교할 수 있는 제품 데이터

Page 35: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 32 -

나 신뢰성 있는 기술 평가가 거의 없다. 이 연구는 블록체인 및 블록체

인 기반 시스템을 분류하고 비교하여 소프트웨어 아키텍처에 미치는

영향의 설계 및 평가를 지원하는 방법을 제시한다. 분류법은 블록체인

의 주요 구조적 특성과 주요 설계 결정의 영향을 파악한다. 이 분류법

은 블록체인 기반 시스템의 성능과 품질 특성에 대한 중요한 건축적

고려사항을 돕는다.

② 설계 분류법

o 기존 기술을 이해하기 위해 소프트웨어 아키텍처 커뮤니티에서 분류법

을 사용해 왔다[39,40]. 분류법을 만들려면 기존 작업을 소형 프레임워

크로 분류해야 하는데, 이를 통해 설계자는 개념 설계 공간을 탐색할

수 있고 다른 설계 옵션에 대한 엄격한 비교와 평가를 할 수 있다.

- 이 연구에서 제시하는 설계 분류법은 블록체인 분류와 이를 시스템에

사용하는 방법을 정의한다. 소프트웨어 설계자가 블록체인을 평가하고

비교하는 것을 돕고 블록체인 및 블록체인 기반 시스템에 대한 아키텍

처 의사 결정 프레임워크에 대한 연구를 가능하게 하기 위한 것이다.

- 이 연구는 중앙 집중화 수준, 클라이언트 저장 및 계산 지원, 블록체인

인프라 구성 및 기타 문제 등 4개의 관점으로 블록체인 기반 시스템에

대한 아키텍처 설계 문제를 고려한다.

가. 탈중앙화에 관한 아키텍처 설계

o 기존 기중앙집권화는 중앙의 위치나 기관으로부터 책임과 능력을 발전

시킨다. 중앙 집중식 시스템에서 모든 사용자는 거래를 중재하기 위해

중앙의 권한에 의존한다. 이와는 대조적으로, 비트코인과 같이 완전히

분산된 통화 체계는 사람들이 서로 또는 별도의 제3자를 신뢰하지 않

고도 누가 무엇을 소유하는지에 대한 합의에 도달할 수 있게 한다.

- 이러한 시스템은 비트코인 네트워크의 모든 전체 노드가 모든 블록과 트

랜잭션을 다운로드하고 비트코인의 핵심 합의 규칙과 비교하여 확인하고

거래를 처리하는 데 필요한 기능을 제공하기 때문에 매우 유용하다.

- [그림 22]는 완전한 중앙집권화에서 완전한 지방분권화에 이르는

(de)centralization의 스펙트럼을 나타낸다. 시스템에서는 일부 구성 요

소나 기능이 분산되고 다른 구성 요소들은 중앙 집중화될 수 있다.

Page 36: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 33 -

[그림 22] 품질 속성에 대한 상대적 영향을 나타내는

(de)centralization에 관한 블록체인 관련 디자인 결정

나. 저장 및 계산에 관한 아키텍처 설계

o 블록체인은 일부 고유한 속성을 제공하지만, 블록체인 네트워크에서 사

용 가능한 계산 전력 및 데이터 저장 공간의 양은 제한되어 있다. 게다

가, 공공 블록 체인을 사용하는 것은 실제적인 비용이 들며, 기존의 소

프트웨어 시스템과는 다른 종류의 비용 모델이 있다.

o 비용 효율성, 성능 및 유연성과 관련하여 블록체인 사용에 있어 주요

설계 결정에는 어떤 데이터와 연산을 체인 상에 배치해야 하는지, 그리

고 어떤 데이터를 체인에서 분리해야 하는지를 선택하는 것이 포함된다.

- [그림 23]은 아래에 자세히 설명된 이러한 옵션 중 일부를 수집한 것이다.

[그림 23] 품질 및 속성에 대한 상대적 영향을 나타내는 스토리지 및

계산과 관련된 블록체인 관련 디자인 결정

Page 37: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 34 -

- i) 항목 데이터: 블록체인 기반 시스템에서 데이터 관리의 일반적인 관

행은 원시 데이터를 오프체인 상태로 저장하고, 원시 데이터의 메타 데

이터, 작은 중요 데이터 및 해쉬만 온체인 방식으로 저장하는 것이다.

- ii) 품목 수집: 데이터 항목 수집의 개념은 예를 들어 블록체인을 레지

스트리로 사용할 때 블록체인에서 흔히 볼 수 있다. 공용 블록체인에서

스마트 계약을 사용하는 클라이언트 애플리케이션의 총 비용은 데이터

항목의 인덱스로서 전체 사설 블록체인 인프라를 실행하는 것보다 적

을 가능성이 높다. 블록체인은 다양한 종류의 아이템을 더 잘 지원하도

록 구성할 수 있기 때문에 별도의 체인을 사용하는 것이 더 유연할 수

있다. 그러나 블록체인 간의 상호운용은 어려울 수 있다. 오프체인 옵

션의 경우 항목 데이터의 고려사항과 트레이드오프가 항목 집합에도

적용된다.

- iii) 계산: 블록체인 기반 시스템에서 계산은 온체인(예: 스마트 계약을

통해) 또는 오프체인(Off-Chain)으로 수행할 수 있다. 서로 다른 블록체

인(blockchain)은 온체인(on-chain) 연산에 대해 서로 다른 수준의 표현

력을 제공한다.

다. 블록체인 구성에 관한 아키텍처 설계

o 블록체인 사용 시 하나의 설계 결정은 범위(즉, 공공 블록체인, 컨소시

엄/커뮤니티 블록체인 또는 사설 블록체인 사용 여부)이다.

- 대부분의 디지털 통화는 누구나 인터넷에서 접속할 수 있는 공용 블록

체인(blockchain)을 사용한다.

- 공공 블록체인 사용은 정보 투명성과 감사성을 향상시키지만 성과를

희생하고 비용 모델이 다르며, 공용 블록체인에서 데이터 프라이버시는

암호화나 암호 해시에 의존한다.

o 컨소시엄 블록체인(blockchain)은 여러 조직에서 사용된다.

- 컨소시엄 블록체인에서의 합의 프로세스는 사전 승인된 노드에 의해

제어되며, 블록체인 열람권은 공개되거나 특정 참가자에게 제한될 수

있다.

- 사설 블록체인 네트워크에서 쓰기 권한은 한 조직 내에서 유지되지만,

여기에는 단일 조직의 여러 부서가 포함될 수 있다. 컨소시엄 블록체

인, 사설 블록체인 또는 허가된 블록체인을 사용하든 네트워크 내의 참

가자를 허가하려면 허가 관리 구성요소가 필요할 것이다.

Page 38: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 35 -

- 사설 블록체인(private blockchain)은 네트워크가 단일 조직에 의해 관

리되고 호스팅되기 때문에 구성에 가장 유연하다. 많은 블록체인 플랫

폼은 멀티체인 및 에리스와 같이 컨소시엄 블록체인 또는 프라이빗 블

록체인으로서 구축을 지원한다.

o [그림 24]는 블록체인에 대한 다양한 구성 옵션이다.

[그림 24] 블록체인 구성(Configuration)에 대한 블록체인 관련 디자인 결정

라. 기타 아키텍처 설계 및 배포

o 기타 설계 선택사항들은 익명성과 인센티브에 관한 것이다.

- i) 익명성: 비트코인 블록체인은 익명으로 인식되지만, 연구에 따르면

비트코인 거래는 비트코인 사용자의 익명성을 훼손하는 것으로 연결될

수 있다. 블록체인의 익명성을 보존하기 위해 다양한 기술이 제안되었

다. Zcash40은 거래에서 결제 정보를 암호화하고 암호화된 거래의 유

효성을 검증하는 방법을 사용한다.

- ii) 인센티브: 블록체인 및 그 응용 프로그램(특히 공공 블록체인)은 광

부들이 네트워크에 가입하고, 거래를 검증하고, 블록을 정확하게 생성

하도록 재정적 인센티브(또는 평판 및 등급 메커니즘)를 도입한다.

Page 39: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 36 -

o 배포

- 블록체인 배포는 시스템의 품질 특성에도 영향을 미친다. 예를 들어,

타사에서 제공하는 클라우드에 블록체인을 구축하거나, 블록체인의 서

비스화(BaaS) 모델을 사용하여 시스템에 클라우드 인프라의 불확실성

을 직접 소개한다. 여기서 클라우드 제공자는 신뢰할 수 있는 제3자가

되며 시스템의 단일 장애 지점이 될 수 있다.

마. 블록체인 기반 시스템 설계 프로세스

o 분류법은 소프트웨어 시스템을 설계하여 시스템 설계를 수행하는 과정에

서 사용할 수 있다. 블록체인 기반 시스템 설계 프로세스는 블록체인 기

술을 잠재적으로 사용하는 시스템을 설계하는 대표적인 개념 모델이다.

- [그림 25]는 블록체인 기반 시스템을 위한 디자인 프로세스이다. 이 프

로세스는 설계 프로세스의 다른 단계에서 시스템 설계를 안내하는 데

분류법의 사용방법을 보여준다.

- 과정은 신뢰를 분산시키는 결정에서부터 시작되는데, 블록체인은 단일

신뢰할 수 있는 권한이 필요하지 않고 신뢰할 수 있는 권한을 분산하

거나 부분적으로 분산할 수 있는 시나리오에서 사용된다.

[그림 25] 블록체인 기반 시스템 설계 프로세스

Page 40: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 37 -

(4) Blockchain Oriented Software Engineering[41,42]

① 개요

o 블록체인 기술은 은행에서부터 사물인터넷에 이르기까지 수많은 어플

리케이션을 발견했다. 그러나 소프트웨어 공학 블록체인 기술이 어떤

문제를 해결할 수 있을지, 어떤 문제를 해결할 수 있을지에 대한 연구

는 아직 미흡하다. 블록체인 지향 소프트웨어 공학은 블록체인 기술이

2가지 핵심 소프트웨어 공학 문제를 해결하는 방법을 제시한다.

- i) 블록체인 기술은 소수의 자원자가 수행하는 무료 작업 기반의 소프

트웨어 공학 인프라를 민주화 및 전문화하고, ii) 산출물 및 서비스 품

질을 개선하며, iii) GitHub와 같은 유비쿼터스 시스템에 대한 신뢰 향

상에 도움이 될 것으로 기대한다.

② Blockchain Primer

가. Terminology

o 형식적으로는 블록체인(Blockchain)에 의해, 각각의 데이지 체인

(Daisy-chain)을 부모에 연결한 상호 연결된 블록 집합을 나타내는 단일

파일을 의미

- 블록체인 프로토콜은 유효한 블록을 구성하는 것을 지배한다. 프로토콜

의 구현은 그들 자신을 고객으로 나타낸다. 따라서 "Blockchain"에 대

한 대부분의 구어적 언급은 파일 자체보다는 그 뒤의 프로토콜을 가리

킨다.

- 블록체인은 모든 블록을 순서대로(또는, Merkle 트리에 의존하여 프로

세스를 줄여서) 실행함으로써 모든 클라이언트에 의해 검증될 수 있다.

- 모든 블록에는 한정된 수의 거래가 포함되어 있다(예: "A에서 B로 돈

보내기"). 블록에 포함될 수있는 트랜잭션의 수가 적어지고 새로운 블

록이 10 분마다 발견되는 속도가 느린 성장은 Bitcoin의 낮은 처리량의

주요 원인이다.

나. Types of Blockchains

o 블록체인 프로토콜의 두 가지 형태를 구분(허가 및 무허가 블록체인)

- 허가된 블록체인: 알려진 행위자 집합으로 제한되어 있어 자신을 식별

하고 인증할 필요성을 암시함(검증은 대부분 비즈니스 대 비즈니스 애

플리케이션)

- 무허가 블록체인: 마이너(miner) 또는 일반 노드로 누구나 참여 가능

Page 41: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 38 -

o 허가된 블록체인은 일반적으로 작업 증명이 필요하지 않으며, 새로운

오픈 블록체인 프로토콜은 전력 소비량을 수정하기 위해 위치 증명이

라는 개념을 채택하려고 시도한다.

- 블럭이 발견되어 체인에 추가되면, 광부는 블록에 포함된 거래 수수료

이외에 현상금을 받는다.

- reward(Bn+1) = block bounty(Bn+1) + P transaction fees(Bn+1)

o Etherum은 스마트 계약의 실행을 허용한다.

- 스마트 계약(smart contract)은 프로그램, 즉, 블록체인에 저장되어 노드

에 의해 실행되는 일련의 기능이다.

- Etherum의 경우 Blockchain의 공간이 비싸기 때문에 계약은 사실상 약

600줄의 코드로 제한된다.

- 계약은 opcode로 컴파일되어 Ethereum 가상 머신인 EVM에 의해 실

행된다. 코드를 실행하는 능력은 블록체인 기반의 SE에 가장 강한 영

향을 미친다.

다. Security

o 블록체인 기반 SW 응용 프로그램은 무수히 많지만 가능한 공격 경로

는 다양하다. 비트코인과 이더리움에서 여러 공격이 시도되었다.

- 예를 들어, 악의적인 공격자가 네트워크의 대부분을 제어하는 소위

51% 공격은(51%-attacks) 큰 위협이 된다.

o 성공적인 공격은 프로토콜 유도 버그(protocol induced bugs) 보다는

사용자 공격에 크게 국한되어 있는 것으로 보인다.

- 예를 들어, 이더리움에서 구현된 토자자 지원 벤처 캐피탈 펀드인

DAO는 스마트 계약에서 상대적으로 사소한 버그로 인해 5500만 달러

를 잃었다.

- 그럼에도 불구하고 Blockchain 기반 기술은 초기 단계에 불과하다.

③ Blockchain Based Continuous Integration

o 지속적인 통합(CI)이 SE의 성공 사례라면, Travis CI는 성공 스토리의

전형이다. GitHub에서 CI를 수행하는 모든 프로젝트의 절반 이상이

Travis CI로 수행된다. Travis CI는 개발자가 코드 변경사항을 테스트하

Page 42: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 39 -

고 배포할 수 있는 빌드환경을 제공한다. Travis CI는 내부적으로 AWS

에서 컴퓨팅 성능을 임대하여 이 작업을 수행한다. 또한 Travis는 이전

에 실행된 빌드에 대한 historic view를 제공한다. 이 로그는 블록체인

응용 프로그램에 적합하다.

o [그림 26]은 BCI라는 블록체인 기반 CI 시스템이다.

- 개발자가 mempool(1)에서 빌드 및 보상 가격(reward price)(Etherum의

가스 한도와 유사)을 입력하면 BCI 네트워크 (2)로 브로드 캐스트된다.

- 관심있는 작업자가 빌드 (3)를 실행하고 결과를 서로에게보고한다(4).

- 합의를 얻은 경우 (예 : '통과') 빌드를 블록 체인 (5)에 추가한다.

- Ethereum의 기능 실행에 영감을 받아 노드는 EVM (예 : 호스트 시스

템에서 빌드를 분리하는 Docker 이미지)과 비슷한 차폐 환경(shielded

environment)에서 빌드 작업을 수행한다.

- 빌드 작업의 실행은 빌드 로그 출력을 해싱하고 서명함으로써 실행 가

능한 작업 증명 역할을 할 수 있으며, 이는 현재 사용되는 낭비적인 작

업 증명 비트코인보다 더 유용하다. 또한 많은 빌드 및 테스트 실행 환

경과 CI의 매우 병렬적인 특성은 대규모 작업자 노드를 통해 신속하게

처리하도록 한다.

[그림 26] BCI의 예

Page 43: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 40 -

(5) Blockchain Testing[43]

① 개요

o 블록체인 기술은 소프트웨어 개발에 대한 완전히 새로운 접근법을 제

시한다. 관련된 노드의 익명성과 함께 분산된 특성은 시험 프로세스의

복잡성을 더욱 가중시킨다. 전통적인 소프트웨어 테스트 방법은 더 이

상 유효하지 않을 수 있다. 블록체인의 불변성성은 더 나아가 버그가

생산체계에 들어가면 코드의 완전한 개정이 필요할 수도 있음을 암시

한다. 따라서 이 경우 올바른 시험 기법과 방법론을 사용하는 것이 더

욱 중요해진다.

o 시험 수준에 영향을 미치는 주요 요인은 구현이 Ethereum과 같은 공용

플랫폼에 기반하는지 또는 조직의 조직이나 컨소시엄을 위해 구축된

맞춤형 플랫폼에 기반하는지 여부다. 사설 블록 체인의 경우 모든 시나

리오를 시뮬레이션하고 내부적으로 테스트하는 것이 다소 쉽다. 사설

블록체인은 통제된 환경에서 작동하기 때문에 기존의 테스트 방법은

유용하다는 것을 증명할 수 있다. 기능성이 커스터마이징되므로 상세한

테스트 전략을 설계할 수 있다.

o 구현이 공공 플랫폼에 있을 때 복잡성은 증가한다. 공공 블록체인 구현

에서는 참여할 수 있는 노드에 대한 상한선이 없으며, 노드는 임시 방

식으로 가입 및 탈퇴할 수 있으며, 거래 속도를 쉽게 낮추지 못할 수

있으며, 하드 포크가 생성될 수 있으며, 더 많은 문제가 발생할 수 있

다. 모든 측면을 포괄하는 시험 전략과 시험 사례를 시각화하고 설계하

는 것은 매우 어려워진다.

② Blockchain Oriented Software(BOS)에서의 Test

o 블록 체인은 정보가 저장되는 데이터 구조의 한 형태로서, 검증의 일부

추가 정보를 포함한다. 블록 체인에 개발되는 대부분의 애플리케이션은

블록체인 기반 시스템이 신뢰할 수 있도록 데이터 무결성과 고유성을

보장해야 하며, 블록 체인 지향 소프트웨어(BOS)의 경우 보안에 중요한

시스템임을 보장해야 한다.

o BOS를 위한 제품군의 테스트가 필요하다. 일반적인 제품군으로는 1. 스

마트 계약 테스트(SCT), 즉 스마트 계약 i)이 계약자의 규격을 충족하는

Page 44: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 41 -

지 확인하기 위한 특정 테스트(Smart Contract Testing, SCT)가 관련

법률 시스템의 법규를 준수하는지, iii) 불공정 계약 조건은 포함하지

않는다. 2. 이중 지출에 대한 테스트와 같은 블록체인 거래 테스트

(BTT)청렴을 되찾다 다른 어떤 종류의 소프트웨어 테스트 못지않게 중

요한 스마트 계약에 자동화된 테스트를 사용하고, 외부 자동화 스크립

트가 플랫폼을 지시하고, 결과를 관찰하며, 결과가 예상과 일치하는지

확인할 수 있는 다양한 도구가 있다.

o Blockchain Oriented Software 프로젝트는 자연적으로 배포되는 블록체

인 기술과 함께 작동하기 때문에 테스트는 단독으로 수행되며 블록체

인을 효과적으로 시뮬레이션할 수 있는 개체를 적절히 조종해야 한다.

o 이 연구에서 BOS의 테스트는 BOS 프로젝트를 테스트하기 위한 완전한

소프트웨어 테스트 수명 주기를 만들었다. 모든 관점에서 소프트웨어를

테스트할 새로운 소프트웨어 테스트 수명 주기를 제시하였다.

③ Blockchain Oriented Software Test Approach

[그림 27] Blockchain Test Lifecycle[43]

o [그림 27]은 4단계로 구성된 블록체인 테스트 수명주기이다.

Ÿ 1단계: System Overview

Page 45: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 42 -

- BOS 테스트 라이프사이클의 첫 번째 단계는 시스템 개요 단계이다. 테

스트 실무자가 관련된 모든 구성요소를 더 잘 이해할 수 있도록 SDLC

에 시험실무자가 조기에 참여해야 하며 어떤 팀이 어떤 구성요소에 대

해 책임을 질 수 있는지에 대해 더 잘 알 수 있어야 한다.

- 그런 다음 생성된 구성요소 맵은 모든 인터페이스를 포함한 전체 시스

템의 모든 구성요소와 하위 구성요소를 포함한다. 그것은 그 시스템의

전반적인 작동에 대한 좋은 아이디어를 제공한다.

- 이 완전한 구성 요소 맵에서 블록체인 테크놀로지와 관련된 모든 구성

요소의 목록 작성이 포함된 시스템 구성 요소 맵이 생성된다. 나열된

구성 요소는 다시 구성 요소 다이어그램에 매핑되며, 이는 테스트 범위

를 정의한다.

Ÿ 2단계: Test Design

- 2단계에서는 블록체인별로 상세 레벨 시험 전략을 설계해야 한다. 시스

템에서 점검해야 하는 주요 구성 요소를 식별한다. 블록체인 지향 소프

트웨어의 테스트를 위해 Hyperledger Composer라는 모델을 사용하였

다. 2단계의 출력은 상세 레벨 시험 전략이 될 것이다.

- 블록체인 관련 NFR 테스트

i) be agile: 프로젝트 시작부터 NFR 테스트 계획(예: 애플리케이션과

같은 요구사항)이 있는 경우, 초당 1000개의 요청을 처리해야 한다. 그

런 다음 멀티캐스트와 같은 기술을 사용하여 네트워크를 통해 동시에

여러 사용자에게 데이터를 전송하고 애플리케이션 처리 기능이 매우

향상된다.

ii) plan, prioritize: 시간이나 자원에 의해 제약을 받을 때 어떤 NFR

시험을 수행해야 하는지에 대한 계획은 중요하다.

iii) setup: 적절한 환경을 갖추는 것은 중요하다. 예를 들어 시스템이

2개의 cpu와 4개의 core로 100tps를 처리해야 하는 경우, 그러나 생산

에서 4개의 cpus와 8개의 core가 이러한 상황에서 테스트는 2개의 결

과를 초래할 수 있다.

iv) record: NFR을 기록하는 것은 중요하다. 왜냐하면 우리는 우리의

시스템 성능을 증명할 수 있다.

Ÿ 3단계: Test Planning

- 이 단계에서, 우리는 모든 형태의 시험을 어떻게 수행할지, 모든 수준

Page 46: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 43 -

에서 시험 횟수의 추정치와 적용 범위 양에 대한 낮은 수준의 관점을

얻게 된다. 시스템 가용성을 확인하거나 테스트 환경 가용성을 확인할

수 있다. 시스템을 사용할 수 없는 경우 대체 테스트 전략을 계획해야

한다. 대체 시험 전략에는 시험을 위한 사설 블록체인 설치가 포함된다.

- 수행 시험의 범위와 횟수에 대한 추정치가 있어야 한다. 시험 도구 및

자동화 시험의 양을 결정하는 것은 필수적이다. 모든 시험 레벨이 고려

되고 시험 방법론과 도구가 확정된다.

Ÿ 4단계: Test Execution and Result Verification

- 네 번째 단계는 제안된 블록체인 오리엔티드 소프트웨어 수명 시험의

마지막 단계다. 여기에는 3단계부터 문서화된 메톨로디와 공구를 사용

하여 모든 시험 수준에서 모든 시험을 실행하는 것이 포함된다. 실행은

적절한 프레임워크에서 시험 추진 개발 접근방식을 따르는 스크리핑을

통해 이상적으로 자동화할 수 있다.

- 이 단계에서 집중해야 할 다양한 핵심 활성화가 낮은 수준의 검증과 블

록, 스마트 계약 및 트랜잭션의 검증이다. 우리는 또한 사용자 인터페이

스와 기능 흐름뿐만 아니라 시스템에 사용되는 모든 제3자 인터페이스

를 테스트할 필요가 있다.

(6) Blockchain 기반 프로젝트 시작 전 고려사항[44]

o 블록체인 기반 프로젝트는 기존 IT 시스템 구축 방식과는 큰 차이점이

있다. 여러 조직이 연계하는 영역에서 새로운 비즈니스 프로세스를 구

현하는 블록체인을 성공적으로 구현하기 위해서는 무엇보다 철저한 사

전 준비가 필요하다.

① 사전 검증이 성패를 가르는 블록체인 기반 프로젝트

o 블록체인블록체인 기반 프로젝트는 기존 IT 시스템의 구축 방식과는 큰

차이가 있다. 블록체인 기반 프로젝트의 경우, 기본적으로 개념 증명,

파일럿, 상용화 과정을 거치게 된다.

- 우선 블록체인 기반 사용사례를 선정하고 이 사용사례가 기능적으로

구현 가능 여부를 판단하기 위해 개념증명(PoC) 프로젝트를 수행한다.

- 기능 검증이 확인되면 파일럿 프로젝트를 진행하면서 상용화 이전에

고려해야 할 모든 상황에 대해 검토한다.

- 파일럿을 통해 검토가 완료되면 상용화 서비스를 구축하고 오픈한다.

Page 47: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 44 -

o 이런 단계를 거치기 전에 기업은 블록체인 사용사례를 선정해야 한다.

대부분의 기업이 이 단계에서 어려움을 호소하고 있으며, 상당히 많은

프로젝트가 여기서부터 실패했다.

[그림 28] 블록체인 기반 프로젝트 진행 프로세스[44]

② 네트워크 기준의 블록체인 분류와 사례

o 블록체인블록체인 기반 프로젝트는 기존 IT 시스템의 구축 방식과는 큰

차이가 있다. 블록체인 기반 프로젝트의 경우, 기본적으로 개념 증명,

파일럿, 상용화 과정을 거치게 된다. 블록체인 프로젝트는 네트워크 기

준으로 [그림 28]과 같이 파운더 리드 네트워크(Founder-Led Network),

조인트 벤처 네트워크(Joint Venture Network), 컨소시엄 네트워크

(Consortium Network), 비즈니스 에코시스템(Business Ecosystem) 등으

로 나눌 수 있다.

- 파운더 리드 네트워크: 초기 블록체인 네트워크를 구축할 때 파운더가

주도하는 형태로, 소규모 업체나 대기업과 같은 계열사나 내부 시스템

간 연동 시 많이 나타남

- 조인트 벤처 네트워크: 대기업에서 그룹사와 연관되는 기업이나 협력

기업 간 블록체인 네트워크를 구축하는 형태로, 어느 정도 규모가 잇는

기업 간 협력을 통해 특정 비즈니스나 협력 관계에서 블록체인 네트워

크를 구축하는 것임

- 컨소시엄 네트워크: 특정 산업 분야나 서비스를 중심으로 블록체인 네

트워크를 구축하는 형태로, 일반적으로 대기업이 주도하고 중소기업이

참여하는 구조

- 비즈니스 에코시스템: 좀 더 큰 네트워크 형태로, 여러 산업분야와 연

계한 대규모 블록체인 네트워크

③ 프로젝트 규모로 나눈 블록체인 분류와 사례

Page 48: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 45 -

o 프로젝트 규모 기준으로 블록체인을 분류하면, (그림 3)과 같이 컨소시

엄 기반의 네트워크(Consortium Based Network), 파운더 감독 기반의

네트워크(Founder Directed Network), 커뮤니티 기반의 네트워크

(Community Based Network) 등 세 가지 형태로 나눌 수 있다.

- 컨소시엄 기반 네트워크: 대기업 주도의 서비스로, 타 대기업과 중소기

업을 컨소시엄으로 묶어 블록체인 네트워크를 공동으로 사용하는 구조

이며, 파운더가 여러 개로 규모가 크기 때문에 프로젝트 수행은 대기업

이나 정부가 주도함.

- 파운더 감독 기반의 네트워크: 파운더가 하나로 스타트업이나 중소기

업들이 자체적인 내외부 블록체인을 구성해 서비스하는 구조로써, 개인

이 자신만의 가상 화폐를 만들어 블록체인 네트워크를 구축 가능함.

- 커뮤니티 기반의 네트워크: 업계 표준기관, 정부, 네트워크 서비스를 직

접 제공하는 대기업이 주도하는 블록체인 네트워크로, 파운더는 없지만

참여자간 합의를 통해 네트워크 서비스 소유자가 주도로 구성됨.

[그림 29] 프로젝트 규모 기준의 블록체인 분류[44]

④ 블록체인 기반 프로젝트 수행 시 고려 사항

o 블록체인 기반 프로젝트를 수행하기 위해 알아야 할 사항 가운데 대표

적인 4가지는 다음과 같다.

- 블록체인은 모든 데이터를 저장, 처리하는 분산 저장 데이터베이스가

아니다.

- 블록체인 기술 도입 시, 효과 여부를 사전에 파악해야 한다.

- 블록체인 프로젝트 수행 범위 중, 비용 절감과 비용 증대 영역을 사전

에 검토해야 한다.

- 감사(Audit) 및 중앙 데이터 관리가 필요한 체계가 필요한지 여부를 검

토해야 한다.

⑤ 사용사례 선정을 위한 고려 사항

Page 49: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 46 -

o 사용사례를 선정하기 위해서는 비즈니스적, 기술적, 법률적 고려사항을

살펴봐한다. 다음은 블록체인 프로젝트에서 비즈니스 적합 여부를 파악

하는 요소이다.

- 1) 디지털 기반의, 혹은 디지털화된 자산에 적합한가

- 2) 당사자간에 신뢰가 필요한가

- 3) 실시간 처리 기반의 결제 시스템이 필요한가

- 4) 현재 서비스 아키텍처에 수작업이 다수 포함되어 있는가

- 5) 결제 관련 서비스가 운영상의 이유로 프로세스 처리에 많은 시간이

걸리는가

- 6) 고객, 참여기관, 규제 당국에 자료의 투명성 및 보고가 필요한가

⑥ 지속적으로 발전하는 기술적 고려 사항

o 프라이빗 블록체인은 퍼블릭 블록체인과 달리, 참여자가 원하는 대로

블록 생성주기와 데이터 크기, 블록 크기를 지정할 수 있는 점이 가장

큰 장점이다. 프라이빗 블록체인 프로젝트에서 기술적으로 고려해야 할

사항은 다음과 같다.

- 1) 가상 암호화폐나 자체적인 코인 또는 토큰 처리기반 프로세스가 핵

심요소인가

- 2) 블록체인을 통해 전자화된 자산의 결정적 결제 완결성(deterministic

settlement finality)을 보장할 수 있는가

- 3) 결제(settlement)가 블록체인을 통해 청산되는가, 블록체인을 기반으

로 청산되는가

- 4) 자산 생애주기 추적, 결제보고, 아이덴티티 관리, 담보 자산 관리 등

의 다양한 필요요건을 충족시키는 시스템을 가지고 있는가

- 5) 기존 시스템과 통합될 수 있는가

- 6) 기관 간의 네트워크 동의가 이뤄지는 동시에 데이터 정보가 공유되

지 않게 프라이버시를 보장하는가

- 7) 규제기관이 관찰자(observer)로서 참여할 수 있는가

Page 50: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 47 -

제 4 장 국내외 블록체인 표준화 동향

4.1 블록체인 표준화

o 블록체인은 모든 구성원이 분산형 네트워크를 통해 정보와 가치를 검증

⋅저장⋅실행함으로써 특정인의 임의적인 조작이 어렵다. 블록체인에서

는 신뢰를 보장해주는 ‘제3의 기관(Trusted Third Party)’의 도움없이 거

래 참가자들이 거래기록을 각자 보관한다. 각 참가자는 공동으로 인증하

여 거래가 성립된다.

o 호주는 2016년 4월 비트코인으로 대표되는 암호화 기초기술로 주목받

은 블록체인 기술표준화 기술위원회(TC) 설치를 국제표준화기구(ISO)에

제안했다. 2016년 9월에는 블록체인 및 전자 분산원장 시스템과 응용,

상호운용성, 사용자 간 데이터 교환 분야에서 국제표준화 노력이 시작

되었다[45].

- 첫 번째 회의는 2017년 4월에 호주 시드니에서 열렸으며, 두 번째 회의

는 2017년 11월 일본 도쿄에서 열렸다.

o 블록체인의 표준화는 2017년부터 본격화되기 시작하였으며, 국제적으로

ISO에 새로운 TC가 설립되었다.

- ITU-T도 분산 디지털 원장과 관련된 포커스그룹이 신설됨

o 사실표준화기구인 W3C에서는 커뮤니트 그룹을 통하여 유스케이스를

개발하고 있다.

- 국내에서는 블록체인 표준화포럼을 설립하여 민간 중심의 표준 이슈

발굴을 통한 표준화 추진을 위하여 산업계 의견을 기반으로 표준분과

활동을 추진중에 있음

- 일본의 경우, 블록체인 기술에 대한 국제 표준화 노력에 발맞추어

ISO/TC 307에 제안하는 일본 위원회를 설립하고, JIPDEC(일본 디지털

경제공동체 추진 연구소)이 위원회의 사무국 역할을 맡았다. 블록체인

기술에 관련된 많은 일본 단체와 회사들이 참여하고 있다[46].

Page 51: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 48 -

4.2 국내 표준화 동향

4.2.1 블록체인 전략맵 개발

(1) 중점 표준화 항목[45,47]

o 중분류 범위 설정

- 블록체인 기술은 디지털 암호 화폐, 스마트 컨트랙트, 유통, 디지털 콘

텐츠 저작권, 헬스 케어 등 응용분야가 다양화되고 있다.

- 글로벌 분산원장 서비스를 위한 기술 분류는 블록체인의 핵심 기반기

술, 이를 이용하여 서비스를 제공하는 플랫폼 및 연동 기술, 다양한 플

랫폼에서 서비스를 구현하는 응용 기술, 분산원장의 조작 및 사용을 위

한 관리기술로 분류

o 중분류 표준화 항목 선정 이유

- 표준화 전략맵 블록체인 분과는 아래의 기술을 중점 표준화 항목으로

선정함

① 기반기술

- DLT 참조구조: DLT 개념 및 용어, DLT 표준의 가장 기본이 되는 표준

- DLT 참조구조는 DLT 시스템의 이해와 구현의 기초를 구성하며 사용자

와 개발자가 효과적으로 소통이 가능함. 또한 다양한 DLT 응용 개발의

기초가 되므로 중점 표준화 항목으로 선정됨

② 플랫폼 및 연동기술

- 플랫폼 연동기술은 DLT 시스템을 플랫폼으로 제공해주기 위한 기술

및 상이한 블록체인 및 DLT 시스템간의 연동을 위한 상호운용성 기술

- 본 분류체계 하에서 현재 진행 중이거나 시급성을 고려하여, 클라우드

기반 블록체인 플랫폼 요구사항 표준, 블록체인 및 DLT 시스템에서 구

문적 및 의미적 데이터 상호 운용성 표준, 그리고 블록체인 및 DLT시

스템의 애플리케이션 게이트웨이 기반 상호운영 표준을 중점 표준화

항목으로 선정됨

③ 응용기술

- 블록체인 응용기술은 크게 디지털자원 자체에 대한 전자적인 보관 표

준, 디지털 자원을 활용하는 응용 표준 분야로 나눌 수 있음

- 블록체인 기반 전자기록 관리를 위한 신뢰 시스템 구축, 법적, 제도적

문제 해결 등의 선결 후에 응용분야로 나가는 것이 적절하다고 논의되

었기 때문에 전자기록관리, 공증, 유통, 저작권 등의 분야에 대해 중점

표준화 항목으로 선정함

Page 52: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 49 -

- 향후 블록체인 기반 영구기록관리, 기록 공증 및 기록 유통 등의 표준

화시에도 참고 표준으로 활용될 수 있을 것으로 기대되어 중점표준화

항목으로 선정

④ 관리기술

- 금융분야는 블록체인이 실제로 가장 많이 활용되고 있는 분야로서 금

융 사고를 미연에 방지하기 위한 보안 관리 기술 개발이 시급하므로

지불결제시스템을 위한 관련 항목을 선정

(2) 표준화 목표[45]

o 블록체인 분야 국제표준화 경쟁 및 글로벌 시장 주도권 확보를 위하여

다음과 같이 표준화 목표를 설정

① 2019년까지

- 블록체인 국제표준화의 초입단계로, ISO TC307에서는 용어정의, 참조

구조, 스마트 합법 콘트랙트 표준이 개발 중에 있음

- 참조구조 표준을 기반으로 블록체인 플랫폼, 연동, 응용 및 ID관리 표

준을 ISO TC307, ITU-T SG13/SG17/SG20 및 W3C Blockchain CG 표

준 선도그룹에서 지속적인 활동 추진

② 2021년까지

- 블록체인 플랫폼 및 서비스의 상호운용, 거래소의 안전한 운영, 전자화

폐의 정상화 및 Smart Contract 연동 등 블록체인 응용서비스 표준개

발 및 IPR 확보 추진

③ 2023년까지

- 블록체인 플랫폼 및 응용서비스의 안전화 및 다양화를 위하여 다양한

유스케이스를 기반으로 블록체인 표준 선도국 진입 및 IPR 수익 창출

을 위한 환경 제공

(3) 표준화 기대효과[47]

o 국제표준 경쟁력 강화 측면

- 다양한 형태의 플랫폼과 인터페이스를 표준화하여 개발의 생산성 향상

및 산업의 시너지 효과 발생

o 중소기업 경쟁력 강화 측면

- 중소기업에 표준기술을 보급하여 블록체인 산업을 활성화하고, 핵심 기

Page 53: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 50 -

술을 기반으로 글로벌 기업과 협력을 강화하여 관련 제품/서비스의 수

출 확대

o 국민행복⋅안전보장 측면

- 동전 없는 사회 구축을 위한 표준기술 제공으로 국민 생활 편의성 제

고와 행복을 증진

- 블록체인 보안을 위한 가이드라인 표준 제공으로 역기능 예방 제공

- 정보의 분권화로 정보의 통제에서 자유롭게 되며, 개인은 자신의 정보

를 자율적으로 처리할 수 있는 신뢰 사회 구축

4.2.2 국내 블록체인 표준화 현황 및 전망

국내 블록체인 표준화 현황 및 전망은 기반기술, 플랫폼 및 연동기술, 응용

기술, 관리기술의 4가지 측면에서 기술한다.[45,47]

(1) 기반기술

o DLT 참조구조 표준

- 금융보안표준화협의회 블록체인 그룹, 분산원장기술표준포럼, 개인정보

보호표준 포럼 등에서 표준 개발, TTA PG 502를 통해 단체 표준 제

정 예정

(2) 플랫폼 및 연동기술

o 클라우드 기반 블록체인 플랫폼 요구사항 표준

- 클라우드에서 블록체인을 제공하기 위한 단계적 기술 적용 방안 및 표

준화 대상이 기획되고 있는 단계

o 블록체인 및 DLT 시스템에서 구문적 및 의미적 데이터 상호운용성 표준

- 다양한 블록체인 플랫폼이 출연하면서 이종의 블록체인 간 상호운용성

표준의 필요성이 커지고 있어 표준화 대상으로 기획되고 있는 단계

o 블록체인 및 DLT 시스템의 애플리케이션 게이트웨이 기반 상호운용성

표준

- 국내 금융권에서 블록체인 기반의 공동인증 서비스가 출시되고 서비스

간 연계에 대한 요구가 커짐에 따라, 금융보안표준화협의회를 통해 애

Page 54: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 51 -

플리케이션 게이트웨이 기반의 상호운영 표준개발에 대한 논의를 시작

(3) 응용기술

o 콘텐츠 저작권 정보의 블록체인 참조구조 및 요구사항 표준

- 저작권 관련 표준 개발은 클라우드 컴퓨팅(SPG21), 응용보안/평가인증

(PG504), 디지털콘텐츠(PG610), 메타데이터 (PG606) 등 TTA 관련 표준

작업반들이 협업을 통해 개발해야 함

o 블록체인 기반 전자기록 관리: 요구사항 분석 표준

- 전자기록관리와 관련된 블록체인 표준화는 현재 진행되고 있지 않으며,

ISO TC46 SC11에서 개발 중인 관련 표준의 국내 부합화 후 2020년 내

로 KS 표준화 추진 예정

(4) 관리기술

o 분산원장기술을 활용한 온라인투표에 대한 보안 위협 표준

- 분산원장기술을 활용한 온라인 투표에 대한 활용도가 증가할 것으로

예상되어 그에 따른 정보보호 측면의 보안 위협 분석 및 대응 방안 등

에 관한 표준 개발이 추진될 것으로 예상

o 개인정보보호 지침 표준

- 블록체인 서비스 환경에서 전문화된 지침(예, 잊혀질 권리)이 필요하지

만, 아직 이와 관련한 활동이 없음

o 자가주권 ID(Self-sovereign identifier) 관리 표준

- 인터넷 주소 자원, 디지털식별자 표준 개발을 담당하고 있는 PG222을

중심으로 자가주권 ID 관리 유즈케이스, 요구사항 및 구조, 블록체인을

활용한 DNS, 스마트차량용 ID 등의 표준 개발을 진행하고 있음

o IoT 블록체인의 Trust 구조 및 가이드라인 표준

- 지식정보트러스트 포럼: IoT 트러스트 인프라에 대한 생태계 구축 및

표준화를 위해, “지식정보 트러스트 포럼”이 발족(2015.9), IoT trust 에

대한 개념정의를 하고 있으나 아직 본격적인 표준개발은 진행되지 않

고 있음

Page 55: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 52 -

o 블록체인 플랫폼 확장성 확보 방법 및 성능 측정 기준 표준

- 블록체인의 확장성 관련 표준화 항목은 아직 제안되지 않았으나, 합의

알고리즘에 매우 큰 영향을 받으며 보안성과 연관되어 개발되어야 하

므로, ISO TC307 WG2에서 첫 논의가 시작될 것으로 예상

4.3 국외 표준화 동향

4.3.1 ISO/TC 307

2016년 9월 ISO의 기술관리이사회는 호주에서 제안한 블록체인과 전자분산

원장기술 그룹을 승인하여 TC 307을 신설하고 작업범위를 사용자, 애플리케

이션, 시스템 간 상호운용성 및 데이터 교환을 지원하는 블록체인 및 분장원

장기술 표준화로 결정하였다[45]. 2017년 4월 1차 TC 307 회의에서는 1개의

신규 표준안 및 관련 WG, 5개의 연구 그룹을 신설하였다.

(1) 산하 조직 설립 논의

회의에 참가한 각국은 신규 표준화 항목 제안(NP)에 관한 의견을 기고서로

제출하고, [표 8]과 같이 8가지 항목을 분류하였다[48].

구분 논의 항목1 용어(Terminology)2 참조구조 및 분류체계(Reference Architecture, Taxonomy and Ontology)3 유스케이스(Use Cases)4 보안 및 정보보호(Security and Privacy)5 식별(Identity)6 스마트 콘트랙트(Smart Contracts)7 상호운용성(Interoperability)8 거버넌스(Governance)

[표 8] 표준화 논의 항목 분류

① 용어 작업반

o 용어 표준 중요성과 선제 표준화 필요성이 제기됨에 따라 용어 표준에

관한 신규 표준화 항목 제안을 진행함

o 해당 NP 승인 여부에 따라 조건부로 신규 작업반(WG)을 설립하는데

합의 함

② 참조구조 및 분류체계 연구반

Page 56: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 53 -

o 미국, 프랑스, 일본, 중국 등이 제출한 기고서 내용을 토대로 참조구조

및 분류체계에 대한 표준화 작업 타당성에 대한 논의가 진행됨

o 중국은 풍부한 유스케이스를 바탕으로 참조구조에 관한 다수의 기고서

를 제출

③ 유스케이스 연구반

o 한국 및 다수의 국가가 유스케이스 표준화 필요성을 강조함에 따라 유

스케이스 연구반 설립이 확정됨

o 이 연구반은 유스케이스 이외의 다른 표준화 작업에 필요한 정보를 상

당량 제공 가능함

④ 보안 및 정보보호 연구반

o 보안 및 정보보호 분야는 총회 전부터 다수의 국가가 기고서를 통하여

표준화 필요성을 강조한 분야로 많은 국가가 연구반 설립에 동의함

o 차기 총회 때까지 표준화 항목 개발 작업을 수행함

⑤ 식별 연구반

o 식별자의 생성과 관리는 다양한 블록체인 기반 서비스 구축에 근간이

되는 중요한 요소임

o 최근 세계 각국이 디지털 국가 식별자 관리 시스템(NIMS, Natrional

Identity Management System)을 구축하고 있기 때문에 블록체인 기반

식별체계에 대한 표준화는 기존 공인인증서와 같은 식별체계 활용 및

수출에도 도움을 줄 것으로 예상됨

⑥ 스마트 콘트랙트 연구반

o 스마트 콘트랙트 표준화는 독일의 인더스트리 4.0과 관련하여 중요성을

강조함

o 스마트 콘트랙트의 생성부터 파기에 이르기까지 연계되는 기술 및 법

률에 관힌 이해와 접근의 필요성 검토가 진행될 예정

o 프로그래머가 아닌 사람들도 스마트 컨트랙트 생성 및 관리의 접근성

을 편리하게 만들기 위한 프로그래및 기법 및 영역별 스크립팅에 관한

표준화 진행 예정

Page 57: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 54 -

4.3.2 ITU-T[45]

(1) 블록체인 포커스 그룹

ITU-T TSAG(Telecommunication Standardization Advisory Group)은

2017년 5월 회의에서 ‘분산 원장 기술(DLT: Distributed Ledger

Technology)’에 대한 포커스 그룹을 구성하여 블록체인 표준화 작업을 착

수하였다. 다음은 FG DLT의 블록체인 기술 기반 주요 표준화 항목이다.

o 블록체인 용어정의(Blockchain terminology)

o 디지털 금융서비스 및 비금융 서비스를 위한 블록체인 유스케이스

(Blockchain use cases for digital financial services/non-financial

services)

o 블록체인 유스케이스에 기반한 보안 및 프라이버시 위협(Security and

privacy threats and requirements based on blockchain use cases)

o 블록체인 보안 참조 모델(Security reference architecture for blockchain)

o 블록체인 기반 신원 관리(Identity management based on blockchain)

o 블록체인 기반 키 입증(Key attestation based on blockchain)

o 블록체인 응용 및 서비스를 위한 보안 및 프라이버시 가이드(Security

and privacy guidance for blockchain applications and services)

(2) 개발 표준

2017년 7월에 ITU-T SG17은 블록체인 관련 표준작업반 신설, SG13은 클

라우드 기반 블록체인(BaaS)를 추진 중에 있으며, SG20과 SG16은 블록체

인 관련 표준 개발을 착수하였다.

o SG20, Y.IoT-BoT-fw(Framework of blockchain of things as

decentralizaed service platform)

- 사물 블록체인(Blockchain of Things) 개념 소개

- IoT를 위한 분산화된 서비스 플랫폼으로써 사물 블록체인을 위한 공통

기능 및 요구사항 개발

- IoT 및 SC&C 애플리케이션 및 서비스 개선을 위한 블록체인 이점에

대한 비교 분석 개발

o SG16, F.DSL(Requirements for distributed ledger services)

- 공용/사설/컨소시엄 분산 원장서비스에 대한 소개 및 분산원장서비스

에 대한 요구사항 기능 개발

Page 58: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 55 -

4.3.3 W3C[45,49]

W3C는 2016년 3월 블록체인 CG(Community Group)를 설립하여 전 세

계의 금융서비스 회사, IT 회사 등 다양한 기업에서 참여 중이다. 그룹의

목표는 국제표준화기구(ISO)가 발표한 실시간 지급결제 표준인 ISO20022

기반으로 블록체인 메시지 포맷 표준 개발, 스토리지, 공용 블록체인, 사설

블록체인 등 블록체인 관련 기술 표준 지침 개발 및 웹 기반 블록체인 생

태계를 위한 유스케이스 문서 개발이며, 지금까지는 주로 유스케이스 문서

개발에 집중하고 있다.

Page 59: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 56 -

제 5 장 블록체인 품질 적용 사례

블록체인 품질 적용 사례는 다양한 분야에서 적용되고 있다. 제조업 분야

에서는 블록체인 기술을 채택하여 공급망 품질 관리를 개선하는데 적용하

고 있다. 식품 분야에서는 식품에 의한 질병이 계속 증가함에 따라 식품

안전 문제의 대응책으로써 식품 공급망의 추적 및 감시하는데 블록체인 기

술을 적용하고 있다[50,51]. 의료분야에서는 환자의 개인 정보 이력과 건강

보험 등 전자 의료 기록에 블록체인을 적용하여 의료 상호운용성을 개선하

고 있다[52,53,54]. 또한 부동산 시장에서는 허위 매물로 인해 사용자의 만

족도가 높지 않은 문제점을 해결하기 위해 부동산 시장 서비스에 블록체인

기술을 적용하여 문제 상황에 대한 대응 방안을 제시하고 있다[55,56].

본 장에서는 각 분야별로 블록체인 기술 적용을 통해 품질 개선한 사례

를 소개한다.

5.1 블록체인 기술 적용으로 인한 효율성 향상 사례

5.1.1 중계기관 간소화로 인한 향상 사례

블록체인 기술을 적용하여 기존의 중계기관을 최소화함으로써 비용 및

시간적 측면에서 효율이 향상된다.

(1) 개인 간 전력 거래[57,58]

o 시간제 요금제와 개인용 태양광 설치는 개인 간 전력 거래 사업을 추

진시키는 주요 요인으로 작용한다. 개인 간 전력 거래는 전력을 개인

간에 사고 팔 수 있는 제도이다. 그러나 전력 거래는 거래의 신뢰성을

위해 중계자가 전력거래 사이에 있다. 개인 간 전력 거래에 블록체인

기술을 적용하면 블록체인 시스템이 거래의 신뢰성을 보증하기 때문에

중계자가 필요없다.

- 2016년 4월 미국 브루클린에서 ‘TransactiveGrid와 LO3 에너지가 합작

하여 태양광 전력의 개인 간 전력 거래가 가능해졌다[59].

(2) 음반산업

o 2018년 이모겐 힙(Imogen Heap)은 블록체인 기반으로 음반을 발매했다

[60]. 이유는 음반 유통업자의 독점 때문이다. 미국 음반 산업 구조가

독점 체계이기 때문에 유통업자가 가격 구조를 마음대로 조정할 수 있

Page 60: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 57 -

으기 때문에 힙은 음반 직거래를 위해서 블록체인 기술을 적용했다.

- 음반 유통업자를 거치지 않기 때문에 중개 비용이 없다.

(3) 금융 분야

o 국제간 금융 거래의 경우, 중개기관을 거친다. 이에 따라 시간과 금적

적 비용이 추가로 발생한다. 이러한 비용을 줄이고자 금융기관에서는

블록체인 기술을 적용하고 있다.

- EEA(Enterprise Ethereum Alliance)는 금융기관 협의체로, 2017년 2월

에 설립되었따. EEA의 목표는 블록체인을 적용하여 중개기관을 거치지

않고 환전하는 것이다[61].

- 기존 환전에서는 금융 이력 파악 문제로 시간과 비용이 소요되었으며,

블록체인 기술을 적용하면 이런 문제를 해결할 수 있다.

5.1.2 병렬처리로 인한 효율성 향상 사례

기존의 직렬 방식 절차를 블록체인 기술을 적용하여 병렬 방식으로 절차

를 변경함으로써 효율성이 향상된다.

(1) 자전거 도난 사고 대응[62]

o 네덜란드 자동차 등록청 ‘RDW’는 IBM과 협의하여 블록체인을 활용한

자전거 도난 시스템을 구축하였다. RDW는 블록체인의 적용으로 도난

사고 신고가 관련 기관에게 동시에 전달하는 시스템을 구축했다.

- 기존 도난 신고 방식을 개선하기 위해 블록체인을 적용해서 신고가 한

번에 이루어지도록 하였으며, 피해자는 한 번의 신고만으로 관련 기관

에 블록체인 시스템을 거쳐 신고 내용이 접수된다.

(2) 토지 대장 등록[63]

o 스웨덴은 토지 대장 등록 시스템에 블록체인을 적용하는 과제를 추진

하고, 2016년에 개발 가능성 테스트를 완료하였다. 스웨덴의 토지 대장

등록의 가장 큰 문제점은 시간이 너무 걸린다는 점이다(등록 기간: 최

소 3개월 소요)

- 이에 스웨덴 정부는 블록체인 기술을 적용해서 관련 기관이 동시에 토

지 등록 관련 업무를 처리하게 할 예정이다. 블록체인은 병렬처리가 가

능하기 때문에, 진행해야 할 프로세스의 시간을 많이 줄일 수 있다.

Page 61: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 58 -

(3) 식품이력관리[64]

o 2016년 월마트는 중국 칭화대학교, IBM과 함께 블록체인 추적을 통한

음식 이력 시스템을 개발했다.

- 중국은 돼지고기 유통 부분에서 조작이 많이 발생하여 중국 소비자들

이 돼지고기 구매를 꺼리는 상황이었다.

- 월마트는 블록체인을 적용해서 식품 이력의 신속한 파악 및 조작을 방

지하였다.

- 월마트의 블록체인 기반 식품 이력 관리 시스템은 이력 조회 시간이

2.6초밖에 걸리지 않는다. 또한 블록체인 특성상 높은 무결성을 제공하

기 때문에 조작의 위험도 없다.

Page 62: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 59 -

제 6 장 결론

o 블록체인 품질 기술 조사보고서에서는 국내외 블록체인 품질 관련 연

구와 기술 자료를 조사하고 분석하였다.

o 블록체인 품질 조사에 앞서 국내외 소프트웨어 품질 기술 현황에 대해

조사하였다.

o 블록체인 소프트웨어 품질 연구에서는 국내외 블록체인 품질 연구 및

기술을 조사하였다. 블록체인 소프트웨어 품질에 대한 기술 조사 결과,

국내 및 국외의 경우 아직까지 연구가 미비한 실정이다. 현재 블록체인

의 품질에 대한 중요성은 증가되고 있는 상태이다.

- 하지만 각국의 정부, 민간 기업 등에서 표준화 및 블록체인 품질 모델

을 통한 측정 방법, 보안 관점에서의 품질 문제, 블록체인 지향 소프트

웨어 공학(BOSE), 블록체인 소프트웨어 개발에서의 테스트 방법 등을

주제로 한 연구들이 진행되고 있다.(초기 단계)

o 표준화는 국외 표준화 동향 및 국내 표준화 동향을 조사하였다. 국외

동향은 ISO/TC 307, ITU-T, W3C의 경우를 조사하였으며, 국내는 정부

정책 및 TTA의 표준화 연구를 참고하였다.

- 표준화 연구도 이제 시작단계이며, 앞으로 연구가 많이 필요할 것이다.

o 마지막으로 블록체인 기술 적용을 통한 품질 개선 사례를 조사하였다.

- 블록체인의 특성으로 인해 많은 분야에서 품질을 개선하기 위해 블록체

인 기술을 적용한 사례가 증가하고 있다. 본 보고서에서는 블록체인 적

용을 통한 효용성 향상 사례를 조사하였다.

- 블록체인 기술은 거래비용 감소와 데이터 위변조 방지 특성으로 인해

다양한 산업과 결합하여 효율성을 높이고 새로운 경제적 가치 창출이

가능하다. 실제로 금융, 의료, 공공, 물류, 식품, 에너지 등등의 많은 분

야에 적용되고 있었으며, 이를 통해 기존 시스템의 품질을 향상시킬 수

있었다.

- 향후에는 기존 방식을 뛰어넘는 성능 개선 및 다양한 혁신사례 창출이

기대되며, 블록체인 소프트웨어의 품질 관련해서 많은 연구가 진행될 것

이다.

Page 63: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 60 -

[참 고 문 헌]

[1] “세계 SW 시장의 위상”, SPRi (2017), http://spri.kr/post/22265

[2] 정보통신산업진흥원, “4차 산업혁명 시대의 열쇠, SW품질”, 이슈리포트

2017-제1호, 2017.

[3] 방송통신위원회, “방송통신 중소벤처 패자부활 환경조성 방안 연구”, 방송

통신정책연구 12-진흥-007 연구보고서, 2012

[4] 정보통신산업진흥원, “SW 공학백서”, 2017

[5] 눈비소프트, http://www.noonbesoft.com/

[6] 정보통신산업진흥원 SW공학센터, “SW개발 품질관리 메뉴얼(Sw Visualization)”,

2013

[7] 홍익대학교 소프트웨어공학연구실, http://selab.hongik.ac.kr

[8] Michele Lanza, Stephane Ducasse, “CodeCrawler – An Extensible and

Language Independent 2D and 3D Software Visualization Tool”, in

Tools for Software Maintenance and Reengineering. Franco Angeli,

2005, pp.74-94.

[9] Architecture Explorer, http://xplrarc.massey.ac.nz/

[10] Class Visualizer, http://class-visualizer.net/

[11] Code_Swarm, http://vis.cs.ucdavis.edu/~ogawa/codeswarm/

[12] https://www.cse.buffalo.edu//jive/

[13] X-Ray, http://xray.inf.usi.ch/xray.php

[14] 소프트웨어정책연구소, “2015 소프트웨어 산업 연간보고서”, 2016

[15] Worldwide Software Quality Analysis and Measurement Market Shares,

2015: Coordinating Quality with Security via Code Analytics, 2016. 12, IDC

[16] 정보통신산업진흥원 SW공학센터, http://www.sw-eng.kr

[17] 유석문, 이세현, 이상범, 김은하, 나종채, “NHN은 이렇게 한다 소프트웨

어 품질관리”, 위키북스, 2010

[18] 김정보, 정진영, 김정인, “중소규모 SW개발 프로젝트를 위한 시각화 기반

의 Tool-Chain 품질관리 방법 제안”, Journal of Korea Multimedia

Society, Vol.18, No. 4, 2015

[19] 김정보, 정진영, 김정인, “중소규모 SW개발 프로젝트를 위한 시각화 기반

의 Tool-Chain 품질관리 방법 제안”, Journal of Korea Multimedia

Society, Vol.18, No. 4, 2015

[20] IBM Rational Software, http://www-01.ibm.com/software/kr/ration-

al/index.html

Page 64: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 61 -

[21] J. Whittaker, J. Arbon, and J. Carollo, How Google Tests Software,

Acorn, Uiwang, 2012.

[22] 성신여자대학교, “블록체인기술 금융분야 도입방안을 위한 연구”, 금융위

원회 연구용역 보고서, 2016.06

[23] "블록체인 기술 및 시장 동향 보고서", 한연구성과실용화진흥원, S&T

Market Report, Vol 47, 2017.4

[24] 김진화, “비트코인과 블럭체인(분산장부 기술)이 바꿀 인터넷의 미래”,

SW지식채널 칼럼 18호, 2015.

[25] "블록체인 기술 발전전략", 과학기술정보통신부, 2018.6

[26] Gartner, “Global 블록체인 시장 예측”, 2017

[27] ITU-T Y.BaaS-reqts “Cloud computing – functional requirements for

blockchain as a service. 2018.04

[28] “KT, 국내 기업 최초 클라우드 기반 블록체인 플랫폼 개발”, 2019, 01,

https://blog.kt.com/1271

[29] “KT, 클라우드 기반 블록체인 플랫폼 출시”, 2019.04,

https://www.zdnet.co.kr/view/?no=20190402115936

[30] 김철진, “블록체인 기반의 스마트 컨트랙트 정적/동적 설계 기법”,

Journal of the Korea Academia-Industrial cooperation Society, Vol. 19,

No. 6, pp. 110-119, 2018

[31] 와이즈스톤 ICT시험인증연구소, http://tecel.kr/research/block-chain

[32] 박성준, “블록체인패러다임과 핀테크 보안” TTA Journal, Vol.172,

pp.58-64, 2017.07

[33] 고경찬, 이채현, 홍원기, "이더리움 컨트랙트 모니터링 및 분석시스템",

KNOM Workshop 2018, Seoul, Korea, Nov. 30, 2018, pp. 4-5.

[34] 고경찬, 정태열, 유재형, 홍원기, "블록체인 네트워크 모니터링 및 분석시

스템", KNOM Conference 2018, Jeju, Korea, May 10-11, 2018, pp. 19-20.

[35] 일본 경제산업성, “블록체인 기술을 활용한 시스템의 평가 기준 정비 등

의 조사”, 2017.03

[36] 금융보안원, “일본 경제산업성의 블록체인 기반 시스템 평가 기준 소개

및 시사점”, 보안연구부-2017-016.

[37] Xiwei Xu, Cesare Pautasso, Liming Zhu, Vincent Gramoli, Alexander

Ponomarev, An Binh Tran, and Shiping Chen. 2016. The blockchain as

a software connector. In Software Architecture (WICSA), 2016 13th

Working IEEE/IFIP Conference on. IEEE, 182–191.

Page 65: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 62 -

[38] Xiwei Xu, IngoWeber, Mark Staples, Liming Zhu, Jan Bosch, Len Bass,

Cesare Pautasso, and Paul Rimba. 2017. A Taxonomy of Blockchain-Based

Systems for Architecture Design. In Software Architecture (ICSA), 2017

IEEE International Conference on. IEEE, 243–252.

[39] I. Gorton, J. Klein, and A. Nurgaliev. Architecture knowledge for

evaluating scalable databases. In WICSA, Montréal, Canada, 2015

[40] ] N. R. Mehta, N. Medvidovic, and S. Phadke. Towards a taxonomy of

software connectors. In ICSE, 2000.

[41] Porru, Simone, et al. "Blockchain-oriented software engineering:

challenges and new directions." 2017 IEEE/ACM 39th International

Conference on Software Engineering Companion (ICSE-C). IEEE, 2017.

[42] Porru, Simone, et al. "Blockchain-oriented software engineering:

challenges and new directions." 2017 IEEE/ACM 39th International

Conference on Software Engineering Companion (ICSE-C). IEEE, 2017.

[43] Ashray Kakadiya, “Block-chain Oriented Software Testing Approach”,

International Research Journal of Engineering and Technology, Vol. 04,

Issue. 12, 2017.12.

[44] IBM, “블록체인 기반 프로젝트 시작하기 전, 알아야 할 사항들”, IDG

Summary, 2018.08

[45] 이원석, 최영환, 이강찬, “블록체인 국내외 표준화 동향”, TTA Journal,

Vol. 172, pp. 28-32, 2017.07

[46] Hideyuki Iwata, Takashi Tominaga, Takeshi Morikawa, “Trends in

Standardization of Blockchain Technology by ISO/TC 307”, NTT

Technical Review, Vol. 16, No. 5, May 2018

[47] 한국정보통신기술협회, “ICT 표준화 전략맵 Ver. 2019 종합 보고서”, 2018.10

[48] 박예슬, 이영환, “ISO/TC 307(블록체인 및 분산원장기술) 제1차 국제표준화

회의, 국제표준화회의참가보고서”, TTA Journal Vol.171, pp. 78-81, 2017.05

[49] W3C Blockchain CG, https://www.w3.org/community/blockchain

[50] Chen, Si, et al. "A blockchain-based supply chain quality management

framework." 2017 IEEE 14th International Conference on e-Business

Engineering (ICEBE). IEEE, 2017.

[51] Lucena, Percival, et al. "A case study for grain quality assurance

tracking based on a Blockchain business network." arXiv preprint

arXiv:1803.07877 (2018).

Page 66: 블록체인품질기술조사보고서 블록체인의 취약점 분석 및 개선을 …selab.hongik.ac.kr/down/project_c/block1.pdf및 최근 주목받고 있는 클라우드 컴퓨팅

- 63 -

[52] Benchoufi, Mehdi, and Philippe Ravaud. "Blockchain technology for

improving clinical research quality." Trials 18.1 (2017): 335.

[53] Zhang, Peng, et al. "Metrics for assessing blockchain-based healthcare

decentralized apps." 2017 IEEE 19th International Conference on

e-Health Networking, Applications and Services (Healthcom). IEEE, 2017.

[54] Angraal, Suveen, Harlan M. Krumholz, and Wade L. Schulz.

"Blockchain technology: applications in health care." Circulation:

Cardiovascular quality and outcomes 10.9 (2017): e003800.

[55] Oh, Seoyoung, and Changhoon Lee. "Block chain application

technology to improve reliability of real estate market." Journal of

Society for e-Business Studies 22.1 (2017).

[56] 오서영, and 이창훈. "부동산 시장의 신뢰성 향상을 위한 블록체인 응용

기술." 한국전자거래학회지 22.1 (2017): 51-64.

[57] 유성민, “블록체인을 활용한 효율성 향상 적용 사례”, 정보통신기술센터

주간기술동향, pp.15~26, 2018.02

[58] 박찬국, and 김양수. "우리나라 P2P 전력거래 가능성 연구." 에너지경제연

구원 수시연구보고서 (2016): 1-85.

[59] BlcokchainNewsm, “Transactive Grid: Blockchain Technology Powers

Microgrid in Brooklyn” 2016.07.

[60] 박서기, “블록체인 기술, 디지털 콘텐츠 유통의 신기원 열까”, Special

Report, Vol. 3, pp.52-55, 2017.11

[61] Marley Gray, “Enterprise Ethereum Alliance”,

https://azure.microsoft.com/ko-kr/blog/eealliance/

[62] 유성민, “블록체인으로 개방형 전자정부 완성...”, 한국인터넷진흥원,

Power Review(8), pp.41-50, 2017.08

[63] Quartz, “Sweden’s blockchain-powered land registry is inching toward

reality”, 2017.04

[64] Ross Mauri, “Blockchain for fraud prevention: Industry use cases”,

IBM’s Blockchain in Finance Service, 2017.06