ݺߣ

ݺߣShare a Scribd company logo
이더리움의 현황, 한계점 및 개선노력
현재 이더리움 플랫폼의 한계점들은 무엇이며 어떠한 솔루션들이 제시되고 있는가?
문영훈
version 0.1
final edit: 2017. 12. 15
목차이더리움의 현황, 한계점 및 개선노력: 현재 이더리움 플랫폼의 한계점들은 무엇이며 어떠한 솔루션들이 제
시되고 있는가?
Timeline
Timeline
2014년 7월 22일부터 9월 2일까지 42일동안
31,591BTC (약 1,840만달러) 규모의 크라우드 펀딩
을 통해 약 6천만 이더를 발행하였음.
Timeline
• 이더리움 라이브 네트워크 작동시작
• 제네시스블록 생성 및 채굴시작
• 거래소에서 이더(ETHER) 거래 가능
Timeline
• 영국 런던에서 5일동안 개최
• 100개 이상의 프레젠테이션 진행 및 400명 이상의
개발자, 기업가 등 참여
Timeline
• 2016년 3월 14일 (PI DAY) 에 진행
• 하위 호환 불가한 (BACKWARD-INCOMPATIBLE)
변화로서 하드포크(HARD FORK) 진행
• 스마트 컨트랙트 생성비용 증가, 난이도 조절 알고
리즘 변경, 새로운 옵코드(DELEGATE CALL), 네
트워크 프로토콜 업그레이드 등의 변화가 진행
Timeline
• 2016년 5월 일종의 벤처캐피탈 펀드인 THE DAO
가 11,000여명으로부터 약 1억 5,000만달러의 자
금을 유치
• 2016년 6월 18일 펀딩자금을 보유하고 있던 스마
트 컨트랙트의 버그로 인해 당시 약 6,000만달러
에 해당하는 360여만 이더(ETHER)가 탈취
• 이후 6월 20일 하드포크를 통해 해킹을 무효화
• DAO 하드포크에 반대한 사람들이 이더리움 클래
식(ETHEREUM CLASSIC)을 론칭
source: http://www.altcointoday.com/ethereum-holders-vote-in-
favor-of-hardfork/
Timeline
• 라이덴(RAIDEN) 네트워크, 트루빗(TRUEBIT), 패
리티(PARITY) 론칭, 이더리움 & 지캐시 협업, 캐
스퍼, 스테이트 채널(STATE CHANNEL), 솔리디
티(SOLIDITY) FORMAL VERIFICATION 등 다양
한 내용의 주제 발표
Timeline
• 이더리움 플랫폼을 기업환경에 맞춰 허가성 블록
체인을 개발하는 것을 목표로 하는 이더리움 기업
연합 (EEA) 설립
Timeline
Timeline
Timeline
스마트 컨트랙트의 취약점
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
source: https://blog.ethereum.org/2016/06/19/thinking-smart-contract-security/
스마트 컨트랙트의 취약점
source: https://etherscan.io/address/0xe82719202e5965Cf5D9B6673B7503a3b92DE20be#code
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
스마트 컨트랙트의 취약점
source: http://martin.swende.se/blog/Breaking_the_house.html
스마트 컨트랙트의 취약점
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
DAO.splitDAO()
DAO.withdrawRewardFor()
ManagedAccount.payOut()
잔고가 업데이트되기 전에 출금(withdraw)이 일어남!
DAO.splitDAO()
DAO.withdrawRewardFor()
ManagedAccount.payOut()
DAO.splitDAO()
DAO.withdrawRewardFor()
ManagedAccount.payOut()
받는 이(recipient)의 계좌에 이더를 전송하게 되며 이 경우 지갑 컨트랙트의 디폴트 function()이 실행되며
이를 통해 splitDAO()를 다시 호출할 수 있음.
DAO.splitDAO()
DAO.withdrawRewardFor()
ManagedAccount.payOut()
받는 이(recipient)의 계좌에 이더를 전송하게 되며 이 경우 지갑 컨트랙트의 디폴트 function()이 실행되며
이를 통해 splitDAO()를 다시 호출할 수 있음.
1. splitDAO() 호출
2. _recipient.call.value(_amount)를 통
해 이더를 받음
3. balances[msg.sender] = 0 이 호출되
어 자신의 잔고가 업데이트되기 전에
다시 splitDAO()를 호출
스마트 컨트랙트의 취약점
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
source:
https://www.reddit.com/r/ethereum/comments/4ghzhv/governmentals_1100_eth_jackpot_payout_is_stuck/
돈을 출금하기 위해서는 creditorAddresses와 creditorAmounts를 초기화해
야 하지만 초기화 비용이 500만 가스가 필요하지만 transaction 최대 가스
량은 470만 가스로서 1,100ETH가 출금되지 못하고 묶이는 상황 발생
스마트 컨트랙트의 취약점
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
WalletLibrary.initWallet()
Wallet’s fallback function
Wallet의 fallback function을 통해 WalletLibrary의 모든 public 함수 호출 가능
스마트 컨트랙트의 취약점
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
WalletLibrary.initWallet()
Wallet’s fallback function
Wallet의 fallback function을 통해 WalletLibrary의 모든 public 함수 호출 가능
기본적으로 Solidity의 함수는 default public으로 설정되
어 initWallet 함수에 접근권한이 설정되어있지 않았음
스마트 컨트랙트의 취약점
• 변수 및 함수명 혼동 (e.g. Rubixi)
• 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성
seed 값, 가위바위보)
• Re-entrancy Attack (e.g. DAO 해킹)
• 배열 및 루프 가스제한 (e.g. Governmental)
• 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
WalletLibrary.initWallet()
Wallet’s fallback function
Wallet의 fallback function을 통해 WalletLibrary의 모든 public 함수 호출 가능
기본적으로 Solidity의 함수는 default public으로 설정되
어 initWallet 함수에 접근권한이 설정되어있지 않았음
initWallet을 통해 지갑의 소유자 변경 가능
• 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level
component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된
난수생성함수를 호출)
• 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지
(Babbage) 등
• 향상된 개발자 도구 (e.g. 디버깅 툴)
• Formal Verification
스마트 컨트랙트의 보안 개선노
력
스마트 컨트랙트의 보안 개선노
력
• 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level
component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된
난수생성함수를 호출)
• 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지
(Babbage) 등
• 향상된 개발자 도구 (e.g. 디버깅 툴)
• Formal Verification
• 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level
component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된
난수생성함수를 호출)
• 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지
(Babbage) 등
• 향상된 개발자 도구 (e.g. 디버깅 툴)
• Formal Verification
스마트 컨트랙트의 보안 개선노
력
바이퍼(Viper) 원리와 목적
source: https://github.com/ethereum/viper
배비지(Babbage)
source: https://medium.com/@chriseth/babbage-a-mechanical-smart-contract-language-5c8329ec5a0e
배비지(Babbage)
source: https://medium.com/@chriseth/babbage-a-mechanical-smart-contract-language-5c8329ec5a0e
• 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level
component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된
난수생성함수를 호출)
• 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지
(Babbage) 등
• 향상된 개발자 도구 (e.g. 디버깅 툴)
• Formal Verification
스마트 컨트랙트의 보안 개선노
력
• 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level
component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된
난수생성함수를 호출)
• 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지
(Babbage) 등
• 향상된 개발자 도구 (e.g. 디버깅 툴)
• Formal Verification
스마트 컨트랙트의 보안 개선노
력
source: https://yoichihirai.com/deed.pdf
• 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용
• 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과
도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가
능성 등의 문제를 지니고 있음
• 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리
즘으로 전환하려고 하고 있음
이더리움의 합의 알고리즘
• 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용
• 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과
도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가
능성 등의 문제를 지니고 있음
• 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리
즘으로 전환하려고 하고 있음
이더리움의 합의 알고리즘
• 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용
• 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과
도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가
능성 등의 문제를 지니고 있음
• 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리
즘으로 전환하려고 하고 있음
이더리움의 합의 알고리즘
• 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용
• 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과
도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가
능성 등의 문제를 지니고 있음
• 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리
즘으로 전환하려고 하고 있음
이더리움의 합의 알고리즘
• 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검
증자(validator)로서 참여하여 블록을 생성 및 검증
• 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing-
at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수
• 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3
이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장
• Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크
포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid
PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획
• Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC:
Correct-by-Construction)
이더리움의 지분증명, 캐스퍼
(Casper)
• 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검
증자(validator)로서 참여하여 블록을 생성 및 검증
• 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing-
at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수
• 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3
이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장
• Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크
포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid
PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획
• Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC:
Correct-by-Construction)
이더리움의 지분증명, 캐스퍼
(Casper)
• 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검
증자(validator)로서 참여하여 블록을 생성 및 검증
• 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing-
at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수
• 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3
이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장
• Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크
포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid
PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획
• Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC:
Correct-by-Construction)
이더리움의 지분증명, 캐스퍼
(Casper)
“nothing-at-stake” 문제
source: https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/
• 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검
증자(validator)로서 참여하여 블록을 생성 및 검증
• 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing-
at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수
• 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3
이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장
• Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크
포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid
PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획
• Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC:
Correct-by-Construction)
이더리움의 지분증명, 캐스퍼
(Casper)
• 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검
증자(validator)로서 참여하여 블록을 생성 및 검증
• 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing-
at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수
• 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3
이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장
• Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크
포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid
PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획
• Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC:
Correct-by-Construction)
이더리움의 지분증명, 캐스퍼
(Casper)
Checkpointing PoW
source: https://media.consensys.net/casper-smart-contract-consensus-7be6cfa6f7ec
• 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검
증자(validator)로서 참여하여 블록을 생성 및 검증
• 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing-
at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수
• 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3
이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장
• Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크
포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid
PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획
• Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC:
Correct-by-Construction)
이더리움의 지분증명, 캐스퍼
(Casper)
• 초당 처리할 수 있는 transaction의 수(tps: transaction per second)가 제한적이며 높은
중복성으로 인해 EVM 자체의 성능이 매우 떨어짐. 이더리움이 널리 사용될수록 이더
리움 블록체인을 저장하고 전파하기 위해 필요한 저장공간 및 bandwidth 이 높아져 네
트워크의 분산화(decentralization)을 해칠 우려가 있음
• 현재 이더리움에서 가장 활발하게 연구되고 있는 확장성 솔루션은 라이덴(Raiden) 네
트워크, 플라즈마(Plasma) 및 샤딩(sharding) 등이 있음
확장성(scalability) 문제
• 초당 처리할 수 있는 transaction의 수(tps: transaction per second)가 제한적이며 높은
중복성으로 인해 EVM 자체의 성능이 매우 떨어짐. 이더리움이 널리 사용될수록 이더
리움 블록체인을 저장하고 전파하기 위해 필요한 저장공간 및 bandwidth 이 높아져 네
트워크의 분산화(decentralization)을 해칠 우려가 있음
• 현재 이더리움에서 가장 활발하게 연구되고 있는 확장성 솔루션은 라이덴(Raiden) 네
트워크, 플라즈마(Plasma) 및 샤딩(sharding) 등이 있음
확장성(scalability) 문제
• 초당 처리할 수 있는 transaction의 수(tps: transaction per second)가 제한적이며 높은
중복성으로 인해 EVM 자체의 성능이 매우 떨어짐. 이더리움이 널리 사용될수록 이더
리움 블록체인을 저장하고 전파하기 위해 필요한 저장공간 및 bandwidth 이 높아져 네
트워크의 분산화(decentralization)을 해칠 우려가 있음
• 현재 이더리움에서 가장 활발하게 연구되고 있는 확장성 솔루션은 라이덴(Raiden) 네
트워크, 플라즈마(Plasma) 및 샤딩(sharding) 등이 있음
확장성(scalability) 문제
라이덴(Raiden)
source: https://raiden.network/101.html
source: https://raiden.network/101.html
라이덴(Raiden)
source: https://raiden.network/101.html source: https://raiden.network/101.html
플라즈마(Plasma)
source: https://plasma.io/plasma.pdf
플라즈마(Plasma)
source: https://plasma.io/plasma.pdf
플라즈마(Plasma)
source: https://plasma.io/plasma.pdf
플라즈마(Plasma)
source: https://plasma.io/plasma.pdf
플라즈마(Plasma)
source: https://plasma.io/plasma.pdf
• 블록체인 상의 데이터는 모두 공개되어있기 때문에 사생활 보호가 제대로
이루어지지 않음
• CoinJoin, zk-SNARKs 및 ring signature와 같은 도구들이 사용됨
사생활 보호
• 블록체인 상의 데이터는 모두 공개되어있기 때문에 사생활 보호가 제대로
이루어지지 않음
• CoinJoin, zk-SNARKs 및 ring signature와 같은 도구들이 사용됨
사생활 보호
블록체인 분석을 통한 자금흐름
추적
• 블록체인 상의 데이터는 모두 공개되어있기 때문에 사생활 보호가 제대로
이루어지지 않음
• CoinJoin, zk-SNARKs 및 ring signature와 같은 도구들이 사용됨
사생활 보호
source: http://weuse.cash/2016/10/26/warning-dash-privacy-is-worse-than-bitcoin/
source: http://www.independent.co.uk/arts-
entertainment/books/news/wheres-the-brains-behind-
wally-6261459.html
based on What is zkSNARKs: Spooky Moon
Math (https://blockgeeks.com/guides/what-
is-zksnarks/)
월리를 찾아
라!
source: http://www.independent.co.uk/arts-
entertainment/books/news/wheres-the-brains-behind-
wally-6261459.html
based on What is zkSNARKs: Spooky Moon
Math (https://blockgeeks.com/guides/what-
is-zksnarks/)
영지식증명
zero-knowledge proof
• 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이
없어져 비트코인의 채굴 집중화를 완화시킬 수 있음
• 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의
보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤
니티 내에서 많은 지지를 받기 때문임
• 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발
에 대한 인센티브의 부족
이더리움 거버넌스(Governance)
• 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이
없어져 비트코인의 채굴 집중화를 완화시킬 수 있음
• 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의
보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤
니티 내에서 많은 지지를 받기 때문임
• 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발
에 대한 인센티브의 부족
이더리움 거버넌스(Governance)
• 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이
없어져 비트코인의 채굴 집중화를 완화시킬 수 있음
• 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의
보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤
니티 내에서 많은 지지를 받기 때문임
• 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발
에 대한 인센티브의 부족
이더리움 거버넌스(Governance)
• 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이
없어져 비트코인의 채굴 집중화를 완화시킬 수 있음
• 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의
보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤
니티 내에서 많은 지지를 받기 때문임
• 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발
에 대한 인센티브의 부족
이더리움 거버넌스(Governance)
거버넌스 (Governance) Family Tree
source: https://coinmetrics.io/papers/dissertation.pdf
비탈릭의 Proof-of-Life
암호화폐의 삼권 분립
source: https://medium.com/@FEhrsam/blockchain-governance-programming-our-future-c3bfe30f2d74
If programming in the system is important,
the metaprogramming of the system itself is most
important.- Fred Ehrsan -
Q & A
• 코어 프로토콜
• 다양한 합의 알고리즘
• 암호경제학
• 스마트 컨트랙트 및 VM
• 분산 네트워크
• 기타 Fundamental Research
• 블록체인 개발자/비개발자 교육 프로그램 개발
Research Funding!
theblockchainers@gmail.com

More Related Content

이더리움의 현황, 한계점 및 개선노력

  • 1. 이더리움의 현황, 한계점 및 개선노력 현재 이더리움 플랫폼의 한계점들은 무엇이며 어떠한 솔루션들이 제시되고 있는가? 문영훈 version 0.1 final edit: 2017. 12. 15
  • 2. 목차이더리움의 현황, 한계점 및 개선노력: 현재 이더리움 플랫폼의 한계점들은 무엇이며 어떠한 솔루션들이 제 시되고 있는가?
  • 4. Timeline 2014년 7월 22일부터 9월 2일까지 42일동안 31,591BTC (약 1,840만달러) 규모의 크라우드 펀딩 을 통해 약 6천만 이더를 발행하였음.
  • 5. Timeline • 이더리움 라이브 네트워크 작동시작 • 제네시스블록 생성 및 채굴시작 • 거래소에서 이더(ETHER) 거래 가능
  • 6. Timeline • 영국 런던에서 5일동안 개최 • 100개 이상의 프레젠테이션 진행 및 400명 이상의 개발자, 기업가 등 참여
  • 7. Timeline • 2016년 3월 14일 (PI DAY) 에 진행 • 하위 호환 불가한 (BACKWARD-INCOMPATIBLE) 변화로서 하드포크(HARD FORK) 진행 • 스마트 컨트랙트 생성비용 증가, 난이도 조절 알고 리즘 변경, 새로운 옵코드(DELEGATE CALL), 네 트워크 프로토콜 업그레이드 등의 변화가 진행
  • 8. Timeline • 2016년 5월 일종의 벤처캐피탈 펀드인 THE DAO 가 11,000여명으로부터 약 1억 5,000만달러의 자 금을 유치 • 2016년 6월 18일 펀딩자금을 보유하고 있던 스마 트 컨트랙트의 버그로 인해 당시 약 6,000만달러 에 해당하는 360여만 이더(ETHER)가 탈취 • 이후 6월 20일 하드포크를 통해 해킹을 무효화 • DAO 하드포크에 반대한 사람들이 이더리움 클래 식(ETHEREUM CLASSIC)을 론칭 source: http://www.altcointoday.com/ethereum-holders-vote-in- favor-of-hardfork/
  • 9. Timeline • 라이덴(RAIDEN) 네트워크, 트루빗(TRUEBIT), 패 리티(PARITY) 론칭, 이더리움 & 지캐시 협업, 캐 스퍼, 스테이트 채널(STATE CHANNEL), 솔리디 티(SOLIDITY) FORMAL VERIFICATION 등 다양 한 내용의 주제 발표
  • 10. Timeline • 이더리움 플랫폼을 기업환경에 맞춰 허가성 블록 체인을 개발하는 것을 목표로 하는 이더리움 기업 연합 (EEA) 설립
  • 14. 스마트 컨트랙트의 취약점 • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹) source: https://blog.ethereum.org/2016/06/19/thinking-smart-contract-security/
  • 15. 스마트 컨트랙트의 취약점 source: https://etherscan.io/address/0xe82719202e5965Cf5D9B6673B7503a3b92DE20be#code • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
  • 16. • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹) 스마트 컨트랙트의 취약점 source: http://martin.swende.se/blog/Breaking_the_house.html
  • 17. 스마트 컨트랙트의 취약점 • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹)
  • 20. DAO.splitDAO() DAO.withdrawRewardFor() ManagedAccount.payOut() 받는 이(recipient)의 계좌에 이더를 전송하게 되며 이 경우 지갑 컨트랙트의 디폴트 function()이 실행되며 이를 통해 splitDAO()를 다시 호출할 수 있음.
  • 21. DAO.splitDAO() DAO.withdrawRewardFor() ManagedAccount.payOut() 받는 이(recipient)의 계좌에 이더를 전송하게 되며 이 경우 지갑 컨트랙트의 디폴트 function()이 실행되며 이를 통해 splitDAO()를 다시 호출할 수 있음. 1. splitDAO() 호출 2. _recipient.call.value(_amount)를 통 해 이더를 받음 3. balances[msg.sender] = 0 이 호출되 어 자신의 잔고가 업데이트되기 전에 다시 splitDAO()를 호출
  • 22. 스마트 컨트랙트의 취약점 • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹) source: https://www.reddit.com/r/ethereum/comments/4ghzhv/governmentals_1100_eth_jackpot_payout_is_stuck/ 돈을 출금하기 위해서는 creditorAddresses와 creditorAmounts를 초기화해 야 하지만 초기화 비용이 500만 가스가 필요하지만 transaction 최대 가스 량은 470만 가스로서 1,100ETH가 출금되지 못하고 묶이는 상황 발생
  • 23. 스마트 컨트랙트의 취약점 • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹) WalletLibrary.initWallet() Wallet’s fallback function Wallet의 fallback function을 통해 WalletLibrary의 모든 public 함수 호출 가능
  • 24. 스마트 컨트랙트의 취약점 • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹) WalletLibrary.initWallet() Wallet’s fallback function Wallet의 fallback function을 통해 WalletLibrary의 모든 public 함수 호출 가능 기본적으로 Solidity의 함수는 default public으로 설정되 어 initWallet 함수에 접근권한이 설정되어있지 않았음
  • 25. 스마트 컨트랙트의 취약점 • 변수 및 함수명 혼동 (e.g. Rubixi) • 공개되지 않아야 할 데이터의 공개 (e.g. 카지노의 난수생성 seed 값, 가위바위보) • Re-entrancy Attack (e.g. DAO 해킹) • 배열 및 루프 가스제한 (e.g. Governmental) • 함수 접근권한 설정오류 (e.g. Parity 멀티시그 해킹) WalletLibrary.initWallet() Wallet’s fallback function Wallet의 fallback function을 통해 WalletLibrary의 모든 public 함수 호출 가능 기본적으로 Solidity의 함수는 default public으로 설정되 어 initWallet 함수에 접근권한이 설정되어있지 않았음 initWallet을 통해 지갑의 소유자 변경 가능
  • 26. • 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된 난수생성함수를 호출) • 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지 (Babbage) 등 • 향상된 개발자 도구 (e.g. 디버깅 툴) • Formal Verification 스마트 컨트랙트의 보안 개선노 력
  • 27. 스마트 컨트랙트의 보안 개선노 력 • 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된 난수생성함수를 호출) • 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지 (Babbage) 등 • 향상된 개발자 도구 (e.g. 디버깅 툴) • Formal Verification
  • 28. • 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된 난수생성함수를 호출) • 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지 (Babbage) 등 • 향상된 개발자 도구 (e.g. 디버깅 툴) • Formal Verification 스마트 컨트랙트의 보안 개선노 력
  • 29. 바이퍼(Viper) 원리와 목적 source: https://github.com/ethereum/viper
  • 32. • 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된 난수생성함수를 호출) • 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지 (Babbage) 등 • 향상된 개발자 도구 (e.g. 디버깅 툴) • Formal Verification 스마트 컨트랙트의 보안 개선노 력
  • 33. • 공통 패턴을 찾아 이를 하드코딩 (e.g. ERC20) / 표준화된 mid-level component (e.g. 카지노가 자신만의 난수생성함수를 쓰는 대신 표준화된 난수생성함수를 호출) • 새로운 스마트 컨트랙트 프로그래밍 언어 e.g. 바이퍼 (Viper), 배비지 (Babbage) 등 • 향상된 개발자 도구 (e.g. 디버깅 툴) • Formal Verification 스마트 컨트랙트의 보안 개선노 력 source: https://yoichihirai.com/deed.pdf
  • 34. • 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용 • 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과 도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가 능성 등의 문제를 지니고 있음 • 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리 즘으로 전환하려고 하고 있음 이더리움의 합의 알고리즘
  • 35. • 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용 • 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과 도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가 능성 등의 문제를 지니고 있음 • 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리 즘으로 전환하려고 하고 있음 이더리움의 합의 알고리즘
  • 36. • 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용 • 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과 도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가 능성 등의 문제를 지니고 있음 • 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리 즘으로 전환하려고 하고 있음 이더리움의 합의 알고리즘
  • 37. • 이더리움은 현재 GPU 기반의 작업증명 알고리즘인 Ethash를 사용 • 사토시 나카모토가 사용한 작업증명(PoW) 방식의 합의 알고리즘은 1. 과 도한 에너지 소모와 환경파괴 2. 채굴의 중앙화 심화 3. 높은 공격 지속 가 능성 등의 문제를 지니고 있음 • 이더리움은 단계적으로 작업증명 방식에서 지분증명 방식의 합의 알고리 즘으로 전환하려고 하고 있음 이더리움의 합의 알고리즘
  • 38. • 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검 증자(validator)로서 참여하여 블록을 생성 및 검증 • 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing- at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수 • 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3 이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장 • Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크 포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획 • Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC: Correct-by-Construction) 이더리움의 지분증명, 캐스퍼 (Casper)
  • 39. • 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검 증자(validator)로서 참여하여 블록을 생성 및 검증 • 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing- at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수 • 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3 이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장 • Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크 포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획 • Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC: Correct-by-Construction) 이더리움의 지분증명, 캐스퍼 (Casper)
  • 40. • 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검 증자(validator)로서 참여하여 블록을 생성 및 검증 • 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing- at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수 • 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3 이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장 • Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크 포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획 • Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC: Correct-by-Construction) 이더리움의 지분증명, 캐스퍼 (Casper)
  • 42. • 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검 증자(validator)로서 참여하여 블록을 생성 및 검증 • 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing- at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수 • 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3 이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장 • Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크 포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획 • Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC: Correct-by-Construction) 이더리움의 지분증명, 캐스퍼 (Casper)
  • 43. • 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검 증자(validator)로서 참여하여 블록을 생성 및 검증 • 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing- at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수 • 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3 이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장 • Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크 포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획 • Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC: Correct-by-Construction) 이더리움의 지분증명, 캐스퍼 (Casper)
  • 45. • 지분증명(PoS: Proof of Stake): 특정량의 이더(ether)를 예치(deposit)한 참가자는 검 증자(validator)로서 참여하여 블록을 생성 및 검증 • 예치금 몰수(“Slashing”): 검증자들이 올바르게 행동하도록 유인을 제공하고“nothing- at-stake” 문제를 해결하기 위해 올바르지 못한 행동을 하는 경우 예치금을 몰수 • 경제적 완결성(Economic Finality) - “이미 완결된(finalized) 블록을 되돌리는 경우 1/3 이상의 검증자 집단은 예치금 100만 이더(ether)를 몰수당한다” - 보장 • Checkpointing PoW / 점진전 전환: 작업증명 블록체인 위에 100블록마다 1번씩 체크 포인트(checkpoin)를 설정하고 체크포인트에만 지분증명을 적용하는 방식의 Hybrid PoW/PoS 방식으로 시작하여 완전한 지분증명 방식으로의 점진적 전환을 계획 • Vitalik Buterin (FFG: Casper the Friendly Finality Gadget) / Vlad Zamfir (CBC: Correct-by-Construction) 이더리움의 지분증명, 캐스퍼 (Casper)
  • 46. • 초당 처리할 수 있는 transaction의 수(tps: transaction per second)가 제한적이며 높은 중복성으로 인해 EVM 자체의 성능이 매우 떨어짐. 이더리움이 널리 사용될수록 이더 리움 블록체인을 저장하고 전파하기 위해 필요한 저장공간 및 bandwidth 이 높아져 네 트워크의 분산화(decentralization)을 해칠 우려가 있음 • 현재 이더리움에서 가장 활발하게 연구되고 있는 확장성 솔루션은 라이덴(Raiden) 네 트워크, 플라즈마(Plasma) 및 샤딩(sharding) 등이 있음 확장성(scalability) 문제
  • 47. • 초당 처리할 수 있는 transaction의 수(tps: transaction per second)가 제한적이며 높은 중복성으로 인해 EVM 자체의 성능이 매우 떨어짐. 이더리움이 널리 사용될수록 이더 리움 블록체인을 저장하고 전파하기 위해 필요한 저장공간 및 bandwidth 이 높아져 네 트워크의 분산화(decentralization)을 해칠 우려가 있음 • 현재 이더리움에서 가장 활발하게 연구되고 있는 확장성 솔루션은 라이덴(Raiden) 네 트워크, 플라즈마(Plasma) 및 샤딩(sharding) 등이 있음 확장성(scalability) 문제
  • 48. • 초당 처리할 수 있는 transaction의 수(tps: transaction per second)가 제한적이며 높은 중복성으로 인해 EVM 자체의 성능이 매우 떨어짐. 이더리움이 널리 사용될수록 이더 리움 블록체인을 저장하고 전파하기 위해 필요한 저장공간 및 bandwidth 이 높아져 네 트워크의 분산화(decentralization)을 해칠 우려가 있음 • 현재 이더리움에서 가장 활발하게 연구되고 있는 확장성 솔루션은 라이덴(Raiden) 네 트워크, 플라즈마(Plasma) 및 샤딩(sharding) 등이 있음 확장성(scalability) 문제
  • 56. • 블록체인 상의 데이터는 모두 공개되어있기 때문에 사생활 보호가 제대로 이루어지지 않음 • CoinJoin, zk-SNARKs 및 ring signature와 같은 도구들이 사용됨 사생활 보호
  • 57. • 블록체인 상의 데이터는 모두 공개되어있기 때문에 사생활 보호가 제대로 이루어지지 않음 • CoinJoin, zk-SNARKs 및 ring signature와 같은 도구들이 사용됨 사생활 보호
  • 58. 블록체인 분석을 통한 자금흐름 추적
  • 59. • 블록체인 상의 데이터는 모두 공개되어있기 때문에 사생활 보호가 제대로 이루어지지 않음 • CoinJoin, zk-SNARKs 및 ring signature와 같은 도구들이 사용됨 사생활 보호 source: http://weuse.cash/2016/10/26/warning-dash-privacy-is-worse-than-bitcoin/
  • 60. source: http://www.independent.co.uk/arts- entertainment/books/news/wheres-the-brains-behind- wally-6261459.html based on What is zkSNARKs: Spooky Moon Math (https://blockgeeks.com/guides/what- is-zksnarks/) 월리를 찾아 라!
  • 61. source: http://www.independent.co.uk/arts- entertainment/books/news/wheres-the-brains-behind- wally-6261459.html based on What is zkSNARKs: Spooky Moon Math (https://blockgeeks.com/guides/what- is-zksnarks/) 영지식증명 zero-knowledge proof
  • 62. • 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이 없어져 비트코인의 채굴 집중화를 완화시킬 수 있음 • 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의 보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤 니티 내에서 많은 지지를 받기 때문임 • 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발 에 대한 인센티브의 부족 이더리움 거버넌스(Governance)
  • 63. • 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이 없어져 비트코인의 채굴 집중화를 완화시킬 수 있음 • 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의 보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤 니티 내에서 많은 지지를 받기 때문임 • 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발 에 대한 인센티브의 부족 이더리움 거버넌스(Governance)
  • 64. • 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이 없어져 비트코인의 채굴 집중화를 완화시킬 수 있음 • 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의 보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤 니티 내에서 많은 지지를 받기 때문임 • 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발 에 대한 인센티브의 부족 이더리움 거버넌스(Governance)
  • 65. • 이더리움이 작업증명(PoS) 방식으로 전환함에 따라 채굴자와 사용자의 구분이 없어져 비트코인의 채굴 집중화를 완화시킬 수 있음 • 협력 및 의사결정이 비트코인에 비해 순조로움. 이는 1. 이더리움이 비트코인의 보수적인 환경에 대한 일종의 반발에 의해 생겨났으며 2. 비탈릭 뷰테린이 커뮤 니티 내에서 많은 지지를 받기 때문임 • 문제점은 설립자인 비탈릭 뷰테린에 대한 지나친 의존도와 코어 프로토콜 개발 에 대한 인센티브의 부족 이더리움 거버넌스(Governance)
  • 66. 거버넌스 (Governance) Family Tree source: https://coinmetrics.io/papers/dissertation.pdf
  • 68. 암호화폐의 삼권 분립 source: https://medium.com/@FEhrsam/blockchain-governance-programming-our-future-c3bfe30f2d74
  • 69. If programming in the system is important, the metaprogramming of the system itself is most important.- Fred Ehrsan -
  • 70. Q & A
  • 71. • 코어 프로토콜 • 다양한 합의 알고리즘 • 암호경제학 • 스마트 컨트랙트 및 VM • 분산 네트워크 • 기타 Fundamental Research • 블록체인 개발자/비개발자 교육 프로그램 개발 Research Funding! theblockchainers@gmail.com