블록체인

블록체인/Klaytn

11장 - 블록체인별 트랜잭션

Ethereum 트랜잭션 논스(nonce): 발신 EOA에 의해 발행되어 메세지 재사용을 방지하는 데 사용되는 일련번호 가스 가격(gas price): 발신자가 지급하는 가스의 가격(웨이, wei) 가스 한도(gas limit): 이 트랜잭션을 위해 구입할 가스의 최대량 수신자(recipient): 목적지 이더리움 주소 값(value): 목적지에 보낼 이더의 양 데이터: 가변 길이 바이너리 데이터 페이로드 v,r,s: EOA의 ECDSA 디지털 서명의 세 가지 구성요소 v : 식별자 (엄밀히 따지자면 서명은 아님) r, s : 서명 클래이튼 트랜잭션 type : 뭐하는 트랜잭션인지 구분해주는 역할 명시적이다. , GasPrice를 바꿀수 없다 - 상수 취급 : 전체노드들이 합의하면 가격이 바뀔수 있음 본..

블록체인/Klaytn

10장 - 트랜잭션(Transaction)

(Recall) Ethereum 어카운트의 종류 External Account : 사용자(end user)가 사용하는 어카운트 (a.k.a. EOA) 트랜섹션을 실제로 만들고 기록하는 주 어카운트, 즉 사용자 Contract Account : 스마트 컨트랙트를 표현하는 어카운트 Ethereum은 EOA 와 스마트 컨트랙트의 상태를 기록 및 유지 스마트 컨트랙트는 특정주소에 존재하는 실행 가능한 프로그램 프로그램은 상태를 가지기 때문에 Ethereum/Klaytn은 스마트 컨트랙트를 어카운트로 표현 EOA는 블록에 기록되는 TX를 생성 블록에 기록되는 TX들은 명시적인 변경을 일으킴 (e.g., 토큰 전송, 스마트 컨트랙트 배포/실행) 프로그램 - 데이터, 함수 스마트컨트랙트 = 프로그램 어카운트 = 함수..

블록체인/Klaytn

8장 - Klaytn 합의 알고리즘

Klaytn BFT Klaytn은 확장가능한 BFT를 사용 N개의 노드 가운데 S개의 부분노드 집합을 확률적으로 선택 (where N is large, and S is sufficiently small) 전체 집합을 거버넌스 카운실(Governance Council), 부분 집합을 커미티(Committee)로 정의 커미티 선택은 VRF(Verifiable Random Function)로 구해진 무작위 값에 기반 : 공개키 사용 매 블록마다 새 커미티를 뽑아 BFT를 실행 기존의 BFT에 비해 확장성을 크게 개선Klaytn의 합의 : 거대한 전체집합에서 → 무작위로 부분집합을 뽑는다 → BFT를 실행해서 빠르게 블록 생성 → 합의된 결과를 나머지 네트워크에 전파 본 포스트는 GroundX 강의 학습내용을 ..

블록체인/Klaytn

9장 - 블록체인의 상태

Blockchain State (어카운트 기반) 블록체인의 상태 블록체인은 트랜잭션으로 변화하는 상태 기계 (State Machine) 항상 초기값이 있고 나중값이 있다. 아무것도 없는 초기값에 → 제네시스 블록 생성 Coinbase = Mining i = none → f : Alice : 100 i = Alice : 100 → f : Alice : 170, Bob : 30 i = Alice : 170, Bob : 30 → f : Alice : 170, Bob : 30, Charlie : 20 앞의 블록의 최종값 → 뒤의 블록의 초기값 무한 반복 상태 기계 블록체인은 초기 상태에서 변경사항을 적용하여 최종 상태로 변화하는 상태 기계 이전 블록의 최종 상태(Final State)는 현재 블록의 초기 상태(..

블록체인/Klaytn

7장 - 블록체인 암호화 기법

블록체인과 공개키 암호 블록체인은 암호학적 기법을 토대로 만들어진 기술 Bitcoin은 네트워크 참여자 모두가 같은 ‘원장’을 공유함으로써 투명한 거래가 가능 원장은 어느 주소에 BTC가 있는지 기록하지만 그 주소가 누구에게 속하는지는 기록하지 않음 (anonymity) Bitcoin은 공개키암호를 사용하여 명시적인 비밀교환과정 없이 BTC의 소유권 증명을 실행 공개키암호화를 사용한 소유권 증명 대부분의 블록체인 주소는 공개키로부터 도출된 값 Bitcoin : Hash 160 of a public key where Hash 160 = RIPEMD 160 + SHA256 Etthereum : Rightmost 160 bits of Keccak hash of a public key Bitcoin의 경우 임의..

블록체인/Klaytn

6장 - 공개키 암호화와 전자서명

암호 고전적인 암호 : 카이사르 암호 암호화하려는 내용을 알파벳별로 일정한 거리(distance, d)만큼 밀어서 다른 알파벳으로 치환하는 기법. 암호를 풀거나 만들 떄 알아야 하는 정보 : 키(Key) 대칭키 암호 / 비대칭키 암호 평문(Plain Text)이란 암호화 되어 있지 않은 문자열 의미 암호화 : 평문 → 암호 (cipher, encrypt) 복호화 : 암호 → 평문 (dechipher, decrypt) 대칭키 암호 : 암호화 사용 키 == 복호화 사용 키 비대칭키 암호 : 암호화 사용키 =! 복호화 사용 키 비대칭키(공개키) 암호 두 개의 키를 사용하여 암/복호화 실행 공개키(PK) = 암호화에 사용되는 키 비밀키(SK) = 복호화에 사용되는 키 비밀키 ⇒ 공개키 : 쉬움 공개키 ⇒ 비밀키..

블록체인/Klaytn

5장 - 블록체인의 비교

Public vs. Private Disclaimer : this is a subjective matter 퍼블릭과 프라이빗의 구분은 블록체인에 다음을 수행할 수 있는지 확인하여 결정 : 누구든지 기록된 정보(블록)를 자유롭게 읽을 수 있는지? 명시적인 등록 또는 자격취득 없이 정보를 블록체인 네트워크에 기록할 수 있는지? 블록체인의 정보가 공개되어 있고 네트워크가 정한 기준(e.g., gas fee)에 따라 정보를 기록요청할 수 있다면 그 블록체인은 퍼블릭/공개형이라 한다. 이와 반대로 정보가 공개되어 있지 않고 미리 자격을 득한 사용자만이 정보를 기록할 수 있다면 그 블록체인은 프라이빗/비공개형이라 한다. Permissionless vs. Permissioned Disclaimer : this is ..

블록체인/Klaytn

4장 - 합의 알고리즘

Nons = garbage값을 해쉬에 집어넣는것 PoW(Proof of Work, 작업증명) PoS(Proof of Stake, 지분증명) BFT-variants(Byzantine Generals Problem, 비잔틴 장애 허용) 제안자격 취득 방법 계산이 어려운 문제를 풀 것 새로운 Nons를 계속 주고 만약 앞에 00000이 몇개 있으면 인정. 플랫폼 토큰을 보유한 양과 기간에 따라 결정적으로 또는 확률적으로 뽑힐 것 정해진 순번 또는 정해진 확률에 의해 뽑힐 것 네트워크 참여 제한 없음 없거나 낮음 높음 합의에 필요한 연산량 높음 낮음 낮음 위협 전체 연산량의 51%를 한 참여자가 소유할 경우 중앙화됨 전체 토큰의 51%를 한 참여자가 소유할 경우 중앙화됨 전체 참여노드의 1/3 이상이 담합할 경..

MellowHoney
'블록체인' 태그의 글 목록 (2 Page)