NFT란 싸인볼에 비유할 수 있다.

그냥 공은 가격이 싸지만, 유명선수의 싸인볼은 비싸다. 

유명선수의 싸인이라는 희귀하고 고유한 속성이 붙기 때문.

NFT도 그렇다. 일반 코인은 그냥 공처럼 하나하나의 의미가 없고 개수로서 의미를 가지나,

NFT는 JSON 메타데이터로 각각의 NFT가 구분되어 별도의 가치를 가지게 된다.

반응형

'비트코인' 카테고리의 다른 글

나만의 ERC-20 토큰 만들기 실습편  (1) 2023.05.21
Solidity  (0) 2023.05.17
나만의 ERC-20 토큰 만들기  (0) 2023.05.09
스마트 컨트랙트  (0) 2023.03.15
유동성풀, LP공급, 비영구적 손실의 개념  (0) 2023.03.14

유사한 가이드들

 

환경

라즈베리파이 콘솔에서 진행(nodejs는 12.22.7 버전, truffle은 5.1.67버전으로 설치함)

 

 

1. nodejs 설치(sudo apt-get install nodejs npm)

  • truffle포함 대부분 이더리움 배포환경은 node js기반으로 작성되어 있기 때문에 필요

2. infura.io 설정(웹사이트 가입 및 WEB3 API KEY설정)

  • 비트코인과 마찬가지로 이더리움도 분산화된 노드 기반으로 동작하는데, 원래는 ERC-20을 이 노드에 올려야 한다.
  • (이더리움 노드는 비트코인 노드와 다르게 EVM을 구동하고 바이트코인을 돌리는 가상 컴퓨터역할도 한다. 스마트계약은 모든 노드에서 반복수행되며 같은 결과가 나오는지 검증된다. 이에 따라 결정론성이 중요한데, 이는 나중에 후술하기로 하자)
  • 하지만 노드 운용에는 전체 블록체인을 다운받아야 하기도 하고, 복잡하고 무거운 컴퓨팅 설정이 필요하다.
  • infura는 이러한 개인이 노드운용을 해야하는 부담을 대신해주며, 가볍게 스마트계약을 배포할 수 있다.

3. truffle 설치(npm install -g truffle)

  • 원래 스마트계약 solidity 파일은 solc로 컴파일 하는데, truffle을 사용하면 컴파일부터 테스트, 마이그레이션까지 원툴로 전과정 제공
  • 설치후 truffle init을 해주면 기본 폴더나 config파일(truffle-config.js) 만들어준다.
  • truffle-config.js는 아래처럼 작성
  • 복잡해 보이지만 development는 로컬 환경, sepolia는 테스트넷 환경을 위한거
require('dotenv').config();
const { MNEMONIC, PROJECT_ID } = process.env;

const HDWalletProvider = require('@truffle/hdwallet-provider');


module.exports = {
  networks: {
    development: {
     host: "127.0.0.1",     // Localhost (default: none)
     port: 8545,            // Standard Ethereum port (default: none)
     network_id: "*",       // Any network (default: none)
     gas: 30000000,
    },
    sepolia: {
      //provider: () => new HDWalletProvider(MNEMONIC, `https://sepolia.infura.io/v3/${PROJECT_ID}`),
      provider: () => new HDWalletProvider(MNEMONIC, `wss://sepolia.infura.io/ws/v3/${PROJECT_ID}`),
      network_id: 11155111,
      gas: 4465030,
      networkCheckTimeout: 100000,
    },
  },

  // Set default mocha options here, use special reporters, etc.
  mocha: {
    // timeout: 100000
  },

  // Configure your compilers
  compilers: {
    solc: {
      version: "0.8.19",      // Fetch exact version from solc-bin (default: truffle's version)
      // docker: true,        // Use "0.5.1" you've installed locally with docker (default: false)
      // settings: {          // See the solidity docs for advice about optimization and evmVersion
      //  optimizer: {
      //    enabled: false,
      //    runs: 200
      //  },
      //  evmVersion: "byzantium"
      // }
    }
  },

};

 

4. openzeppelin 설치(npm install @openzeppelin/contracts)

  • 스마트계약을 처음부터 코딩하지 않도록 상속만 하면 되는 base 클래스(contract) 제공

5. 스마트 계약 solidity 파일 작성

  • 아래 처럼 openzeppelin에서 제공하는 ERC20을 상속하면 만들기 쉽다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract SevityToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("Sevity Token", "SEVITY") {
        _mint(msg.sender, initialSupply);
    }
}

6. migrations 폴더에 다음 파일 작성

  • 1_initial.js로 저장(사실 이름은 큰 상관 없고 숫자를 앞에 붙이면 그 순서대로 실행해준다)
  • 아래는 스마트 계약을 테스트넷에 배포하면서 초기 발행량을 10억개로 하는 코드
const SevityContract = artifacts.require("SevityToken");

module.exports = function(deployer) {
  const initialSupply = web3.utils.toWei('1000000000', 'ether'); // 10억 토큰
  deployer.deploy(SevityContract, initialSupply);
};

7. sepolia넷에서 공짜로 ETH받기

  • 메타마스크에서 메인넷 대신 sepolia테스트넷으로 설정하고(그냥 고르면 되는 수준이다)
  • 테스트용 ETH는 https://sepoliafaucet.com/ 여기접속해서 받으면 된다(테스트용이라 공짜로 받을 수 있다)

 

8. 단순한 ERC-20제작 테스트이므로 로컬환경에 배포는 생략하고, 테스트넷중 하나인 sepolia에 배포(truffle migrate --network sepolia)

  • 이때 contracts안에 있는 sevity_token.sol 컴파일
  • migrations안에있는 스크립트들 수행된다.

truffle 폴더 구조

 

9. 배포성공후 이더스캔에 가보면 다음처럼 Contract Creation 트랜잭션을 볼 수 있다.

10. 코인발행이후 스마트계약의 읽기 작업은 가스를 소모하지 않으며, 초기 발행량을 조회하려면 truffle로 다음처럼 할 수 있다.

(coin) sevity@raspberrypi:~/workspace/erc20 $ truffle console --network sepolia
truffle(sepolia)> let instance = await SevityToken.deployed()
undefined
truffle(sepolia)> let balanceInWei = await instance.balanceOf("0xFbb5164e8884ccB4893381b374D1ec8BbbC56F75")
undefined
truffle(sepolia)> let balanceInTokens = web3.utils.fromWei(balanceInWei.toString())
undefined
truffle(sepolia)> console.log(balanceInTokens)
1000000000
undefined
truffle(sepolia)>

11. 메타마스크에 커스텀 토큰으로 추가하기

  • 아래처럼 계약주소(truffle migrate 과정에서 결과로 출력되며, 이더스캔에서도 확인가능)를 넣으면 토큰기호나 소수점은 알아서 세팅된다.

추가완료!

12. 메인넷에 배포

  • truffle-config.js에 다음 부분 추가해주면 되는데
    mainnet: {
      provider: () => new HDWalletProvider(MNEMONIC, `wss://mainnet.infura.io/ws/v3/${PROJECT_ID}`),
      network_id: 1,
      confirmations: 2,    // # of confirmations to wait between deployments. (default: 0)
      timeoutBlocks: 200,  // # of blocks before a deployment times out  (minimum/default: 50)
      skipDryRun: true,     // Skip dry run before migrations? (default: false for public nets )
      gas: 21000,
      gasPrice: 50000000000, // 50GWEI
      networkCheckTimeout: 100000,
    },
  • gas와 gasPrice 부분은 설명이 좀 필요하다.
  • gas는 gasLimit을 설정하는 부분인데, gas는 스마트계약 복잡성에 따라 런타임에 이러리움에서 정확하게 부여하게 되지만, 사전에 알수는 없다. 사전에 알기 힘든 이유는 정지문제(Halting Problem)때문인데 주어진 프로그램이 언제 멈출지, 또는 계속 실행될지를 모르기 때문이다. 요금은 실제 사용된 gas에 의해 부과되기에 gasLimit을 무조건 높은 값으로 해놓고 보는게 개발자에게는 유리할 수 있는데, 이더리움 블록마다 gasLimit 합계의 제한이 걸려있어서(80만 GWEI던가), 채굴자들이 블록하나 안에 많은 트랜잭션을 포함하기 위해 기피할 수 있다는 점이 있다. 그렇다고 너무 작은 값을 주었다가 실제 사용량이 그보다 크면 out of gas 오류가 나며 트랜잭션이 실패해 버리게 된다(단, 트랜잭션 실패시에도 사용된 gas는 환원되지 않고 gas 비용은 손실되므로 주의가 필요!!) 적절한 gasLimit을 대략적으로 계산해주는 툴도 있다고 하는데 아직 써보진 않았다.
  • gasPrice는 이와 다르게, 개발자가 높게 책정할수록 그대로 채굴자의 이득이 되는데, 너무 낮으면 채굴이 진행이 잘 안고, 너무 높으면 손해이므로 어느 정도가 적절한지는 가스트래커를 통해 확인할 수 있다.
  • 채굴자에게는 실제로 스마트계약 복잡성에 따라 사용된 gas * gasPrice를 보상으로 지급된다.
반응형

'비트코인' 카테고리의 다른 글

NFT  (0) 2023.06.24
Solidity  (0) 2023.05.17
나만의 ERC-20 토큰 만들기  (0) 2023.05.09
스마트 컨트랙트  (0) 2023.03.15
유동성풀, LP공급, 비영구적 손실의 개념  (0) 2023.03.14

Solidity는 이더리움 블록체인에서 스마트 계약을 개발하기 위한 프로그래밍 언어이며 EVM상에서 돌아갑니다.

ERC-20토큰을 발행하기 위해서도 사용됩니다.

 

스마트 계약 코드는 EVM바이트코드로 컴파이되며, 이더리움 네트워크에 배포될 때 이 바이트 코드가 블록체인에 저장됩니다.

이 바이트 코드는 모든 노드에 복제되어 분산 저장됩니다.

 

바이트코드의 실행은 특정 노드에서만 진행되지 않고 모든 노드는 독립적으로 같은 바이트코드를 실행하고 그 결과를 검증하는 식으로 진행됩니다.

 

Solidity는 스마트 계약 코드작성에만 사용되고, 작성된 코드를 이더리움에 배포하는 기능은 없습니다.

해당 기능은 별도 Web3.js 등을 통해 수행됩니다(주로 javascript 사용)

 

 

공식 사이트: https://soliditylang.org/

반응형

'비트코인' 카테고리의 다른 글

NFT  (0) 2023.06.24
나만의 ERC-20 토큰 만들기 실습편  (1) 2023.05.21
나만의 ERC-20 토큰 만들기  (0) 2023.05.09
스마트 컨트랙트  (0) 2023.03.15
유동성풀, LP공급, 비영구적 손실의 개념  (0) 2023.03.14

ERC-20란?

ERC는 Ethereum Request for Comments의 약자로 이더리움 표준을 의미합니다.

그 중에서 ERC-20은 이더리움 플랫폼에서 스마트 계약을 통해 생성되는 토큰을 위한 기술 표준입니다.

이 표준은 토큰이 어떻게 전송되고, 어떻게 접근할 수 있는지, 전체 공급량이 얼마인지 등과 같은 규칙을 정의합니다.

2015년 제정후 많은 코인들이 발행되었으며 그 예시는 체인링크(LINK), 유니스왑(UNI), 골렘(GNT), MANA, SNT 등입니다.

 

WIK라는 ERC-20 토큰을 만든다고 가정하고, 단계별 개발 과정은 다음과 같습니다.

1. Solidity 학습: Solidity는 이더리움 스마트 컨트랙트를 작성하는 데 사용되는 프로그래밍 언어입니다. Solidity에 대한 이해를 바탕으로 ERC-20 토큰을 구현할 수 있습니다. 온라인에서 제공되는 Solidity 관련 문서, 튜토리얼 및 자료를 참고하세요.

2. 개발 환경 설정: Remix, Truffle, Hardhat 등의 이더리움 개발 프레임워크를 사용하여 개발 환경을 설정하세요. 이러한 프레임워크는 스마트 컨트랙트 개발, 테스트, 배포를 쉽게 할 수 있도록 도와줍니다.

3. ERC-20 스마트 컨트랙트 작성: ERC-20 토큰 표준에 따른 스마트 컨트랙트를 작성하세요. 토큰 이름(Wonil Token), 심볼(WIK), 총 발행량, 소수점 자릿수 등의 정보를 포함해야 합니다. 또한, 표준 ERC-20 인터페이스를 구현해야 하며, 다음 함수들을 포함해야 합니다.
totalSupply
balanceOf
transfer
transferFrom
approve
allowance

 

4. 스마트 컨트랙트 테스트: 작성한 스마트 컨트랙트를 테스트하세요. 로컬 이더리움 개발 환경(Ganache 등) 또는 테스트넷(Ropsten, Rinkeby 등)을 사용하여 컨트랙트 기능을 테스트하고, 문제가 없는지 확인합니다.

5. 스마트 컨트랙트 배포: 테스트를 완료한 후, 이더리움 메인넷에 스마트 컨트랙트를 배포합니다. MetaMask, MyEtherWallet, Truffle, Hardhat 등의 도구를 사용하여 컨트랙트를 배포할 수 있습니다. 배포 과정에서 이더리움을 소비하는 가스비를 지불해야 합니다.

6. 토큰 관리 및 분배: 스마트 컨트랙트가 성공적으로 배포되면, 토큰을 관리하고 사용자에게 분배할 수 있습니다. 토큰의 소유권 이전, 토큰 락업, 에어드랍 등 다양한 기능을 구현하고 활용할 수 있습니다.

7/ 토큰 추적 및 지갑 통합: WIK 토큰 사용자들이 토큰을 지갑에서 추적하고 관리할 수 있도록 지갑 통합을 지원해야 합니다. 이를 위해 사용자들에게 토큰의 컨트랙트 주소, 심볼, 소수점 자릿수를 제공해야 합니다. 일반적으로 이더리움 지갑들은 ERC-20 토큰을 자동으로 인식하고 지원합니다.

8. 거래소 상장: 토큰의 유동성을 높이고 가치를 창출하기 위해 암호화폐 거래소에 상장을 고려할 수 있습니다. 거래소에 따라 상장 요구사항과 절차가 다르므로, 원하는 거래소의 상장 가이드라인을 확인하고 준수해야 합니다.

9. 토큰 마케팅 및 커뮤니티 활성화: WIK 토큰의 인지도를 높이기 위해 마케팅 활동을 계획하고 실행해야 합니다. 또한, 커뮤니티를 만들어 토큰 사용자들과 소통하며 토큰 가치를 향상시키는 데 도움이 됩니다.

10. 지속적인 개발 및 관리: 토큰의 성장을 위해 지속적인 개발과 관리가 필요합니다. 새로운 기능 추가, 보안 업데이트, 토큰 이벤트 및 파트너십을 통해 토큰의 가치를 높일 수 있습니다.

반응형

'비트코인' 카테고리의 다른 글

나만의 ERC-20 토큰 만들기 실습편  (1) 2023.05.21
Solidity  (0) 2023.05.17
스마트 컨트랙트  (0) 2023.03.15
유동성풀, LP공급, 비영구적 손실의 개념  (0) 2023.03.14
파일코인  (0) 2022.05.14
☞편집자 노트 '스마트 컨트랙'=비트코인엔 1차원적 거래내용만 기록된다. 'A 계좌에서 B계좌로 비트코인 1개가 송금됐다'는 식이다. 애초부터 블록의 크기가 1Mb로 작았기 때문에 복잡한 거래내용을 담을 수 없었다. 이와 달리 이더리움은 블록 크기를 키우면서 'if'라는 조건문을 넣을 수 있도록 설계했다. 예컨대 '서울시간 내일 오전 10~11시 서울 종로구에 비가 100mm 이상 내리면 A계좌에서 B계좌로 1이더를 송금한다'는 계약을 담을 수 있게 됐다. 이더리움 위에 날씨 보험을 같은 상품을 올려놓을 수 있게 됐다는 얘기다. 더욱이 이 계약은 이더리움 프로토콜에 의해 자동 집행된다. 금융기관이나 중앙화된 인증기관의 개입이 필요 없다. 그래서 '스마트(smart)'한 '컨트랙(contract·계약)'이라고 한다. 이더리움이 등장한 이후 이더리움 위에서 돌아가는 수많은 탈중앙화된 앱(Dapp)이 나오고 있는 건 이 때문이다. 스마트 컨트랙이 탑재되면서 비트코인을 일반 전화기에 비유한다면 이더리움은 스마트폰이라고 부를 수 있게 됐다.

출처 : 여성경제신문(https://www.womaneconomy.co.kr)
반응형

'비트코인' 카테고리의 다른 글

Solidity  (0) 2023.05.17
나만의 ERC-20 토큰 만들기  (0) 2023.05.09
유동성풀, LP공급, 비영구적 손실의 개념  (0) 2023.03.14
파일코인  (0) 2022.05.14
테라(Terra), 루나(LUNA), UST 사태  (0) 2022.05.13

쉬운파트

유명한 코인들은 그냥 업비트같은 큰 거래소 가서 거래할 수 있지만, 신생 코인등 유동성이 부족한 경우는 거래가 어려울 수 있음.

이때 (이더-신생코인)등을 페어로 해서 유동성을 공급받을 수 있음(유니스왑의 경우)

유동성이 공급되니, 거래자들은 손쉽게 SWAP이 가능하고, LP공급자들은 리워드 토큰(UNI같은)을 제공받음

 

 

어려운파트

그런데 이더1개-신생코인1개등 페어로 공급했다고해서(예치했다고 해서) 나중에 인출할때 똑같은 개수로 받는것이 아님.

이 개념이 좀 복잡한데, AMM에 의해서 계산된 가치로 인출이 되는데, 

이더1개, 신생코인1개를 개별적으로 들고 있을때에 비해서 손해를 볼 수 있고 이를 비영구적 손실이라고 부름.

일단은 깊게 팔거 아니면, 내가 유동성을 공급했고 그로인한 거래자들의 거래 때문에 넣은대로 그대로 뺄수는 없고 그에 따라 득과 실이 있다고 퉁쳐서 이해해두는 정도면 충분할듯함

  • 득: 유동성 공급에 따른 리워드를 받음
  • 실: AMM의 계산로직에 따라 넣은 개수 그대로 뺄 수 없고, A,B자산 각각을 개별적으로 들고 있는것 대비해서 약간의 손해를 볼 수 있음(A나 B의 가격상승분을 전혀 이득 못보는건 아니고, 개수가 약간 줄어듦에 따라 개별 홀딩에 비해 약간 손해본다고 이해하면 됨)
반응형

'비트코인' 카테고리의 다른 글

나만의 ERC-20 토큰 만들기  (0) 2023.05.09
스마트 컨트랙트  (0) 2023.03.15
파일코인  (0) 2022.05.14
테라(Terra), 루나(LUNA), UST 사태  (0) 2022.05.13
웹3.0  (0) 2022.04.15

웹3 버블이 올 것으로 예상하기 때문에 파일코인에 투자했다.

파일코인은 프로토콜랩스(Protocol Labs)가 IPFS를 토대로 네트워크에 인센티브를 추가해 만든 스토리지 공유시스템이다.
파일코인은 2017년 ICO를 통해 2억 달러 규모의 자금을 유치했다.
IPFS는 탈중앙화 웹이다. IPFS 방식에서 하나의 서버가 다운되거나 해킹되더라도 이용자는 파일을 잃지 않는다.
파일코인이 IPFS의 인센티브 레이어가 된다.

 

 

 

오호, 근데 파일의 내용을 직접 블럭체인에 올린다는 프로젝트는 없나?

IPFS를 통해 사용자는 인터넷 상에 존재하는 모든 데이터를 블록체인에 올릴 수 있다. 그러나 이는 직접 해당 데이터를 블록체인에 올린다는 것을 의미하지는 않는다. 만약 사용자가 1GB 용량의 데이터를 이더리움블록체인에 올린다면 엄청난 양의 가스비를 지불해야 할 것이다. IPFS 방식에서는 네트워크에 해당 데이터를 업로드하면, 파일 고유의 해시값이 산출된다. IPFS 상에서 이 해시값은 해당 파일의 영구적인 이름으로, 파일명을 무엇으로 하든 해당 파일은 동일한 해시값을 갖게 된다. 만약 한 사용자가 파일A를 다운로드 받고 싶다면 주변 노드에게 파일A의 해시값을 가지고 있는 노드를 탐색하게 된다. 결국 파일A의 해시값은 해당 파일에 대한 영구적인 링크라고 할 수 있다. 따라서 위변조의 위험이 없게 된다.

 

 

 

아래 내용은 어렵진 않고, 재미있네. 특히 저장과 검색을 나눈 부분이랑. 저장증명을 불시에 해야한다는게 재밌네 ㅋ

파일코인에는 저장소시장과 검색시장의 두 가지 시장이 존재한다.
그리고 각 시장에서는 저장소 채굴자들과 검색 채굴자라고 불리는 노드들이 존재한다.

저장소시장에서 클라이언트는 저장소 채굴자에게 토큰을 지불하고 파일을 저장할 수 있다. 
검색시장에서 클라이언트는 검색 채굴자에게 토큰을 지불하고 원하는 파일을 다운로드 받을 수 있다.
두 시장 모두 클라이언트와 채굴자는 자신의 주문을 설정하거나 가격을 제시할 수 있으며, 상대방의 제안을 받아들이거나 거부할 수 있다.

시공간증명 합의 알고리즘은 저장소 채굴자가 파일을 일정기간 동안 저장하고 있음을 증명하는 것이다.
저장소 채굴자는 지속적으로 증명을 받고, 불시에 파일코인 블록체인이 증명을 요구할 경우 증명을 제출해야 한다.

 

 

 

아래 내용은 약간 깊이가 있네. 핵심은 저장소를 많이 제공할수록 채굴자로 선출될 확률(?)이 높아진다는 것인듯

파일코인 블록체인의 채굴자는 해당 증명을 검증하고 블록에 기록하게 된다.
파일코인 블록체인은 소모적인 작업증명(PoW) 방식을 유용한 작업으로 대체하기 위해 네트워크 상에서 사용되는 저장소의 양이 새로운 블록을 생성하는 채굴자로 선정될 확률에 비례하도록 설정하였다. 즉 지분증명(PoS) 방식의 합의 알고리즘으로 이해할 수 있다. 그러나 지분증명 방식을 넘어 파일코인 개발팀은 매 블록 생성 주기마다 하나 또는 그 이상의 적은 인원의 채굴자를 선출하는 새로운 합의 알고리즘을 개발하고 있다. 이때 채굴자로 선출된 확률을 자신이 제공중인 저장소 양에 비례하도록 한다. 이처럼 파일코인 팀은 합의 과정을 효율적이며 동시에 IPFS 웹 발전과 같은 방향성을 갖도록 설계하고 있다.

 

 

이론은 그렇다 치고 현실이 궁금한데.. 아래에서 엿볼 수 있는듯 하다. 중국이 묻어있고 뭔가 아주 희망적이진 않은듯?

2020년 10월 15일 매인넷의 공개로 10월 15일부터 파일코인의 정식 채굴이 가능하다. 파일 코인 채굴에 대한 채굴법이 바뀌면서, 많은 스토리지 저장 채굴업체들이 명확한 채굴량을 계산해내지 못하기에 투자자들의 주의가 필요하다. 현재 파일코인 채굴은 중국이 전체 채굴량의 80% 이상을 차지하고 있으며, 초기 채굴부터 채굴이 가능할지 여부를 판단할 필요가 있다. 파일코인 채굴량 순위를 통해서 확인할 수 있다.
현재 채굴량 순위를 보면 1위부터 20위까지가 전체 채굴량의 60% 이상을 차지하고 있다.

 

흠.. 아래 부분을 보면 19년부터 정체중인거 아닌지 모르겠네 ㅠ 현제 활동이 있나? github은 있나?

고속 성장과 함께 파일코인이 직면한 문제 중 하나가 부상했다. 다름 아닌 효율적으로 확장을 하지 못하는 문제다. 파일코인은 새로운 사용자와 참여자가 들어오면서 아직 자사의 모델을 어떻게 효율적으로 확장할 것인지 문제를 해결하지 못했다고 인정했다. 이에 따라 2018년 1월, 파일코인은 수요와 요구에 따라 확장을 할 수 있도록 플랫폼을 재설계하기 전까지 새로운 사용자와 참여자를 받지 않겠다고 발표했다.
 ICO 이후, 자사의 문제를 인정한 파일코인은 당해 8월 프로젝트 진행 과정을 공유하며 로드맵을 공개했다. 파일코인은 2019년 중반 블록체인 기술을 활용한 탈중앙화 데이터 스토리지 네트워크를 공식 선보일 예정이다. 공식 메인넷
 출시에 앞서 테스트 네트워크는 2019년 1분기에 선보일 예정이며 메인넷 출시는 2019년 2분기 혹은 3분기로 예정됐다. 물론 해당 로드맵은 낙관적인 전망으로 추정한 것인 만큼 변동될 가능성은 얼마든지 있다고 덧붙였다.

 

 

 

 

 

 

반응형

'비트코인' 카테고리의 다른 글

스마트 컨트랙트  (0) 2023.03.15
유동성풀, LP공급, 비영구적 손실의 개념  (0) 2023.03.14
테라(Terra), 루나(LUNA), UST 사태  (0) 2022.05.13
웹3.0  (0) 2022.04.15
이더리움 관련 Q&A(자문자답)  (0) 2022.03.23

2018년 4월 Terra 프로젝트 발족.

Terra 메인넷은 Cosmos SDK를 기반으로 개발됨.

POS합의 알고리즘 사용.

1) 저렴한 수수료 2) 뚜렷한 고객혜택 3) 스테이블코인을 통한 가격안정성 유지를 차별점으로 내세움

Terra프로젝트에서 사용하는 스테이킹 코인이 LUNA이며, 스테이블 코인이 UST이다.

 

Luna는 UST가격 안정성을 유지하는 핵심 수단.

기본원리: 테라 프로토콜에서는 누구든지 LUNA와 UST를 교환할 수 있다.

 

LFG(Luna Foundation Guard)

테라 생태계를 위해서 결정된 그룹

UST가격 하방 압력을 흡수하기 위해 비트코인을 꾸준히 매입

 

UST > $1.00인 경우

UST가 매력적이어서 수요가 몰려 1달러보다 비싼가격에 거래된다고 가정.

테라프로토콜에 $1.00가치의 LUNA를 제공하면 새로 발행된 1UST를 받을 수 있다.

이 사람은 $1.00가치의 LUNA를 잃고, $1.00보다 더 가치가 올라간 1UST를 얻었기 때문에 이득(차익거래)

UST발행에 사용된 LUNA는 소각됨. LUNA공급량 감소. UST 공급량 증가. 따라서 UST가격하락 LUNA가격상승.

 

UST < $1.00인 경우

UST의 매력이 떨어져서 모두 던져서 1달러보다 싸졌다고 가정.

테라프로토콜에 이번에는 거꾸로 1UST를 제공하면 새로 발행된 $1.00가치의 LUNA를 받을 수 있다.

이 사람은 $1.00보다 저렴한 1UST를 잃고, $1.00가치의 LUNA를 얻었기 때문에 이득(차익거래)

LUNA발행에 사용된 UST는 소각(아마도). UST공급량 감소. LUNA공급량 증가. 따라서 UST가격 상승. LUNA가격하락.

LFG에서 비트코인을 사모은 후에는 UST가 $0.98 보다 떨어지면 LUNA가 아닌 $0.98가치의 BTC로 교환해줌. 이렇게 하면 LUNA가치가 하락하는게 아니라고 죽음의 나선극복 가능.  다시말해 BTC의 역할은 만약 UST가 $0.98 이하로 떨어질 때 UST를 BTC로 안전하게 exit 할 수 있게 함으로써 UST의 하방압력을 낮춰주는 역할을 하게 됨. 문제는 폭락장에서 UST와 교환해줄 BTC가 동나면 더이상 방법이 없는것인데.. 그것이 실제로 일어나 버림 ㅠ

 

위의 매커니즘을 보자면,

사람들이 UST를 많이 사용할수록 LUNA의 가격은 상승함을 알 수 있다.

 

앵커 프로토콜(Anchor Protocol)

UST예치자에게 연20%이자를 제공하는 대출 플랫폼(탈중앙 은행)

UST매력의 1등공신이며, UST중 71%가 여기 예치돼 있었음

 

 

루나사태

UST $1.00 패킹이 실패한 사건은 어떻게 일어났을까?

죽음의 나선(The Death Spiral)이라고도 하는데,

1UST를 $1.00가치의 LUNA로 모두가 바꾸는 과정에서 너무나 많은 LUNA가 발행되고 가격이 하락됨.

즉.. 모두가 UST를 던지기만 하면 LUNA의 가치가 끊없이 떨어지는데, 별도담보가 없으면 휴지가 되어 망하는 구조.

그래서 LUNA대신 BTC로 바꿀수 있는 시스템을 만들었지만..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'비트코인' 카테고리의 다른 글

유동성풀, LP공급, 비영구적 손실의 개념  (0) 2023.03.14
파일코인  (0) 2022.05.14
웹3.0  (0) 2022.04.15
이더리움 관련 Q&A(자문자답)  (0) 2022.03.23
비트코인 관련 Q&A (자문자답)  (0) 2021.12.30

저마다 웹3가 무엇인지 이야기하고 있지만 제대로된 이야기를 하는 사람은 거의 없다.

 

내가 생각하는 웹3.0은 웹2.0+탈중앙화 이다.

 

기존의 '나'라는 정체성이 웹에 존재하는 형태를 보면, 각 회사의 DB안에 내가 작성하거나 활동한 기록이 존재하는 형태이다. 그리고 각 회사들은 내가 활동한 기록을 자신들의 자산으로 활용해서 비지니스를 한다. 여기서 '나'는 참여자 이지만 이익에서는 완전히 소외되어 있거나 부분적으로만 참여가능하다(지식인 내공이나 adsense를 통한 수익등)

 

이걸 '나'를 중심으로 탈중앙화된 기록으로 모은다면? 그래서 각 회사가 망해도 내 기록이 온전하다면?

이 기록은 온전히 내것이므로 사고팔수 있다면? 각 회사는 이러한 나의 정보를 '렌더링'만 하는 회사로 역할이 축소된다면?

이런 질문이 꼬리를 물고 나올 수 있을것이고, 이것이 바로 웹3.0의 시작이다.

반응형

'비트코인' 카테고리의 다른 글

파일코인  (0) 2022.05.14
테라(Terra), 루나(LUNA), UST 사태  (0) 2022.05.13
이더리움 관련 Q&A(자문자답)  (0) 2022.03.23
비트코인 관련 Q&A (자문자답)  (0) 2021.12.30
비트코인 논문 리뷰  (0) 2021.08.31

여기는 내가 이더리움을 공부하며, 떠오르는 질문에 대해서 자문자답 형태로 기록해 내가는 페이지이다.

 

Q. 공식홈페이지?

A. https://ethereum.org/

 

Q. 개발자용 공식 페이지가 있나?

A. https://ethereum.org/en/developers/

 

Q. 이더리움 소스코드는 어디에 있으며, 누가 관리하고 있는가?

A. https://github.com/ethereum 여기에 오픈소스로 있는 것 같긴한데, 아직 범위는 잘 모르겠다

 

Q. 이더리움의 공급량은 무제한인가?

A. 비트코인과 달리 이더리움은 무한발행이 가능해서 주의가 필요하다고 한다. (여기 참조) 자세한건 좀 더 공부하면서 적어보자.

 

Q. 스마트컨트렉트는 어떻게 동작하나?

A. "스마트 계약은 중간에 제3의 보증기관을 끼우지 않고 개인간(P2P)에 원하는 계약을 체결할 수 있도록 해주는 디지털 전자계약 기능이다."

 

Q. 스마트컨트렉트에 사용된 언어는 무엇인가?

A. 솔리디티.

"스마트 계약에 기반한 디앱은 모두 이더리움 가상머신(EVM) 환경에서 동작하는데 이더리움 고유의 프로그래밍 언어인 솔리디티로 작성된다. 이것을 solc로 컴파일해서 생성된 이더리움 바이트코드는 geth를 통해 블록체인에 등록된다. 블록체인에 저장된 바이트코드는 결국 이더리움 가상머신(EVM)에서 실행된다. geth와 이더리움 가상머신은 하나의 프로세스로 동작하고, 솔리디티로 작성된 스마트 계약은 이더리움 가상머신에서 동작하기 때문에 특정 운영체제에 종속되지 않는다."

 

Q. ERC-20토큰의 원리는 무엇이며 어떻게 발행할 수 있는가?

A. "ERC-20은 Ethereum Request for Comments 20의 약자로 이더리움 네트워크 상에서 유통할 수 있는 토큰의 호환성을 보장하기 위한 표준 사양이다. 이더리움은 자체 블록체인을 기반으로 다양한 탈중앙화 된 애플리케이션들이 작동할 수 있도록 고안된 하나의 플랫폼 네트워크이다. 디앱은 이러한 이더리움 플랫폼 상에서 스마트 계약을 이용하여 쉽고 빠르게 토큰을 발행할 수 있다. ERC-20 기준을 맞춰 디앱을 설계한 후 토큰을 발행하면, 이더리움과 쉽게 교환할 수 있고, 표준 이더리움 지갑(My Ether Wallet, Meta Mask, Mist 등)에 자유롭게 전송할 수 있게 된다. 결국 이더리움 블록체인을 활용하는 토큰의 경우 ERC-20 기준을 맞춰야 한다. ERC-20 기반 토큰들은 동일한 이더리움 지갑으로 전송이 가능하다."

 

Q. GAS와 GWEI는 무엇인가?

이들은 코인전송 또는 스마트계약관련 처리를 위해 필요한 수수료를 의미하며,

1ETH = 10^9 GWEI 입니다.

GAS라는 단위를 추가로 사용하는 이유는 스마트계약의 복잡도와 현재네트워크 혼잡도를 분리하기 위해서 입니다.

즉, 간단한 스마트계약 처리는 100GAS, 복잡한 스마트계약 처리에 1000GAS가 든다고 하면, 이는 스마트계약의 복잡도로서 네트워크 혼잡도와 분리하여 비교할 수 있고,네트워크 혼잡도는 1GAS당 몇 GWEI인가로 나타낼 수 있습니다. 예를 들어 네트워크가 혼잡하지 않은 경우 1GAS당 10GWEI라면, 혼잡한 경우는 1GAS당 100GWEI가 되는 식이며, 사용자가 빠른 처리를 위해 1GAS당 GWEI를 올릴수도 있습니다.

실제 수수료는 GAS와 GWEI의 곱으로 계산되며, 예를 들면 다음과 같습니다.

(현재 이더리움 네트워크에서 표준적인(가장 간단한 형태의) 트랜잭션은 대략 21,000 가스를 소비합니다. 표준적인 트랜잭션에 대해 네트워크가 평균적으로 혼잡할 때(가스 가격이 50 gwei인 경우)의 트랜잭션 비용은 21,000 가스 * 50 gwei/가스 = 1,050,000 gwei, 혹은 0.00105 ETH라고 할 수 있습니다. 23년 5월 기준 대략 2,500원)

 

Q. 이더리움2.0 이란 무엇인가?

A. 

반응형

'비트코인' 카테고리의 다른 글

테라(Terra), 루나(LUNA), UST 사태  (0) 2022.05.13
웹3.0  (0) 2022.04.15
비트코인 관련 Q&A (자문자답)  (0) 2021.12.30
비트코인 논문 리뷰  (0) 2021.08.31
블럭체인의 원리  (0) 2020.07.31

+ Recent posts