Block chain architecture and hyperledger fabric overview병준 김
블록체인에 대한 기본 개념과 블록 체인 기술 구성에 대해서 알아본다. 기술 구성에는 P2P네트워크, Smart Contract, 전자서명과 해시, 합의 알고리즘이 있다. 각 구성 요소들이 하는 역할과 목적, 어떻게 작동하는 지에 대해서 알아본다. 그리고 Hyperledger Fabric의 개요에 대해서 살펴본다.
Block chain architecture and hyperledger fabric overview병준 김
블록체인에 대한 기본 개념과 블록 체인 기술 구성에 대해서 알아본다. 기술 구성에는 P2P네트워크, Smart Contract, 전자서명과 해시, 합의 알고리즘이 있다. 각 구성 요소들이 하는 역할과 목적, 어떻게 작동하는 지에 대해서 알아본다. 그리고 Hyperledger Fabric의 개요에 대해서 살펴본다.
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
[Tensorflow-KR Offline 세미나 발표자료]
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps Cycle 구성 방법론. (Azure Docker PaaS 위에서 1만 TPS Tensorflow Inference Serving 방법론 공유)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)doo rip choi
4차 산업혁명의 기술들은 소통을 위한 진화 기술로 발전되어 가고 있다.
비즈니스 영역마다 고객과의 소통이 필요하고 신기술을 활용한
고객의 니즈에 맞는 서비스 역량을 가져야 할 것이다.
고객과의 소통을 주제로 3개의 시리즈 물로 발표 자료를 공유 합니다.
고객과의 소통 신기술의 진화,
1. 고객을 이해하는 빅데이터
(The big data platform to understand customers.)
2. 고객과 소통하는 인공지능
( Artificial intelligence to communicate with customers)
3. 고객을 연결하는 블록체인
(Block chain to connect with customer)
8 week: Technology of Platformless Media BlockchainDaemin Park
- The architecture of platformless media blockchain
- Wallet
- Micropayment
- Decentralized storage with big data system
- Decentralized identification
(국민대학교 소프트웨어융합대학원 블록체인 전공 <블록체인과 미디어> 2019년 여름학기 수업)
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
[Tensorflow-KR Offline 세미나 발표자료]
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps Cycle 구성 방법론. (Azure Docker PaaS 위에서 1만 TPS Tensorflow Inference Serving 방법론 공유)
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)doo rip choi
4차 산업혁명의 기술들은 소통을 위한 진화 기술로 발전되어 가고 있다.
비즈니스 영역마다 고객과의 소통이 필요하고 신기술을 활용한
고객의 니즈에 맞는 서비스 역량을 가져야 할 것이다.
고객과의 소통을 주제로 3개의 시리즈 물로 발표 자료를 공유 합니다.
고객과의 소통 신기술의 진화,
1. 고객을 이해하는 빅데이터
(The big data platform to understand customers.)
2. 고객과 소통하는 인공지능
( Artificial intelligence to communicate with customers)
3. 고객을 연결하는 블록체인
(Block chain to connect with customer)
8 week: Technology of Platformless Media BlockchainDaemin Park
- The architecture of platformless media blockchain
- Wallet
- Micropayment
- Decentralized storage with big data system
- Decentralized identification
(국민대학교 소프트웨어융합대학원 블록체인 전공 <블록체인과 미디어> 2019년 여름학기 수업)
9. 블록체인 Layer-2 솔루션
● 블록체인이 널리 채택되어 수요가 증가함에 따라 블록체인의 트릴레마를 극복하며
TPS 를 높이고 확장이 가능해야하기에 블록체인에 계층이 필요하게됨.
- TPS (Transactions per seconds) : 초당 처리량. 높을수록 거래 속도가 빠름.
비자카드의 VisaNet 은 2만TPS 처리. 비트코인 메인넷은 7TPS
● 향후 대부분의 트랜잭션은 L2에서 실행되고 L1은 합의 및 블록 저장만 활용될것.
L2. 확장 계층
확장성 문제를 해결하기 위해 별도의 레이어의 외부
블록체인에서
높은 TPS 로 저렴한 비용으로 트랜잭션을 실행해 결과만 L1 에
전달
(= off-chain, scalability layer, child chain)
비트코인 - 라이트닝 네트워크
이더리움 - 플라즈마, 스테이트 채널, 롤업,
발리디움
폴리곤(MATIC, 시총17위),
오미세고(OMG, 시총104위)
L1. 블록체인
계층
데이터 가용성 계층으로 합의 및 블록에 저장 역할
(= on-chain, root chain, base layer, parent chain)
비트코인(BTC, 시총1위),
이더리움(ETH, 시총2위),
카르다노(ADA, 시총7위)
솔라나(SOL, 시총9위)
L0. 네트워크
계층
모든 시스템은 네트워크로 이어져있음
블록체인의 또 다른
레이어?
10. 블록체인 Layer-2 솔루션 For Ethereum
● 스테이트 채널
state channels
● 사이드체인
sidechains
● 플라스마 체인
plasmachains
● 롤업 : 제3자인 오퍼레이터가 트랜잭션을 묶어 온체인에 제출하는 역할을 해줌.
속도, 보안성 좋음. 플라즈마와 차이로 롤업은 스마트컨트랙을 돌릴수있다!
○ 옵티미스틱 롤업 : 플라스마와비슷. OVM을 사용한다. EVM의 거의모든 스마트컨트랙트 실행가능해 상용화에
큰 장점. 이더리움체인에 보낼때 Farud proof 가 있는데 낙관적으로 보내는데 플라스마와 다르게 보내고나서
이더리움체인이 실제로 돌려보고 문제가 있는지 확인하고 신고를 통해 인센티브압박. 이 검사가 오래걸림.
○ ZK 롤업 : 플라즈마와 옵티미스틱롤업과 다르게 Fraud proof 나 경찰이 없음. 대신 영지식증명을 사용하고
결과를 zk snark 라는 암호방식을 통해 이더리움에 빠른속도로 거래내역을전달. 이더리움이 거절 또는 승인함.
신고 기간이 없어서 zk 롤업체인에서 이더리움체인으로 이동하는데 속도 강점.
단, 아직 EVM 호환이 어렵다. 스마트컨트랙을 다시짜야해서 상용화에 단점. 많은 계산력이 필요해 특수
장비필요해 노드 요구사항이 높아 탈중앙화 의문.
11. 개인 의견 주의보!!
● 기존 중앙화된 서버의 이론적으로 가능하고 널리 채택된
플랫폼 무한 확장 전략이 수직확장(Scale-up) 그리고 수평확장(Scale-out) 모두 해야하는 것처럼,
● 탈중앙화된 블록체인은 이론적으로 가능한
플랫폼 무한 확장 전략으로 메인넷 스펙업 그리고 Layer-2 솔루션이 될 것으로 보임.
서버 컴퓨터 스펙업 장비를 무한히 추가해
부하분산
- 합의알고리즘 개선
- 메인넷 샤딩
(이더리움2.0, 폴카닷)
오프체인을 무한히 추가해
부하분산
“ ”
무한한 확장을 위해
이더리움 2.0 스펙업과
Layer-2 확장은 둘다 해야함
이더리움 2.0 개선
● Layer-2 솔루션 없이도 Layer-1 자체를 1000배 개선하는 온체인 스펙업
- PoS 합의알고리즘, Beacon Chain 에 샤딩, 새로운 가상머신 eWASM 제공
- 비탈릭부테린 : Layer-2 방식과 이더리움2.0 샤딩은 공존관계
A rollup centric ethereum roadmap
12. Polygon 역사
● 이더리움의 수요가 높아지면서 낮은 TPS 와 높은 수수료가 생태계에 악영향을 끼 확장성 문제.
● 2017년 이더리움의 L2 솔루션인 플라스마 기술을 이용해 솔루션을 제공하는 매틱네트워크 설립
(최초의 이더리움 확장 플랫폼)
● 2019년 바이낸스 런치패드에 IEO
● 2020년 PoS 솔루션, Plasma 솔루션 런칭
● 2021년 폴리곤으로 리네임하며, 프로젝트의 방향성을 이더리움 기반 모든 L2 솔루션을 제공하는 ‘이더리움의 인터넷'
이 되겠다고 전환
● zk rollup 기술에 투자하기 위해 헤르메즈, 미르프로토콜인수
(보안과 속도를 위해 zk rollup에 투자를 많이함. 비탈릭 부테린 “이더리움 사용성 위해 영지식증명 중요”)
● 폴리곤sdk 로 폴리곤을 사용하여 옵티미스틱 롤업 체인, ZK 롤업 체인, 독립형 체인 또는 개발자가 요구하는 기타
인프라를 생성 가능
13. Polygon 이란?
● 개발자들이 보안을 희생하지 않고 낮은 트랜잭션 수수료로 확장 가능한 유저 친화적인 dapp 을 개발할 수 있게 해주는
탈중앙화 이더리움 확장 플랫폼.
● L1 블록체인의 L2 스케일링으로 오프체인 제공 솔루션.
- 릴레이체인에 파라체인을 연결하는 폴카닷과 비슷하나, 폴카닷은 새로운 각자의 블록체인위에 다른 블록체인
연결
단, 폴리곤은 이미 갖춰진 블록체인에 다양한 l2 솔루션을 제공.
14. Polygon 아키텍처
- bor : PoS 합의 제공
- heimdal : bor 계층의 블록을 한번 더 검증
https://docs.polygon.technology/docs/home/architecture/polygon-architecture
/
15. Polygon 솔루션
● 스케일링 솔루션
- Polygon PoS : EVM 가능한 사이드체인
- Polygon Hermez : zk rollup 오픈소스
- Polygon Supernets : Polygon Edge 기반
- Polygon Avail : 확장성 있는 데이터 가용성 있는 블록체인 (개발중)
- Polygon Zero : Plonky2 속도 zk rollup (개발중)
- Polygon Miden : STARK 기반, zk rollup (개발중)
- Polygon Nightfall : 정보 보호에 초점을 맞춘 롤업 (테스트넷 운영중)
● 프라이버시 솔루션
- Polygon ID : 블록체인 기반 증명 시스템
● 프레임워크 솔루션
- Polygon Edge : 모듈화된 확장가능한 프레임워크
16. 결론
● 폴리곤은 이더리움을 돕고, 이더리움 덕분에 폴리곤은 성장하고, 결국 L2 솔루션이 되었다.
● 위험요소는 이더리움 2.0 또는 경쟁 L2 솔루션의 등장이나 아직 없으며 공존할 수 있다.
● 현재, NFT 가 흥하고 있는 시점에 이더리움 기반이면서 거래 수수료가 저렴한 폴리곤이 각광받고 있음.
사실 솔라나를 써도되지 않을까? https://www.fnnews.com/news/202109151704109109 지켜봐야할듯.
오픈씨/인스타그램이 이더리움, 솔라나, 폴리곤을 채택하는 이유
이더리움 블록체인에서 실행되는 메타마스크를 쓸수있음. (솔라나는 불가)
● 우리가 NFT 를 이더리움으로 올릴까 폴리곤으로 올릴까? 아쉽지만, 아얘 다른 시장이기는 함.
19. 기존 중앙화 서버의 확장 솔루션 (1/2)
방배순대
국
서초커피
노랑통닭
방배순대
국
서초커피
노랑통닭
방배순대국
서초커피
노랑통닭
무수히
늘어가는
유저들
무수히
늘어가
는
컨텐츠
…
…
중앙화 서버
20. 기존 중앙화 서버의 확장 솔루션 (2/2)
중앙화 서버의 확장
수직확장 (Scale Up)
cpu
memory
disk
수평확장 (Scale Out)
…
트래픽에 따라
조절
방배순대
국
서초커피
노랑통닭
방배순대
국
서초커피
노랑통닭
방배순대국
서초커피
노랑통닭
지속적
증가
지속적
증가
게임의 로그인서버 ,
유니크DB 를 아주 비싼
스펙의 클라우드로
게임의 유저를
여러 컴퓨터에 분산시켜
서비스
21. 애플리케이션
계층
블록체인 기술을 이용한 다양한 솔루션 제공.
Programmable Currency
Programmable Society
컨트랙트 계층
contract
사전 정의된 거래 약속이며 조건이 충족되면 자동으로
실행.
- 제3자 없이 신뢰할 수 있는 거래를 가능하게 제공하며 거래는 추적가능하고 되돌릴
수 없음
Smart Contract, Chaincode, Opcode
인센티브 계층
incentive
주로 퍼플릭 블록체인에서 경제적 보상을 시스템에 결합.
- 노드는 이기적이라서 자신의 이익을 위해 검증 및 장부에 참여.
토큰 발행 방식, 토큰 분배 방식
컨센서스 계층
Consensus
분산 노드에 대한 합의 알고리즘
- 공유 원장의 데이터 일관성과 내결함성 보장.
PoW, PoS, DPoS, PoE, BFT, PBFT,
PoET, PoL, DAG …
네트워크 계층
데이터의 보안 및 개인 정보 보호를 보장하며 P2P
정보교환 지원.
- 트랜잭션을 생성하는 노드는 이웃 노드에 트랜잭션을 브로드캐스트
- 트랜잭션을 수신한 노드는 검증
P2P 네트워크, 통신 방식, 검증 방식
데이터 계층 데이터를 구성하고 저장하기 위한 블록체인의 데이터 구조
Block 구조, Chain 구조, Merkle Tree,
비대칭암호화, 디지털서명, 해시함수
블록체인 프로토콜 스택 Layers
컴퓨터기계 학회 | Blockchain-empowered Data-driven Networks: A Survey and Outlook
https://dl.acm.org/doi/fullHtml/10.1145/3446373
22. 블록체인 아키텍처 Layer 2 의 중요성
● WHAT
: 블록체인 트릴레마를 해결하기 위함. TPS 향상을 통한 확장성을 높이기 위한 노력중.
● WHY
: L1 수요 증가로 느린 TPS 와 비싼 수수료로 확장성이 떨어져 dapp 서비스의 질이 하락하기 때문에 생태계 발전에
필요
● HOW
기존 블록체인을 L1 으로 두고, 위에 새로운 블록체인을 L2 로 추가하여, L2 는 수많은 트랜잭션을 함께 묶어 L1 에
가끔씩만 쿼리를 날리게하여 TPS 향상 및 수수료 절감
- 폴리곤??
- 기존 블록체인을 샤딩하여 여러 L2 솔루션들과 결합
- 이더리움 2.0 (연말에 배포) : 이더리움에 BeaconChain 이라는 메인체인에 여러 Wasm 인터페이스가
샤딩되어 붙을 수 있게 제공함.
- 폴카닷 (DOT, 시총13위) : 폴카닷에 RelayChain 이라는 메인체인에 여러 ParaChain 들이 샤딩되어
붙어있고 RelayChain 은 합의를 제공하여 거래 결정만 하고, ParaChain 들이 병렬적으로 빠르게 각각의
트랜잭션들을 처리해 TPS 향상. + 임대가능 (소규모 ParaThread 들이 샤딩된 슬롯 공유 가능)
● WHAT EFFECT
: 게임 체인저가 될 수 있음
23. 개인 의견 주의보!!
: 지금은 서로가 자신의 프로토콜을 경쟁적으로 만들고 있으나, 훗날 자연 독점하는 프로토콜들이 생기면서
블록체인 layer 가 완성이 되면 ISO가 표준화하여 데이터통신 교과서에 실린 OSI 7 Layers 처럼
블록체인공학과 교과서에 실릴듯.. 그러면 수많은 서비스들간 해당 표준화된 모델을 참조해 통신하기 때문에
절대로 바뀔 수 없게됨.
각 레이어를 추상화해두고상위 레이어는 하위 레이어를
몰라도 이용할 수 있고, 하위 레이어는 상위 레이어를 보조한다.
ex)
웹개발자는 HTTP 프로토콜을 이용하기 때문에 layer 7 부터
개발. 이하는 알필요없음
게임개발자는TCP 프로토콜을 이용하기 때문에 layer 4 부터
개발. 이하는 알필요없음
임베디드개발자는ethernet 프로토콜을 이용하기 때문에 layer
2 부터 개발. 이하는 알필요없음
24. - decentralization, security, scalability 3개중에 2개만 제공할 수 있다.
확장성
(Scalability)
: 높은 TPS
블록체인 트릴레마
보안성
(Security)
: 공격이
어려움
탈중앙화
(Decentralization)
- 노드 수가 많음
- 모든 참가자들에게 힘이
분산되어있음
솔라나 (SOL, 시총7위)
리플 (XRP, 시총6위)
이오스 (EOS, 시총44위)
스텔라 (XLM, 시총30위)
하이퍼레저
노드 수를 줄여보자!
(DPoS 채택 or 프라이빗체인 )
비트코인 (BTC,
시총1위)
탈중앙화! 안전!
(PoW 채택)
비체인 (VeChain/VET, 시총34위) -
PoA
아이오타 (IOTA, 시총64위) - PoR
넴 (NEM, 시총93위) - PoI
새로운 합의 알고리즘을
만들어보자!
(trilemma)
속도도 빠르고 보안성도 좋은데 노드수가 적네.. 속도도 빠르고 노드수도 많은데 보안공격이
불안하네
보안도 뛰어나고 노드수도 많은데 너무 느리네
25. L2 스테이트 채널
● 제3자 개입없이 이해 당사자들끼리 스마트 컨트랙트에 의해 자산을 Lock up 하고 당사자들 만의 별도의 L2 오프체인
채널을 개설해 원하는 만큼 자산을 주고 받은후 채널을 닫으면서 오프체인의 결과물 최종 잔고를 이더리움 온체인에
기록.
- 장점 : 제한된 당사자들간 오랜 기간 수많은 거래가 필요한 경우 유리.
- 단점 : 제한된 당사자들만 참여할 수 있고, 모두가 참여해야만 하는 한계. 채널을 설정하는데 시간과 비용이
발생
- ex) 비트코인 진영의 L2 솔루션인 라이트닝 네트워크와 유사
26. 사이드체인
● 블록체인의 확장성(scalability) 를 위함. 서비스체인, 자식체인 이라고도 불림.
● 메인체인과 2-way peg 로 연결된 블록체인.
- 메인체인(L1) ←→ 사이드체인(L2) : 메인체인의 자산을 동결시킨뒤 같은양의 자산을 사이드체인에 생성
● 메인체인과 별도로 consensus 알고리즘, 검증자 노드를 소유하고 있다. → 보안에 취약해 L2 솔루션으로 취급하지
않기도 한다.
- 루트체인보다덜 안전함. 자산을 루트체인에 잠그고 사이드체인에생성, 돌아가고싶을때는 사이드체인의자산을 파기하고
루트체인에서잠금해제. 그 과정이 안전하지 않고, 누군가 루트체인에 내 자산을 파괴할 수 있음. 사이드체인이안전해야 자산이
안전하다!
27. L2 Plasma
● 2017년 8월, 이더리움 블록체인의 스케일링 솔루션으로 제안되어, 현재는 이더리움과 안전하게 연결된 사이드체인
개발 프레임워크 서비스로 발전.이더리움 메인체인에
- 이더리움 공동 창시자 비탈릭부테린(Vitalik Buterin), 라이트닝 네트워크 구성을 담당한 조지프 푼(Joseph
Poon) 이 제안
- 온라인 결제솔루션 (payment gateway) 를 서비스하는 기업 오미세(Omise) 가 최초로 적용
- 머클트리 방식으로 부모체인의 작은 복사본으로 각기 다른 맞춤형 스마트컨트랙트를 설계할 수 있는 무수히
많은 자식체인을 만들어 계층화할 수 있는 기초를 구축하는 기술로, 자식체인은 독립적으로 높은 TPS 로
트랜잭션을 처리해 결과만 부모체인에 검증요청하여 부모체인의 작업 부담을 덜어주는 오프체인 솔루션.
사이드체인의 보안 이슈를 해결하기 위해 사이드체인 내 사용자 자산에 보안문제가 발생하면 항상
부모체인으로 폴백한다는 원칙을 가지고 있음
- 자식체인이 독립적으로 작동하고 높은 TPS 로 거래를 처리하여 트랜잭션의 결과만 부모체인에 검증요청하여
부모체인의 작업부담을 덜어주어 TPS를 오픈체인 솔루션.
= 메인체인, 루트체인
plasma 백서
https://plasma.io/plasma.pdf
plasma 배우기
https://www.learnplasma.org/en/
비트코인의 사이드체인 스케일링
솔루션
= 사이드체인 , 플라스마체인
오미세고(OMG, 시총127위)
28. 머클트리
● 거래들을 요약하기 위한 자료구조로 블록체인에 걸맞음.
- 이진트리 : 거래량이 기하급수적으로 늘어나도 특정 거래를 찾는 경로가 단순 (log2N 으로 늘어남)
- 해시 : 블록 내에 트랜잭션들을 해시 (SHA256) 으로 암호화 압축해 블록의 용량이 항상 일정
● 블록체인에 기여한것
- 기하급수적으로 늘어나는 거래내역을 효율적으로 검색해 트랜잭션 처리 속도에 기여
- 풀노드 대신 라이트노드 (머클루트) 선택 가능하게해 네트워크 접근성에 기여
머클트리의 최상위 부모 노드
- 모든 거래내역들의 해시 조합으로 암호화 압축해 관리하기 때문에 해시값을 검증해 데이터 위변조를 막아
보안성에 기여
(merkle tree)
29. 블록체인 합의 알고리즘 (1/3)
- 트랜잭션 검증에 참여하는 채굴 작업으로
보상
(검증자로 선택되지 않아도 컴퓨팅 파워 낭비)
- 채굴에 필요한 하드웨어 투자 필요
- 51% 이상의 네트워크를 차지시 탈중앙화
실패
ex) https://www.blockmedia.co.kr/archives/36079
- 예시 : Bitcoin(BTC, 시총1위),
Ethereum(ETH, 시총2위),
Dodge(DOGE, 시총12위),
Litecoin(LTC, 시총21위),
Monero(XMR, 시총32위)
PoW
Proof of Work (작업증명)
- 보유 지분에 따라 (스테이킹) 트랜잭션
검증권한을 부여받아 검증하고 이자 형식의
보상
- 지분 구매 필요
- 51% 이상의 지분 확보시 탈중앙화 실패
- 모두가 스테이킹하면유통량 감소
- 지분 있는 모두가 검증자로 합의 속도가 느림
(직접민주주의 )
- 예시 : Neo(NEO, 시총65위),
Quantum(QTUM, 시총105위),
Stratis(STRAX, 시총307위)
PoS
Proof of Stake (지분증명)
- 사용자들이 대표자들을 투표로 선출해
대표자가 트랜잭션을 검증하고 이자 형식의
보상을 나눔
(투표로 예치한 구성원들의 코인 총 합 순위)
- 지분 구매 및 투표 필요
- 소수의 대표자들이 거버넌스를 악의적 이용해
탈중앙화 실패
- 대표자만 노드를 유지하여 전력 소모가 거의
없고, 소수라서 합의 속도가 빠름 (대의민주주의 )
- 예시 : Terra(LUNA, 시총7위),
Cardano(ADA, 시총9위),
EOS(EOS, 시총50위),
Tron(TRX, 시총22위), Hive(HIVE, 시총145위)
DPoS
Delegated Proof of Stake (위임지분증명 )
트랜잭션 비용 감소, 전력 소모 효율적
30. 블록체인 합의 알고리즘 (2/3)
- PoS + 블록체인 네트워크 활동량이 많을 수록
더 많은 이자를 보상 (거래량, 신뢰 등으로 활동량
측정)
- PoS 의 장점을 가짐
- 예시 : Nem(XEM, 시총96위)
PoI
Proof of Importance (중요도증명 )
- 권위있는 기관에서 노드를 증명해 합의를
이루며 보상은 없지만 개인신원이 확실
- 블록체인 기술의 장점을 가지면서 기업
프라이버시 유지
- 탈중앙성 포기. 높은 처리량.
- 예시 : 비체인(VET, 시총34위),
BaaS플랫폼 (Luniverse)
PoA
Proof of Authority (권위증명)
- PoW + 작업 경과시간에 기반해 공정하게
랜덤으로 블록 생성자를 선출하여 검증 및
보상한다.
- 단, Intel 의 SGX 라는 신뢰 보장 실행환경을
사용해야한다.
- 전력 소모가 적음
- 예시 : Sawtooth Lake (Hyperledger
프로젝트의 일종)
PoET
Proof of Elapsed Time (경과시간증명 )
31. 블록체인 합의 알고리즘 (3/3)
- 비잔틴장군문제를 허용해 일부 노드의 결과가
달라도 다수결에 따르기로 합의한다.
(부정한 노드가 n개 일 때, 참가 노드 수는 3n+1개
여야하며, 확정에는 n+1개 이상의 노드가 필요하다. ⅔
이상의 노드가 합의하면 검증되었다고 수학적으로
보장한다.)
- 모든 참가자들과 합의해야하므로노드 수가
대량으로 늘어나면 합의에 복잡성이 증가해
Private 블록체인에 많이 쓰인다.
- 합의 속도가 빠르다
- 예시 : Ripple(XRP, 시총8위),
Stella(XLM, 시총31위),
Hyperledger Fabric, R3 Corda
PBFT
Practical Byzantine Fault Tolerance
(현실적인 비잔틴 장애 허용)
- 블록체인의 극대화된 투명성에서
개인정보보호를 위한 방식으로 상호간 증명
과정에서 제3자에게 개인정보가 노출되지
않게한다.
- 예시 : Zcash(ZEC, 시총51위),
Dash(DASH, 시총79위)
Zero-Knowledge Proof
(영지식 증명)
etc…