728x90
반응형

컴퓨터, IT 지식 56

확률론, Statistics 110 : 확률과 셈 원리 (Probability and Counting)

표본 공간은 실험에서 가능한 모든 결과의 집합이다. A sample space is the set of all possible outcomes of an experiment. 사건은 표본 공간의 부분집합을 의미한다. An event is a subset of the sample space Naive definition of Probability P(A) = the number of favorable to A outcomes / the number of possible outcomes 모든 경우의 수가 발생하는 확률이 같아야 한다. 그렇지 않으면 치명적인 오류가 생긴다. 내일 비가 올 확률은 50%이다. 왜냐하면 오거나 안오거나니까..? 이게 맞는 말 같이 보이는가? 절대 아니다. 다시 묻자. 그렇다면 내..

블록체인을 이해하기 위한 배경지식 - 합의(2)

이전 글에서 다루지 못했던 작업 증명과 지분 증명을 알아보자. 앞서 public에서 원활하게 합의에 이를 수 있었던 이유는 이익이 커지는 방향으로 행동한다는 가정때문이었다. 보상으로 암호화폐를 제공해서 그렇다고 말했다. 그렇지만 작은 이익을 포기하고 큰 조작을 하려는 무리들이 있기 마련이다. 항상 가정에는 예외가 있는 법 public 환경에서는 항상 그런 무리들이 존재하기 마련이다. 그래서 블록체인에서는 이전에 말한 비잔티움 장애를 이용하여 합의 형성을 이끌어내는 과정을 적용하려고 한다. BFT 알고리즘이라고 한다. ++ Bizantine Fault Tolerance의 약자다 퍼블릭 체인의 대표적인 비트코인은 위 알고리즘을 적용하여 합의를 잘 이끌어내고 있다. ??? BFT가 뭔데라고 할 수 있다. BF..

블록체인을 이해하기 위한 배경지식 - 합의(1)

블록체인은 모두가 같은 데이터를 가진다고 했다. 블록체인 네트워크를 형성하기 위해 노드는 합의를 이끌어내야 한다. 이를 "합의 형성"이라고 부른다. 어떻게 분산 컴퓨팅 과정에서 합의를 이끌어내는지 알아보자 분산 컴퓨팅이란 여러 번 설명했듯이 여러 컴퓨터가 동시에 연산을 수행하고 역할을 나누어 빠르게 결과를 이끌어내기 위한 연산 방법 중 하나다. 하지만 블록체인에서는 역할을 나누는 형태로 사용하지 않는다. 모든 노드가 공평하고 동일한 역할을 한다고 앞서 말했다. 즉, 블록체인 네트워크에서 분산 컴퓨팅에선 역할을 나누지 않고 모든 노드가 같은 연산을 수행한다. -> 같은 연산이니까 같은 결과가 나와야 한다. 하지만 결과를 보장할 수 없다.(특히 public에서) 왜??? 연산이 같은데 어떻게 결과가 틀리냐?..

블록체인을 이해하기 위한 배경지식 - 파일 관리 방법

블록체인의 기본적인 기술을 파악했으니 수많은 연산을 거쳐 생성된 데이터들을 블록체인은 어떻게 관리하는지 알아보자 "Content Address" 라는 개념을 이용하는데 비단 블록체인에만 적용되는 것은 아니니.. 알아두면 좋다. P2P를 앞서 알아봤듯이 분산 데이터 스토리지는 말 그대로 P2P를 이용해 여러 곳에 데이터를 저장하는 것이다. 블록체인에서는 트랜잭션만 기록한다고 했다. -> 일반적으로는 다른 파일을 저장할 수 없다. ** 또한 관리자라도 한 번 올려놓은 것은 지워지지 않기에 굳이 다른 파일을 올리려고도 하지 않는다. 하지만 이로인해 신뢰성을 얻는다고 했다. 즉, 신뢰도가 필요한 파일의 경우는 올려놓을 수도 있게해야 하지 않을까??? 라는 의문이 든다. 맞다. 이러한 의문을 가진 최초의 사람이 ..

블록체인을 이해하기 위한 배경지식 - CAP

P2P를 알아봤으니 CAP를 연관지어서 알아볼 생각이다. CAP부터 알아보고 연관성을 알아보자 CAP 일반적으로 이 정리는 인터넷을 통해서 서비스를 제공하고 싶다면 서비스 제공자가 보장해야 할 3가지 특성을 말한다. C는 Consitency, 일관성이다. 사용자는 항상 최신 정보를 서비스 받는 것을 보장한다. A는 Availability, 가용성이다. 서비스에 문제가 생기지 않음, 즉, 서비스 중단이 되지 않음을 보장하는 것이다. P는 Partition Tolerance, 분할 내성이다. 분산 시스템에서 서비스를 운용한다면 네트워크의 어느 한 지점과 연결이 끊어져도 서비스가 끊겨서는 안된다. **네트워크 연결이 끊어지지 않음을 보장하는 것과 다르다. 이에 대한 정리도 나왔다. ++ CAP 정리는 UC, ..

블록체인을 이해하기 위한 배경지식 - P2P

분산 네트워크 시스템의 특징을 알아보려고 한다. 블록체인은 분산 시스템을 이용했다. 알아보자 분산시스템이란 많은 컴퓨터가 함께 동작하는 시스템을 말한다. 그 중에서 P2P를 알아볼 것이다. 2개 이상의 노드가 서로 1:1 (일대일) 통신하는 방법을 바로 P2P라고 한다. **Peer to Peer 방식으로 영어의 약자에서 2가 들어가면 거의 모두 to를 two로 쓴 것이라고 봐도 된다. P2P 방식으로 연결된 노드가 많이 모이면 P2P 방식으로 연결된 상태의 P2P 분산 네트워크가 형성되는 것이다. P2P 분산 네트워크는 왜 사용하는 걸까? P2P 분산 네트워크에 참여하는 노드는 원칙적으로 같은 역할을 수행한다. 즉, 일부 노드만 특별한 역할을 가진다거나 그럴 수 없다. 때문에 단일 장애점, Single..

블록체인을 이해하기 위한 배경지식 - 암호기술

미래의 블록체인은 어떤 기술을 통해 구현하게 될까? 어떤 암호기술을 통해 보안성을 얻을까?? 알아보자 물론 진짜 사용될 지는 모르겠지만.. 미래는 모르는 것 링 서명, Ring Signature라는 것이 있다. 2001년에 처음 등장했다고 하는데 "신원을 밝히지 않고 내부 고발할 때 최적인 기술"이라고 한다. ++ Ring 토폴로지 같은 것들이 많이 쓰이는 것 같다. 즉, 서명자가 그룹의 한 명인 것은 알지만 누구인지 특정되지 않는다는 점에서 좋다. 블록체인에서도 암호화폐를 보낸 사람의 익명으로 사용할 수 있겠지? -> 때문에 돈세탁에 악용될 수도 있긴함. 암호화한 데이터를 복호화하지 않고 각종 데이터 연산에 사용할 수 있을까??? 이러한 데이터 연산을 은닉, Concealement라고 부르면서 현재 개..

블록체인을 이해하기 위한 배경지식 - 타임스탬프

타임스탬프는 말 그대로 시간 도장..? ㅋㅋㅋ 뭔지는 몰라도 들으면 지정된 시간을 찍어주는 도구란 것이라고 짐작이 간다. 알아보자 타임스탬프는 앞서 말한 전자 서명과 전자 인증서 같이 어떤 암호 기술을 이용하는 것은 아니다. 다만 전자 서명에서 시간을 근거로 디지털 문서가 존재한다는 것을 증명하는데 쓰인다. 물론 블록체인에서도 쓰인다. 타임스탬프는 파일을 새로 만들거나 내용을 변경했을 때 OS가 자동으로 부여하는 시각이다. **시각은 어느 순간을 말한다 ++ 이 시각은 협정 세계시(UTC) 1970년 1월 1일 0시 0분 0초를 기준으로 관리한다. ?? 근데 나라마다 시간이 다른데 어떻게.. ? 전 세계의 컴퓨터들은 독립적으로 작동하므로 시각도 독립적으로 관리해야한다. 물론 네트워크에 연결된 컴퓨터의 시..

블록체인을 이해하기 위한 배경지식 - 전자 인증서

이전 글에서 전자 서명으로 본인확인을 할 수 있다고 했는데 맹점이 하나 있었다. 본인이 직접 정보를 제공하지 않는 이상 그 파일만으로는 본인임을 알 수 없다. 그래서 나온 대안이 바로 전자 인증서이다. 본인의 전자 서명인이 확인할 때 제 3자에게 증명을 받는 것이다. 인증 기관, Certification Authority를 이용하는 것이다. 인증 기관은 공개 키 암호의 공개 키 소유자를 사람이나 조직에 연결해 관리하는 구조를 가진다. 공개 키의 제공자가 실 공개키 소유자, 다시 말해서 우리가 거래하고자 하는 대상인지를 확인해준다는 말이다. ** 인증 기관은 누구나 신뢰할 수 있다고 생각되는 곳이다. ++ 어차피 그렇지 않으면 누구도 인증 기관을 이용하지 않을 것이니까 인증 기관은 전자 서명이 본인의 것임..

728x90
반응형