이더리움 네트워크 이해하기네트워크의 정의P2P(Peer-to-Peer) 컴퓨팅은 중앙 서버 없이 네트워크에 참여한 모든 컴퓨터가 동일한 역할과 기능을 수행하는 컴퓨팅 처리방식을 말한다. 각 컴퓨터가 클라이언트인 동시에 서버가 된다. 이더리움의 P2P 네트워크에서 노드는 데이터를 저장하고 블록체인 네트워크에 참여하며, 클라이언트는 사용자가 노드를 통해 블록체인에 접근하고 상호작용할 수 있게 한다.이더리움 플랫폼은 P2P 기반에 컴퓨터 프로세스, 파일, 메세지 공유 기능을 활용하여 다양한 응용 서비스의 개발을 지원하는 플랫폼으로 발전하고 있다.이더리움 네트워크가 추구하는 방향성노드간 직접 연결하는 P2P네트워크는 다양한 연결 방식이 존재하는데 그중 이더리움은 완전 분산형 P2P토폴로지로 구성된다. 네트워크 ..
블록과 체인블록은 블록 체인에 추가된 새로운 거래의 기록이다. 새로운 트랜잭션(기록)을 블록(장부)에 담는다고 표현할 수 있다. 각 블록에는 다른 블록과 구별할 수 있는 고유한 코드와 이전 블록의 해시가 포함되어 블록을 연결한다. 이렇게 서로 연결되어 위변조 할 수 없는 안전한 체인이 형성되는 것이다. 네트워크가 온라인 상태가 된 후 채굴 된 첫 번째 블록을 제네시스 블록(genesis block)이라 하고 이를 포함하여 함께 연결된 모든 블록들을 일컬어 블록 체인 이라고 부른다. 체인은 네트워크 내 모든 트랜잭션을 포함해 모든 계정의 잔고를 기록하는 장부, 즉 원장이라고 할 수 있다.블록과 블록의 작동방식이더리움 네트워크의 모든 참가자가 동기화 된 상태를 유지하고 정확한 트랜잭션 내역에 동의하도록 하기..
블록체인 기술과 함께 등장한 분산 스토리지는 데이터 저장 방식에 혁신을 가져왔다. 이번 글에서는 분산 스토리지의 개념부터 IPFS와 Pinata를 활용한 데이터 관리, 그리고 블록체인 데이터 쿼리와 인덱싱 도구인 The Graph와 SubQuery에 대해 알아볼 예정이다.분산 스토리지란?분산 스토리지는 데이터를 여러 독립적인 노드에 분산하여 저장하는 방식이다. 이를 통해 데이터의 안정성과 보안성을 높일 수 있으며, 중앙 서버의 장애로 인한 데이터 접근 불가능 문제를 해결할 수 있다. 또한, 네트워크에 노드를 추가함으로써 용량을 유연하게 확장할 수 있는 장점이 있다.중앙 집중식 스토리지와의 차이점중앙 집중식 스토리지는 모든 데이터가 하나의 중앙 서버에 저장된다. 이 서버가 다운되면 데이터에 접근할 수 없게..
L2 to L1 메시징소스 코드 링크: https://github.com/9oodam/ludium-lecture/tree/main/Arbitrum/l2tol1npm run outbox-exec --txhash 0xmytxnhash 실행 결과: https://github.com/9oodam/ludium-lecture/blob/main/Arbitrum/outbox1.pngL2 -> L1 메시지 트랜잭션 링크: 0xba7f4104a3b18dd7ca3abe44722084fd6eb75852e5b098f625576f2b5c11391b * 4주차_2 미션 Orbit Chain으로 L3 만들기 는 최소 Arbitrum Sepolia 1 ETH 이상이 필요해서 열심히 모으는 중...
Solidity 오버뷰소개Solidity는 이더리움 블록체인 위해서 스마트 컨트랙트를 작성하기 위해 사용되는 객체지향 프로그래밍 언어입니다. Solidity 특징Solidity는 다음과 같은 특성을 갖는다.스마트 컨트랙트 구현 : Solidity는 스마트 컨트랙트를 구현하기 위해 설계되었습니다.정적 타입 : Solidity는 정적 타입 언어로써 변수의 타입을 명시적으로 지정해야 합니다.객체 지향 : Solidity는 객체 지향 프로그래밍 패러다임을 지원합니다. 계약은 클래스와 유사한 개념이며, 계약 내에는 상태 변수와 함수가 포함됩니다.상속 지원 : Solidity는 계약 간 상속을 지원하여 코드의 재사용성을 높입니다.라이브러리 및 사용자 정의 데이터 타입 : 복잡한 데이터 구조를 정의하고 재사용 가능한..
이더리움 가상머신(EVM)코드를 실행할 수 있도록 특정 환경이 에뮬레이트된 이더리움 가상 머신(EVM)은 월드 컴퓨터인 이더리움 프로토콜의 핵심요소라고 할 수 있다. 이번 모듈에서 이더리움의 상태와 관련하여 EVM에 대해 자세히 알아보겠다.1. 이더리움의 상태(State)와 EVM의 관계이더리움 네트워크 상에서 트랜잭션이 발생하면 이에 대한 신뢰 여부를 참여자들에게 묻고 과반수가 합의할 경우 해당 트랜잭션은 처리된다. 이렇게 합의된 트랜잭션은 어카운트의 상태 전이를 가져오는데, 이더리움 플랫폼의 이해를 위해 먼저 상태 전이 과정에 대해 알아야 한다.예를 들어, A의 계좌에는 20만원이 있다. B에게 10만원을 송금하려 하고 송금에 필요한 수수료는 1만원 이다. 이런 A의 송금 요청은 은행에 전달되고, 은..
처음 개발 공부를 할 때 웹3의 아키텍처가 어떻게 되는지 잘 그려지지 않았다. 웹2에서 사용하는 백엔드, 데이터베이스도 모르는 상태에서 이해하려 하다 보니 더 어렵게 느껴졌던 것 같다. 웹2의 구조에 대해 알게 된 이후에 웹3를 접하게 되니 블록체인이 기존의 어떤 부분을 대체하는지 알게 됐다. 그렇기에 웹3 애플리케이션의 아키텍처에 대해 알아보기 전에 웹2의 아키텍처를 알아야 할 필요가 있다고 생각한다. 이번 글에서는 웹2와 웹3의 아키텍처에 대해 설명하고 프론트엔드와 블록체인이 상호작용하는 방법에 대해 간략히 설명하겠다. 웹2와 웹3 아키텍처의 차이웹2의 아키텍처간단한 블로그를 만든다고 가정했을 때의 웹2의 아키텍처는 다음과 같다.프론트엔드: HTML, CSS, Javascript로 작성된 코드로 사이..
투표 디앱 만들기소스 코드 링크: https://github.com/9oodam/ludium-lecture/tree/main/Arbitrum/week3Voting Dapp 페이지 구현 결과: https://github.com/9oodam/ludium-lecture/blob/main/Arbitrum/week3.pngVoting 트랜잭션 실행 링크: https://sepolia.arbiscan.io/tx/0x3859c55825774ed3706dc15d258a2fdfc35b73a6f52191bf4d978bddf3ed2521L1 to L2 메시징소스 코드 링크: https://github.com/9oodam/ludium-lecture/tree/main/Arbitrum/greeter-arbnpm run greet..
트랜잭션 살펴보기1. 트랜잭션이란?(이미지 출처 - Ethereum Develop Docs, Transactions)트랜잭션은 EVM의 상태를 변경하여 블록체인에 데이터를 저장하는 행위(Action)로 전체 네트워크에 전파된다. 모든 노드는 EVM에서 실행될 트랜잭션에 대한 요청을 전파할 수 있다. 이후 유효성 검사가 완료되면 트랜잭션을 실행하고 결과 상태 변경을 완료하여 나머지 네트워크에 전파된다.이더리움에는 몇 가지 다른 유형의 트랜잭션이 있다:일반 트랜잭션: 한 계정에서 다른 계정으로의 트랜잭션이다.계약 배포 트랜잭션: '받는 사람' 주소가 없는 트랜잭션으로, 데이터 필드가 계약 코드에 사용된다.계약 실행: 배포된 스마트 컨트랙트와 상호 작용하는 트랜잭션이다. 이 경우 to 주소는 스마트 컨트랙트 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.