본문 바로가기
728x90
반응형
SMALL

블록체인 공부/블록체인 개념10

이더리움 기반 소프트웨어 논리구성 이더리움 기반 소프트웨어의 논리구성은 기존의 프로그램의 시스템과 약간 다르다. 기존 시스템과 이더리움의 차이는 백엔드측 애플리케이션에 있다. 이러한 애플리케이션을 기존 시스템과 구별하기 위해 분산 애플리케이션, 즉 탈중앙화 애플리케이션이라 부른다. 소프트웨어 구성 소프트웨어 구성은 위와 같습니다. 그리고 이더리움의 Dapp은 다음과 같은 구성입니다. Dapp = 프론트엔드 + 블록체인(백엔드역할) 프론트엔드 유저 인터페이스를 위한 시스템이며 기존 애플리케이션들과 마찬가지로 HTML/Javascript 프로그램으로 구성되어 Web.js API를 통해 블록체인과 통신한다. 블록체인(백엔드) geth프로세스는 Web3.js API를 통해 프론트엔드와 통신하고 백엔드 프로그램과의 소통을 위한 중개 역할을 한다... 2023. 2. 15.
Truffle init not creating Migration.sol file / truffle init 오류 외국에서 관심해할것같아서 영어로 작성하겠습니다. 은근 외국사람들이 많이 찾더라구요 그 아래엔 한국어로 작성하겠습니다. when we make new folder and init truffle but there not create Migration.sol file or any files, it just created folders... Don't warry you can create they are that folder. let's follow me, I create new folder name is "sample" and I order truffle init in this folder. But it has nothing in folers ... You can try This order truffle un.. 2023. 1. 27.
[블록체인 개념-마지막] 간단한 스마트컨트랙 및 기술응용 유용한 스마트 컨트랙트 블록체인의 스마트 컨트랙트 및 댑은 급부상하는 신기술입니다. 그러나 기술이 널리 사용돼 보급될 가능성을 100%확신 할 순없습니다. 계석 업계에서 잠재력이 큰 용례를 탐색하는 시기이고 응용하려고 하고 있습니다. 스마트컨트랙트의 가장 입증된 용레는 맞춤식 토큰과 크라우드세일로, 지금까지 이더리움 상에서 수백개의 토큰이 출시, 판매되었습니다. 이러한 형태의 크라우드세일을 일반적으로 토큰판매, 또는 ICO라고 합니다. 에스크로 스마트 컨트랙트는 신뢰할 수 없는 당사자 간의 토큰 전송에 널리 사용됩니다. 판매자는 스마트컨트랙트에 토큰 제어권을 부여하고 구매자가 이더를 컨트트랙트로 보내는 경우에만 토큰을 구매자에게 보냅니다. 스마트컨트랙트를 사용해 토큰 이외의 다른 디지털 자산을 저장할 수.. 2023. 1. 25.
[블록체인 개념-7] 이더리움 내의 프로그램, 솔리디티(Solidity), 해킹방지, 이더리움 게임 블록체인 개발 시 자주 사용되는 개념입니다. 다른 백서나 글에서 자세히 나오지만 간단하게 이해만 하고 지나가고 싶으신 분들에게는 도움될 수 있을것같아서 정리했습니다. 1. 이더리움 내의 프로그램 이더리움 내의 프로그램은 상호 작용하는 하나 이상의 스마트컨트랙트로 구성된다. 스마트 컨트랙트는 다른 스마트컨트랙트의 기능을 호출 할 수 있습니다. 개별 컨트랙트는 기존의 프로그램언어에 존재하는 클래스와 유사합니다. 스마트 컨트랙트는 EVM 어셈블러, 솔리디티, LLL (Low-Level Lisp), 서펀트 등의 언어로 작성할 수 있습니다. 모든 컨트랙트는 결국 EVM 어셈블리 바이트 코드로 컴파일 됩니다. 여러 언어 중 솔리디티가 가장 일반적으로 사용되는 언어이며, 주변에서도 솔리디티를 주로 사용합니다. 물론 .. 2023. 1. 25.
[블록체인 개념-6] Web3 , 비트코인 vs 이더리움 , 주소와 키 쌍 , 컨트랙트와 외부 계정 블록체인 개발 시 자주 사용되는 개념입니다. 다른 백서나 글에서 자세히 나오지만 간단하게 이해만 하고 지나가고 싶으신 분들에게는 도움될 수 있을것같아서 정리했습니다. 1. Web3 블록체인 기술을 초기에 채택한 많은 사람은 인터넷의 새로운 시대, 웹 3.0을 열 수 있는 가능성에 모두 흥분했었습니다. 웹 1.0 웹 1.0은 인터넷의 초기 단계를 가리키는 용어로, 당시의 인터넷은 주로 상품을 판매하고, 정보를 게시하는 데 사용하는 플랫폼이었습니다. 웹 2.0 웹 2.0은 소셜 네트워크와 인터넷 공동 작업을 도입했습니다. 페이스푹, 플리커, 인스타그램 등의 사이트는 사용자가 제작한 콘텐츠를 중앙 서버에 담고 프런트 엔드로 게시했습니다. 웹 3.0 웹 3.0은 더 이상 중앙 권력이 검열을 수행하거나 사용자 데.. 2023. 1. 25.
[블록체인 개념-5] 상태 트리 - What is State Trie 상태트리란? 이더리움의 기본 데이터 베이스는 Keccak256 해시 키를 32byte 값에 매핑하는, 키/값 쌍으로 구성된 상태트리이다. 솔리디티의 데이터 구조는 하나 이상의 상태 트리 항목을 사용해서 프로그래밍에 도움되는 프로그래밍 구문을 생성한다. 간단한 자료형은 32byte 이하이며, 하나의 상태트리 항목에 저장할 수 있다. 배열과 같은 복잡한 자료형에는 여러 상태 트리 항목이 필요하다. Keccak256 해시는 256 비트 길이이므로, 이더리움 상태 트리는 최대 2,245개의 고유 항목을 저장하도록 설계되었다. 그러나 약 280개의 항목 이후에는 해시 충돌로 인해 트리의 사용에 상당한 제약이 발생한다. 어느 쪽이든, 이것은 현재 전 세계에 존재하는 것보다 많은 디스크 공간이므로 개발자는 주한정의 .. 2023. 1. 23.
[블록체인 개념-4] 이더리움 가상 머신(EVM) - What is Ethereum Virtual Machine (*EVM) 이더리움 가상 머신(EVM)을 바로 설명전 기초 개념부터 ! 명령이란? 프로세서는 일련의 주어진 명령어를 실행하는 집적 회로이며, 각 프로세서에서는 수행할 수 있는 일련의 명령이 담겨있다. 명령은 연산 코드 (opcode) 와 연산에 사용할 입력 데이터로 구성된다. x86 명령어 세트는 현재 사용하는 가장 일반적인 명령어 세트이며, 약 1000개의 고유 opcode를 가지고 있다. 이는 프로그램 순서대로, 맹목적으로 실행되는 명령세트이다. 어떤 코드든 컴파일 또는 인터프리트과정을 거치고 나면 일련의 원시 바이트로 회귀되며, 이는 펀치 카드이든 어셈블리로 적성했든 또는 파이썬과 같은 고급 언어로 작성되었든 마찬가지다. 이러한 원시 바이트는 컴퓨터가 아무 생각 없이 순서대로 실행할 수 잇는 일련의 프로세서 .. 2023. 1. 23.
[블록체인 개념-3] 트랜잭션이란? - What is transaction 트랜잭션 트랜잭션(Transaction) 은 이더를 전송하거나 스마트컨트랙트를 배포하거나 배포된 스마트 컨트랙트의 함수를 실행한다. 이더전송 SC 배포 릴리즈된 SC의 함수 실행 위 3개를 대표적인 트랜잭션이라고 한다. 즉 거래 발생 시 실행되어지는 것과 그의 기록을 트랜잭션(TC)라고 한다. 트랜잭션은 코드 작업의 복잡성과 네트워크 비용을 결정하는 이더리움의 측정 단위인 GAS (가스) 를 소모한다. 트랜잭션의 가스 비용은 트랜잭션 수수료를 계산하는 데 사용된다. 트랜잭션을 실행하는 주소는 블록을 채굴하는 채굴자에게 트랜잭션 수수료를 지불한다. 트랜잭션에는 데이터 필드가 선택적으로 포함될 수 있다. 컨트랙트 배포 트랜잭션의 경우, 그 데이터는 배포될 컨트랙트의 바이트코드가 된다. 스마트 컨트랙트를 호출.. 2023. 1. 23.
[블록체인 개념-2]채굴이란? - What is mining 채굴(Mining) 이더리움 네트워크의 채굴 노드는 이더해시(Ethash) 라는 독자적인 작업 증명 알고리즘을 사용해서 블록을 생성하고자 경쟁합니다. Ethash 알고리즘에 대한 입력은 논스(Nonce) 라고 하는 임의로 생성된 숫자를 포함하는 블록헤더이며, 그 출력이느 32byte 의 16진수이다. 논스를 수정하면 출력도 수정되는데, 이는 예측할 수 없는 방식으로 수정됩니다. 블록과 난이도 네트워크가 채굴된 블록을 수용하려면 블록헤더에 대한 Ethash 출력이 네트워크 난이도보다 적어야 하며, 또 다른 32byte 의 16진수가 채워질 대상으로 사용됩니다. 목표 난이도를 상회하는 블록을 브로드캐스트하는 모든 채굴자는 블록 보상을 받습니다. 블륵 보상은 블록에 코인베이스 트랜잭션을 포함시킴으로써 부여됩니.. 2023. 1. 23.
[블록체인 개념-1] 블록(Block)이란? - What is Block? 블록이란? 블록체인은 순서가 정렬된 블록으로 구성된다. 블록은 메타 정보를 담은 헤더(Header)와 일련의 트랙잭션으로 구성된다. 블록은 채굴자가 채굴해서 생성되고 네트워크의 다른 노드로 브로드캐스트된다. 모든 노드는 일련의 합의 규칙에 따라 수신된 블록을 확인합니다. 합의 규칙을 충족하지 못하는 블록은 네트워크에서 거부됩니다. 포크 포크(Fork) 는 네트워크가 합의 규칙을 두고 경쟁하는 둘 이상의 집합으로 나눠질 때 발생하는 이벤트 입니다. 대개 이더리움의 공식 클라이언트 프로그램인 Geth라는 소프트웨어가 업데이트될 때 포크가 발생합니다. 소프트 포크 새로운 규칙 집합이 이전 규칙의 하위 집합일 때 발생합니다. 여전히 이전 규칙을 사용하는 클라이언트도 새 규칙을 사용해 클라이언트가 만든 블록을 거.. 2023. 1. 23.
728x90
반응형
LIST