해시(hash)란 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑(mapping)한 값이다. 이를 이용해 특정한 배열의 인덱스나 위치나 위치를 입력하고자 하는 데이터의 값을 이용해 저장하거나 찾을 수 있다. 기존에 사용했던 자료 구조들은 탐색이나 삽입에 선형시간이 걸리기도 했던것에 비해, 해시를 이용하면 즉시 저장하거나 찾고자 하는 위치를 참조할 수 있으므로 더욱 빠른 속도로 처리할 수 있다. 해시값이라고도 한다. '해쉬'가 아니라 '해시'가 올바른 표기법이다. 중국어로는 하시(哈希, 합희, hā xī)라고 한다. 해시는 암호학에 있어서 매우 중요한 요소이며, 블록체인(blockchain)을 구현하기 위한 핵심 기술이다.
무결성[편집]
해시는 특정한 데이터를 이를 상징하는 더 짧은 길이의 데이터로 변환하는 행위를 의미한다. 여기서 상징 데이터는 원래의 데이터가 조금만 달라져도 확연하게 달라지는 특성을 가지고 있어 무결성을 지키는 데에 많은 도움을 준다. 예를 들어 'A'라는 문자열의 해시와 'B'라는 문자열의 해시는 고작 한 알파벳이 다를뿐이지만 해시 결과값은 완전히 다른 문자열이 나오게 된다.[1]
보안성[편집]
해시는 기본적으로 복호화가 불가능하다는 특징이 있다. 이는 당연히 입력 데이터 집합이 출력 데이터 집합을 포함하고 있으므로, 특정한 출력 데이터를 토대로 입력 데이터를 찾을수 없기 때문이다. 즉, 동일한 출력 값을 만들어낼 수 있는 입력 값의 가짓수는 수학적으로 무한개라고 볼 수 있다. 만약에 해시 결과 값에 대해서 복호화를 수행할 수 있다면, 이는 압축률이 무한인 압축 알고리즘과도 같다. 해시는 애초에 복호화를 수행할 수 없도록 설계되었으며, 실제로도 해커가 쉽게 복호화를 할 수 없다는 점에서 강한 보안성을 가진다.[1]
비둘기집 원리[편집]
대부분의 해시 알고리즘들은 항상 고정된 길이의 결과 문자열을 반환한다는 특징을 가지고 있다. 대표적인 해시 알고리즘인 MD5로 예를 들면, 128비트로 구성된 결과값, 즉 32자리의 16진수 값을 반환한다. 이 문자열의 길이는 변하지 않는다. 한 비트 단위는 0 혹은 1이라는 두 가지 경우의 수를 가진다는 점에서 128비트는 총
만큼의 경우의 수를 표현할 수 있다. 이는 약 340 간(
)에 해당하는 매우 큰 숫자이다. 단순히 무차별 대입으로 해시 결과가 동일한 두 입력 값을 찾기 위해서는 개인용 컴퓨터로는 상당히 많은 시간을 필요로 하게 된다. 하지만 아무리 큰 숫자라고 하더라도 무한은 아니라는 점에서 특정한 두 입력 값의 결과 해시 값이 동일한 경우가 발생할 수 있다. 예를 들어 입력 값의 개수가
를 넘어가게 되면 최소한 한 쌍의 입력 값은 그 결과 값이 동일할 것이다. 더 간단히 설명하자면 비둘기가 5마리일때 상자가 4개밖에 존재하지 않는다면 아무리 비둘기를 균등하게 분배해도 최소한 한 상자에는 2마리의 비둘기가 들어가게 된다. 이러한 원리를 비둘기집 원리라고 말한다. 이 원리에 따라 해시에서는 '서로 다른 입력 값의 해시 결과 값이 동일한 문제' 즉, 해시 충돌이 발생할 여지가 있다. [1]
해시레이트[편집]
해시레이트란 연산 처리능력을 측정하는 단위로 해시 속도를 의미한다. 일반적으로 해시레이트가 높아져 연산량이 많아질 경우, 더 빠른 채굴이 이루어지기 때문에 채굴 난이도가 높아진다. 초당 해시값 계산 횟수의 총합으로 암호화폐의 연산 작용 과정에서 얻을 수 있는 채굴의 성공 확률과 실제로 채굴에 성공한 시간으로부터 도출되는 이론값이라고도 할 수 있는데, 이는 채굴 간격과 난이도와는 달리 네트워크에서 직접 측정되지는 않는다. 채굴 난이도와 같은 정방향의 값을 가져서 채굴 난이도가 높아진다는 의미는 해시레이트가 저하된다는 것이고, 이는 곧 단위 시간당 생산할 수 있는 채굴량이 줄어든다는 의미이다. 현재 비트코인의 채굴은 제네시스마이닝이나 해시플레어와 같이 대규모 하드웨어, 즉 채굴기를 보유한 사람들에 의해 이루어지고 있다. 따라서 실제 해시레이트의 증감은 채굴을 실행하기 위한 사람들이 보유한 채굴장비 수의 변화가 반영된다.
해시는 블록체인과 IPFS 등 다양한 분야에서 활용되고 있다. 보안 분야에서도 널리 사용되는데 이는 해시 함수가 원래의 문장을 복호화할 수 없게 뭉개버린다는 장점과 원문과 해시값 사이에 선형적 관계가 없다는 특성을 지니고 있기 때문이다. 해시 함수의 결과물은 고정된 길이의 숫자이므로, 원래의 정보는 손실되는데, 이러한 특성 때문에 하나의 원 데이터는 하나의 해시값만 가지지만, 하나의 해시값을 만들어 낼 수 있는 원본 데이터는 매우 많아서, 해시값만 가지고는 아무리 용을 써도 이미 뭉개져버린 원문을 복원해해는 것은 불가능하다. 따라서 비밀번호, 전자서명, 전자투표, 전자상거래와 같은 민감한 입력의 무결성을 검증할 때 주로 사용된다. 따라서 데이터의 무결성과 직접적인 연관이 있기 때문에 어떤 해시 함수에서 해시 충돌이 일어나기 쉽다는 것은 보안 분야에서는 매우 민감한 문제에 해당한다. [2]
해시함수[편집]
해시 함수는 임의의 길이를 갖는 임의의 데이터에 대해 고정된 길이의 데이터로 매핑하는 함수를 말한다. 이러한 해시 함수를 적용하여 나온 고정된 길이의 값을 해시값이라고 한다. 보통 그리 복잡하지 않은 알고리즘으로 구현되기 때문에, 상대적으로 CPU, 메모리 같은 시스템 자원을 덜 소모하는 특성이 있다. 그리고 해시함수(hash function)는 결정론적으로 작동하기 때문에, 원래의 데이터가 같으면 해시값도 항상 동일하며, 이 출력값은 가능한 한 고른 범위에 균일하게 분포하는 특성이 있다. 특수 목적용으로 해시값을 생성하는 원본과 별도의 값을 입력받아서 같은 입력에 대해 다른 출력값을 가지게 하는 해시 함수도 존재한다. 이러한 특성으로 인해 다양한 목적에 맞게 설계된 해시 함수가 존재하며 자료구조, 캐시, 중복 레코드 검색, 유사 레코드 검색, 에러검출 등 다양한 분야에서 매우 유용하게 사용된다. 하지만 서로 다른 데이터가 동일한 해시값을 가질 수 있기 때문에 해시충돌이 발생할 수 있다. [2] 대표적인 해시 함수로는 MD5, SHA 등이 있다.
해시테이블[편집]
해시 테이블(hash table)은 키와 값을 매핑해 둔 데이터 구조이다. 해시함수를 이용하여 검색하고자 하는 값을 변환하면 그 값이 저장된 위치를 즉시 알아낼 수 있다. 데이터의 양이 아무리 많아지더라도 원리적으로 해시 변환과 검색에 걸리는 시간은 항상 동일하다. 따라서 방대한 데이터에서 특정한 값을 검색할 때 해시 테이블을 사용하면 검색 시간을 획기적으로 단축할 수 있다. 해시 맵(hash map)은 기존 해시 테이블의 기능을 개선한 신 버전의 해시 테이블이다.
해시 테이블의 기본 개념은 데이터를 담을 테이블을 미리 크게 확보해 놓은 후 입력받은 데이터를 해시하여 테이블 내의 주소를 계산하고 이 주소에 데이터를 담는 것이다. 따라서 특이하게도 데이터가 입력되지 않은 여유공간이 많아야 제 성능을 발휘할 수가 있다.
해싱(hashing)이란 해시함수를 사용하여 주어진 값을 변환한 뒤, 해시 테이블에 저장하고 검색하는 기법을 말한다. 해싱에 사용되는 자료구조는 배열(array)과 연결리스트(linked list)가 조합된 형태이다. 짧은 해시 키를 사용하여 항목을 찾으면, 원래의 값을 이용하여 찾는 것보다 더 빠르기 때문에, 해싱은 데이터베이스 내의 항목들을 색인하고 검색하는데 사용된다. [3] 해싱은 데이터들을 저장하거나 찾을 때 인덱스(index)라는 또다른 데이터 스트럭쳐를 이용하는 대신, 각 데이터들이 테이블의 어느 영역에 위치할 것인가를 결정해주는 해시함수를 사용하여 일정한 시간 내에 데이터들을 효과적으로 찾을 수 있도록 해주는 것이다. 따라서 데이터들은 순차적으로 저장되는 것이 아니라 테이블 전 영역에 걸쳐서 골고루 분포하게 되며, 저장된 데이터를 찾을 때에도 해시함수를 사용하면 곧바로 그 위치를 알아내는 것이 가능하기 때문에 매우 빠른 속도로 데이터를 검색할 수가 있게 된다. [4]
해시 방법[편집]
송신자는 메시지의 해시를 생성하여 암호화한 후 메시지 자체를 가지고 송신한다. 그런 다음 수신자는 메시지와 해시를 모두 해독하고, 수신된 메시지에서 또 다른 해시를 생성하고, 두 해시를 비교한다. 동일하다면 메시지가 온전하게 전달되었을 가능성이 매우 높다.
제산법[편집]
제산법은 나머지 연산자를 사용하여 테이블 주소를 계산하는 방법이다. 레코드 키 값을 수치 자료로 간주하여 어떤 양의 정수(대개 해시 테이블의 크기)로 나눈 나머지를 홈 주소로 결정하는 간단한 방법이다.
예) 버킷주소 = 키 값 % 해시 테이블의 크기
12 = 512 % 100
제곱법[편집]
제곱법은 레코드 키 값을 제곱한 후에 결과 값의 중간 부분에 있는 몇 비트를 선택하여 해시 테이블의 홈 주소로 사용하는 방법이다. 제곱된 결과의 중간 비트는 대게 레코드의 모든 문자에 의존하므로, 레코드를 구성하는 몇 개의 문자가 같을지라도 서로 다른 레코드 키는 다른 홈 주소를 갖게 될 확률이 높다. 홈 주소를 얻기 위해 사용되는 비트 수는 테이블의 크기에 따라 달라지는데, 중간 부분의 자릿수를 n 이라 하면 각 레코드 값들이 가지는 범위인 해시 테이블의 크기는
이 된다.
키 값 제곱 => 해시 테이블 크기에 따라 주소 값 산출
예) 레코드 키 값이 K=512이고, 해시테이블 크기가 100일때 제곱법에 의한 레코드 주소는
512제곱 = 262144 =====> 중간 2자리 "21"이 최종 주소값이 됨
숫자 분석법[편집]
레코드 키를 구성하는 수들이 모든 키들 내에서 각 자리별로 어떤 분포인지를 조사하여 비교적 고른 분포를 나타내는 자릿수를 필요한 만큼 선택하여, 레코드의 홈 주소로 사용하는 방법이다.
예) 해시 테이블의 크기 = 1000, 홈 주소: 0~999까지(3자리 필요) 레코드 키 값이 다음의 (a)와 같을 때 숫자 분석법을 이용하여 각 키들에 대한 홈 주소를 결정하시오.
(레코드 키 값) (각 키의 홈 주소)
012 - 452 - 0236 ==> 426
012 - 153 - 0530 ==> 150
015 - 342 - 0935 ==> 395
012 - 752 - 1032 ==> 702
012 - 852 - 0470 ==> 840
012 - 543 - 0231 ==> 512
(1) (a)에서 왼족 3자리는 거의 같으므로 제거
(2) 왼쪽 5열, 6열, 7열, 9열 역시 동일 숫자가 많이 분포하므로 무시
(3) 비교적 고른 숫자 분포를 가진 4열, 8열, 10열을 선택하여 주소로 사용
폴딩법[편집]
폴딩법은 레코드의 키를 마지막 부분을 제외한 모든 부분의 길이가 동일하게 여러 부분으로 나누고, 이들 부분을 모두 더하거나 배타적 논리합(XOR)을 취하여, 해시 테이블의 홈 주소로 이용하는 방법으로 두 가지 방법이 사용된다.
3
|
0
|
1
|
2
|
3
|
0
|
1
|
2
|
3
|
2
|
1
|
3
|
3
|
0
|
P1
|
P2
|
P3
|
P4
|
P5
|
이중폴딩 ==> P1+P2+P3+P4+P5 = 301+230+123+213+30 = 897이 홈주소가 된다.
경계폴딩 ==> P1+P2(역)+P3+P4(역)+P5 = 301+032+123+312+30 = 798이 홈주소가 된다.
기수변환법[편집]
기수변환법은 어떤 진법으로 표현된 주어진 레코드 키를 다른 진법으로 간주하고 키를 변환하여 홈 주소를 얻는 방법으로, 어떤 키 값이 16진법으로 표현되어 있다면 이를 10진법으로 표현된 것으로 간주하고 키 값을 변환하여 해당 레코드의 홈 주소를 구한다. 해시 테이블의 크기가 10의 멱승으로 표현되어 변환된 해당 레코드의 주소 값이 테이블의 크기를 초과할 때는 주소 값의 최하위 자리부터 해시 테이블의 크기가 허용하는 멱승수만큼 취하여 해당 레코드의 홈 주소로 사용한다.
예) 해시 테이블의 크기 = 100000
십진수로 입력된 키 값(132548) 10을 16진수로 간주하여 그 값을 다시 10진수로 계산하는 기수 변환법을 이용하여 홈 주소를 구하시오.
홈 주소 = 4728(레코드의 주소값에서 해시 테이블이 허용하는 하위 4자리를 선택한다)
무작위 방법[편집]
난수 발생 프로그램을 이용하여 난수를 발생시켜 각 레코드 키의 홈 주소를 결정하는 방법으로, 보통 난수는 1보다 작은 양의 실수를 산출하므로, 해시 테이블의 크기인 n을 산출된 난수에 곱하여 0~(n-1)까지의 범위 값으로 변환하여 사용하며, 만일 충돌이 발생하게 되면 그 다음 난수를 레코드의 홈 주소로 사용한다.[5]
해시계산 사이트[편집]
해시값을 자동으로 계산해서 알려주는 사이트로 깃허브의 온라인툴즈가 있다. 온라인툴즈(Online Tools)는 알려진 거의 모든 해시함수를 사용하여, 실시간으로 해시값을 계산해 주는 깃허브의 웹페이지이다.
해시라는 단어가 포함된 회사명[편집]
회사명에 '해시'(hash)라는 단어를 사용한 사례는 다음과 같다.
- 해시넷(Hashnet) : 한국의 블록체인 및 암호화폐 정보 포털 사이트를 운영하는 회사이다. 오프라인 밋업과 콘퍼런스도 진행하고 있다.
- 해시드(Hashed) : 한국의 블록체인 및 암호화폐 전문 투자업체이다. 한국 1위의 크립토펀드이다.
- 해시캐시(Hashcash) : 1997년 아담 백(Adam Back)이 스팸메일과 서비스 거부(DoS) 공격을 제한하기 위해 사용한 작업증명(PoW) 시스템이다.
- 에듀해시(Eduhash) : 교육 분야에 블록체인 기술을 적용한 회사이다.
- 헤데라 해시그래프(Hedera Hashgraph) : 해시그래프 기반의 플랫폼을 만드는 미국의 개발 회사이다.
- 해시가드(Hashgard) : 블록체인 기반의 자산관리 서비스를 위한 중국의 암호화폐 프로젝트이다.
- 해시캐피탈(Hash Capital) : 블록체인 투자를 전문적으로 진행하는 중국의 투자업체이다.
- 해시플레어(HashFlare) : 영국 스코틀랜드에 있는 클라우드 마이닝 채굴 회사이다.
- 나이스해시(Nicehash) : 동유럽의 슬로베니아에 있는 마이닝풀이다.
- 맥스해시(Maxhash) : 다중 암호화폐 마이닝풀이다. 채굴장은 미국과 유럽에 있다.
- 지해시아이오(GHash.io) : 네덜란드에 있는 비트코인 채굴 풀이다.
- 희망해시(Hopehash) : 전 세계 여러 나라에 채굴장을 마련하여 클라우드 마이닝 서비스를 제공하는 한국의 채굴업체이다.
- 해시래빗(HashRabbit) : 미국 캘리포니아 주에 있는 암호화폐 채굴업체이다.
- 해시볼트(Hashvault) : 크립토노트(CryptoNote) 기반의 마이닝풀이다.
- 해시쉐어(Hashshare) : 마스터노드에 비트코인 채굴 시스템을 결합한 암호화폐 프로젝트이다.
- 해시시티(Hashcity) : 조지아의 트빌리시에 있는 다중 암호화폐 채굴 마이닝풀이다.
- 해시쿼크(Hashquark) : 중국의 채굴업체이다.
- 해시팟(Hash Pot) : 중앙아시아의 저렴한 전기요금을 이용한 비트코인 채굴 서비스를 위한 한국의 암호화폐 프로젝트이다.
- 해시허브(HashHub) : 일본 도쿄에 본사를 둔 블록체인 스튜디오이다. 대표이사는 준야 히라노(Junya Hirano)이다.
- ↑ 1.0 1.1 1.2 비트웹 편집국장, 〈블록체인의 기본, 해시란 무엇인가?〉, 《비트웹》, 2018-02-12
- ↑ 2.0 2.1 나무위키 - https://namu.wiki/w/%ED%95%B4%EC%8B%9C
- ↑ Vangie Beal, 〈hashing〉, 《웨보피디아》
- ↑ Omnis, 〈Hashing 이란?〉, 《티스토리》, 2012-04-09
- ↑ SLENDER ANKLES, 〈해시(Hash)〉, 《티스토리》, 2015-07-01
참고자료[편집]
- 비트웹 편집국장, 〈블록체인의 기본, 해시란 무엇인가?〉, 《비트웹》, 2018-02-12
- 나무위키 - https://namu.wiki/w/%ED%95%B4%EC%8B%9C
- SLENDER ANKLES, 〈해시(Hash)〉, 《티스토리》, 2015-07-01
- Omnis, 〈Hashing 이란?〉, 《티스토리》, 2012-04-09
- Vangie Beal, 〈hashing〉, 《웨보피디아》
- 디센터유니버시티 보스코인, 〈(디센터 용어사전③)해시함수, 해킹이 가능한 듯 불가능…무량대수만큼 시도해야〉, 《서울경제》, 2018-08-17
같이 보기[편집]
 이 해시 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.
|
블록체인 : 블록체인 기술 □■⊕, 합의 알고리즘, 암호 알고리즘, 알고리즘, 블록체인 플랫폼, 블록체인 솔루션, 블록체인 서비스
|
|
블록체인 기술
|
Bech32 • BTP • DRC-20 • EIP • IPFS • KRC-20 • NFT 마켓플레이스 • P2P • P2PKH • P2SH • PFP • PUF • SPV • TPS • TRC-20 • UTXO • 가나슈 • 가명성 • 가스 • 가십 • 가십 프로토콜 • 개념증명(PoC) • 검증가능지연함수(VDF) • 게스 • 고스트 프로토콜 • 공공예산 • 글로벌신뢰인공지능 • 대체가능토큰 • 대체불가토큰(NFT) • 도지더리움 브릿지 • 디지털 자산 • 디지털 희소성 • 라운드 • 라운드 로빈 • 라이트하우스 • 랜덤 • 레그테크 • 레이든 • 리카르디안 계약 • 린스타트업 • 마스터키 • 마스트 • 메인넷 • 멜팅 • 믹싱 • 민팅 • 밈블윔블 • 반감기 • 베타넷 • 변경불가성 • 브릿지 • 블록체인 생태계 • 블록체인 클라우드 서비스(BaaS) • 블룸필터 • 비블록체인 • 비앱 • 비콘체인 • 비트코인코어 • 빤통경제 • 수정 고스트 프로토콜 • 스냅샷 • 스마트 계약 • 스마트 브리지 • 스웜프로토콜 • 스크립트퍼브키 • 스테이킹 • 스텔스 주소 • 스핀오프코인 • 슬래싱 • 시크릿 컨트랙트 • 심플 컨트랙트 • 아토믹스왑 • 암호경제(크립토 이코노미) • 앤드어스체인인공지능 • 앵커링 • 언스테이킹 • 에어드랍 • 에폭 • 오프체인 오더락 • 오피리턴 • 옵코드 • 원토큰 문제 • 웨이 • 위스퍼 프로토콜 • 위임 • 유니스왑 • 유동성 • 이더리움 가상머신(EVM) • 이더리움 클라이언트 • 이중지불 • 익명성 • 인증된 익명 아이디 • 인터레저 프로토콜(ILP) • 자산화 • 잠금 스크립트 • 최소기능제품(MVP) • 컨소시엄 블록체인 • 컬러드코인 • 코인셔플 • 코인소각 • 코인에이지 • 코인조인 • 코인토싱 • 크립토노트 • 키스토어 • 타임락 • 테스트넷 • 토다 • 토큰 이코노미 • 토큰화 • 튜링완전 • 튜링불완전 • 트랜잭션 아이디(TxID) • 트러스트 컨트랙트 • 트루빗 • 트릴레마 • 파워 • 파티셔닝 • 퍼블릭 블록체인 • 페널티 • 프라이버시 • 프라이빗 블록체인 • 플랫폼 • 플러딩 • 피어 • 피투피(P2P) • 하이브리드 블록체인 • 합의 • 해시락 • 해시타임락(HTLC) • 해제 스크립트 • 확장성
|
|
해시
|
레인보우 테이블 • 매핑 • 머클경로 • 머클루트 • 머클트리 • 분산해시테이블(DHT) • 블록해시 • 스큐드 머클트리 • 온라인툴즈 • 이전블록해시 • 카뎀리아 • 해시 • 해시레이트 • 해시맵 • 해시충돌 • 해시테이블 • 해시파워 • 해시함수 • 해싱
|
|
블록
|
고아블록 • 그래핀 • 논스 • 마이크로블록 • 베이킹 • 북키퍼 • 브랜치블록 • 브로드캐스팅 • 블록 • 블록높이 • 블록바디 • 블록생성자 • 블록정보 • 블록타임 • 블록헤더 • 비츠 • 세그윗 • 엉클블록 • 완결성 • 제네시스블록 • 타임스탬프 • 프룻 • 프룻체인
|
|
체인
|
더블체인 • 라이트닝 네트워크 • 라이트닝 루프 • 루트체인 • 루프체인 • 메인체인 • 방향성 비순환 그래프(DAG) • 베리파이어블 프루닝 • 블록격자 • 블록체인 • 사용자 활성화 소프트포크(UASF) • 사용자 활성화 하드포크(UAHF) • 사이드체인 • 서브체인 • 소프트포크 • 오페라체인 • 오프체인 • 온체인 • 인터체인 • 차일드체인 • 체인 • 탱글 • 테스트체인 • 토카막 네트워크 • 포크 • 포크체인 • 퓨어체인 • 프로덕트체인 • 프루닝 • 프리포크 • 플라즈마 알고리즘 • 플라즈마캐시 • 플래시 계층 • 하드포크 • 해시그래프 • 홀로체인
|
|
노드
|
검증인(밸리데이터) • 기본노드 • 노드 • 라이트노드 • 랜덤노드 • 마스터노드 • 베이킹노드 • 보조노드 • 보증노드 • 슈퍼노드(슈퍼대표, 대표노드) • 슬롯 • 슬롯리더 • 엔드포인트노드(레인저노드) • 의회 네트워크 • 작업노드 • 종단노드 • 종자노드(시드노드) • 중계노드 • 지갑노드 • 채굴노드(마이닝노드) • 쿼럼 • 풀노드 • 합의노드
|
|
샤딩
|
네트워크 샤딩 • 데이터베이스 샤딩 • 동적샤딩 • 샤드 • 샤딩 • 스테이트 샤딩 • 알고리즘 샤딩 • 적응형 상태 샤딩 • 체인샤딩 • 트랜잭션 샤딩
|
|
채굴
|
병합채굴 • 사전채굴 • 에이식(ASIC) • 에이식부스트 • 에이식 저항 • 일드파밍 • 채굴 • 채굴 난이도 • 채굴량 • 탄소감축채굴 • 페어런치
|
|
탈중앙화
|
TVL • 거버넌스 • 게임파이 • 다오(DAO) • 다이코(DAICO) • 닥(DAC) • 닥스(DAX) • 덱스(DEX) • 디앱(DApp) • 디지오(DGO) • 디튜브 • 디파이(DeFi) • 분산경제 • 분산원장(DLT) • 분산 클라우드 • 소셜파이 • 씨파이(C-Fi) • 오프체인 거버넌스 • 온체인 거버넌스 • 원장 • 준중앙화 • 중앙화 • 탈중앙화 • 탈중앙화 TPS • 탈중앙화 조직(DO) • 탈중앙화 지수(DQ)
|
|
분산아이디
|
DIDs • IETF • ToIP • 검증가능한 자격증명 • 검증인 • 디지털아이덴티티재단 • 발급자 • 보유자 • 분산아이디(DID) • 분산아이디 기관 • 분산아이디 인증(DID Auth) • 아이온 • 자기주권 • 자기주권신원 • 최소화된 자격증명 데이터 • 탈중앙화 키관리시스템 • 통합해석기
|
|
오라클
|
상호인증 블록체인 • 오라클 • 오라클 머신 • 오라클 문제 • 오라클 서비스 • 중간자
|
|
BIP
|
BIP • BIP9 • BIP16 • BIP32 • BIP39 • BIP43 • BIP44 • BIP47 • BIP49 • BIP63 • BIP70 • BIP84 • BIP141 • BIP148
|
|
ERC
|
ERC • ERC-20 • ERC-165 • ERC-223 • ERC-621 • ERC-721 • ERC-777 • ERC-827 • ERC-884 • ERC-998 • ERC-1155 • ERC-1404
|
|
위키 : 인공지능, 개발, 자동차, 교통, 아시아, 세계, 산업, 기업, 단체, 업무, 생활, 지도, 블록체인, 암호화폐, 인물, 행사, 일반
|
|
블록체인 : 블록체인 기술, 합의 알고리즘, 암호 알고리즘 □■⊕, 알고리즘, 블록체인 플랫폼, 블록체인 솔루션, 블록체인 서비스
|
|
암호기술
|
개인키 • 경량암호 • 다자간 계산(MPC) • 다중서명(멀티시그) • 동형암호 • 디지털서명 • 링서명 • 배타적 논리합(XOR) • 복호화 • 블랙박스 암호 • 서명 • 소수 • 소인수분해 • 슈노르서명 • 스케인 • 스키테일 • 스테가노그래피 • 안전한 다자간 계산(SMPC) • 암호 • 암호경제학 • 암호문 • 암호키 • 암호학 • 암호화 • 이산로그 • 전자봉투 • 전자서명 • 전치암호 • 종단간 암호화 • 치환암호(대체암호) • 키 • 패딩 • 패스워드 • 평문 • 합성수 • 해독 • 해시 • 형태보존암호 • 혼돈 • 화이트박스 암호 • 확산
|
|
논리연산
|
논리곱(AND) • 논리연산 • 논리합(OR) • 배타적 논리합(XOR) • 부울곱 • 부울대수 • 부울합 • 부정논리곱(NAND) • 부정논리합(NOR) • 부정연산(NOT)
|
|
SHA
|
SHA • SHA0 • SHA1 • SHA2 • SHA224 • SHA256 • SHA384 • SHA512 • SHA512/224 • SHA512/256 • SHA3 • SHA3-224 • SHA3-256 • SHA3-384 • SHA3-512
|
|
MD
|
MD • MD2 • MD4 • MD5 • RIPEMD • RIPEMD-128 • RIPEMD-160 • RIPEMD-256 • RIPEMD-320
|
|
기타 해시
|
CRC-16 • CRC-32 • CRC-64 • Keccak-256 • Keccak-384 • Keccak-512 • Shake-128 • Shake-256 • 베이스32 • 베이스32 파일 • 베이스58 • 베이스64 • 베이스64 파일 • 순환중복검사
|
|
대칭키
|
AES • ARIA(아리아) • DES • HIGHT(하이트) • LEA • SEED(시드) • 대칭키 • 대칭키 암호 알고리즘 • 디피-헬만 • 디피-헬만 키교환 • 레인달 • 블로피시 • 블록암호 • 스트림 암호 • 에스박스(S-Box) • 트리플 DES
|
|
비대칭키
|
PKI • RSA • 공개키 • 공개키 암호 알고리즘 • 비대칭키 • 엘가말 • 타원곡선 • 타원곡선 디지털서명 알고리즘 • 타원곡선암호
|
|
영지식증명
|
영지식 상호 증명(ZKIP) • 영지식 스나크 • 영지식 스타크 • 영지식증명
|
|
양자암호
|
BB84 프로토콜 • E91 프로토콜 • B92 프로토콜 • 비밀키 오류율 • 안전성 증명 • 양자난수생성기 • 양자내성암호 • 양자암호 • 양자얽힘 • 양자역학 • 양자중첩 • 양자컴퓨터 • 양자키 • 양자키분배 • 양자통신 • 연속 변수 프로토콜
|
|
암호해독
|
기지평문공격(KPA) • 선택암호문공격(CCA) • 선택평문공격(CPA) • 암호공격 • 암호문 단독공격(COA) • 암호해독
|
|
암호학 인물
|
라이언 플레이페어 • 레너드 애들먼 • 로널드 리베스트 • 마틴 헬만 • 블레즈 드 비즈네르 • 아디 샤미르 • 앨런 튜링 • 웨슬리 피터슨 • 찰스 휘트스톤 • 휫필드 디피
|
|
위키 : 인공지능, 개발, 자동차, 교통, 아시아, 세계, 산업, 기업, 단체, 업무, 생활, 지도, 블록체인, 암호화폐, 인물, 행사, 일반
|
|
개발 : 프로그래밍, 소프트웨어, 데이터 □■⊕, 솔루션, 보안, 하드웨어, 컴퓨터, 사무자동화, 인터넷, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
데이터
|
ACID • CRUD • CSV • DAO • DB • DBMS • DB 명령어 • DCL • DDL • DML • DTO • ERD • ETL • JDBC • JPA • LOD • MDM • ODBC • ORM • RDBMS • RDF • SQL • 가상 데이터베이스 • 관계형 데이터베이스 • 그래프 • 기본키(PK) • 내부조인 • 널 • 노드 • 다이어그램 • 대리키 • 대체키 • 데이터 • 데이터댐 • 데이터 레이크 • 데이터마트 • 데이터 모델링 • 데이터뱅크 • 데이터베이스(DB) • 데이터베이스 언어 • 데이터 사이언스 • 데이터 사전 • 데이터 웨어하우스 • 데이터 정의어(DDL) • 데이터 제어어(DCL) • 데이터 조작어(DML) • 데이터 클러스터 • 데이터 토큰 (문자열) • 데이터 통합 • 덱 • 디비서버 • 라이트조인 • 락 • 레코드 • 레프트조인 • 로그 • 로그파일 • 로깅 • 롤백 • 리두로그 • 릴레이션 • 마스터데이터 • 마스터데이터관리(MDM) • 마이그레이션 • 메타데이터 • 배열 • 뷰 • 빅데이터 • 서브쿼리 • 수퍼키 • 순차리스트 • 스키마 • 스택 • 슬로우쿼리 • 엔티티 • 역정규화 • 연결리스트 • 외래키(FK) • 외부조인 • 인덱스 • 인덱싱 • 인젝션 • 자료구조 • 정규화 • 정보 • 조인 • 커밋 • 쿼리 • 큐 • 키 • 타깃 • 테이블 • 튜플 • 트랜잭션 • 트리 • 트리거 • 티비마이그레이터 • 풀조인 • 프로시저 • 필드 • 해시 • 해시맵 • 해시태그 • 해시테이블 • 해시함수 • 해싱 • 후보키
|
|
데이터베이스 관리 시스템 (DBMS)
|
관계형 데이터베이스 관리 시스템(RDBMS) • 노에스큐엘(NoSQL) • 데이터베이스 관리 시스템(DBMS) • 더비 • 디비투(DB2) • 레디스 • 마리아디비(MariaDB) • 마이에스큐엘(MySQL) • 몽고디비 • 빅테이블 • 사이베이스 • 선디비 • 알티베이스 • 액세스 • 에스큐엘(SQL) • 에스큐엘라이트(SQLite) • 에이치베이스 • 엠에스에스큐엘(MS-SQL) • 오라클(Oracle) • 인터베이스 • 인포믹스 • 카산드라 • 카우치디비 • 큐브리드 • 티베로 • 파이어버드 • 포스트그레스큐엘(PostgreSQL) • 하이퍼테이블
|
|
DB 명령어
|
alter • array • create • delete • drop • from • full join • grant • group by • having • inner join • insert • join • left join • null • order by • outer join • rename • revoke • right join • select • truncate • update • where
|
|
시스템 연계
|
API • CGI • EAI • ESB • JPA • RSS • SOA • SOAP • SSL • SSO • web3.js • XML • 디비투디비(DB-to-DB) • 레스트풀(RESTful) • 상호운용성 • 시스템 인터페이스 • 신디케이션 API • 오픈 API • 웹 API • 웹개방성 • 윈도우 API • 자바 API • 크롤링 • 프라이빗 API
|
|
위키 : 인공지능, 개발, 자동차, 교통, 아시아, 세계, 산업, 기업, 단체, 업무, 생활, 지도, 블록체인, 암호화폐, 인물, 행사, 일반
|
|
개발 : 프로그래밍, 소프트웨어, 데이터, 솔루션, 보안 □■⊕, 하드웨어, 컴퓨터, 사무자동화, 인터넷, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
보안
|
CVE • CWE • HMAC • 관리자권한 • 관리적 보안 • 권한 • 권한관리 • 금융 분산원장기술 보안규범 • 기밀 • 기밀성 • 기술적 보안 • 누설 • 누출 • 누출금지정보 • 니모닉 • 데이터베이스 암호화 • 디지털 워터마킹 • 레인보우 테이블 • 루트킷 • 무결성 • 물리적 보안 • 백신 프로그램 • 버그 바운티 • 보안 • 봇 • 봇넷 • 블랙리스팅 • 블랙박스 • 블록체인 보안 • 비밀 • 비회원 권한 • 사고 • 사용자권한 • 사회공학 • 생체인증 • 시큐어코딩 • 신뢰실행환경 • 암호 • 암호체계 • 암호키 • 예방 • 유출 • 이중인증(2FA) • 인증 • 일회용 비밀번호(OTP) • 잠금장치(시건장치) • 접근 • 접근권한 • 접근제어 • 접근차단 • 정보보호관리체계 • 진위확인 • 침입방지시스템 • 침입탐지시스템 • 컴퓨터 바이러스 • 킬 스위치 • 통합위협관리(UTM) • 패치 • 페이로드 • 핀(PIN) • 해시 • 해킹사고 • 화이트박스 • 회원권한 • 효율성
|
|
취약점 공격
|
51% 공격 • OWASP • 그라인딩 공격 • 네트워크 공격 • 누킹 • 디도스 • 디엔에스 스푸핑(DNS스푸핑) • 랜섬웨어 • 레베톤 • 레이스 공격 • 롱레인지 공격 • 리플레이 공격 • 리플레이 프로텍션 • 멀웨어(악성코드) • 모의해킹 • 무차별 대입 공격 • 미라이 봇넷 • 백도어 • 버그 • 버퍼 오버플로 • 벡터76 공격 • 부채널 공격 • 블랙해커 • 블록보류 공격 • 블록체인 해킹 • 사이트 간 스크립팅(XSS) • 사이트 간 요청 위조(CSRF) • 사전공격 • 셸쇼크 • 스누핑 • 스니퍼 • 스니핑 • 스미싱 • 스파이웨어 • 스푸핑 • 시빌공격 • 아이피 스푸핑(IP스푸핑) • 암호화폐 거래소 해킹 • 암호화폐 해킹 • 애드웨어 • 에스큐엘 인젝션(SQL인젝션) • 에이알피 스푸핑(ARP스푸핑) • 원격파일삽입 • 웜 • 웹셸 • 이클립스 공격 • 인젝션 • 제로데이 공격 • 중간자 공격 • 지능형 지속 공격(APT) • 취약점 • 침해사고 • 크래킹 • 크립토락커 • 크립토재킹 • 키로깅 • 트로이목마 • 패스워드 크래킹 • 페니스펜드 • 포맷스트링 공격 • 피니 공격 • 피싱 • 해커 • 해커원 • 해킹 • 혹스 • 화이트해커
|
|
개인정보보호
|
가명 • 개인정보 • 개인정보보호 • 개인정보보호법 • 성명 • 실명 • 유럽연합 일반개인정보보호법(GDPR) • 익명
|
|
양자보안
|
광자분리공격(PNS) • 복제 불가능성 원리 • 양자보안 • 양자암호 • 측정 후 붕괴
|
|
보안 솔루션
|
V1 • V3 • ZAP • 내PC지키미 • 노턴안티바이러스 • 디아모 • 랩스플러스 • 레드마인 • 레드캐슬 • 맥아피 • 버그질라 • 빅룩 • 빅룩와스 • 빅룩퓨저 • 샤크라 • 소나큐브 • 스패로우 • 스팸스나이퍼 • 시큐브토스 • 시큐어디비 • 아베스트 • 야스카 • 엔스토커 • 엔프로텍트 • 와플즈 • 웹필터 • 제큐어디비 • 제큐어웹 • 지라 • 카스퍼스키 • 파인드벅스 • 피엠디(PMD)
|
|
위키 : 인공지능, 개발, 자동차, 교통, 아시아, 세계, 산업, 기업, 단체, 업무, 생활, 지도, 블록체인, 암호화폐, 인물, 행사, 일반
|
|