본문 바로가기
  • 인공지능
  • 블록체인
  • 정보보안
반응형

신기술분석/블록체인59

블록체인과 이더리움의 문제 가. 프라이버시 : 블록체인은 기본적으로 데이터 조작이 불가능하고, 평생 기록에 남는다. 나. 트랜잭션 코스트 : 트랜잭션을 실행시킬때, 이더리움은 수수료로 가스를 내는데, 이 가격은 사용자가 부담해야한다. (가격 변동성) 다. 트랜잭션 속도 : 중앙화된 처리에 비해 상당히 느리다. (어쩔수 없지 않나, 검증노드에서 모든 합의가 일어나야하니) 라. 블록사이즈 : 모든 채굴자(검증자)가 모든 블록을 가지고 있어야 하므로, 많은 용량을 필요하게 된다. 2021. 7. 20.
이더리움 스마트 컨트랙트 이해 잘 작성한 블로그가 있어서 공유 합니다. 참으로.. 기술 이해하고 사용하기도 바쁜데 정리 잘하시는 분들을 보면 리스펙 합니다. https://opentutorials.org/course/2869/19273 이더리움 스마트 컨트랙트 동작방식의 이해 - 이타인클럽 이전에 올린 참고 서적(블록체인 애플리케이션 개발 실전 입문)을 보면서 이더리움의 핵심 개념이 스마트 컨트랙트의 개념 및 동작방식이 종결되었습니다! 최근에 @feyee95님도 스마트 컨트랙의 opentutorials.org 2021. 7. 19.
hedera Platform 테스트넷 매뉴얼 및 모니터링 # 헤데라해시그래프 헤데라 해시그래프 Hedera는 분산 애플리케이션 및 마이크로서비스를 구축 및 배포하기 위한 공개 분산 원장입니다. 해시그래프 합의 알고리즘 위에 Hedera의 네트워크 서비스인 합의, 토큰, 스마트 계약 및 파일 서비스를 사용하여 중앙 집중식 인프라에 의존하지 않고 몇 초 만에 높은 처리량, 공정한 순서, 짧은 대기 시간 합의 최종성을 가진 애플리케이션을 구축할 수 있습니다. 네트워크는 네트워크의 방향을 이끄는 기간 제한 기업 그룹인 Hedera Governing Council이 운영하는 허가된 노드로 구성됩니다. 시간이 지남에 따라 네트워크는 무허가 모델로 이동합니다. Hedera 토큰 서비스는 이제 우리 네트워크에서 작동합니다. 블로그 시리즈인 Hedera 토큰 서비스 시작하기에.. 2021. 7. 19.
블록체인 Dapp 만들기 #10 매물 템플릿 작성 및 렌더링 # node 모듈에 관련된 라이브러리를 설치하자. 메인 화면의 view를 담당하는 app.js 와 index.html 에 소스 코딩을 해보자. index.html 33번줄에 추가 이더리움 부동산 매물 아이디: 종류: 면적(m²): 가격(ETH): 매입 매입자 정보 app.js real-estate.json에 있는 정보를 불러와서 index.html 에 각 항목에 맞춰서 보여줄 것이다. App = { web3Provider: null, contracts: {}, // ******이거! init: function() { // 데이터 불러오고 html에 매물정보 보이도록 한다. $.getJSON('../real-estate.json', function(data) { var list.. 2021. 7. 19.
블록체인 Dapp 만들기 #9 # 스마트 계약 적용 가능 사례 부동산 시나리오 (예) : 1. 부동산 중계인을 통해 매수의사 전달 2. 계약 요청 3. 상호 동의 4. 계약 완료 5. 대금 지불 6. 명의 이전 단계별 블록체인에 영구 저장 (한명이라도, 중간에서 조작 불가, 또한 명의 이전 시 거래 내역이 한번에 나옴) 궁극적으로 이러한 시스템을 만든다면, 공인 중개사는 사라질수 있을 것이다. # 주의할점 애플리케이션의 모든 정보를 블록체인에 저장하면 안된다. (꼭 필요한 내용만 저장, 기타 부분은 일반적인 DB에 저장) 예) 부동산 매물 리스트는 Json 형태로 불러오는 것임 (부동산 매물이 많다면, 매물을 매번 블록체인에 올리면 수수료 비용이 발생하고 Transaction 처리에 따른 문제가 발생할수 있다.) ---> 아이디와 매.. 2021. 7. 15.
블록체인 Dapp 만들기 #8 # 가나슈를 사용하여 스마트컨트랙트 사용하기 1. truffle 에서 가나슈 네트워크 연결 - 이전에 설치한 가나슈 실행하기 - VSCode 에서 truffle-config.js 파일 수정하기 ( ※ 8545 인데, 충돌이 나서 8546으로 테스트) module.exports = { networks: { ganache: { host: "localhost", port: 8546, network_id: "*" } } }; - truffle migrate --compile-all --reset --network ganache VSCode network ID 추가 확인 첫번째 계정으로 배포된 수수료 지불 확인 transaction 발생 확인 2. truffle console --network ganache 두번.. 2021. 7. 15.
블록체인 Dapp 만들기 #7 # 트러플 & 컨트랙트 배포 1. truffle 폴더 만들기 2. truffle 초기화 하기 - truffle init 명령어 실행시 오류 발생 (파워쉘 관리자 권한 실행) Windows에서 정책적으로 Powershell 실행에 제한이 있어서 불가능하다. 관리자 권한이 있는 powershell로 ExecutionPolicy를 RemoteSigned로 변경해주는 것으로 해결이 가능하다. VSCode 로 열기 파일/폴더명비고 contracts solidity로 개발된 스마튼 컨트랙트 소스 파일 폴더 contracts/Migrations.sol 배포를 도와주는 solidity 파일(삭제 하지 마세요!) 확인필요! migrations 배포를위한 스크립트 파일 폴더 migrations/1_initial_migra.. 2021. 7. 15.
블록체인 Dapp 만들기 #6 # 컨트랙트 최적화 가스 수수료를 낮추기 위해 코드를 최적화 시켜야함 https://ethereum.stackexchange.com/questions/28813/how-to-write-an-optimized-gas-cost-smart-contract How to write an optimized (gas-cost) smart contract? As we all know, there are many factors that determine a good smart contract, such as: Security: it has minimal/zero vulnerability so they cannot be exploited by an adversary. Immune to Attacks. C... ethere.. 2021. 7. 15.
블록체인 Dapp 만들기 #5 # 이더리움 가스란 ? - 가스는 수수료다. - 채굴자들에게 보상금으로 지급한다. 수수료 내는 예 : 1. 다른 계정으로 돈 보낼 때 2. 스마트 컨트랙 배포할 때 3. 함수에서 상태 변수에 변화를 줄 때 4. 등등..... - 함수 실행중인 계정에서 가스비 지불 - 가스비도 이더(ETH)를 사용(진짜 돈) - 가스 단위를 쓰는 이유 : 1. 이더는 화폐 변동성이 있다. 2. 가스 가격은 거의 변동하지 않는다. - 가스비용은 함수의 복잡성에 따라 결정 - 연산에 소모되는 비용 == 옵코드 (Opcode) - 네트워크 상태, 컴퓨팅 자원에 따라 비용 결정 이더가스 평균가 확인 https://ethgasstation.info/ ETH Gas Station ETH gas price recommendations.. 2021. 7. 15.
블록체인 Dapp 만들기 #4 # Remix 테스팅 및 디버깅 I https://remix.ethereum.org/#optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.4+commit.c7e474f2.js Remix - Ethereum IDE remix.ethereum.org pragma solidity ^0.4.24; contract MyContract { uint[] ages; function learnDataLocation(uint[] newAges) public returns (uint a) { ages = newAges; uint16 myAge = 44; uint[] storage studentAges = ages; studentAges[0] = myAge; a = s.. 2021. 7. 14.
블록체인 Dapp 만들기 #3 # 솔리디티 언어 이해 1. 컨트랙 구조 객체지향 언어들의 클래스와 비슷 문법은 자바스크립트와 비슷 타입 구분 가능 및 상속 같은 객체지향 개념 지님(컨트랙트끼리 상속 가능) line 1 : solidty compiler version line 2 : contract name line 3 : 상태변수, 클래스의 멤버변수라고 생각하면 된다 line 4 : 생성자 line 5 : 함수 구조 (함수 이름, 매개 변수, 함수 타입, 값 리턴 타입 정의) Pragma solidity ^0.4.23; // 솔리디티 컴파일 버전 contract MyContract { uint count; // 상태 변수 constructor() public { // 생성자 //.... } function numOfStudents(a.. 2021. 7. 14.
블록체인 Dapp 만들기 #2 가. Geth로 프라이빗 노드 구축 I (제네시스 블록, 계정 생성) 단, puppeth 실행이 안될경우 Geth 설치 시, Development tools 체크하여 설치 필수 mkdir -p ~/Blockchain 명령어를 통해 폴더를 하나 생성한다. 프라이빗 노드 만들기 이전에 블록체인의 첫번째 블록인 제네시스 블록을 만들기 위해, 노드를 초기화 하는데 필요하다. > cd Blockchain > puppeth 2번. Configure new genesis 메뉴를 클릭 하자. 제네시스 구성 선택, 합의 알고리즘 선택 (pow or poa), 어떤 계정이 미리 eth 를 받아야하나 패스, 네트워크 아이디 정하기 * 주의 : 네트워크 ID 선정 시 Public 네트워크에서 쓰고 있는 ID는 쓰면 안된다. .. 2021. 6. 25.
블록체인 Dapp 만들기 #1 블록체인 기반 탈중앙형 플랫폼 비즈니스 서비스를 만들어 보고자 합니다. 블록체인은 매일 큰 이슈를 불러오고 있는데 정작 그 기술과 쓰임새를 제대로 이해하는 사람들은 없는 것 같아 아쉬움이 많이 남습니다. 워낙에 어려운 기술이고, 지금까지 혼자서 공부하던 배운 내용들을 공유하고, 토론하고 싶습니다. 또한 정리하면서, 실제로 블록체인 기반의 플랫폼이 성공하는 작품을 하나 만들고 싶습니다. 혹시 블록체인 기술에 관심이 많으신 분들, 개발하고자 하는 분들은 아래 공개 오픈 채팅방을 만들었으니, 활발하게 공유하고, 기술 논의 하면서 성장하고픈 분들이 계시다면 아래 공개 채팅방에 편하게 오시면 좋을 것 같습니다. 들어오시면 가볍게 인사와 자기소개 부탁 드리겠습니다. ※ 다만, 코인을 광고하고 상업적/의도적 목적을 .. 2021. 6. 25.
2020 국민 참여단 참여단 4차 현장 방문 후기 블록체인 평가단 활동 하면서 2, 3, 4차까지 진행한 현장 실사 내용을 공유 하고자 한다. ※ 현장 방문 과제 : 분산신원증명(DID)기반 디지털 공공서비스 플랫폼 구축※ 최종 수행 목표 : 공공서비스 디지털 전환에 따른 개인정보 보호 강화를 위한 부산신원증명 기반 디지털 공공서비스 도입 → DID 기반 디지털 신원확인 (모바일 도민카드/학생증/도서관회원카드), 전자지갑앱 < .. 2020. 11. 10.
2020 국민 참여단 참여단 3차 현장 방문 후기 블록체인 평가단 활동 하면서 2, 3, 4차까지 진행한 현장 실사 내용을 공유 하고자 한다. * 현장 방문 과제 : 자율주행자동차 신뢰 플랫폼 구축 시범 사업* 최종 수행 목표 : 블록체인 기반 자율주행차 신뢰 플랫폼 구축으로 자율주행 실증사업의 안전성과 신뢰성 확보 → DID 기반의 안전한 인증체계 제공, 자율주행 데이터 서비스의 신뢰성 보강, 완성도 높은 자율주행 실증 환경 마련 .. 2020. 11. 9.
반응형