개발/BlockChain

    [BlockChain] 블록체인의 트릴레마

    1. 블록체인의 트릴레마란? 트릴레마란 세가지 목표 가운데 두가지 목표는 동시에 해결할 수 있지만 세가지 목표를 한꺼번에 해결할 수 없는 문제를 뜻한다. 블록체인 트릴레마라고 했을때는 확장성, 탈중앙화, 보안성이라는 블록체인의 세 가지 근본 가치를 동시에 달성하기 매우 어려움을 뜻한다. 확장성이란 블록체인이 얼마나 많은 트랜잭션을 얼마나 빠르게 처리하는지, 탈중앙화는 특정 집단이 통제하는것이 아닌 서로 다른 개별 참여자들이 합의를 통해 네트워크를 운영 및 관리할수 있는지, 보안성은 네트워크에 대한 공격으로부터 블록체인에 기록된 정보 및 자산을 안전하게 지킬수 있는지이다. 2. 각 요소의 장단점 (1) 확장성 장점 단점 네트워크가 많은 양의 트랜잭션을 지원할 수 있도록 함 보안을 희생해야 함 보안이 주요 ..

    [BlockChain] 블록체인이란 무엇인가?

    1. 블록체인 개요 (1) 블록체인 정의 블록체인은 비즈니스 네트워크에서 트랜잭션을 기록하고 자산을 추적하는 프로세스를 용이하게 하는 공유 불변 원장이다. 자산은 유형자산(부동산, 현금, 자동차) 또는 무형자산(저작권, 특허)을 의미한다. 사실상 가치를 지닌 모든것을 블록체인 네트워크에서 추적하고 거래할 수 있으며, 모든 관련 사항에 대한 리스크를 줄이고 비용을 절감한다. (2) 블록체인이 중요한 이유 비즈니스는 정보에 기초한다. 정보를 보다 신속하게 수신하고, 정보의 정확성이 높을수록 이로운 결과를 가져온다. 블록체인은 이러한 정보를 전달하는 데 적합한 기술이다. 투명성을 갖춘 즉각적인 공유 정보를 허가된 네트워크 구성원만 접근할 수 있는 불변 원장에 저장하여 제공하기 때문이다. 블록체인 네트워크는 주..

    [BlockChain] NFT만들기, NFT거래 컨트랙트

    오픈제플린 표준규격을 활용하여 컨트랙트 구성 1. NFTToken.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import "../node_modules/openzeppelin-solidity/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; import "../node_modules/openzeppelin-solidity/contracts/access/Ownable.sol"; import "../node_modules/openzeppelin-solidity/contracts/utils/Strings.sol"; contract NFTToken is ERC721Enumerable, Ownab..

    [ERC토큰] ERC20 ERC721 ERC777 ERC1155

    1. ERC20 ERC20은 대체가능한 자산에 가장 많이 사용되는 토큰 표준이다. 토큰표준인 ERC20은 여전히 가장 널리 퍼져있어 이를 사용하는 토큰이 이더리움 네트워크의 모든 프로젝트 및 이더리움 기반 지갑과 호환된다. ERC20은 블록체인의 특정 행위를 규제하기 위한 일련의 지침이므로 대부분의 사용자는 조직 및 관리 기관이다. 이 유형의 토큰은 분할 될수 있으며 소유권은 많은 주소에 귀속된다. 예를 들어 1이더를 소유하고 있다면 0.5이더를 친구에게 보낼 수 있다. 그렇게 하면 해당 토큰을 친구의 주소에 귀속시킬수 있다. ERC20은 스테이블코인생성, ICO, 크라우드 펀딩 및 유사한 이벤트에 유용하다. 또한 가상통화, 스테이킹 토큰 및 투표토큰을 포함하여 이더리움 블록체인의 대체가능한 토큰에 대한..

    [BlockChain] NFT 만들기 (goerliETH)

    1. 초기설정 코드는 Remix툴을 이용하여 작성한다. NFT는 ERC721토큰으로 ERC20과 마찬가지로 표준 규격이 정해져 있다. 오픈제플린 설치 후 표준 규격을 가져다 쓸것이다. ERC721 구조 {"토큰아이디" : "주소"} 토큰에 고유값이 있고 그 토큰의 주인이 누구인지 나타내는 객체형식이다. 이 토큰은 대체불가토큰으로 NFT이다. 오픈제플린 설치 npm install openzeppelin-solidity 2. goerli 테스트넷 이더 받기 https://goerlifaucet.com 홈페이지에서 로그인후 메타마스크 주소를 입력하면 테스트이더를 받을수 있다. 3. Pinata Pinata Effortless IPFS File Management app.pinata.cloud Pinata 홈페..

    [BlockChain] localhost에서 remix 연동

    1. Remix remix는 스마트컨트랙트 작성, 배포, 테스트 등을 편하게 할수 있게끔 만들어 놓은 툴이다. Remix - Ethereum IDE remix.ethereum.org 컨트랙트의 함수, 상태변수등을 별다른 코드 없이 바로 테스트 할수 있다는 장점이 있다. 2. vscode와 remix 연동 remix라이브러리 설치 npm install -g @remix-project/remixd contracts 폴더 이동해서 remixd -s . --remix-ide https://remix.ethereum.org 실행 시킨 후 remix홈페이지에 들어가서 localhost와 연결을 시키면 연동할수 있다.