본문 바로가기

블록체인/블록체인이란?86

ERC1155 란 무엇일까?! 스마트 컨트랙트 코드로 이해해보기. 💡ERC1155 프로젝트에서 ERC1155를 기반으로 한 서비스를 제작하기로 했고, 이와 관련해서 계속해서 공부 중이다. 검색하다 보면 이런 말을 찾을 수 있다. ERC20 그리고 ERC721의 장점을 결합하여 만든 것이 ERC1155이다. 이게 말이 쉽지, 뭔가 명확하게 머릿속에 박히지는 않는다. https://docs.openzeppelin.com/contracts/4.x/erc1155 ERC1155 - OpenZeppelin Docs We’ll use ERC1155 to track multiple items in our game, which will each have their own unique attributes. We mint all items to the deployer of the cont.. 2022. 9. 12.
인적 문제로 발생할 수 있는 블록체인의 보안적 이슈, 크립토재킹 & 더스팅 공격 & 시빌 공격 💡 인적 문제로 발생할 수 있는 보안적 이슈 해커들은 이익을 위해 블록체인을 공격한다. 51% 공격, 리플레이 공격, 이클립스 공격 외에도 다양한 보안적 이슈들이 발생한다. 그 중에서도 악의적인 공격자에 의해 발생할 수 있는 공격인 크립토재킹, 더스팅 공격, 시빌 공격에 대해 알아보자. ✓ 크립토재킹 공격 크립토재킹은 감염된 피해자의 장치를 사용해 암호화폐를 채굴하는 것을 의미한다. 공격자는 악성 채굴 프로그램을 사용하도록 유도하여, 해당 프로그램을 실행하면 악성 프로그램에 감염되어 눈치채지 못할 만큼 시스템 자원을 이용해 채굴을 하게 된다. 감염된 피해자도 자신도 모르는 새에 채굴을 시작하고 공격자는 피해자의 해시파워를 사용해 채굴 보상을 받는다. 암호화폐 채굴에는 많은 해시 파워가 필요하기 때문에 공.. 2022. 8. 5.
이클립스 공격 (Eclipse Attack) 💡이클립스 공격 (Eclipse Attack) 이클립스 공격은 공격자가 네트워크 상의 노드를 방해하기 위한 공격으로, 정교한 공격을 준비하기 위해 네트워크에 혼란을 야기시킬 때 주로 사용한다. 이클립스 공격은 전체 네트워크를 공격하기보다는 특정 노드를 격리해 정직한 다른 노드로부터 정보를 수신받지 못하게 여러 악의적인 공격자 노드가 네트워크를 독점한다. 이 공격 노드들은 가짜 트랜잭션이 담긴 블록을 격리한 노드들에 브로드캐스트하여 이중 지불 공격을 가능하여지도록 만든다. ✓ 이클립스 공격 동작 방식 블록체인에서 노드는 다른 노들과 동시적으로 연결될 수 없으며, 대신 제한된 인접 노드들과 연결되어 있다. 노드들이 데이터를 공유할 때는 모두가 동시에 공유하는 것이 아니라, 하나의 노드에서 주변 노드로 점점 .. 2022. 8. 5.
리플레이 공격 💡리플레이 공격 리플레이 공격이란 공격자가 보안 네트워크 통신을 가로채고, 해당 통신의 수신자에게 공격자가 원하는 일을 수행하도록 하기 위해 통신을 지연시키거나 재전송하는 방식이다. 리플레이 공격은 해커가 네트워크에서 메시지를 가로챈 후 메시지를 복호화하기 위한 별도의 과정이 필요하지 않으며, 메시지를 포함한 통신 전체를 다시 전송하는 것으로도 공격을 성공할 수 있다. ✓ 리플레이 공격 동작 방식 앨리스가 밥에게 100 달러를 송금해달라고 요청한다고 가정해보자. 일반적으로는 다음과 같이 요청과 응답이 이루어진다. 1. 앨리스는 밥에게 100달러를 송금해달라고 요청 "111-222-333으로 100달러를 보내세요" 메시지를 보낸다. 2. 밥은 앨리스를 신뢰하기 때문에 요청 메시지에 적힌 "111-222-3.. 2022. 8. 5.
51% 공격 💡 51% 공격 51% 공격을 이해하기 위해서는 채굴과 블록체인 시스템에 대한 이해가 필요하다. 비트코인의 주요가 강점이자 블록체인 기술의 근간을 이루는 특징은 데이터를 구축하고 검증하는 분산성이다. 탈중앙화 방식은 노드들이 프로토콜 규칙을 준수하고, 모든 네트워크 참여자가 블록체인의 현 상태에 동의하도록 한다. 따라서 모든 노드는 채굴 과정과 사용중인 소프트웨어의 버전, 트랜잭션의 유효성 등에 정기적으로 합의를 달성해야 한다. 비트코인 합의 알고리즘인 작업증명 방식은 채굴 노드가 새로운 트랜잭션 블록을 검증할 수 있도록 한다. 채굴의 결과인 논스로부터 나온 블록 해시는 채굴 노드가 충분한 작업을 완수했으며, 해당 블록에 대한 유효한 해결책을 찾았음을 증명한다. 작업 증명 기반 시스템에서의 채굴 과정은 .. 2022. 8. 4.
암호화폐 시가총액 시세와 같은 다양한 데이터를 API 형태로 제공하는 Coingecko 💡Coingecko Coingecko에서는 실시간 가격, 거래량, 과거 데이터, 컨트랙트 정보와 같은 다양한 데이터를 API 형태로 제공한다. * CoinGecko API 공식 문서 https://www.coingecko.com/ko/api/documentation Crypto API Documentation | CoinGecko Power your application with our free & independently sourced crypto data such as live prices, trading volume, exchange volumes, trading pairs, & more. www.coingecko.com 가령, https://api.coingecko.com/api/v3/coins/.. 2022. 8. 3.
KAS (Klaytn API Service) 💡KAS (Klaytn API Service) KAS(Klaytn API Service) 는 클레이튼 블록체인 네트워크를 API로 제공하는 서비스이다. 앞서 Infura를 통해 원격 이더리움 노드에 접근하거나 geth를 사용해 이더리움 노드로 참여하고 Web3.js 라이브러리로 이더리움 네트워크와 상호작용하였다. KAS는 이러한 네트워크 참여 및 상호작용 과정을 REST API로 실행할 수 있게 해준다. KAS는 블록체인 노드를 운영할 필요가 없기 때문에 노드 운영 및 관리 비용을 절감하고, REST API로 클레이튼 트랜잭션에 대한 조회와 전송이 가능하기 때문에 편리하다는 장점이 있다. 또한 KAS Console을 통해 API 키와 주소를 관리하고, 체인에 기록된 트랜잭션과 토큰을 조회하고, 계정 저장.. 2022. 8. 3.
클레이튼 네트워크의 블록탐색기, Klaytnscope 💡 Klaytnscope Klaytnscope는 클레이튼 네트워크의 블록 탐색기이다. 이더리움에서는 이더스캔을 사용하여 블록, 트랜잭션, 주소를 검색할 수 있듯이, 클레이튼 네트워크에서는 Klaytnscope 를 사용하여 트랜잭션, 블록, 주소를 검색할 수 있다. 또한, Klaytnscope는 네트워크의 상태를 모니터링하고 클레이튼 네트워크에 대한 다양한 통계를 제공한다. https://scope.klaytn.com/ Klaytnscope Klaytnscope allows you to find data by monitoring network health and statistics of Klaytn as well as profiling blocks and transactions on Klaytn. scop.. 2022. 8. 3.
이더스캔으로 이더리움 네트워크로부터 데이터 읽기 💻 이더스캔으로 이더리움 네트워크로부터 데이터 읽기 이더스캔이란? 이더스캔(etherscan.io)은 이더리움을 위한 블록체인 탐색기, 검색, API, 분석 플랫폼이다. 퍼블릭 이더리움 블록체인은 모든 주소, 트랜잭션, 블록에 대한 정보가 공개되어 있다. 이더스캔은 이러한 공개된 정보를 시각화하여 보여준다. ✓ 이더스캔 사용법 이더스캔에서는 트랜잭션 해시값, 계정 주소, 블록 번호, 토큰 등을 검색하여 세부 내용을 확인할 수 있다. 1. 메타마스크에서 트랜잭션 확인하기 1) 테스트를 위해 메타마스크에서 새로운 계정을 만들어보자. Account1은 기존 계정이며, Account3는 새롭게 생성한 계정이다. Account1에는 4.9906 Ropsten ETH가 현재 들어있다. 2) Account1계정에서 .. 2022. 7. 28.
Web3란? 💡Web3란? ✓ Web1, Web2, Web3 Web1은 클라이언트(사용자)가 서버로부터 콘텐츠를 제공받는 것이었다. 클라이언트가 정보를 읽기만 할 수 있었기 때문에 Infromation Economy라고도 불렸다. AJAX의 등장으로 클라이언트는 서버로부터 단순히 정보를 받기만 하는 것이 아니라, 서버와 상호작용을 하면서 서버에 기록도 할 수 있게 되었다. 이를 Web2라고 하며, 인터넷에 정적인 성격에서 동적인 성격으로 변하여 사용자는 정보를 소비할 뿐만 아니라 생성할 수 있게 되었다. 자신들이 만든 웹 어플리케이션 안에서 많은 사용자들을 참여시키는 플랫폼 형태의 어플리케이션이 등장했다. 구글, 페이스북, 아마존과 같은 플랫폼 기업들은 오늘날 우리가 잘 아는 인터넷의 형태를 대표한다. 그러나 Web.. 2022. 7. 28.
DID 사용 사례 💡 DID 주요 서비스 모델 인증 DID 기술의 가장 대표적인 서비스 중 하나는 사용자 인증분야이다. 블록체인 기반으로 사용자 인증을 진행할 수 있는데, 기존의 아이디, 패스워드 기반의 인증방식과 다르게 할 수 있다. 기존의 방식은 특정 서비스 제공자가 사용자의 정보를 서버에 보관하며, 다른 사업체에 넘겨 불합리한 수익 창출이 가능하고, 사용자의 정보가 유출될 가능성을 지니고 있다. 그런데 DID는 특정 서비스 제공자가 사용자의 정보를 독점적으로 소유하지 않도록 할 수 있다. 대규모의 정보 유출을 막을 수 있고, 사용자 자신의 정보를 자신이 원하는 장소에 개별적으로 보관이 가능하다. 전자증명서 DID 기술에 있어 예시로 가장 많이 설명되는 또 다른 분야는 증명서 발급 분야이다. 기존의 증명서들은 사용자가.. 2022. 7. 26.
Verifiable Credential(검증가능한 크레덴셜, VC) 💻 Verifiable Credential (검증가능한 크레덴셜, VC) ✓ Credential (크레덴셜) Credential은 신원 확인에 필요한 정보이다. 예를 들어, 일상 생활에서 주민등록, 운전면허, 여권 등으로 신원을 주장한다. 이것들은 물리적 Credential이다. 물리적 Credential에는 다음과 같은 정보들이 들어가 있다. - 신분증의 주체를 식별할 수 있는 정보 (이름, 사진, 주민등록번호 등) - 신분증의 발급기관 정보 (행정안전부, 경찰청, 외교부 등) - 발급기관이 보증하는 정보 (생년월일, 면허, 국적 등) - 신분증의 용도 (주민등록증, 운전면허증, 여권 등) - 신분증의 제약조건 정보 (유효기간 등) 우리는 일생생활에서 물리적 Credential, 즉 물리적 신분증으로 .. 2022. 7. 26.