블록체인
-
이더리움의 애플리케이션 바이너리 인터페이스(ABI, Application Binary Interface)블록체인 2024. 9. 25. 17:39
이더리움의 애플리케이션 바이너리 인터페이스(ABI, Application Binary Interface)는 스마트 컨트랙트와 외부 애플리케이션 간의 소통 방식을 정의한 규약입니다. 이더리움에서 스마트 컨트랙트는 블록체인에 저장된 코드로, 이를 실행하려면 외부에서 정확한 방법으로 데이터를 보내야 합니다. ABI는 이러한 데이터의 형식과 함수를 호출하는 방법을 정해줍니다.ABI의 역할:함수 호출 규칙: 스마트 컨트랙트는 여러 함수로 구성되어 있을 수 있는데, ABI는 어떤 함수를 호출할지, 그리고 그 함수에 어떤 데이터를 보내야 할지 정해줍니다.데이터 인코딩: ABI는 스마트 컨트랙트에 전달할 데이터 형식을 정의하고, 컨트랙트가 반환하는 데이터를 이해할 수 있도록 변환하는 역할을 합니다.실생활 예시:ABI를..
-
이더리움 on chain, off chain 이란 무엇인가?블록체인 2024. 9. 21. 09:32
1. 온체인(On-chain)온체인 트랜잭션은 블록체인 네트워크에서 직접적으로 실행되고 기록되는 트랜잭션입니다. 모든 노드가 해당 트랜잭션을 검증하고, 합의에 도달한 후 블록에 기록하게 됩니다. 이는 이더리움의 핵심 기능 중 하나로, 탈중앙화, 투명성, 변경 불가능성을 보장합니다.특징:블록체인 상에서 실행: 모든 트랜잭션이 블록에 기록되며, 검증 및 합의 과정이 필요합니다.변경 불가능성: 블록체인에 기록된 데이터는 수정하거나 삭제할 수 없습니다.비용: 온체인 트랜잭션은 네트워크 상에서 **가스 비용(Gas Fee)**이 발생합니다.속도: 블록 생성 속도와 네트워크 상태에 따라 처리 시간이 걸릴 수 있습니다.예제:이더리움 스마트 컨트랙트 실행: 예를 들어, 사용자가 탈중앙화된 애플리케이션(DApp)에서 스..
-
**오라클 네트워크(Oracle Network)**란 무엇인가?블록체인 2024. 9. 21. 07:26
오라클 네트워크는 블록체인 시스템 내에서 외부 세계의 데이터를 블록체인으로 안전하게 전달해주는 역할을 하는 시스템입니다. 블록체인은 본질적으로 네트워크 내의 데이터만을 다루며, 외부 데이터를 직접적으로 접근하거나 사용할 수 없습니다. 오라클 네트워크는 이러한 한계를 해결하여 스마트 컨트랙트가 블록체인 외부의 데이터를 이용할 수 있도록 만들어졌습니다.스마트 컨트랙트는 블록체인 위에서 실행되는 프로그램인데, 예를 들어 날씨, 주식 가격, 스포츠 경기 결과 등 블록체인 외부의 정보가 필요할 때가 있습니다. 이 정보를 신뢰할 수 있고, 정확하게 가져오기 위해 오라클이 필요한 것이죠.오라클 네트워크의 탄생 배경블록체인의 불완전성(폐쇄성):블록체인 시스템은 기본적으로 자급자족형 시스템으로 설계되었습니다. 이는 블록..
-
EVM(Ethereum virtual machine)이란블록체인 2024. 9. 19. 22:47
EVM(Ethereum Virtual Machine)은 이더리움 블록체인의 스마트 계약을 실행하는 가상화된 컴퓨터 환경입니다. 이더리움의 핵심 요소로, 분산 애플리케이션(dApps)을 실행하고 개발자들이 블록체인 상에서 프로그램을 실행할 수 있도록 해줍니다. 이더리움 네트워크의 모든 노드에 EVM이 포함되어 있으며, 이를 통해 스마트 계약을 실행하고 네트워크의 합의를 유지합니다.EVM의 주요 기능과 역할:스마트 계약 실행:EVM은 스마트 계약을 실행할 수 있는 환경을 제공합니다. 스마트 계약은 사전에 정의된 조건이 충족될 때 자동으로 실행되는 프로그램으로, Solidity와 같은 고급 프로그래밍 언어로 작성됩니다.작성된 스마트 계약은 바이트코드로 컴파일되어 EVM에서 실행됩니다.상태 관리:이더리움 블록체..
-
비트코인(블록체인)은 왜 개인키로 암호화하고 공개키로 복호화하는것인가?블록체인 2024. 9. 19. 14:03
왜 개인키로 암호화하고 공개키로 복호화할까?개인키와 공개키의 역할:개인키(Private Key): 거래를 생성하거나 서명할 때 사용됩니다. 개인키는 절대 타인에게 공개되지 않고, 거래 소유자가 본인임을 증명하는 데 사용됩니다.공개키(Public Key): 개인키로 암호화된 데이터를 복호화하거나, 거래 검증 시 사용됩니다. 누구나 접근 가능한 공개된 정보로, 이를 통해 거래의 유효성을 확인할 수 있습니다.암호화 과정:사용자가 거래를 생성할 때 개인키로 서명하여 암호화합니다.이 암호화된 정보는 공개키를 통해 복호화되어, 다른 노드들이 해당 거래가 올바른지 확인할 수 있습니다.이렇게 하면 거래 소유자의 신원이 보호되며, 거래의 무결성 또한 보장됩니다.비대칭 암호화 방식을 사용했을 때의 이점보안성 강화:개인키는..
-
SPV(Stratum Payment Verification) 노드블록체인 2024. 9. 18. 21:32
SPV(Node)의 개념SPV(간이 결제 검증, Simplified Payment Verification) 노드:SPV 노드는 블록체인의 전체 데이터(블록의 모든 트랜잭션)를 다운로드하지 않고도 트랜잭션을 검증할 수 있는 경량 노드입니다.블록 헤더만을 다운로드하여 트랜잭션이 블록체인에 포함되어 있는지 검증합니다. 블록 헤더는 약 80바이트 정도로 작으며, 각 블록의 메타데이터(블록 높이, 타임스탬프, 이전 블록 해시 등)와 머클 루트(Merkle Root)를 포함합니다.SPV 노드는 특정 트랜잭션이 해당 블록의 일부인지 확인하기 위해 머클 루트와 머클 경로(Merkle Path)를 사용합니다.SPV 노드는 풀 노드에 의존하여 블록 및 트랜잭션 데이터를 제공받습니다.Stratum의 개념Stratum:Str..
-
비트코인 mempool 이란 무엇인가?블록체인 2024. 9. 13. 22:11
비트코인에서 **메모리 풀(Mempool)**은 아직 블록체인에 포함되지 않은 미확인 트랜잭션들이 임시로 저장되는 공간입니다. 노드들은 새로운 트랜잭션이 발생할 때 이를 즉시 블록에 추가하지 않고, 먼저 메모리 풀에 저장한 후 트랜잭션이 유효한지 검증하고, 채굴자들이 트랜잭션을 블록에 포함시킬 때까지 대기합니다.메모리 풀(Mempool)의 주요 기능미확인 트랜잭션 저장: 트랜잭션이 네트워크에 전파되면 각 노드들은 트랜잭션을 확인하고 유효성을 검사한 후, 메모리 풀에 임시로 저장합니다.채굴자들이 블록을 채울 때 활용: 채굴자들은 새 블록을 만들 때 메모리 풀에서 트랜잭션을 선택해 블록에 포함시킵니다. 수수료가 높은 트랜잭션이 우선적으로 선택되기 때문에, 사용자는 더 빠른 처리를 원할 경우 높은 수수료를 설..
-
비트코인에 UTXO방식이란 무엇을 뜻하는가?블록체인 2024. 9. 13. 07:01
UTXO(Unspent Transaction Output) 방식은 비트코인의 핵심적인 거래 처리 방식으로, 미사용 트랜잭션 출력을 기반으로 작동합니다. 이는 비트코인의 트랜잭션을 추적하고 검증하는데 중요한 개념입니다. UTXO 모델은 복잡한 방식으로 보일 수 있지만, 간단히 말하면 "사용되지 않은 자금의 기록"을 유지하는 시스템입니다.아래에서는 UTXO 개념을 아주 상세히 설명하겠습니다.1. UTXO 기본 개념UTXO는 말 그대로 아직 사용되지 않은 트랜잭션 출력입니다. 비트코인의 모든 트랜잭션은 입력과 출력으로 구성되며, 출력 중에서 아직 다른 트랜잭션에 사용되지 않은 것들이 UTXO입니다.입력(Input): 트랜잭션을 만들 때 사용하는 이전 트랜잭션의 UTXO. 즉, 이전 트랜잭션의 출력 중에서 사용..