BlockChain/CodeStates BlockChain 교육
블록체인 질문(2)
Lalabla
2022. 3. 3. 14:13
반응형
퍼블릭 블록체인, 프라이빗 블록체인, 컨소시움 블록체인의 차이점은 무엇인가? 또 하이브리드 블록체인이라고 하는것은 무엇인가?
- 퍼블릭 블록체인은 개방형 블록체인을 의미하며 누구나 트랜잭션을 생성할수 있다.
- 프라이빗 블록체인은 서비스 제공자에게 검증받은 사용자만 참여할 수 있는 폐쇄성 블록체인을 의미하며 퍼블릭 블록체인과는 상대되는 개념으로 중앙화된 플랫폼이라는 특징을 가지고 있다.
- 컨소시엄 블록체인은 퍼블릭 블록체인과 프라이빗 블록체인의 중간 형태로 같은 목적을 가지고 있는 여러 기관이 하나의 컨소시엄을 구성하여 그 안에서 작동하도록 만든 블록체인을 의미한다.
- 하이브리드 블록체인은 컨소시엄 블록체인처럼 퍼블릭과 프라이빗 블록체인을 서로 연결하여 각각의 장단점을 보완해서 만든 블록체인을 의미하며 하이브리드 블록체인의 종류로 컨소시엄 블록체인이 있다고 말할 수 있다.
프라이빗 블록체인인 하이퍼렛져 패브릭에서는 왜 UTXO(Unspent Transaction Output)를 사용할까?
- 이중 지불을 방지할 수 있기 때문이다. 트랜잭션이 생성되면 UTXO는 검증을 받은 후 Tx Pool에 들어간다. 검증을 받을 때, UTXO는 일회성값이기 때문에 Tx Pool에 동일한 값이 있으면 이중지불로 간주하고 해당 거래를 무효화 시킬 수 있다.
하이퍼레저와 퍼블릭 블록체인의 차이는 무엇인가?
- 하이퍼레저는 스마트 컨트랙트를 구현할 수 있는 프라이빗 블록체인으로 금융, 사물인터넷, 물류 등 기업 비즈니스를 위한 블록체인이다.
왜 블록체인 네트워크들이 서로 다른 합의 알고리즘을 사용하는가?
- 블록체인을 사용하는 목적, 용도가 서로 다르기 때문이라고 생각한다. 합의 알고리즘의 방식에 따라 블록체인의 속도, 안정성, 확장성 같은 성능들이 달라지며 블록체인을 어떻게 사용할 것인지에 따라 알맞은 합의 알고리즘을 선택하면 된다고 생각한다.
일반적인 원장(중앙집중 원장)과 블록체인 원장의 차이점은 무엇인가?
- 중앙집중 원장은 하나의 중앙기관에서 모든 정보를 처리하는 것을 의미 하는데, 이 중앙집중 원장은 혼자 독점적으로 정보를 처리하기때문에 과도한 관리, 중개 수수료가 발생할 수 있으며(은행), 정보를 처리할 때 시간이 많이 걸릴수 있고, 하나의 데이터베이스에 모든 정보가 저장되어 있기 때문에 보안에 취약하다는 단점이 존재한다. 블록체인 원장은 이러한 단점들을 해결할 수 있으며 정보를 주고받을때 중개자 없이 사용자끼리 직접 거래내역을 공유하며, 데이터는 블록체인에 분산되어 저장되기 때문에 해킹의 위험이 적어 보안성이 높아지고 중앙화된 시스템을 사용했을때에 비에 비용이 적다는 장점이 있다.
이더리움에서 트랜잭션 Nonce가 필수인 이유는? 비트코인은 왜 트랜잭션 Nonce가 없는가?
- 이더리움은 어카운트 기반 시스템으로 Nonce값을 통해 Tx가 한번만 처리되도록 구현되어있기때문에 필수요소이고, 비트코인은 UTXO 방식으로 Tx가 한번만 처리되도록 구현되어있기 때문에 비트코인은 Nonce를 가지고 있지 않다. 이것은 방식의 차이라고 볼 수 있다.
비트코인에서 트랜잭션 검증은 어떻게 이루어지는가?
- 공개키와 개인키를 사용하여 검증이 이루어지는데, 데이터가 들어오면 노드는 해당 데이터를 개인키로 암호화 하여 전자서명을 진행한다. 그리고 다른노드들에게 원본 데이터와 전자서명된 데이터를 전송한다. 두 데이터를 받은 다른 노드들은 보낸 노드의 공개키를 가지고 복호화 하여 원본 데이터와 비교를 하게 되고, 데이터 무결성을 확인한다. 해당 Tx의 내용이 정상으로 판단되면 블록체인에 해당 내용을 업데이트 하고, 이때 문제가 발생하면 해당 Tx를 무시한다.
이더리움에서 트랜잭션 검증은 어떻게 이루어지는가?
- 이더리움은 비트코인과는 다르게 타원곡선디지털서명(ECDSA)알고리즘을 이용하여 Tx안에 서명을 만들고 전송한다. 검증자는 Tx에 있는 서명을 통해 공개키를 도출해 내고, 이 공개키로 서명을 검증한다.
PoW와 PoS의 가장 큰 차이점은 무엇이라고 생각하는가?
- 네트워크 비용 소비량 이라고 볼 수 있다. PoW는 경쟁을 통해 블록을 생성하기 때문에 불필요한 자원이 많이 낭비되고 있으나, PoS는 지분을 많이 가지고 있는 사용자에게 블록의 생성권한을 부여하기 때문에 PoW보다 네트워크 비용이 상대적으로 많이 줄었기 떄문에 경제적이고 친화적이다.
DPoS는 무엇인가?
- DPoS(Delegated Proof of Stake)는 위임 지분 증명으로, PoS에서 변형되었다. 시스템의 지분을 가진 각 노드들이 투표를 통해 Tx의 유효성 검사를 다른 노드에 위임하여 증명하는 방식이다. 대표적으로 EOS가 있다. PoS에 비해 많은 Tx를 처리하고, PoW에 비해 낮은 비용으로 동작하며 하드포크의 위험이 낮다.
PBFT는 무엇인가?
- PBFT(Practical Byzantine Fault Tolerance)는 프랙티컬 비잔틴 장애 허용을 의미하며, BFT 비잔틴 장군 문제를 해결하기 위한 방법이다. 악의적인 노드가 존재해도 블록의 생성과 전송이라는 큰 흐름에는 문제가 없도록 하는 것이 목적이다.
이더리움에서 주소를 Public Key 자체가 아니라, 이더리움 경우 20byte로 줄여서 사용하는 이유와 장점은 무엇인가?
- 사용자 친화적인 관점에서 접근하기 위함이고, 암호화 되어있기 때문에 긴 byte를 용할 이유가 없기 때문이다.
UTXO 기반의 블록체인과 어카운트 기반의 블록체인의 차이점과 장단점은 무엇인가?
- UTXO와 어카운트 방식은 이중 지불문제를 공통적으로 해결하고 있지만 각각의 차이점이 존재한다. UTXO 기반의 블록체인은 Tx를 실행할 때 마다 새로운 UTXO가 만들어지기 때문에 보안과 익명성에 뛰어나지만 새로운 UTXO를 계속 만들어내야하기 때문에 복잡성이 높아진다. 어카운트 기반의 블록체인은 UTXO보다 설계가 간단하고 직관적이기 때문에 단순성이 높고, 전송 계정이 거래 비용을 지불하기에 충분한 잔액을 가지고 있는지만 확인하면 되기 때문에 효율성이 높다고 볼 수 있다.
비트코인에서 UTXO는 무엇인가?
- 비트코인에서 UTXO는 이중 지불 문제를 처리하기 위한 지갑이다. 비트코인은에서 지갑은 UTXO의 집합으로 이루어져 있다.
비트코인은 어떤 언어로 이루어져 있는가? 이더리움은 어떤 언어로 이루어져 있는가?
- 비트코인은 기본적으로 Tx를 처리하기 위해 스택 기반의 실행언어인 스크립트 언어로 이루어져 있는데, 스크립트 언어는 블록체인 위에서 다양한 기능을 사용하기엔 제한적이고 프로그래밍으로 모든 것을 구현하지 못하는(튜링 불완전)한계가 존재한다.
- 그 한계를 극복하기 위해 이더리움이 등장했으며, 이더리움은 튜링완전언어를 제공한다.
반응형