일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코어 이더리움 프로그래밍
- rust
- 알고리즘
- Ethereum
- Algorithm
- 동시성
- 블록체인
- Thread
- Kubernetes
- BlockChain
- BAEKJOON
- fluent python
- 이더리움
- 백준
- Refactoring
- docker
- 러스트
- 전문가를 위한 파이썬
- function
- IMAGE
- 파이썬
- Python
- AWS
- guru
- dockerfile
- RabbitMQ
- Fast API
- Network
- 플랫폼
- Container
- Today
- Total
글쓰기 | 방명록 | 관리 |
목록이더리움 (6)
Victoree's Blog
블록체인 어카운트의 상태 전이를 유발하는 트랜잭션들과 모든 관련 정보는 블록이라는 구조체에 저장됨 블록들은 시간순으로 체인처럼 연결되어있음 P2P 네트워크와 동기화 프로토콜을 통해 네트워크에 연결된 모든 노드에 전파되어 공유됨 블록 블록 헤더, 엉클 블록, 트랜잭션으로 구성됨 블록을 체인에 추가할 때 필요한 마이닝 작업의 난이도도 포함되어 있음 Etherscan.io 이더리움의 모든 정보를 탐색하고 조회할 수 있는 서비스 제공 실제 이더리움 네트워크에 참여해 모든 정보를 동기화해서 정보를 MongoDB로 옮긴 후 분석 type Bloom [32]byte type Header struct { ParentHash common.Hash UncleHash common.Hash Coinbase common.Has..
2. 어카운트 생성 어카운트 생성 모든 어카운트는 개인 키와 공개키의 쌍으로 정의됨 → 비대칭키 비대칭키 생성 시 RSA, ECDSA, DSA 등의 알고리즘이 존재함 256비트 ECDSA(타원형 곡선 방식)을 사용 secp256kl 라이브러리(C++)를 Go언어로 매핑하여 사용 암호 해시 알고리즘 Keccak256을 사용하여 32바이트의 고정값을 생성해내고, 이 중 20바이트를 절삭하여 어카운트 주솟값을 사용함 어카운트 상태 어카운트들이 모인 것 → 상태 : stateObject로 표현함 상태 변경을 하려면 stateObject 접근 후 변경 가능 변경된 어카운트는 CommitTrie()를 호출하여 변경된 Trie를 ethdb 패키지를 통해 LevelDB에 업데이트 type stateObject stru..
이더리움 플랫폼 구성 1. 데이터 계층 어카운트 모든 트랜잭션의 실행 주체이자 기본단위 Type : 외부 소유 어카운트 / 컨트랙트 어카운트 1) 외부 소유 어카운트 EOA 사용자 어카운트 사용자가 직접 개인로 관리하며, 스마트 컨트랙트 실행 코드를 가지고 있지 않음 키를 분실하면, 어카운트도 분실하게 됨 개인키를 이용해 서명된 트랜잭션을 생성하고, 실행함으로 다른 EOA나 컨트랙트 어카운트에 메시지를 보낼 수 있음 EOA 간 메시지는 보통 이더 전송 용 EOA는 메시지를 보내 코드를 실행시켜 다양한 결과를 만들 수도 있음 2) 컨트랙트 어카운트 CA 스마트 컨트랙트의 정식 용어가 컨트랙트 어카운트이다 EOA나 CA로 부터 메시지를 받아 내부 스마트 컨트랙트 코드를 실행한 후, 새 컨트랙트를 생성하거나 ..
이더리움 단일 상태 모델 이더리움 상태 전이 모델 이더리움은 네트워크상에서 서로 모르고, 신뢰할 수 없는 개인들의 합의 과정을 통해 트랜잭션이 처리되도록 설계되었다. 트랜잭션이 발생할 때마다 신뢰여부를 참여자들에게 묻고, 과반수가 문제 없다는 합의가 된 경우에만 해당 트랜잭션이 정상처리된다. 트랜잭션이 완료되었을 때, 어카운트의 상태 변화가 일어난다 이더리움에서의 거래, 상태 전이 based on "상태변이 함수" 특정 상태변이 함수에 의해 특정 상태가 전이되거나, 전이에 실패하면 이전 상태로 복귀 EX) 트랜잭션 또는 스마트 컨트랙트 (이더리움 가상머신에서 실행되는 프로그램) 상태는 복수의 상태 변이를 가지 못하고, 단 하나의 상태 변이만 갖음 이더리움의 기본 단위 → 어카운트 모든 어카운트는 유니크한..
이더리움 플랫폼 이더리움 작동 과정 블록체이 기술 하에 Ether 같은 다양한 암호화폐를 생성하고 운용할 수 있음 네트워크 상에서 서로 신뢰할 수 없는 대상간에 서로 합의한 계약을 준수하도록 강제하는 스마트 컨트랙트를 지원 이더리움은 프로그래밍한 대로 작동하는 스마트 컨트랙트를 작동시키는 분산된 플랫폼이다 이더리움 플랫폼의 작동과정 이더리움 지갑 및 계정 생성 매매 / 환전 이더 송금 상품 구매 / 이더 결제 상품 판매 이더 수취 블록 N-1 헤더 해싱 계산 (Proof of Work) → 신규 블록 추가 & 브로드 캐스팅 이더리움 플랫폼 개발 컨트랙트 기반 응용 서비스 개발 스마트 컨트랙트 기반 DApp 서비스 블록 내부 데이터 블록 헤더 타임스탬프 이전 블록 헤더의 해시값 넌스 머클 트리 루트 1. ..
블록체인과 이더리움 블록체인 블록체인은 비즈니스 위키이다. 블록체인은 불특정 다수가 자유롭게 비즈니스 거래내용을 기록하고, 함께 검증하는 비즈니스 백과사전 Wiki이다. 블록체인은 모든 거래 데이터가 참여자들의 컴퓨터에 분산되어 있다. 저장방식 여러 거래를 작은 구조체에 저장 과반 이상의 사람들의 검증에 의해 이상 없음이 밝혀진 블록들을 시간순으로 하나의 체인 구조로 연결함 연결된 블록들은 참여자들의 컴퓨터에 모두 동일하게 저장되는 개인간 분산 장부이다. 신뢰성 가용성 분리 내구성 이 세 가지 분산 시스템이 갖추어야 하는 요소들을 모두 만족하게 된다. 블록체인의 시작 초기 가상화폐인 비트코인을 위해 개발됨 이더리움 DApp(Decentralized App), 스마트 컨트랙트 등의 기술을 통해 다양한 분야..