2020.코딩일지

Section3:블록체인 기술(1) - 암호화폐, 암호화, 지갑 [BEB 6th] 본문

Block Chain

Section3:블록체인 기술(1) - 암호화폐, 암호화, 지갑 [BEB 6th]

개발하는라푼젤 2022. 8. 26. 13:56
728x90
코드스테이츠 블록체인 부트캠프 6기 

[ Chapter1 - 암호화폐 ]

      • 암호화폐란 무엇인가요?
        암호화(crypto) + 화폐(currency)의 합성어로, 암호화 기술을 이용한 가상화폐입니다.
        기존의 화폐와는 다르게, 중앙은행이 존재하지 않고,(탈중앙화) 포인트도토리와다르다ㅋㅋ
        네트워크에 참여하는 모든 노드가 데이터베이스의 사본을 가지고 모두가 하나의 서버처럼 효율적으로 기능합니다.
        * 암호화폐는 분산 장부에서 비대칭키 암호화를 통해 안전하게 전송하고, 해시 함수를 이용해 쉽게 소유권을 증명해 낼 수 있는 디지털 자산이다
        * 암호화폐 네트워크의 탈중앙성은 상당한 수준의 차단과 검열 저항성을 가능하게 한다.
           검열저항성이란, “거래 내역을 감시하지 못 한다는 게 아니라 감시하더라도 거래를 막지 못 한다"
        * 암호화폐에서는 노드가 데이터베이스 사본을 보관한다.
        * 암호화폐를 사용하면 중개자의 간섭없이 세계 어디로나 가치를 전송할 수 있다.
        * 암호화폐는 사용자 간의 트랜잭션을 보호하기 위해 암호학적 기술을 광범위하게 사용한다.
        * 신뢰가 필요하지않고, 허가가 필요없다.


    • 💃CBDC와 암호화폐의 차이점은 무엇인가요?
      정부 규제를 받는 디지털 형태의 법정화폐로, 종이 화폐가 가진 한계와 문제점을 개선하기 위해 나타난 화폐입니다.이는 암호화폐와는 다르게 중앙은행에 의해 발행됩니다.
      따라서 높은 탈중앙화를 가진 비트코인과 같은 암호화폐와는 차이가 있습니다.

    • 블록체인에서 💃거버넌스는 무엇인가요?
      거버넌스는 다양한 행위자가 공동의 관심사에 대한 네트워크를 구축하여 문제를 해결하는 운영방식을 뜻합니다.
      블록체인에서 거버넌스란 해당 프로젝트 코인을 보유하고 있는 투자자가 투표로 안건을 채택하는 형식으로 진행됩니다.
      보통 유동성 풀의 보상 변동, 플랫폼 부과 비용 설정 등 프로젝트에 필요한 부분들을 결정하게 됩니다.
      종류: 온체인 거버넌스, 오프체인 거버넌스
      온체인 거버넌스는 블록체인 내에서 이루어지고/ 개발자들, 사용자들, 마이너들이 모두 골고루 참여하여 주로 투표 때문에 정책, 정책수정이 이루어집니다.
      오프체인 거버넌스는 블록체인 밖에 있는 온라인 포럼들을 통해서 이루어지고/ 개발자들은 포럼을 통해서 수정 제안들과 해당 여론을 체크하고 이를 블록체인 내에 정책 변경에 반영하게 됩니다.
      .

사이퍼 펑크(위키) : http://wiki.hash.kr/index.php/사이퍼펑크

에릭 휴즈의 ‘사이퍼펑크 선언' : https://www.activism.net/cypherpunk/manifesto.html

사토시 나카모토의 비트코인 버전 1 소스를 배포한 이메일 : https://satoshi.nakamotoinstitute.org/emails/cryptography/16/


[ Chapter2 - 코인과 토큰 ]

    • 💃크립토 이코노미란 무엇이고, 기존의 경제 시스템과 어떤 차이점이 있나요? (토큰이코노미와다른가?ㅇㅇ다르다)
      블록체인 서비스 내에서 암호화폐(코인)로 작동하는 경제 시스템을 말합니다.
      특징: 국가에 의존하지 않는 새로운 경제 시스템, 화폐의 성격 변화(신뢰 제공), 새로운 경제 협회 유형(거버넌스)

    • 코인과 토큰의 차이점은 무엇인가요?
      코인과 토큰은 모두 화폐처럼 교환의 가치를 가지고 있습니다.
      하지만, 이 둘은 독립된 블록체인 네트워크를 소유하고 있는지(자체 메인넷을 가지고 있는지)에 따라 구분됩니다.
      코인은 블록체인 네트워크에서 발행하며, 독립된 블록체인 네트워크를 가진다.
        채굴 노드에게 보상을 지급하는 것은 코인입니다.

      토큰은 토큰 이코노미에 의해 특별한 목적을 가지고 발행이 됩니다

    • 블록체인에서의 토큰 이코노미는 무엇이고, 그 목적은 무엇인가요? (윈윈하는사이 = 벌과 꽃의 사이)
      정의: 생태계 활성화를 위해 특정 목표 행동을 강화제와 토큰을 이용하여 수행하게 하는 것

      • 토큰(Tokens) : [채팅, 스티커] 물질적 강화제, 서비스, 또는 권한 등과 교환될 수 있는 물건이나 상징.(가치없음ㅋ)
      • 강화제(Back-up Reinforcers) : [스벅쿠폰,놀이공원] 목표 행동을 하도록 동기부여 하는 것
      • 특정 목표 행동(specifed target behavior) : [호응, 수학문제풀기] 
    • 💃블록체인에서의 토큰 이코노미는 기존 토큰 이코노미의 문제들을 어떻게 해결했나요?
      결국, 이 모든 문제점은 토큰을 관리하는 주체가 중앙이란 사실에 있습니다. 이를 해결하기 위해서는 지속적인 신뢰성 구축이 필요합니다.
      하지만 블록체인에서는 기존의 토큰 이코노미 시스템의 문제점을 해결할 수 있습니다. (신뢰성이없어도 분산원장의 블록체인기술로)

      • 토큰의 교환가치가 비합리적인 경우
      • 토큰의 발행,지급,기록이 투명하지 않은 경우 
      • 토큰의 교환가치 또는 비율에 일관성이 없는 경우 
      • 미래 교환가치에 확신이 없는 경우
    • 블록체인에서의 토큰 이코노미 설계 시 고려해야 할 사항들은 무엇인가요? 서비스에 맞는 체인이란게 무엇인가??
      • 보상(토큰) 어떤 기준으로 어떤 참여자에게 것인가?
      • 어떻게 토큰이 가치를 갖게 것인가?
      • 사람들이 토큰을 보유해야 할 유인은 무엇인가?
      • 토큰의 발행량은 얼마로 하고 어떻게 분배할 것인가?
      • 네트워크의 성장과 토큰의 가치 상승을 어떻게 연동할 것인가?
      • 토큰의 가격 변동성은 어떻게 해결할 것인가?

ex)자바스크립트 창시자가 만든 ‘광고없는’ 브레이브 웹브라우저/월5만


[ Chapter3 - 암호화 기술 ]

암호화는 전송하고, 수신하고, 저장하는 정보를 해독할 수 없도록 정보를 비밀 코드로 변환하는 기술적 프로세스이다.
복호화는 평문으로 돌리는 과정
암호화 기술은 보안성이 높고, 위변조가 어렵다는 특징이 있어, 데이터 무결성을 쉽게 증명할 수 있다는 장점이 있다

블록체인에 적용되는 암호화 기술에는 해시 함수, 디지털 서명, 공개키 암호화 알고리즘

  • 대칭키 암호방식은 무엇이고, 이에 따라 우려되는 점은 무엇인가요?
    정의: 암호화를 할 때의 키와 복호화를 할 때의 키가 같은 것 = 여러 사용자 사이에 공유된 단 하나의 키를 기반으로함
    장점: 키 배송 위험 문제( 탈취로 인한 피해 가능성 )

  • 비대칭키 암호방식은 무엇이고, 장단점은 무엇인가요?
    순서에따라 쓰임이 다르다.
    공개키는 이마에 붙인거 : “계좌처럼사용”: 상대방이 암호해서 나에게 줌

    개인키는 주머니에.. : “인증을 목적”: 게시판에 본인이 개인키로 암호화해서 올림-> 공개키로 번역해서 봐야함
    정의: 공개 키(송신자가 암호화)와 개인 키(수신자가 암호화)를 사용
    장점: 보안강화, 데이터의 무결성 확인
    단점: 대량의 데이터 처리 시 오버헤드 발생으로 속도가 느리다(수학적계산이매우복잡), 개인 키 보관이 중요해짐

  •  
  • 💃공개 키(비대칭 키)암호방식과 대칭 키 암호방식의 차이점 (대칭키가 비밀키인가?)
    키의길이/ 연산속도/ 알고리즘/ 보안

  • 디지털 봉투란 무엇인가요?
    대칭 키와 비대칭 키의 단점들을 보완하고자 두 가지를 혼용하여 사용하는 방식으로,
    데이터를 빠른 공개키로 암호화를 한 뒤, 암호화에 사용된 대칭키를 비대칭 키로 암호화하여 전송하는 기술입니다.
    ex) TLS(Transport Layer Security)

  • 대표적인 비대칭 키 암호 방식 알고리즘 2가지 종류와 중점은 무엇인가요?
    중점 : 두, 암호방식 모두 유한한 시간 내에 결국 계산이 가능하지만, 실제로 계산하기엔 너무 큰 시간을 할애해야 한다는 점에 중점을 두고 있습니다.
    • RSA 암호 방식 : 소인수분해 -  큰수는 소인수분해하기 어렵다는 점을 이용.
    • DSA 타원곡선 알고리즘 : 짧은 키의 길이와, 빠른 연산 속도를 가지지만 동일한 수준의 보안 강도!
  • 💃디지털 서명(Digital Signature)의 동작 방식에 대해 설명하세요.
    디지털서명 (비대칭키의 개인키로!!) = 디지털도장
    메시지나 디지털 문서의 진위성(너맞음)과 무결성(데이터훼손없음)을 검증하는 수학적 메커니즘
    (비밀이아니라 수정했냐진실이냐를 따지기 위함)
    + 부인방지(너가말한것임)
    블록체인에서 디지털 서명은 송금을 위해 트랜잭션을 생성하여 서명하고 승인하는 데 사용된다.
    1. 원본 데이터를 해싱하여 개인 키로 암호화한 후 디지털 서명을 만듭니다. (해싱 + 서명)
    2. 원본 데이터와 디지털 서명을 함께 전송합니다. (대조하기위해서)
    3. 원본 데이터를 해싱한 해싱값과 디지털 서명을 공개 키로 복호화한 해시값을 비교합니다. (검증)
    • 특징: 데이터 무결성, 진위성, 부인 방지
    • 디지털 서명의 필요 조건: 알고리즘, 구현, 개인 키

비트코인에서 트랜잭션 전자서명을 생성할 때는 개인키 암호화를 통해 생성하는 것이 맞습니다.

하지만 트랜잭션을 구성할 때는 송금할 대상자의 공개키(송금 주소)로 암호화합니다.

 

이렇게 구성된 트랜잭션을 개인키로 암호화하여 전자서명을 생성한다.

디지털서명

  • 💃해시함수의 특징은 무엇인가요?
    해시 함수는 어떠한 크기의 입력이 들어와도 동일한 크기의 출력을 뱉는 함수입니다. (SHA-256변환기)
    원본이 조금이라도 바뀌어도 결과값이 전혀 달라지며(쇄도효과),
    출력값을 통해 입력값을 유추할 수 없습니다.(단방향암호)

  • 블록체인에서 해싱의 역할은 무엇인가요? -> 머클트리에 적용
    • 해시값을 사용해 익명성 보장 : 주인누군지모름; 암호화된 지갑주소, 송금및잔액만 조회가능
    • 무결성 검증 : 수정한거없다~
    • 해시값을 사용해 채굴 노드 선정 : "특정 조건을 만족하는 해시값"을 만족하기 위해 입력값인 논스(Nonce)를 찾는 채굴자에게 보상
  • 암호해시
    암호해시는 블록체인에서 사용되는 단방향 알고리즘으로 입력값이 조금만 달라져도 아예 다른 형태로 변하기 때문에 때문에, 해싱된 값을 이용하여 기존의 값을 찾기란 매우 어렵고 이를 위해서 무차별 대입을 시도해야 합니다.
    항상 고정된 출력값을 가지기 때문에 서로 다른 입력값에 대해 동일한 출력값을 내뱉을 가능성이 있습니다.
    이를 해시 충돌이라 하고 이런 안전성을 평가하기 위해 다음 3가지 요소를 사용합니다.
    1. 충돌저항성 (충돌: 다른값'2,8'을 해시해서 같은해시값이 나왔는데, 복호화를 했는데 2또는8하나만 나옴)
      2개의 입력값을 사용해서 해시값을 만들고, 복호화해서 2개의입력값을 찾기가 힘들다.
    2. 역상저항성 (2를 해시한 값을 다시 돌려 2를 찾을수 없다)-원상복귀가 힘들어야
    3. 제2역상저항성 (2개입력값중 하나를 못찾게 한다)
더보기

해시 함수의 특징 중 하나인 ‘항상 고정된 길이의 출력값‘ 때문에 한 가지 문제점이 발생

해시 충돌 : 서로 다른 입력값을 해시 함수에 넣었는데 동일한 출력값을 내뱉는 경우를 의미

 

충돌저항성: 어떤 해시 함수가 충돌하는 서로 다른 두 입력값을 가졌는지 발견되지 않은 상태

 (같은 지문을 갖고 있을수있지만, 발견되지않았….)

 따라서 충돌이 없는 해시 함수는 존재하지 않지만, 충돌 저항성이 있다고 간주되는 해시 함수는 존재합니다.

 

역상저항성: 어떤 해시 함수가 특정한 값을 출력하는 입력값을 찾을 확률이 매우 낮을 경우를 의미

(단방향 함수는 입력값을 통해 출력값을 얻을 수는 있지만, 출력값을 통해 입력값을 얻을 수는 없는 함수)

 데이터를 보호하는 데 매우 유리!! 해시값으로 원본을 공개하지 않고도 진위성을 검증할 수 있어서.

(pw공개하지않고 해시값으로 비교)

 

제2역상저항성: 충돌저항성+역상저항성 복합;;제2 역상 저항성은 충돌 저항성이 전제되어야한다.

 A라는 입력값의 해시값과 동일한 해시값을 내는 B 입력값을 누군가가 알고 있지 않은 경우

  • 그외 암호기술...이론적으로는 탈취 불가능하지만, 실제로는 탈취가 가능할수도있다..?
    • SHA : 일반적인 암호화 알고리즘은 데이터를 숨기고 안전하게 전달하는 기밀성이 목적이지만, SHA의 목적은 데이터의 위변조가 불가능함을 보장하는 무결성
    • ECDSA : ECDSA는 비대칭키 방식 중 하나인 ECC에 디지털 서명 방식을 접목한 알고리즘이다.
    • HMAC : HMAC에서는 단일 키와 원본데이터로 만든 해시값이 서명의 역할을 한다.
    • PKI : PKI의 목적은 데이터를 안전하게 전송하는 것이며, 이를 위해 시스템 및 리소스 접근 권한, 데이터 보호, 트랜잭션 무결성 및 진위성, 기밀성을 보장한다.
    • 슈노르 서명 : 슈노르 서명은 당사자들의 정보를 하나로 통합하기 때문에 개인 정보 보호에 유리하다.

 


[ Chapter4 - 다양한 지갑 ]

지갑은 

=‘키’를 관리하고, '거래(트랜잭션)'을 관리하는 기능

=개인키와 공개키를 보관하는 곳

(개인키는 코인의 주인을 판단하기 위한 중요한 것)

=권한이 부여된 키와 주소를관리

개인키 ⇒ 공개키 ⇒ 공개키 해시 ⇒ 지갑 주소 앜ㅋㅋㅋㅋㅋㅋ

지갑주소를 재사용시 발생되는 문제!!! 자산규모,거래내역이 쉽게 추적된다ㅠㅠ 그래서 자주 생성해야함. 

더보기

도움이 된 글들 ..

    • 핫 월렛 & 콜드 월렛의 차이점은 무엇인가요?
      인터넷의 연결 유무 (핫:접근성/ 콜드:보안성 ex.렛져,디센트,종이,다이다로스)

지갑생성시 방법이 달랐다: ;;!! “다양한 방법으로 지갑을 생성할 수 있구나!!”
- 니모닉으로 생성한 지갑 : 메타마스크,카이카스

-CLI로 생성한 지갑 : Geth
-json파일을 사용해서 만든지갑 : 마이이더월렛

클립지갑의 특징: 범용성, 대중성, 연동? : 지갑주소, 프라이빗키, 블록체인 개념을 몰라도 클릭 몇번으로 생성가능.(이런개발자가 좋다)

 

    • 💃BIP-32, BIP-39, BIP-44 를 이해
      BIP39는시드구문이구성되는방식을설명.
      암호화폐 지갑  니모닉 문장을 구성하는 일련의 단어(또는 "니모닉 코드") 생성하는 방법과
      지갑이 암호화 키를 생성하는 데 사용되는 바이너리 "시드"로 변환하는 방법을 정의하는 설계 구현입니다.
      암호 화폐 거래를 실행하는 데 사용됨.
      공개될 가능성을 방지하기 위해 보안 계층을 추가하는
      BIP32(계층적 결정론적 지갑) HD월렛
      BIP44(결정적 지갑을 위한 다중 계정 계층) 결정적 지갑에서 여러 계정을 관리하기 위한 조직적 계층 정의
      ==> 이러한 표준은 함께 작동하여 HD 지갑에 유연성, 개인 정보 보호 및 상호 운용성을 추가합니다.
      HD 지갑은 결정론적 지갑의 기능을 확장하여 엄청난 수의 키를 관리할 수 있도록 하며,
      모두 원래 BIP39 니모닉 문장(시드 구문)에서 파생됩니다.
    • 💃스마트 컨트랙트 월렛은 무엇이고, 어떠한 기능이 있나요? <키가 아닌 스마트컨트랙트로 관리한다.>
      EOA는 기능이 제한적: 단일키사용; 코드(스마트 컨트랙트)를 담을 수 없다.
      CA(Contract Account)를 이용하여 "컨트랙트 코드"로 자산을 관리하는 월렛
      기능 : 멀티 시그 트랜잭션/일일송금제한/안전한계정복구/긴급계정동결/dApp과의 상호작용
      특징:2단계인증, 인출제한, 화이트리스트에만 송금할수있게, 사기경보및긴급잠금

    • 비결정적 월렛 & 결정적 월렛의 차이점은 무엇인가요?
      비결정적: 개인키를 무작위(랜덤)하게 생성(백업복잡..거래익명성+보안)
      결정적 : 개인키를 공통시드로부터 생성(백업문제해결! 초기시드값만 잘보관하면 나머지키들은 언제든 만들수있어^^)

    • 결정적 월렛의 대표적인 HD Wallet(Hierarchical Deterministic Wallet, 계층적 결정 지갑)의 계정 생성 개념에 대해 설명하세요.
      시드와 경로가 있으면 항상 동일한 값의 자식 키를 구할 수 있는 구조를 가집니다.

    • HD Wallet은 무엇으로 항상 동일한 값의 자식키를 구할 수 있나요? (BIP-32 계층적 결정론적 지갑 HD Wallet)
      정수로 된 시드(seed)값이고, 그 계정까지의 경로(path)를 여러개의 정수로 표현.  (BIP-44 결정적 지갑을 위한 다중계정 계층)
      하나의 지갑에서 다양한 종류의 화폐와 사용자, 주소의 사용 여부 등에 따라 개인키와 공개키를 구분해서 관리할 있습니다.

  • 브레인 월렛(Brain Wallet)
    개인 키를 랜덤하게 생성하지 않고, 일련의 단어 목록이나 문장(Seed Phrase)을 사용해 개인 키를 만드는 지갑
웹 월렛 데탑(PC) 월렛 모바일 월렛 하드웨어 월렛 멀티시그 월렛
브라우저(예. 크롬) 확장 프로그램이나 웹사이트 형태 OS에 다운로드하여 작동하는 앱 데스크톱 & 웹 지갑의
모바일 형태(다운설치)
서명할 때 개인 키를 인터넷에 노출하지 않기 때문에
온라인 상태에서 자산에 액세스하는 가장 안전한 방법
멀티시그(Multi-Sig)를 통해서만 송금이 가능하다
N명 중 k명이 트랜잭션에 서명해야;;;;
즉시 거래가 가능 하드웨어월렛보다 실용적 언제 어디서나 거래가 가능   개인키 탈취 공격에 보안이 우수하다...
항상 인터넷에 노출되어 있어 보안에 가장 취약        
  핫 or 콜드 월렛
:하나의 개인 키 사용
핫 or 콜드 월렛
:하나의 개인 키 사용
  ConsenSys, Gnosis, Argent, BitGo
비결정적 월렛 결정적 월렛(시드)
매 트랜잭션마다 새로운 주소를 위한 새로운 지갑 파일을 만들어야 한다
매번 비밀 키를 무작위로 생성하는 방식
시드 키를 이용한 지갑 방식
하나의 시드에서 하나의 시드 키(비밀 키를 만들기 위한 난수)
   
지갑 데이터를 자주 백업해야 한다는 관리의 측면에서 불편함  

코드스테이츠, 니모닉실습에대하여

더보기

니모닉(사람이 관리하기 용이하게끔)

실습에사용한 eth-lightwallet모듈찾아보기?ㄴㄴ 대충ㅋㅋㅋ 테스트목적으로 만든것이기때문.,.,  실제자산을 옮기면안되고 보안상으로도 믿을수없다 실제로사용하면안된다~~~~ 너무파지마세영~~

마이이더월렛에서 사용하는 json파일생성

-> 실제개발에서는 이것을 쓴다. 이더리움과 통신하는 

- [https://web3js.readthedocs.io/en/v1.7.5/](https://web3js.readthedocs.io/en/v1.7.5/)

- [https://docs.ethers.io/v5/](https://docs.ethers.io/v5/)

입출금버튼, 잔고,내역보여주는것 = 거래소가 하는일. (거래소의 지갑개발자가 하는일들)

 

  • 💃니모닉 코드(Mnemonic)란 무엇이고, 왜 필요한가요?
    니모닉이란, 결정적 지갑에서 난수를 12개의 영단어로 인코딩한 영단어 그룹으로, BIP39에서 제안되었습니다.
    숫자의 나열처럼 직관적인 관계가 없어 외우기 어려운 정보에 다른 정보를 연결하여 외우기 쉽게 하는 데 쓰입니다.
    니모닉 Wallet은 니모닉을 사용하여 개인 키 관리를 용이하게 해주는 암호화폐 지갑입니다.
    암호화폐 지갑은 비대칭 키 암호 방식을 사용합니다. 그래서 공개 키와 개인 키가 사용되는데,
    개인 키를 사람이 쓰기 편하게 만들어진 것이 바로, 
    니모닉(mnemonic)입니다.
    이를 이용하면 편리하게 지갑을 이용 할 수 있습니다.

1,2,3,4,5,6

  • 니모닉 코드와 시드 생성 단계에 대해 설명하세요.
    (128/32=4체크섬)(128난수+4=132/11=12단어니모닉)(키스트레칭 2의11승 2048해시)512비트 탄생 짜란~
  1. 128bit 또는 256bit 길이의 난수를 생성합니다.
  2. 난수를 SHA-256 알고리즘으로 해싱하고, 해시값에서 (시드 키의 길이) / 32만큼을 떼어냅니다. 가령, 난수의 길이가 128bit라면, 해시값에서 128 / 32인 4bit를 앞에서부터 떼어내 체크섬으로 만듭니다.
  3. 체크섬을 난수의 뒤에 붙입니다.
  4. 체크섬을 붙인 난수를 11bit 단위로 잘라냅니다.
  5. 각 11bit의 단어를 사전에 정의된 단어로 치환합니다.
  6. 각 11bit의 순서를 유지하여 일련의 니모닉 코드를 만듭니다. //니모닉코드완성
  7. PBKDF2 키 스트레칭 함수의 첫 번째 인자는 6단계에서 생성 된 니모닉 코드 입니다.
  8. PBKDF2 키 스트레칭 함수의 두 번째 인자는 솔트입니다. 솔트는 문자열 상수 "mnemonic"과 선택적으로 사용자가 지정한 암호문을 연결하여 구성합니다.
  9. PBKDF2는 최종 출력으로 512비트 값을 만드는 HMAC-SHA512 알고리즘으로, 2048해시 라운드를 사용하여 니모닉과 솔트 파라미터를 확장하며, 이 결과로 나온 512 비트 값이 seed입니다.

7,8,9

 

  • 솔팅(Salting)과 키 스트레칭(Key Stretching)은 무엇인가요?
    솔팅(Salting)은 원본 데이터에 임의의 문자열인 솔트(Salt)를 추가하여 해싱하는 방식입니다.
    키 스트레칭(Key Stretching)은 이러한 솔팅 방식을 여러 번 반복하는 것입니다.
  • 영지식 증명에 대해 설명하세요.
    거래 상대방에게 어떠한 정보도 제공하지 않은 채,
    자신이 해당 정보를 가지고 있다는 사실을 증명하는 방법으로 (ex. 핵무기보유유무 (직접보지않아도) / 급여범위)
    동굴에 들어간 사람에게 A, B 둘 중 하나의 문으로 나오라고 말할 시에, 이 사람이 해당 열쇠를 이용하여 문을 열고 해당 위치로 나올 확률이 40번 반복 시 1조분의 1 이하로 줄어든다는 것입니다. (찍어서 맞출확률이 줄어든다. 거짓말할 학률이 낮아짐) [100%위변조불가능…99.9999] 거래내역크기를 감소시키고 수수료도 감소시킴 (확장성)

영지식 증명의 조건

  • 완전성(Completeness) : 조건이 참이라면, 사실ㅇㅈ + 여러번해도ㅇㅈ[상호작용이많아서 계산량이많다. 수수료많이나옴]
    [비밀에 대한 증거만 남아, 비밀자체가 유실될 가능성(코카콜라레시피)아이러니]
  • 건전성(Soundness) : 조건이 거짓이라면, 절대 납득시킬수없다. (키가없는데있다고거짓말한경우)
  • 영지식성(Zero-knowledge) : 조건이 참일때, 참이라는 사실 이외 알수없다// 열쇠를가지고있꾸나! 근데 그 열쇠가 어떻게 생겼는지모름

 

💃[다크코인과 영지식증명]암호화폐의 익명성을 악용해 범죄에 이용하는 사례들이 있습니다.
특히, 익명성 코인은
영지식증명(Zero-knowledge Proof)을 통해, 거래내역 자체를 숨길 수 있기 때문에 실제 범죄에 악용되는 사례가 다양합니다.

 

*익명성 코인(프라이버시 코인, 다크코인)

익명성 코인들은 개인 정보를 보호하며, 거래내역이 남는 것이 아닌 잔고의 증감만 확인할 수 있습니다. 이런 특성으로 인해 범죄에 악용되어 FATF 권고안에 따르도록 하고 있습니다

 

 

 

 


[ Chapter5 - 암호화폐의 현재와 미래 ]

  • 암호화폐의 현재와 미래 - 암호화폐 투자의 위험성
  1. 과대광고의 위험
  2. 보안 위험
  3. 변동성 위험
  4. 유동성 위험
  5. 사리지는 위험(러그 풀; Rug pull) 먹튀
  6. 규제위험
  7. 세금 위험

위의 많은 위험성에도 암호화폐 대한 관심이 뜨거운 상황입니다. 이에 따라 점점 제도권 안으로 들여오기 위해 노력하고 있습니다. 블록체인 개발자는 결국 시장의 영향을 받을 수밖에 없기 때문에, 각국의 규제와 방안에도 관심을 가지고 지켜봐야 합니다.

 

BIP39는 시드구문이 구성되는 방식을 설명.

암호화폐 지갑 이 니모닉 문장을 구성하는 일련의 단어(또는 "니모닉 코드")를 생성하는 방법과 

지갑이 암호화 키를 생성하는 데 사용되는 바이너리 "시드"로 변환하는 방법을 정의하는 설계 구현입니다. 

암호 화폐 거래를 실행하는 데 사용됨.

 공개될 가능성을 방지하기 위해 보안 계층을 추가하는 것

 

BIP32(계층적 결정론적 지갑) HD월렛

 

BIP44(결정적 지갑을 위한 다중 계정 계층) 결정적 지갑에서 여러 계정을 관리하기 위한 조직적 계층 정의

 

이러한 표준은 함께 작동하여 HD 지갑에 유연성, 개인 정보 보호 및 상호 운용성을 추가합니다. 

HD 지갑은 결정론적 지갑의 기능을 확장하여 엄청난 수의 키를 관리할 수 있도록 하며, 

모두 원래 BIP39 니모닉 문장(시드 구문)에서 파생됩니다.

 

Comments