(이미지 출처 : https://www.bitdeal.net/)


블록체인 업계에 대해서 - 블록체인 전직 혹은 블록체인 대학원/국비학원/각종교육으로 고민중인 분들이
최근 많이 있는 것 같아서 대략 정리 해봅니다. 

먼저 

블록체인 업계가 앞으로 어떻게 될 지는 아무도 모릅니다.
다만 블록체인 관련한 업계는 최소 10년이상은 건재 할 거 같습니다. 
저는 "블록체인"이 탈중앙 디지털 자산의 기반으로 미래에 핵심적인 인프라로 남기를 희망합니다. 
(요 문장에서 만큼은 블록체인==이더리움을 말합니다) 

블록체인은 "스포츠" 와 같습니다. 즉 "스포츠" 전문가란 세상에 없습니다. 
블록체인에는 수 많은 한 우물을 파야 하는 분야가 있습니다. 그 한 우물을 파는 것에 대해서 우려가 됩니다.
현재 상황에선 물이 안나올 가능성이 매우 크거든요. 

일단 요약 부터 하자면 (범) 블록체인 업계는 크게 아래와 같은 5가지로써 바라보고 있습니다.

0. 블록체인 코어 개발 (극소수TO) 
1. 대중들 대상 -  블록체인을 화폐(코인)로 보고 보관/교환/투자/투기 하는 것에 대해 집중합니다.

2. 엔터프라이즈(기업) 대상 - 블록체인을 신뢰성 있는 분산DB로써의 역할에 주목합니다.
3. 블록체인의 힘을 빌릴 수도 있고 아닐 수도 있는 응용분야들 (예: SSI 신원인증, 금융권에서 시도중인 STO)
4. 블록체인이라는 이름을 빌려서 (훔쳐서?) 블록체인 본질과 전혀 다른 일을 하는것에 확장합니다.

위의4번은 아래내용에는 없습니다. 좀 민감한 주제라...ㅎㅎ


자 이제 아래 부터는 블록체인을 공부한다라는 의미와 업계에 대해서 좀 더 디테일하게 설명을 좀 해 보겠습니다

블록체인을 공부한다? 


"블록체인"을 공부한다라는 의미를  "구조공학","아파트/건설", "부동산" 을 공부 한다로 대략 비교해보겠습니다. 

블록체인 컴퓨팅 시스템 자체를 공부한다..)
1. 아파트 건설에 필요한 구성 요소인 구조공학기술 그 자체를 깊이있게 공부하는 것을 원하는 가  
   -> 블록체인에서 모두 신뢰성 있게 동일한 데이터를 갖게 하기 위한 합의시스템을  공부한다. 
2. 아파트 건설에 필요한 다른 구성 요소인 전기배선기술에 집중하려는가  
   -> 블록체인에서 각 노드간에 서로를 탐색하고, 신뢰성 있게 서로 연결되는 방법을 공부한다. 
   -> 블록체인에서 암호/보안에 관련된 연구를 한다. 
3. 아파트를 짓는 기술 전반을 원하는 가  (건설사에 들어가려는가?) (이더리움  오픈소스 기여 및  ConsenSys, 클레이튼 등 )
   -> 각 블록체인 전체의 핵심 아키텍쳐를 공부한다. 이와중에 유니크한 체인을 발명해 본다.  (+사이드체인,서브체인등) 
4. 각 아파트 건설사들을 감사/유지/보수를 하기 위한 기반 기술에 집중 한다. 
    -> 각 블록체인의 노드들을 관리 하며, 네트워크 개선을 위한 투표에 참여한다. (DSRV등)

블록체인 시스템의 존재 의미를 공부한다.)
5. 건축이 인간에게 어떤 의미를 갖는지? 어떻게 활용되야 인간을 위하는 길이 되는지 철학적 탐색..
   -> 블록체인의 진정한 쓰임새, 회계시스템, 탈중앙 시스템의 의미와 로드맵에 대한 고민..(블록체인경제연구소)

블록체인을 이용하기 편하게 하기위한 솔루션을 공부한다..)
6. 아파트를 사고 파는 부동산업에 대해 공부하려는가? 부동산 앱을 만들고 싶은가?  
  -> 탈중앙에 의한 코인이지만, 사용하기 익숙한 중앙에 의해 통제되는 교환/거래/투자 서비스를 만든다. (빗썸, 업비트 등)
   -> 탈중앙 교환/거래/투자 서비스를 만든다 (UniSwap등) 
7. 아파트에 대한 소유권을 편하게 관리하기 위한 앱을 만들고 싶은가?
  -> 다양한 코인들을 관리/보관 할 수 있는 지갑을 만든다. (메타마스크,코인베이스지갑등) 
8. 건축을 아마추어가 하기 편하도록 도와주는 중간 도구들을 만들고 싶은가?
   -> 백엔드 개발자가 블록체인을 몰라도 기존 DB(JDBC Driver) 사용하듯이 테이블,인덱스,제약,CRUD,SQL,모니터링을 사용하여 블록체인상에 데이터를 관리하게 하기 위한 미들웨어를 만든다.(오퍼스엠) 
9. 아파트를 만들거나 사는 것은 어렵다. 그냥 빌트인 아파트를 저렴하게 제공해서 몸만 와서 월세로 살게 하자. 
   -> 블록체인을 설치하고 관리하는 것은 매우 귀찮은 일이다. 해당 부분을 클라우드에서 BaaS(BlockChain as a Service)로 서비스한다. (kaleido,Alchemy,람다256등

블록체인을 이용한 응용서비스를 공부한다..)
10. 아파트에 기반한  대출/적금 해주는 금융에 대해 공부하려는가?
   -> 블록체인 네트워크 위에서 스마트컨트랙트를 이용해 SWAP, ICO, Crowdsoursing, DeFi 시스템을 구축한다.(상당수 업체)

11. 아파트에 기반으로 ...... 을 하려는가? (NFT, DID, 메타버스, Web3, 민간SI등등)
   ->블록체인과 내부의 스마트컨트랙트를 이용해 NFT, DID, 메타버스, Web3, 민간/공공 SI시스템을 구축한다.(오픈씨등 상당수 업체) 

블록체인과 다른 기술을 융합 하기 위해 공부한다..)
12. 아파트와 병원/생태학을 융합 하길 원하는가?  (블록체인을 활용한 정부과제들)
13. 아파트와 인공지능을 융합 하길 원하는가?   (블록체인을 활용한 정부과제들)
14. 블록체인을 이용한 증권의 토큰화 (STO)
15. 블록체인을 이용한 자기 주권 신원 (SSI)


블록체인을 악용하여 한탕 하려는가?)
16. 다단계, 전세 사기 및 부동산 사기를 공부하려는가?
17. 아파트로 투기 하는 방법을 공부하려는가? 

기타)
18. 아파트를 사고 팔 때 법적 문제에 대해 공부하려는가? (변호사들) 
19. 부동산 언론? 부동산 유튜버?  등등 

위의 모든 것들이 블록체인업계와 링크되어 있습니다. 

그럼 학원은 무엇을 가르치는가?

학원의 교육과정은 위에서 9번을 하기 위함이며, 보통 아래와 같은 순서로 이루어 지는 거 같습니다.

1. 블록체인 플랫폼 하나를 선정하여 전반적인 이론들을 가르친다. (주로 이더리움)
2. 이더리움에 데이터를 넣고 빼는 것을 가르친다. 그 과정에서 이더리움의 내부언어(솔리디티)를 가르친다. with ERC21,ERC721
3. 자 이제 이더리움은 DB라고 생각하고, 해당 DB를 사용하기 위한 SDK(Web3j)를 가르친다.  |
4. 일반적인 웹프론트엔드, 웹백엔드를 가르친다. (Node.js, Spring, Html, CSS, Javascript, React 등)
5. 그 동안 배운 기술들을 가지고 솔루션을 개발해본다. 

결국 IT소프트웨어 생태계의 보편적 기술인 웹프론트엔드,백엔드가 핵심이며,
블록체인을 활용하기 위한 기본적인 기술을 양념으로 첨가 하게 됩니다.
이 기준으로 공부해야할 양은 웹프론트엔드, 웹백엔드가 압도적으로 많습니다.
결국 정해진 교육 개월수가 짧다면 모든게 겉핡기이라 어정쩡한 커리큘럼이 될 수 밖에 없습니다.
블록체인에 진심이라면 웹프론트엔드,벡엔드는 줄이고 솔리디티와 블록체인 서비스 환경에 대해서 많은 조사와 공부에 집중하는게 좋습니다. 이때 
블록체인에 대한 자기 확신이 필요 합니다.  블록체인에 대한 확신에 가득찬 사람의 이야기를 들으면 도움이 될 수 있습니다. 에르메스가 가치를 갖는 것과 포켓몬 카드가 가치를 갖는 것은 신봉자들이 있기 때문입니다. 블록체인도 그런 신봉자들이 많아 진 다면 가치를 갖게 되는 건 당연한거죠. 요즘 특히 NFT,메타버스,Web3 부분에서 그렇습니다. 

블록체인을 공부 할 것인가? 말 것인가?


1. 블록체인 그 자체를 개인적으로 공부하는 것은 매우 좋습니다. 훌륭한 분산시스템 + 컴파일러 + 보안 코드들이 오픈되어 있습니다. 하지만 역시 트레이드 오프입니다. 웹 백엔드, 프론트엔드만 해도 공부해야 할 것은 몇 만 페이지일 겁니다. 정해진 시간에 이걸 더 공부 할 수 있다고 생각한다면, 이 일을 더 잘하고 싶다면 블록체인 코어 공부하는 시간이 좀 아깝습니다. 여담인데 코테 수개월 공부 할 시간에 백엔드,프론트 공부를 하면 매우 많은 기반지식 및 실제 서비스 개발에 필요한 업무 지식을 얻을 수 있을 겁니다. 안타깝게도 블록체인  그 자체를 만드는 곳에 취업해서 그 자체를 개발 하는 일을 하게 될 가능성은 매우 가능성이 낮습니다.    

2. 블록체인을 신뢰성 있는 DB로 두고  웹프론트,백엔드를 만들고자 할 경우는 대략적인 이더리움 개념을 공부하면 됩니다. 사실 웹프런트엔드,백엔드에만 집중하는게 좋습니다. 블록체인은 블록체인 회사 입사하고 나서 필요한 부분을 공부해도 됩니다. 

3. 금융,인증등의 어떤 비지니스 로직을 해당 블록체인 내부언어로 블록체인에 넣는 것을 공부하고자 할 때는 그 부분에 대해서 집중적으로 공부해야합니다. 이것도 TO는 일반 벡엔드,프론트엔드 개발자에 비해 극히 적으며, 앞으로 더 많아질 거라 생각치도 않으며 딱히 개발자로서 메리트가 더 있는것도 아닙니다. 그리고 한방(돈)은 개발자와 무관합니다. ㅎㅎ  커리어에 대한 위험부담만 있을 수도 있습니다. 따라서 블록체인의 분산시스템 혹은 회계시스템등 활용에 관한 매력에 빠지신게 아니라면 그냥 하시던거 하는게 좋지 않을까 합니다. 이 분야는 애정이 있는자들의 놀이터가 되길 바랍니다.



아래는 제 블로그의 스폰서의 글입니다. 실제 강의 내용은 저의 의도와 상의 할 수 있습니다.


블록체인 업계와 개발, 이제 좀 감이 오시나요? 개발은 보면서 배우는 것이 아니라 직접 해봐야 하는거 아시죠? 그래서 이번에 패스트캠퍼스에서 지금 가장 핫한 블록체인 DApp 개발부터 클론코딩까지 싹 다 실습해볼 수 있는 무려 100시간 초격차 강의를 준비했다고 합니다!

블록체인 DApp 클론코딩만 배우는 것이 아니라 웹개발 기초부터 탄탄히 쌓을 수 있는 커리큘럼이라고 하네요.
1. 블록체인으로만 채운 100시간 커리큘럼
2. 한 번 구매하면 평생 소장 가능!
3. 웹개발 기초부터 탄탄히!
4. Solidity, Rust, NFT, P2E
5. DApp 개발과 클론코딩 실습
6. 40가지 기술스텍 습득
7. 질의응답 커뮤니티
8. 기술면접 기출문제집까지!

관심 있으신 분들은 패스트캠퍼스의 '한 번에 끝내는 블록체인 개발 A to Z' 강의를 통해 블록체인 개발자로 거듭나기 위한 인사이트를 얻고 실무에 활용할 수 있는 수준까지 나아가시면 좋을 것 같습니다!

▶ 지금 바로 강의 보러 가기 https://bit.ly/3xy040z

*본 포스팅은 패스트캠퍼스로부터 소정의 원고료를 지급받았으나, 작성자 본인의 경험을 토대로 주관적으로 작성한 게시물로 실제 강의 내용과는 상이할 수 있습니다.



 

 

1. 빠른 시간안에 온보딩을 할 수 있게 해준다. 
2. 모든 참여자가 전체 상황에 대한 높은 가시성을 갖게 된다.
3. AML & KYC 프로세스를 표준적으로 도입할 수 있다. 
4. 참여자들의 행위에 대한 투명성을 가져왔다.
5. 데이터 가용성을 높여 준다.
6. 대사,감사과정이 투명하다. (기능을 제공한다) 
7. 신뢰비용을 낮춰 준다. 
8. 제품의 유통과정과 제조사에 대한 출처에 대한 확인을 빠르게 할 수 있다. 
9. 내부토큰을 활용하여 안정적으로 금융 거래의 서브시스템으로 활용 할 수 있다. (추후 CDBC와의 연계 고려)
10. 외부 시스템 및 데이터와의 인터그레이션이 원할 할 수 있다. 
11. 특정 트랜잭션은 특정 조직(개인)들만 볼 수 있도록 조작 할 수 있다. 
12. 일정한 트랜잭션 성능을 보장한다. 
13. 미래에 블록체인 인프라가 더 일반적이 될 경우에 대한 대비 
14. RDB보다 높은 보안성을 가지고 있다. (불가역성,무결성 보유) 
15. RDB보다 다양한 기능을 제공 한다.
16. RDB보다 투명하다.
17. Identity 에 대해 매우 높은 관리를 할 수 있다.  (영지식증명,DID등 활용) 
18. 여러 조직에서 동일한(내장된)시스템만으로 위의 모든 것을 가질 수 있다. RDB만으로는 못하며, 굉장히 다양한 기술들을 RDB와 접목해야하는데, 그렇게 달성하기는 어렵다. 
19. 즉 보안이 강화된 분산 시스템을 쉽게 도입 할 수 있게 한다.
20. 조직간의 고버넌스 기능을 제공한다. 

블록체인 계층도 

 

 

블록체인을 구분하기 위해 위의 그림을 그려보았으며, 해당 그림에서 노란색 콘소시엄 체인 부분과 녹색의 일반DB의 차이점에 대해서 테이블로 세밀히 구분해 보았습니다.

분산장부 vs 분산DB 

 

 

 


이더리움의 스마트 컨트랙트 vs  하이퍼레저 패브릭의 체인코드 를 분석해보았다.

 

 

 

 

 

개인적으로 비트코인,이더리움만 블록체인 플랫폼이라 생각하지만, PBFT나 DPos를 사용한 체인들도 불록체인이라 말하는 사람들에 대해 틀렸다라고 말하지도 않는다. 네트워크 참여가 제한된 콘소시엄형 블록체인 (분산장부라고도 말하는)은 나름 "신뢰비용" 을 줄이는데 잘 사용 될 수 있는 자질을 가졌으므로 이것들 또한 블록체인이라고 불리는데 이제는 순수탈중앙주의자 빼고는 업계에서 합의를 한 분위기인거 같기도 하다. 당장의 호구지책도 중요하니까. 가끔 분산장부와 분산DB가 무슨 차이냐라고 묻는 사람이 있는데 이것도 큰 차이가 있는데, 첫째 악의의 노드(비잔틴)를 감안하냐, 둘째 불변이 필수적인 데이터만 저장되느냐, 마지막 세째가 바로 여기서 심플하게 이야기할 거버넌스 문제이다. 

최근 공공기관이라든지 여러 블록체인 SI사업들이 활발히 진행중인데, 여기서 사용 할 만한  플랫폼은 하이퍼레저패브릭이 거의 필수라고 나는 생각한다. 이유는 쿼롬이라든지, 기타 기업차원에서 만든 (패브릭기반이 아닌) 것들은 거버넌스 작동에 대한 철학이 없으며 지원 또한 거의 없다. 반면에 하이퍼레저 패브릭은 처음부터 이 거버넌스의 중요성에 집중하였다. 거버넌스 비용을 최소화 해야 콘소시엄 블록체인을 사용하는 유일한 이유인 "신뢰비용"을 줄일 수 있을 것이며, 거버넌스에 집중해야 새로운 비지니스 모델을 만들 수 있으며 기업들은 그에 따른 이득을 얻을 수 있는 것이다. 하이퍼레저 패브릭 콘소시엄 블록체인은 거버넌스를 유연하게 만들어주어 이것을 가능하게 해주며,(물론 참여자들의 노력기반하에)  이것의 중요성을 알고 지원에 집중하고 있다. 물론 거버넌스가 아예 없는 시스템도 만들 수 있겠지만 , 이 정도면 이제 블록체인이라는 말을 쓰면 안되는 단순 분산DB일 뿐 일 것이다. 

참고로 이더리움,비트코인 같은 퍼블릭체인에서의 거버넌스은 순수히 네트워크 프로토콜 상의 보상/조정 시스템에 의해서 돌아가며 모든것이 오픈되어있다. 따라서 좀 더 보안이 필요하며 세밀한 제어가 필요한 영역에서는 사용하기 힘들다.  

그럼 콘소시엄 블록체인에서 거버넌스란 무엇일까?

1. IT 거버넌스

이것은 IT인프라 종류,성능,보안,배포전략등에 관한 이슈를 네트워크 참여자들의 요구에 맞추어 구성,업데이트 해가야 하는 것을 말한다. IT SLA,OSS,BSS등에 대한 최적화 전략과 합의가 필요하다. 

2. 블록체인 네트워크 관리

IT거버넌스와 비슷한데, 네트워크 참여 및 비용에 관한 이슈에 집중되어 있다. 네트워크에 트랜잭션을 보낼 수 있는 사용자들을 참여/탈퇴/리소스제한에 대한 규칙을 지정하며, 네트워크 사용 및 스토리지 사용 비율에 따른 적절한 비용 분배 규칙도 지정해야 할것 이다.  

3. 비지니스 네트워크 거버넌스 

네트워크 공동체가 필요로한 사업모델을 수립하고 KYC절차,감사,보고등과 같은 네트워크에서 공통으로 공유하는 서비스 관리 및 법률/규제 준수 보장 전략을 수립해야한다. 콘소시엄 블록체인은 참여자들의 다양한 의미의 수익을 위해서, 공동 창조를 가능하게 해주는 플랫폼이며, 이를 위해서는 각 노드들의 적극적인 참여가 반드시 필요하다고 볼 수 있다. 

이런 거버넌스를 이루기 위한 네트워크 모형 중 아래는 설립자 주도형 네트워크 인데 

 

 

 

 

현재의 많은 프로젝트들이 이 수준에 머무르고 있다. 턴키를 받아서 "을" 회사에서 주도적으로 만들어 상납하는 구조이다. 네트워크의 참여자들 간의 거버넌스는 전무하며, POC 개념에 머무르고 있는데 좀 더 성숙함에 따라서 거버넌스의 중요성이 떠오를 것이며, 이것을 편하게 만들어주는 UI/UX도 절실할 것이다. 이런 적극적인 거버넌스 참여 없이는 프로젝트는 단발성에 그칠 수 밖에 없으며, 진정한 수익을 거두기도 힘들 것이다. 


참고)
Hands-On Blockchain with Hyperledger:

 

기사) https://www.samsungsds.com/global/ko/about/news/nexledger-accelerator.html

 

삼성SDS, 블록체인 가속 기술 발표

삼성SDS(대표 홍원표)는 14일 미국 샌프란시스코에서 열리고 있는 IBM의 연례 기술 컨퍼런스인 ‘IBM Think 2019’에서 블록체인 가속 기술을 발표한다.

www.samsungsds.com

Github) https://github.com/nexledger/accelerator


핵심아이디어는 개별 트랜잭션들을 묶어서 처리하는 것인데, 이로 인해서 개별 트랜잭션 부하를 배치로 묶어서 하나로 줄일 수 있게 되면서 네트워킹 부하 뿐 만 아니라 서명확인에 따른 부하까지도 줄일 수 있습니다. 하지만 

                               ( 그림1: 화물차에 사과를 1개만 보내는 농부를 가정하고 만든 accelerator) 

러프하게 보면 Nexledger의 acclerator의 경우는 클라이언트가 하나로 보낸다는 가정하에, (그림에서 보면 농부는 화물차에 사과 1개만 보낸다고 가정하는데 어떤 농부가 그럴까?)  그걸 대신 모아서 체인코드 함수를 for문을 돌면서 처리해 주는 방식입니다. 

근데 생각해보면 체인코드를 배열로 받으면 그러한 함수콜에 의한 부하도 줄일 수 있게 되는데 굳이 그런식으로 사용 할 필요가 없는 것 입니다. 즉 클라이언트 코드와 체인코드에서 제대로 개발하면 발생하지 않을 수 있는 부하인데 굳이 Nexledger의 acclerator를 쓸 필요가 있을 지 고민해 봐야 하는 문제. 

문제점으로 판단되는 5가지 이슈를 정리 해 봤습니다. 

  • Who deliver paramater one by one like that
  • SDS focused on only stupid situation. Concept of SDS is redundant in normal case
  • Each DApp may need a different delivery strategy for efficiency. SDS couldn’t adapt to all
  • There will be security concerns. In case that all data have to go through SDS and sign by SDS instead of Real owner.
  • To Network, Each Tx is just from one Owner (It's SDS)


이번 포스트에서는 하이퍼레저 패브릭에 관련된 기술중에 가장 알려지지 않은 주제인 Recovery에 대해서 다룬다. (그냥 링크로 무임승차지만;;;; 쏘오뤼~) 오랜시간 동안 네트워크가 작동하다보면 분산 노드들 간에 일관성에 관하여 문제가 생길 수 밖에 없기 때문에, (디스크 오류등 각종 예기치 못한 상황으로) 이를 회복시켜주는 기술이 패브릭에도 필요한데..

보통 일관성이 깨지는 곳은 스토리지에 무엇인가를 쓸 때이고 보통 하이퍼레저 패브릭에서는 committer 노드에서 일어난다. 좀 더 자세히 설명해 보면 orderer로 부터 받아온 블록을 가지고 해당 블록안에 있는 트랜잭션들을 VSCC, MVCC등의 다양한 방식으로 검증 한후에, 이상이 없으면, A) 블록체인을 업데이트하고 B) 상태DB도 업데이트 하고  C) 히스토리DB도 업데이트 한다. 이렇게 모두 잘 마무리 되면 모든 노드의 저장 상태는 동일하게 되는데 ( 물론 채널과 Private Data에 따라서 달라지는 부분 제외하고)

이때, VSCC, MVCC 중에 문제가 생겼을 경우에는 저장 과정에 돌입하지 않고 그냥 리턴해 버리기 때문에, 특별한 Recovery 과정이 필요 없지만, (그냥 가쉽을 통해 블록을 가져와서 다시 VSCC 부터 시작하면 되니까), A) 블록체인을 업데이트하고 B) 상태DB를 업데이트 하는 도중에 문제가 생겼을 경우에는 특별한 조치를 취해야 한다. 또한 과연 내가 가지고 있는 상태DB가 옳은것인지 체크하는 것과 최신 상태DB의 옳음을 합의 하는 방식 그리고 어떤 체크포인트까지 상태DB가 옳은 것으로 판명됬을 경우, 그 때 까지의 블록체인을 삭제하여 공간 활용성을 높히는 것에 대해서 알아야 할 필요가 있다. 

아래 링크는 그런 내용에 관해 좀 더 친절히 설명하며, 고민도 공유하고 있으니, 관심 있는 분들은 참고 하길 바란다.  

 

Checkpointing for Efficient Blockchain Platform -- Hyperledger Fabric

A blog about blockchain and various platforms such as Hyperledger Fabric, Quorum, Ethereum, and Corda.

www.bchainledger.com

http://www.bchainledger.com/2018/05/failure-and-recovery-of-statedb-in.html

 

Failure and Recovery of StateDB in Hyperledger Fabric v1.1

A blog about blockchain and various platforms such as Hyperledger Fabric, Quorum, Ethereum, and Corda.

www.bchainledger.com

http://www.bchainledger.com/2019/12/fork-detection-and-rollback-in.html

 

Fork Detection and Rollback In Hyperledger Fabric

A blog about blockchain and various platforms such as Hyperledger Fabric, Quorum, Ethereum, and Corda.

www.bchainledger.com


페이스북 :  엔터프라이즈 블록체인 그룹 

+ Recent posts