본문 바로가기

Web3

블록체인 서비스기획 7주차 - 1일 수업 노트

강사소개

김미경 정보관리기술사, 정보시스템 수석감리원, 개인정보영향평가원

-블록체인 부문 평가,심의,자문 위원 및 멘토링

► 비즈니스모델, 제안서 작성 등 에 대한 강의 내용 담당 : 블록체인/보안/프로젝트관련지식

► 7주차: 블록체인 기반 서비스 구축방법, 8주차: 제안서 작성 전략

 

프로젝트 방법론: PMP 자격증, 프로젝트 리딩을 하기 위한 방법론/지식이 담긴 PMbook 에서 용어 설명

제안서를 작성할 때는 회사마다 작성해 놓은 프로젝트 방법론이 정해져 있는 경우가 많음

> copy&paste보다는 실제적으로는 꼼꼼하게 들어가야함!

 

목표: 블록체인 사업에 제안을 해서 수주하는 것! 

► 목표로 하는 제안하는 분야: 공공에서 지원하는 프로젝트 형태(KISA, NIPA, NIA 등등)

- 금융아이템보다는 블록체인 적용의 효과가 극대화 되는 사업으로 대국민 만족도가 높은 사업을 원함

- e.g. 주민등록증 DID, 모바일 면허증, 복지 중복 수급 방지 > 아이템이 이미 있고 이것의 구축방안들을 설명해서 사업을 가져옴

(사업을 잘 이해하고, 블록체인 적용을 극대화 하기 위한 방안을 도출하여 해당되는 기간안에 구축할 수 있다는 전략을 보여줘야함)

- 민간사업은 아이디어의 참신성, 블록체인을 어디에 적용할만한 사업인지 많이 봄.

- 돈을 주면 구축할 능력이 되는지 판단

- 기관들이 평가하는 게 아니라 pool에 들어와있는 전문가 인력들이 평가

- 여러분의 사업에 대해서 명확하게 설명, 국가시책에 반하지 않는 아이템/ 반하지 않는 사업모델을 적용

👉🏻 수업 중에 제안서를 작성하기 위한 비즈니스모델인지 공공에 맞는 모델인지 고민해보기!

👉🏻 블록체인이 기획을 따로 배우는 이유? "참여자"들이 너무 많음!
블록체인은 노드를 구성하는 구성자들이 모두 참여자(회사,기관,공공기관)로 들어오게 됨 👉🏻 프로젝트 진행의 어려움:
ICT 지식과 비즈니스 도메인 이해와 연계, 방대한 지식의 Spectrum이 필요함.

👉🏻 참여하는 기관마다 블록체인을 어떻게 연계할건지, 네트워크를 열어줄건지를 모두 생각해야함...!

👉🏻 업무조율하는 게 대부분. 참여기관들과 합의하는 내용이 많음... 관련 업체들 만나서 아이템.. 제안서작성..입찰! 소통이 사업의 절반

👉🏻 개발자들과도 기획자가 먼저 소통하고 개발가능성 타진필요

► 블록체인에서의 비즈니스 모델 : 왜 블록체인이어야만 하나?! 블록체인만이 해결할 수 있는 비즈니스를 찾아라!

► 너희만의 "차별화"포인트가 뭐니? ► 효과를 극대화할 수 있는 포인트!

► 여러 공공기관들에게 블록체인 적용 할만한 프로젝트 아이템 공모

► 왜 블록체인을 붙여아 하는가가 빠진 경우가 많음

► 해당논리를 만들 수 있는 프로젝트에 들어가는 게 좋음

► 기존의 프로젝트에서 제공하지 못했던 시스템을 제공할 수 있는 서비스를 기획해야함.

► 오라클(DB)를 사고 싶어서 거기에 맞는 시스템 구축하기?

► 명확하게 구축하고 싶은 비즈니스모델을 만든다음 DBMS로 할건 하고 블록체인으로 해야만 하는 것을 도출해야함!

(블록체인 만으로는 서비스를 하기 어려움. 실시간서비스 등은 어려움. 블록체인이 메인이 아니라 블록체인으로 효과가 극대화되는 서비스!)

이 서비스가 블록체인을 어디에 적용할 수 있을지를 고민해야함. 블록체인에 맞는 분야를 찾아야하며 대국민이 체감할 수 있는 분야.

📌 Remind! 블록체인

► 블록은 임의의 시간동안 ('일정시간'동안) 발생한 트랜잭션들의 묶음!

(비트코인 10분, 이더리움 12~15초, 하이퍼렛저페브릭 2초-옵션에 따라 설정 변경가능)

► 트랜잭션 = 요청 건수 1개를 모두 트랜잭션이라고 함.

► 새로운 블록이 나오면 앞의 블록과 링크를 걸어준다.

► 이전블록의 해시값을 생성해서 만든 메시지 다이제스트(=해시값)을 새로운 블록에 등록

► 이런식으로 연결이 서로 되어있음.

► 블록안에 있는 데이터들은 시계열적으로 정렬되어 있는 데이터들이다!

► 블록을 발견? → 생성은 한 노드에서 하고 나머지 노드들은 전파-발견 받는 것이기 때문

 

► 블록체인 = 분산화 되어 있는 P2P 네트워크

→ 서버가 없고 개개인의 PC가 인터넷에 연결되어 각자 연결되어 있을 수 있는 기술

👉🏻 중앙에 통제하는 사람이 없음. 

► 모든 거래 내용이 기록되고 검증, 공개되는 장부

 

Q. 여러분이 생각하시는 블록체인의 목적?

비용? 탈중앙화? 신뢰?

👉🏻 서로 신뢰할 수 없는 환경에서 사람들이 중립적이고 중앙화된 인증기관 없이 신뢰를 보장하는 기술

"신뢰를 만드는 기계(machine)"

 

► 이 거래가 위변조가 되지 않았다는 걸 어떻게 보장할 것인가?

► 데이터의 무결성이 보장되는가?

► 봐야하는 사람들끼리만 봐야한다?

블록체인에서의 가치(value),자산(Asset)은 가상화폐를 의미하는 것이 아님! 👉🏻 가치가 있는 '무엇'이기만 하면 됨!

► PKI(Public key infrastructure): 공개키 기반 인프라 스트럭쳐! - 공인 인증서 발급받는 기술

► 옛날에는 데이터를 암호화 시켜서 보내려고하면 때마다 암호화키를 하나씩 가지고 있다가 교환해야함.

A와 B사이의 암호화된키 vs A와 C사이의 암호화된 키를 공유해야했음. 👉🏻 어떻게 하면 하나의 키만 가지고도 가능할까?

👉🏻 공개키 + 개인키 한쌍을 만들어서 줌. 개인키로 암호화한거는 공개키로, 공개키로 암호화 한거는 개인키로 복구가능

👉🏻 한쌍의 페어!가 이루어지게 만듬

👉🏻 공개키 = 전자지갑의 주소, 개인키 = 니모닉 키 를 기반한 전자지갑을 생성!

► 보낸다고 개인키로 전자서명(인감도장 찍는 것처럼)을 함.

► 블록생성 및 마이닝 시간이 걸리므로 "실시간"서비스는 제공하기 어려움

 

✅ 블록체인에서 말하는 보안이 좋다는 말은 무엇은 어떤 의미인가?

👉🏻 정보 보안에서 보는 보안은 3가지가 있다.

► 기밀성: 권한이 있는 사람만 데이터를 복호화해서 볼 수 있는 성질

► 무결성: 권한이 있는 사람만 수정할 수 있는 성질

► 가용성: 어떠한 상황이더라도 접근할 수 있게끔 시스템이 적절히 제공되는 것을 의미(여러개의 서버운영)

 

👉🏻 블록체인은 무결성을 1차적으로 지원! : 분산저장을 시켜서 데이터 위변조가 불가능

👉🏻 블록체인 네트워크에 여러개의 노드가 있어 일부가 닫아도 서비스 이용에 문제가 없는 가용성을 제공

 

📌 Ddos? 정상적인 요청을 서버에 계속 과도하게 보내서 서비스가 정상적으로 가동하지 못하게 하는 것

👉🏻 동접자 처리를 해줄 수 없음. 가용성을 저해하는 공격!

👉🏻 블록체인은 많은 노드들이 함께 서버를 운영하기 때문에 일부가 문을 닫아도 가용성이 유지됨

 

👉🏻 해시는 암호화를 했다가 복화를 못하는 일방향성의 암호화 방식

👉🏻 체인에 해시가 걸려있어서 위변조가 안되는 것 + 블록체인으로 묶여있음 + KPI암호화된 트랜잭션

👉🏻 각각의 트랜잭션을 해시로 만들고 그 해시들을 모아서 다시 해시로 만드는 머클트리 구조로 만들어 이 값들을 기반으로 블록생성

👉🏻 이 앞의 해시의 집합을 그 다음블록에 넣어서 묶어버림

👉🏻 각 트랜잭션마다 각자의 개인키로 암호화도 걸려있음...

► 무결성을 보장할 수 있게 됨! 👉🏻 roll back이 안됨. 비가역적임

► 기밀성은 모든 블록체인이 제공하는 것은 아님. 기밀성을 제공해주는 블록체인도 있고 아닌 블록체인도 있음.

✅ 양자컴퓨터/슈퍼컴퓨터 ?

👉🏻 PKI의 패스워드를 슈퍼컴퓨터성능으로 1년3개월정도면 찾을 수 있다고함. (그래서 공인인증서 인증유효기간 1년이군..)

👉🏻 양자컴퓨터는 몇시간안에 뚫린다고함.

👉🏻 이에 대응하는 기술들(양자내성암호화기술)을 연구 중임.

👉🏻 4가지 정도로 압축되어있음. 10년안에 표준화예정.

 

► 1bit라도 바뀌면 해쉬값이 바뀌기 때문에 원문이 변경되었다는 걸 알 수 있음

► 패스워드가 같으면 해쉬값도 같지 않나요? 👉🏻 원문이 계속 다를 수 있도록 임의의 문자열을 붙여서 나중에 확인할 수 있게함.(sort)

► 해시값(결과) = 메시지 다이제스트

 

► 개인키(전자지갑주소) + 공개키(비공개키) = KPI = 전지지갑 생성시 만들어지는 한쌍의 키

► 공식적으로 사용할 수 있는 인터넷 도장

► Public blockchain vs Private blockchain 👉🏻 참여를 누가 할 수 있는가에 따라 다름

- Public: 네트워크참여에 제한이 없으며 원장획득, 마이닝이 가능함.
   사전에 이 네트워크의 노드가 몇개 있고, 구동되는지도 알기어렵고 동시다발적인 서비스를 제공하려면
    파이널리티가 확실하지 않은 비트코인으로는 어려움
   이런 플랫폼의 특성들에 대해서 알고 있어야 서비스를 기획할 수 있다.

- Private: 노드가 하나가 아니라 운영하는 회사가 하나라는 뜻임

   참여자가 운영비용을 분담

   목적이 데이터들을 블록체인의 사상을 사용하고싶으나 속도,보안문제 때문에 사용하게 됨

   퍼블릭과의 차이점: 데이터를 한정적인 사람들만 볼 수 있게한다. 

   처리속도가 굉장히 빨라짐. (그러나 타 legacy시스템에 비해서는 느림)

   POW합의 알고리즘을 사용할 필요가 없으므로 합의 알고리즘이 여러가지 가능

- 컨소시엄 네트워크: 검증자만이 체인을 볼 수 있거나 허가된 개인,모두가 볼 수 있음. 
   합의를 받고 참여를 할 수가 있음. 

► IS 국제표준에도 나와있는 블록체인 유형 👉🏻 프라이빗과 컨소시엄은 블록체인이 아니라는 논쟁도 있었으나...

 

► 거버넌스를 바꾸는 것이 퍼블릭은 매우 힘들고, 반공개.비공개형은 상대적으로 쉬움

► 블록체인으로 엔터프라이즈? = 매우 비싸고 고사양의 네트워크를 구축해야함 = 서비스에 투자할만한 가치비용인가? trade off필요!

구축형태는 프라이빗 같지만 운영형태는 컨소시엄일때 공공에서 사용이 가능하다.

 

► P2P로 peer들끼리 트랜잭션이 이상이 없다는 걸 어떻게 검증할 것인가?

POW/POS뿐 아니라 다른 방법도 너무 많음...!

► 블록체인 합의알고리즘을 만들었다는 회사도 너무 많음.. 수학적 검증 안된것도 많음

► 표준에 정해진 게 없다. POW가 과연 맞는가..?? 상황마다 다름.

► 알고리즘 자체가 문제가 되는 방식도 있으므로 장단점,원리를 알고 플랫폼 선정에 반영해야함

► 매우 매우 느리다! - 서비스에 붙이기에는 적합하지 않음

► 이더리움의 합의 알고리즘이 POW 에서 POS로 변경 : POW문제를 해결하기 위한 문제

👉🏻 POW에서는 지분이 없어도 네트워크에 참여할 수 있으므로 악의적 공격이 가능

👉🏻 해당 회사의 지분을 가지고 있으면 악한 행위를 하지 않을 것이라는 컨셉으로 한 합의 알고리즘

👉🏻 지분을 많이 가지고 있는 사람에게 블록을 생성할 수 있는 확률을 높여주는 방법

👉🏻 지분의 상위 몇%까지 블록생성을 할 수 있는 권한을 주는가에 따라서 조금씩 다름

👉🏻 문제: 이게 과연 탈중앙화인가? 현재는 합의점이라고 보면 됨.

► 속도를 더 높이기 위해서 블록체인 플랫폼마다 '대표자'를 뽑아서 대표자가 대신 블록을 생성할 수 있도록 위임!

► 각 대표자들이 블록을 생성해서 나오는 보상을 분배를 해줌.

► 신원증명이 된 사람만 블록을 생성할 수 있는 권한을 제공

 

► 한명이 블록을 만들고 정보를 공유한다음 이상이 없으면 네트워크에 퍼트림

► 클라이언트가 트랜잭션을 요청하면 리더가 선정되어 블록을 생성하여 노드들은 확인만하고 commit함 ► 하이퍼렛저페브릭에서 사용

✅ 정보보안, 네트워크 👉🏻 오버레이 네트워크, 하이퍼렛저패브릭...

정보보안 개론에 대해서 공부하기! ►기획자로써의 권위를 세우려면 공부하기..

 

 

👉🏻 계약이 아니라 프로그램! ► 개발자가 만드는 스마트 컨트랙트! 개발자는 로봇이다...

👉🏻 그들이 원하는 것 =/= 고객이 원하는 것 다를수 있으므로 자세하게 기획할 것

👉🏻 블록체인 플랫폼마다 형태는 다르지만

블록체인마다 걸려있는 파일, 트랜잭션이 발생할때마다 검증할 때마다 다같이 실행시켜보는 프로그램.

👉🏻 참여자가 많을 수록 수정해서 재배포하기가 어려움. ► 사람이 만든 프로그램이므로 오류가 당연히 발생할 수 있음!

👉🏻 테스트가 완벽하게 끝났다? 라고 하기는 어려움. 

 

► Decentralized + Application

► 블록체인 상에서 앱이 배포된다기 보다는! 핸드폰 앱인데도 + back data base대신에 블록체인을 호출해서 서비스를 운영하는 앱

► 스마트 컨트랙트를 호출해서 만든 application.

► APP: 중앙집중화된 서버가 운영 / Dapp: backend에 블록체인 서버가 연결되어 있다.

► SCM(supply chain management)에서 많이 쓰임.
 e.g 협력업체에서 부품을 다 사와서 조립하고 현대자동차에서는 판매 - 부품공급,판매 supply chain management
이런 정보들을 블록체인 네트워크에 저장

 

► 월렛에서 공개키 + 개인키를 관리

► 개인키는 노출되면 안되기 때문에 안전하게 보관하는 방법을 제공해야함.

📌 디지털 월렛의 종류

► 단말이 물리적인 것 vs 아닌 것 에 따라 콜드월렛 vs 핫 월렛

► 개인키는 탈취되면 해당 지갑에 있는 가상자산에 대한 권한을 잃어버림...

► 클라우드월렛: 핸드폰이 다운되어 있다하더라도 정보를 주고 체계를 확인할 수 있는 클라우드 월렛 서비스

티켓, 가상화폐, NFT 등. 연극/뮤지컬 티켓부터 NFT로 발급/ 모바일 신분증 등 을 같은 등급으로 관리할 수 없으므로

보관하는 데이터 종류에 따라서 디지털 월렛이 가져야하는 보안 수준을 고려하여 지갑이 달라질 수 있음.