[블록체인] 심화 - 채굴,노드,지갑,합의 알고리즘 - 복습/질문

dhkim·2022년 7월 4일
0

블록체인 뽀개기

목록 보기
10/22
post-thumbnail

🔥 퍼블릭,프라이빗,컨소시움 의 차이는 무엇인가요? 또 하이브리드 블록체인이라고 하는 것은 무엇인가요?

일단 3가지의 가장 큰 차이점은 중앙화가 얼마나 되어 있냐의 차이이다.

퍼블릭은 완전히 탈중앙화,
프라이빗은 중앙화,
컨소시엄은 일부 중앙화 라고 정의를 내렸다.

컨소시엄을 다른이름으로 하이브리드 블록체인이라고도 하며 이유는 퍼블릭, 프라이빗의 특성을 모두 가지고 있기 때문이다.

퍼블릭 블록체인 같은 경우에는 일반적으로 모든 사용자가 네트워크를 공유하기 떄문에 안전하지만 속도가 굉장히 느리고

그리고 코인이라는 보상체계가 주어진다.
프라이빗 블록체인은 특정 기업에서 주로 활용이 된다.

🔥 왜 블록체인 네트워크들이 서로 다른 합의 알고리즘을 사용하나요?

나는 블록체인이 라는 것을 하나의 인터넷 사회라고 생각을 한다.

정부가 있느냐 없느냐의 차이로 퍼블릭, 프라이빗으로나뉘어 진다고 이해를 하고 생각을 하는 사람이다.

서로 다른 합의 알고리즘을 사용하는 이유는 이렇게 설명을 할 수가 있다.

블록체인 생태계는 각자의 생태계를 가지고 있을 것이다.

미국, 한국, 필리핀, 독일 등 각각 다른 생태계를 가지고 있는 것처럼
이렇게 각자 생태계를 가지고 있는 네트워크들은 각자 규칙이 있을 것이다.

생태계가 다르기 때문에 각자의 규칙도 다를 것이다.
이러한 이유로 나는 서로 다른 합의 알고리즘을 사용 한다고 이해하고 생각한다.

🔥 일반적인 원장과 블록체인 원장의 차이점은?

일반적인 원장은 중앙원장으로 생각을 하겠다.

제3의 개입자가 있냐 없냐의 차이이다.

일반적인 원장의 경우에는 데이터유지비용, 시간, 보안 문제가 있지만

블록체인 원장은 분산원장으로 위와 같은 단점을 모두 커버 할수 있다.

대개 분산원장은 퍼블릭을 지칭하는데 퍼블릭은 속도가 느리다는 단점이 있다.
반대로 프라이빗 블록체인은 중앙원장과 많이 다른 것이 없다고 생각을한다.

🔥 이더리움 과 비트코인의 트랜잭션 검증법, 이더리움의 Nonce

일단 두 코인 모두 이중지불 문제를 해결하기 위해서 시도한 것이다

비트코인 같은 경우에는 UTXO라는 방식을 통해서 해결을 하엿다.

쉽게 말해 사용되지 않는 트랜잭션을 각각으로 보관을 한다.
이더리움은 Nonce를 활용하여 이중지불 문제를 해결 한다.

개인 사용자마다 Nonce값이 다르며 초기 사용자의 Nonce값은 0이며
이후 트랜잭션이 발생할때마다 순차적으로 1씩 증가하게 된다.
만약 Nonce값이 3인데 5인 트랜잭션을 전송하면 유효성 검사에서 탈락을 하게 된다.

왜냐면 다음 Nonce값은 4이기 때문에
이렇게 탈락된 트랜잭션은 멤풀이라는 곳에 보관이 되었다가 후에 Nonce값이 4인 트랜잭션이 전송이 되면 함께 포함되어 전송을 한다.

🔥 PoW와 PoS의 가장 큰 차이점은 무엇이라고 생각하나요?

Pow는 누가 오늘 일을 열심히 하였는가

Pos는 누가 우리 회사에 가장 애정이 많은가

이런 차이라고 생각을 한다

Pow는 즉각즉각 그 상황에서 가장 뛰어난 일을 한 사람을 채굴자로 선정하고 보상을 지급하지만

Pos는 누가 지분을 가장 많이 가지고 있냐에 따라서 보상이 지급이 된다.

둘다 모두 독점을 할수 있다는 가능성을 배제할 수는 없다.

🔥 DPoS는 무엇인가요?

Pos와 유사하다.

Pos는 모든 지분을 가진 참여자들이 참여를 하지만

DPos는 지분을 가진 참여자중 대표자를 선정해 대표자를 통해서 의사결정을 수행 하는 것이다.

즉 민주주의에서 대통령 또는 정치인을 선발해 운영을 하는 것과 같다.

주로 3세대 암호화폐에서 사용을 한다.

🔥 PBFT는 무엇인가요?

아직 학습을 하지 않아서 구글링을 하였다.

이 부분에 대해 먼저 알려면 비잔틴 장군 문제

🌪 비잔틴 장군 문제

5명의 장군이 있다.

동시에 공격을 하여야 하는데 서로 모이기가 힘들어 전령을 통해서 통신을 하려고 한다.

하지만 전령이 첩자일 수도 있다는 가능성이 있다
이러한 문제를 비잔틴 장군 문제 라고 한다.

이런 문제를 해결 하기 위해서 PBFT, BFT가 등장하게 되었다.

두 경우 모두 장애가 있더라도 전체의 3분의 1을 넘지 않으면 시스템이 정상 작동을 하는 합의 알고리즘이다.
즉 다수결의 원칙을 따르는 합의 알고리즘 이라고 할수가 있다.

블록체인에서는 주로 PBFT가 더 많이 사용이 된다.

단순히 BFT보다 좀다 개선된 알고리즘이다.
이 부분은 후에 좀더 자세히 다루어 보겠다!!

블록체인이 가질수 있는 악질적인 문제이기 떄문에

🔥 UTXO 기반의 블록체인과 어카운트 기반의 블록체인의 차이점과 장단점은 무엇인가요?

차이점은 지갑을 사용하냐 안하냐의 차이이다.

UTXO같은 경우에는 대표적으로 비트코인이 있고 어카운트 같은 경우에는 대표적으로 이더리움이 있다

UTXO의 장점은 일단 안전하고, 이중 지불을 완전히 차단할 수 있다는 점이지만
단점으로는 너무 많은 트랜잭션을 처리하게 될떄 불필요한 수수료를 제공해야 할수도 있다

어카운트 같은 경우에는 편리하교 간단하다는 장점이 있지만
단점으로는 이중 지불 문제를 겪을수도 있다는 점이다.

이더리움은 Nonce값으로 이를 해결하고 있다.
두가지 방법중 어떤 점이 우수하다고 할수는 없다.

상황에 맞게 사용을 해야 한다.

🔥 프라이빗 블록체인인 하이퍼렛져 패브릭에서는 왜 UTXO를 사용할까요?

이 부분에 대해서는 내 사견이 들어가 보겠다

일단 우리가 알다시피 프라이빗, 하이퍼렛져 등등은 기업용을 위한 블록체인이다.

누구보다도 보안과 안정성을 중요시하여 이 부분에 매력을 느껴서 블록체인 기술을 사용할 것이라고 생각을 한다.

그럼 굳이 왜 UTXO를 사용할까?(논스도 있는데;;)

단순하다 안전성과 보안성 면에서 더 뛰어나기 떄문이다.

항상 거래가 일어날떄마다 새로운 공간을 만들어 내야 하기 떄문에 익명성이 보장되며 더불어 안전성도 동시에 보장이 되기 떄문에 사용하지 않나 라고 생각을 한다.

🔥 트랜잭션 검증 순서

🔨 트랜잭션 데이터를 개인키로 암호화를 진행한뒤 전자서명을 진행한다.

🔨 암호화한 데이터와 전자서명 데이터를 노드들에게 전송을 하게 된다.

🔨 수신받은 노드들은 송신노드의 공개키를 이용해서 전자서명된 데이터를 복호화 하고

🔨 이후 수정된 데이터가 있는지 무결성을 검증한다.

profile
Blockchain developer

0개의 댓글