Computing

    엔디언

    먼저 둘을 비교하기에 앞서 엔디언이란 무엇인가?엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte order)라 한다.엔디언은 보통 큰 단위가 앞에 나오는 빅 엔디언(Big-endian)과 작은 단위가 앞에 나오는 리틀 엔디언(Little-endian)으로 나눌 수 있으며, 두 경우에 속하지 않거나 둘을 모두 지원하는 것을 미들 엔디언(Middle-endian)이라 부르기도 한다.빅 엔디안은 최상위 바이트(MSB - Most Signficant Byte)부터 차례로 저장하는 방식이며,리틀 엔디안은 최 하위 바이트(LSB - Least Significant Byte) 부터 차례로 저장하는..

    해쉬함수란?

    해시함수해시함수는 임이의 길이를 갖는 메시지를 입력받아 고정된 길이의 해시값을 출력하는 함수이다.해시 함수를 사용하는 목적은 메시지의 오류나 변조를 탐기 위해, 즉 데이터의 무결성을 제공하기 위해 사용한다. 해시 함수의 특징어떤 입력 값에도 항상 고정된 길이의 해시값을 출력한다.눈사태 효과 : 입력 값의 아주 일부만 변경되어도 전혀 다른 결과 값을 출력한다.출력된 결과 값을 토대로 입력값을 유추할 수 없다. SHA(Secure Hash Algorithm)해시(Hash)의 종류에는 MD 알고리즘 및 SHA 알고리즘이 있습니다. 이번 포스팅에서는 비트코인에서 사용되는 알고리즘인 SHA256 함수에 대해서 알아보도록 하겠습니다. SHA(Secure Hash Algorithm)알고리즘은 미국 NSA에 의해 만들..

    합의 알고리즘

    블록체인 기술에 대하여 학습하고 학습한 내용을 정리하여 스팀잇에 포스팅을 진행하면 좋을 것 같아 포스팅을 시작하게 되었습니다.탈중앙화 Application(DApp)백엔드가 탈중앙화된 피어 투 피어(Peer-to-Peer) 네트워크에서 동작.소스가 오픈 소스인 일종의 인터넷 애플리케이션.어떠한 단일 노드도 탈중앙화 애플리케이션(DApp)에 대한 제어권을 가질 수 없음.​DApp은 기본적으로 피어 투 피어 네트워크에서 동작하기 때문에 인터넷에 연결된 어떤 컴퓨터라도 피어가 될 수있으므로 애플리케이션 데이터를 잘못된 값으로 변경하거나 다른 피어들과 올바르지 않은 정보를 공유하는 피어를 찾아내고 방지하는 것이 큰 도전 과제입니다.피어가 발행한 정보가 올바른지 검증하기 위한 방법이 일종의 합의 프로토콜, 합의 ..

    결정론적 알고리즘

    비결정론적 알고리즘 만들기[편집]어떤 알고리즘이 비결정론적으로 작동하게 하는 데는 여러 방법이 있다.입력 이외의 외부 상태를 알고리즘에 적용함[2]알고리즘이 시간에 민감하게 동작함[3]하드웨어의 오류를 이용하여 알고리즘 진행과정을 예상할 수 없는 방식으로 변화시키는 방법실제 프로그램에서는 순수하게 결정론적인 경우가 드물지만, 순수하게 결정론적이라고 생각하는 것이 여러모로 편리하다. 이런 이유로 프로그래밍 언어, 특히 함수형 언어의 경우, 미리 지정된 경우가 아니면 위와 같은 상황을 최대한 피해야 한다. 이런 이유로, 결정론적 알고리즘을 가끔 순수함수(purely functional)라고 부르기도 한다.결정론적 알고리즘의 문제점[편집]어떤 문제는 결정론적 알고리즘을 찾기 어렵다. 예를 들어, 어떤 수가 소..