목록 IT 관련 소식 (23)
IT와 비즈니스를 연결하다.
1. 합의 알고리즘은 블록체인의 거래처리 성능, 소요 에너지, 보안, 개방성 등에 직간접적으로 영향을 미치는 만큼 해당 사업이 어느 가치에 중점을 두는지에 따라 합의 알고리즘의 형태도 다름 2. 합의 알고리즘 개요 블록체인은 데이터베이스의 상태를 유지하기 위해 개인간에 전체 데이터베이스를 공유하는 분산장부시스템 블록체인은 트랜잭션 정보를 기록한 일종의 분산 장부로서 각 노드가 자신의 장부를 가지고 있기 때문에, 각 장부의 내용은 동일하게 유지되어야 하는 문제가 있음 합의 문제(Consensus Problem) '이중 지불 문제' 전 재산이 1달러인 A가 1달러를 B에게 송금한다는 트랜잭션을 주변 노드에게 보내면서 C에게 1달러를 송금한다는 트랜잭션을 동시에 보낼 경우 블록체인 시스템에서 어느 것이 유효한..
1. 소프트포크란 유효했던 블록/거래를 유효하지 않게 만드는 경우 유효하지 않았던 블록/거래를 유효하게 하는 경우는 없음 기존 노드는, 여전히 새롭게 생성된 블록을 유효한 것으로 받아들여서 이전버전과 호환(backward-compatible)됨 채굴자의 다수(보통 51%)이상이 동의해서 새로운 규칙을 적용할 경우(채굴자의 소프트웨어를 업그레이드 하는경우) MASF라고 부름 채굴자가 아니라, 일반 사용자들이 진행하는 소프트포크는 UASF라고 부름 이전과 호환이 됨(backward-compatible) 모든 노드가 아닌 다수(보통 51%)만 동의해도 진행이 가능 두개의 분기로 영원히 나뉘는 게 아님(일시적으로만 나뉨) 세그윗을 적용한 블록을 채굴해야 한 블록에 더 많은 거래를 포함시키고, 더 많은 수수료를 ..
1. 하드 포크와 소프트 포크는 둘다 버전 업그레이드하는 것을 말함 2. 유저가 반드시 버전을 업그레이드를 해야 하느냐 아니냐에 따라서 소프트 포크와 하드 포크로 나눔 3. Soft Fork 신버전과 구버전을 동시에 사용해도 문제가 없는 버전 업그레이드를 하는것 블록체인에 포크가 발생하지 않게 이루어지는 버전 업그레이드 구버전을 사용해도 정사적인 사용이 간으함 조치사항 마이너는 반드시 소프트 포크, 즉 신버전으로 업그레이드를 해야함 일반 유저는 소프트 포크를 하지 않아도, 구버전을 사용해도 정상적으로 동작함 4. Hard Fork 하드 포크는 반드시 신버전으로 업그레이드를 해야함 블록체인에 포크가 발생을 하기 때문에 강제적으로 신버전으로 업그레이드를 해야함(강제 업데이트 버전) 블록체인에 영구적인 포크가..
1. 블록체이란? 모든 노드가 동일한 기록을 저장하는 수평적인 분산 원장 네트워크 특정한 합의 알고리즘에 기반하여 새로운 블록을 생성함 블록체인 네트워크가 성장하면 할수록 이를 유지하기 위해 더 많은 채굴과 시간 자원을 필요로 함 2. 블록체인 네트워크의 성장에 걸림돌이 되는 '블록 용량의 한계' 블록체인 밖의 데이터를 내부로 가져올 때 생기는 '오라클 문제' 3. 블록 용량 한계로 인한 대용량 데이터 저장 및 전송 불가 블록 하나 당 저장할 수 있는 데이터의 양이 제한적 각 블록체인 네트워크의 용도에 맞게 어떤 데이터를 얼마만큼 저장할 것인지 신중히 결정해야함 주로, 타임스탬프, 이전 블록의 해시값, 거래 내역 등의 데이터가 블록에 담김 확장성 문제에 접근하는 관점은 온체인(On-Chain)과 오프체인..
1. 컨센서스(Consensus)는 무엇인가? 악의적인 상황이 발생하더라도 네트워크를 올바른 방향으로 이끌고자하는 다수의 노드들이 상호 검증을 거쳐 올바른 블록 생성을 이끌어내는 프로세스와 알고리즘 어떤 컨센서스 알고리즘을 사용하는지는 블록체인의 기술려과 경쟁력으로 여겨짐 비트코인, 이더리움: PoW(Proof-of-Work)라는 작업증명 방식의 컨센서스 알고림즐을 사용하고 있음 이오스: 스팀이나 비트웨어와 같은 DPoS 방식의 컨센서스 알고리즘을 사용하고 있음 이더리움은 PoW의 단점을 개선하기 위해 컨센서스 알고리즘을 PoS(Proof-of-Stake)라는 지분증명 방식으로 변경하는 것을 준비하고 있음 기본적으로는 PoW, PoS, DPoS가 있음 2. 컨센서스(Consensus)의 종류에는 무엇이 ..
ERC20란 무엇인가? 이더리움 블록체인 상에서 발행되는 토큰의 표준 각 ERC20마다 계좌가 있음 이더리움 블락체인 위에서 돌리게 됨 토큰 간 혹은 ERC20 표준을 사용하는 Dapp간의 상호운용성(interperability)을 증진 다른 토큰 통합시 오류/버그 가능성을 줄임 토큰을 사고 파기 위해 해당 토큰의 계약(contract)과 상호작용 계약코드 여러개의 표준화된 함수가 존재하여 함수를 호출함으로써 토큰을 거래 표준화된 함수를 정의함으로써 토큰과 상호작용하는 표준화된 기준을 만듦 totalSupply() 토큰의 총 발행량을 확인 balanceOf(Address_owner) 특정 주소의 토큰 보유량 확인 transfer(address_to, unit256_value) 특정 주소로 토큰 전송 저장..
비트코인의 문제점 비트코인 스크립어트 언어의 단점 튜링 불완전성(Turing-Incompleteness) - script 언어라 단순함 Value-blindness - 100중에 50을 못 보냄 Lack of state - 상태를 저장 못함(제한적) Blockchain-bindness 작업증명방식의 합의 메커니즘 지나치게 큰 에너지 소모 채굴자들의 중앙화 늦은 거래처리속도 - 확장성 문제 의사결정구조 →이더리움은 비트코인의 한계를 극복하기 위해 만들어짐 2. 비트코인 VS 이더리움 비트코인 핵심개념: 전자화폐 설립자: 사토시 나카모토 출시년도: 2009년 1월 언어: 스크립트 언어 합의 메커니즘: 작업증명(PoW: Proof of Work) 블록생성시간: 약 10분 노드 수: 7490개(6월 15일 기준..
1. PoS란 무엇인가요? PoS는 Proof of Stake(자산증명)의 줄임말 자산을 많이 가진 사람에게 분산화된 비허가성 데이터베이스인 블록체인을 업데이트하기 위한 권한을 부여하는 합의 메커니즘임 2. PoS(작업증명, Proof of Work) 채굴자(miner)가 해시연산을 반복적으로 시행하는 전문 하드웨어(채굴기)를 사용하여 작업증명(PoW)을 생성함 이를 네트워크에 전파하여 블록을 생성함 연산능력에 비례하여 데이터베이스 업데이트 권한 획득 3. PoS(자산증명, Proof of Stake) 검증자(validator)가 자신이 현재 보유하고 있는 자산(stake)의 양에 비례하여 데이터베이스 업데이트 권한 획득 블록에는 일련의 검증자가 자신의 자산을 보유하고 있다는 자산 증명의 리스트가 들어있..