無知

갈 길이 먼 공부 일기

기술 공부/블록체인 34

스마트 컨트랙트 (5-3) | Solidity(솔리디티) Units and Globally Available Variables

1. Units 솔리디티에서는 시간이나 이더의 단위를 나타내는 unit을 지원한다. (1) Ether Ether Units: A literal number can take a suffix of wei, gwei or ether to specify a subdenomination of Ether, where Ether numbers without a postfix are assumed to be Wei. assert(1 wei == 1); assert(1 gwei == 1e9); assert(1 ether == 1e18);​ https://docs.soliditylang.org/en/v0.8.13/units-and-global-variables.html 이더의 단위를 표현할 수 있어서 내부적으로 이를 왼쪽..

스마트 컨트랙트 (5-2) | Solidity(솔리디티) State Variable, Type

3. Contents 3-1. Contract 3-1-1. Variable 3-1-1-1. State Variable State Variable은 EVM 내 스토리지에 저장된다. 메모리에 저장되는 임시 값들과 반대된다. 스토리지는 컨트랙트의 모든 함수가 접근할 수 있다. 즉, EVM의 storage 영역은 contract 내의 모든 function 이 접근할 수 있으며 function이 변경한 값은 계속해서 저장되어 다음 번 function에서 저장된 값을 사용할 수 있다. 컨트랙트의 함수 바깥에서 선언되었다. State Variables State variables are variables whose values are permanently stored in contract storage. See th..

스마트 컨트랙트 (5-1) | Solidity(솔리디티) 레이아웃

1. Solidity Language 1-1. 특성 - 절차적 언어 ( VS 함수형 언어) - 정적 타입 언어 (컴파일 시 타입 결정. 오류 시 컴파일 에러) - 변수 이름의 대소문자 구분 - 객체 지향 언어 - 확장자 : sol 2. LayOut 2-1. pragma 파일 최상단에 위치, 컴파일러의 특정 기능을 활성화하는 데에 사용 Pragmas The pragma keyword is used to enable certain compiler features or checks. A pragma directive is always local to a source file, so you have to add the pragma to all your files if you want to enable it in..

스마트 컨트랙트 (4-2) | 가스

1. 가스의 개념 1-1. 정의 - 가스란, 이더리움 블록체인 내 트랜잭션, 컨트랙트를 실행하는 데 필요한 계산 작업의 측정 단위 Gas refers to the unit that measures the amount of computational effort required to execute specific operations on the Ethereum network. Since each Ethereum transaction requires computational resources to execute, each transaction requires a fee. Gas refers to the fee required to conduct a transaction on Ethereum successful..

스마트 컨트랙트 (4-1) | 컨트랙트, 이더리움 가상머신

1. 이더리움 스마트 컨트랙트의 개념 1-1. 계정 1-1-1. 계정의 종류 : 외부 소유 계정(EOA)와 계약 계정(Contract Account)가 존재한다. 1-1-2. EOA, 외부 소유 계정 - 일반적으로 사용자에 의해 관리된다. (사용자가 가지는 지갑으로 생각하면 된다) - 프라이빗 키에 의해 관리된다. - EOA 계정이 스마트 컨트랙트와 통신하는 방법은 2가지. (1) 신규 컨트랙트를 생성 (2) 이미 생성된 컨트랙트에 메시지를 전송 1-1-3. 계약 계정, 컨트랙트 어카운트 - 사용자가 아닌, 이더리움 가상 머신 위에서 동작하는 프로그램에 의해 관리된다 - 프라이빗 키가 없다 1-2. 개념 1-2-1. 닉자보가 스마트 컨트랙트를 주장한 이유 - 프로그램화된 계약은 자동 실행이 가능해 부정을..

스마트 컨트랙트 (4) | 이더리움, DAO

1. 이더리움의 유래 [비탈릭 부테린과 Colored Coin, 마스터 코인의 조우] 이더리움의 유래에 대해 간략히 짚고 넘어가자. 이더리움의 창시자인 비탈릭 부테린은, 2011년 비트코인 매거진에서 비트코인 관련 아티클을 작성하기 시작하면서 암호화폐 생태계에 발을 들였다. 2013년 대학교에 입학했으나 이내 학업을 멈추고, 비트코인 커뮤니티를 돌아다니고자 여행을 떠난다. 이전 글에서도 다뤘듯, 비트코인을 하부 구조 삼아 스크립트에 데이터를 담는 새로운 코인, 컬러드 코인 프로젝트들이 당시 유행했고, 그렇게 여행에서 컬러드코인의 대표주자, 마스터코인 팀을 만나게 된다. [BITCOIN IN ISRAEL: INTERVIEW WITH MENI ROSENFELD AND RON GROSS, PART I] Alt..

스마트 컨트랙트 (3) | P2SH, OP_RETURN

01. P2SH, Pay-to-Script-Hash 스마트 컨트랙트 (2) | Bitcoin Scripts 0. Testnet 실습 >>> from bitcoin import * >>> priv = sha256('****************') >>> pub = privtopub(priv) >>> addr = pubtoaddr(pub) >>> addr '1L8zP6iitxPx3YKXfJQSJpifhNgwZnUszM' >>> addr = pubtoaddr.. moozii-study.tistory.com 위의 지난 글에서 살펴보았듯이, 기존 P2PKH 기반의 Multisignature Transaction은 아래와 같은 문제가 존재했다. 다중서명 트랜잭션은 현재 몇가지 한계가 있다. 1. 스크립트 상 참여..

스마트 컨트랙트 (2) | Bitcoin Scripts

0. 비트코인 스크립트란? 비트코인을 가리켜 종종 프로그래밍 가능한 돈이라 하기도 합니다. 비트코인의 디지털 특성 때문에, 사용자는 상당히 유연한 방식으로 자금 사용 조건을 설정할 수 있습니다. 비트코인에 대해 논의할 때, 우리는 지갑과 코인에 대해 이야기 합니다. 그러나 우리는 지갑을 키로, 코인을 수표로, 블록체인을 줄지어 늘어선 금고로 생각할 수 있습니다. 각 금고에는 작은 틈이 존재하여, 누구나 수표를 입금하거나 얼마나 많은 금액이 보관되어 있는지 들여다볼 수 있습니다. 그러나 키를 보유한 이만 금고 내부에 접근할 수 있습니다. 키를 보유한 이가 누군가에게 자금을 전달하고자 한다면, 자신의 금고의 잠금을 해제합니다. 이들은 이전의 수표를 참조하는 새로운 수표를 생성하고(이전의 수표는 파기), 수신..

스마트 컨트랙트 (1) | Smart Contract & Bitcoin

1. 탈 중앙화의 흐름과 미래 우버와 같은 공유 경제, 플랫폼의 등장에 따라 많은 효익이 발생했지만, 한편으로는 그 운영 주체가 특정 기업인 것처럼 중앙화된 주체가 관리함으로써 다양한 문제가 발생한다. 예를 들어, 관리 주체의 부도덕함이 아래 사례처럼 드러나기도 한다. https://www.forbes.com/sites/kashmirhill/2014/10/03/god-view-uber-allegedly-stalked-users-for-party-goers-viewing-pleasure/?sh=3a24550a3141 'God View': Uber Allegedly Stalked Users For Party-Goers' Viewing Pleasure (Updated) At a launch party in C..

DeFi가 뭘까 | 디파이 개념과 용어(스테이블 코인, Farm, 스테이크)

도대체 DeFi가 뭘까? Decentralized Finance (DeFi) Definition Decentralized finance refers to the infrastructure, processes, and technologies used to democratize financial transactions. www.investopedia.com Decentralized Finance (DeFi) Definition Decentralized finance (DeFi) is an emerging financial technology based on secure distributed ledgers similar to those used by cryptocurrencies. The system remo..

이더리움의 작동방식 (8) | 채굴, 작업증명 PoW, DAG

* 이 글은 How does Ethereum work, anyway? 라는 글을 읽어가며 이해한 바를 한국어로 번역하여 정리하는 글입니다. 시리즈의 형태로 끊어가며 업로드되었으니, 참고 부탁드립니다. 이더리움 블록체인의 구성 요소 이더리움 블록체인은, 계정 / 상태 / 가스 및 수수료 / 상호작용 / 블록 / 상호작용의 집행 / 채굴 / 작업 증명 등으로 구성된다. 지난 글에 이어서 계속 설명한다. 8. 채굴 및 작업 증명 이더리움의 작업 증명 방식은 Ethash, 이더해시라 한다. 대거-하시모토 알고리즘으로도 알려져 있다. Ethash is the planned PoW algorithm for Ethereum 1.0. It is the latest version of Dagger-Hashimoto, a..