본문 바로가기

컴퓨터공학/네트워크13

시분할 다중화, 주파수 분할 다중화, 통계적 다중화 시분할 다중화 ( STDM : Synchronous Time-Division Multiplexing ) 하나의 선을 활용하되, 각 노드가 돌아가며 같은 시간 동안 데이터를 전송하는 방법. 공평성 UP => 모든 노드가 동일한 시간 동안 해당 자원(선)을 사용하기 때문. 효율성 DOWN => 선을 사용하지 않아도 되는 노드도 자기 차례가 되면 일정 시간 동안 해당 선을 차지고 있기 때문. Round-Robin => 모든 노드가 순서대로 돌아가며 같은 시간동안 작업을 하는 방식 역시 컴퓨터는 진보와 보수 마냥 효율과 공평성 사이에서 밸런싱을 잘해야 한다. :) 주파수 분할 다중화 ( FDM : Frequency-Division Multiplexing ) 하나의 선을 활용하되, 각 노드가 서로 다른 주파수를 .. 2019. 10. 23.
블록체인- 소프트 포크, 하드 포크 블록을 생성하다 보면 '충돌'이 발생하는 경우가 있다. A-B-C-D-E 이렇게 줄줄이 열차로 이어진 노드가 있다. 그런데 A와 E가 거의 동시에 블록을 생성하고 블록에 각자 내용을 기록해서 피어에 전송한다. 그러면 B는 A가 생성한 블록을 기록하고, D는 E가 생성한 노드를 기록할 것이다.(네트워크 상황 동일, 오류 없음 가정) 그리고 문제는 C다. C는 B가 전송한 블록체인과 D가 전송한 블록체인을 동시에 전달받는다. 이때 누구의 블록체인을 따를 것인가? 먼저, C는 둘 중 무거운 블록체 안을 따른다. '무겁다'라는 것은 블록이 더 길게 이어진 것, 더 많은 블록이 이어진 것을 따른다는 것이다. 한편, 이런 경우가 있다. A와 B가 있는데, A는 프로그램을 업데이트해서 과거에는 없던 새로운 규칙을 적.. 2019. 10. 18.
블록체인-해시 퍼즐, 작업증명 먼저 앞의 글에서 블록에 '기록'을 한다고 했는데, 이제 '누가'기록을 하는지 정해야 한다. 먼저 블록에 기록을 하려면 블록을 생성해야 한다. 이때 블록을 생성하는 작업은 어려워야 한다. 누구나 쉽게 블록을 생성한다면, (후에 좀 더 설명하겠지만)블록에 저장된 내용에 대한 신뢰도가 떨어지게 된다. 따라서 비트코인에서 택한 방법은 '해시 퍼즐'이라는 개념을 도입했다. '해시 퍼즐'이란 주어진 값보다 작은 값을 찾는 행위인데, 쉽게 생각하면 이런 것이다. 1~10까지 적혀 있는 공 중에서 10보다 작거나 같은 공을 찾을 확률은 100% 5보다 작거나 같은 공을 찾을 확률은 50% 1보다 작거나 같은 공을 찾을 확률은 10% 이다. 이처럼 매번 블록을 생성할 때마다 목표값이 주어지고, 각 개인은 특정한 식에 .. 2019. 10. 18.
블록체인-브로드캐스팅 브로드캐스팅 탈 중앙화 시스템에서 거래는 '브로드 캐스팅'을 통해 이루어진다. 중앙화 시스템(우리가 사용하는 은행을 예로들면)에서는 나의 거래 데이터를 중앙 서버에 전송한다. 이에 반해 탈 중앙화 시스템에서는 나의 거래 데이터를 나와 연결된 모든 노드(피어)에게 전송한다. 이렇게 탈 중앙화 시스템에서는 시스템에 참여하는 모든 노드가 서로 데이터를 전송한다. 이론상 모든 노드가 순서는 다르지만 모두 같은 데이터를 가지고 있어야 한다. 하지만 현실에서는 네트워크의 상황이나 네트워크 오류, 피어의 관계 등에 따라(데이터 전달 속도가 다르므로) 특정 시점에 모든 노드가 가지고 있는 데이터는 서로 상의할 수 있다. 이때, 데이터를 가지고 있다고 해당 데이터가 무조건 '기록'되는 것은 아니다. 먼저, '기록'이라는.. 2019. 10. 18.