블록체인 메모 - NomadJin/Blockchain-Study GitHub Wiki

2018-04-08 메모

블록체인 – 차세대 거물 미들웨어

  • 단지 비트코인만을 위한 기술이 아니다.
  • 전송 이력의 영구적인 보관이 가능한 장부이며 프로토콜이다.
  • 블록체인에는 새로운 기술은 없으며, 구성된 컴포넌트의 새로운 방식의 조합이다.
  • 미들웨어는 블록체인을 나머지 기업용 아키텍쳐와 통합하는 성공의 열쇠다.
  • 자신만의 블록체인을 구성하는 것은 복잡한 과정이다. 블록체인은 BaaS 서비스로 빠르게 확산될 수 있다.

사람들은 블록체인을 비트코인을 구축 기술로서 알고 있지만, 비트코인은 빙산의 일각

2018-04-09 메모

일본에서 암호화폐의 거품이 시작되는 이유

  1. 현금이 필요없는 사회를 추진 중 무 현금을 추진 하기 위해 관민 일체의 협의회를 설립 검토 캐시리스화로 인한 경제효과는 10 조원에 달함 일본은 현금 지향이 강함
  2. 기업의 블록체인 도입 블록체인은 저렴한 비용으로 안정적인 상호 작용을 가능하게 하려는 점 직원 500명 이상의 기업의 42.6%가 블록체인 기술 검토 및 노력 중
  3. 2020년 올림픽을 위해 암호화폐 보급
  • 아이콘이 오는 4월 30일 ICO 플랫폼과 IISS 출시가 이루어짐

  • Triggmine REMME’s 2018년 파일럿 프로그램에 참여

2018-04-13 메모

  • 이슬람 학계는 비트코인은 샤리어 율법에 준수한다고 발표함. 학계가 제시한 엄격한 정의 따라 암호화폐가 화폐로서 자격에 확실치 않았던 무슬림 투자자들에게 투자 시장이 열림. 무슬림은 전세계 인구의 23% (인도, 인도네시아) 종교의 빠른 성장으로, 이슬람은 세계 금융 당국의 중심 이슈.

  • 신규계좌 개설 막히자 사기 기승 계정 거래 대항 사기 급증 계정 빌려서 자금 세탁 등 불법적으로 이용

  • Gate.io 오는 5월 5일 한국 정식 출범

  • 이토르 선임 분석가 “월가, 비트코인에 새로운 유동성 주입할 것” “상승장이 될지 하락장이 될지는 모르지만 중요한 것은 시장과 가격에 안정이 필요한 이 시기에 새로운 유동성을 주입할 준비가 되었다”

2018-04-25 메모

데일리 뉴스

  • 라가르드 IMF 총재 "암호화폐는 은행과 공존할 것"...8년 째 긍정론 미국 금융 업계 거물들 "암호화폐 반대...단속 필요" 주장과 대조적 금융권 "라가르드는 비금융 전공자" vs "라가르드 목소리는 곧 IMF의 목소리"

  • 미 헤지펀드매니저, 비트코인이 금보다 낫다

  • 6개월 내, 56개 금융회사가 암호화폐투자 진출

  • SKT, 자산관리와 결제 위한 블록체인서비스 발표

  • MIT의 비트코인 멸망 시나리오 반박, 너희들이 비트코인을 감히 어찌할 수 없어

  • 미국 애리조나 하원, 암호화폐로 세금납부 허용

  • 이더리움, 채굴(ASIC)문제로 네트워크 이전 가속화

  • 전미 상품선물거래위원회 위원장, 이더와 리플은 비준수 증권이다 두 암호화폐 모두 창작자에 의해 판매되었으며, 주로 투기적인 투자의 이유로 구입 반대로 비트코인은 이와 같은 방식으로 발행된 적이 없으므로 유가 증권으로 간주될 가능성이 낮다.

2018-04-26 메모

SMT(SmartMesh) 토큰 무한 생성 해킹 설명과 대비책

  • SMT 토큰은 표준 ERC20 함수가 아닌 기능을 구현해 놓고 사용
  • 이에 코드 보안점검(audit)이 제대로 이루어지지 않아 일어난 사고
  • transferProxy 함수를 이용해 해커 본인의 계정으로 토큰을 만들어냄

오버플로우

오버플로우란 이더리움 프로그래밍 언어에서 선언한 변수의 제한한 표현형을 넘어갈 경우 해당 값이 0부터 시작하는 현상을 뜻한다. 일반적으로 토큰을 전송할 때 unit256 형을 선언해서 사용. 함수 호출 간 입력한 값이 2²⁵⁶을 넘어설 경우, 이값은 0 이 된다.

transferProxy()

이 함수는 SMT토큰 팀에서 특별히 만든 함수로써, 이더가 없는 사용자가 다른 제 3자를 이용해 SMT토큰을 수수료로 내고 토큰을 보낼 수 있는 것을 가능하게 구현.

이 함수는 3개의 로직으로 구성

  1. 보내는 사람의 잔액(from)이 충분한지 확인한다(보내려는 토큰 수량이 보내는 사람의 잔액보다 작아야)
  2. v, r, s를 이용해 거래의 서명 값이 보내느 사람과 일치하는지 확인
  3. 토큰 전송

해커는 앞의 오버플로우 특성을 이용해 1번 로직을 가볍게 통과

if(balances[_from] < _feeSmt + _value) revert(); // 1번 조건문의 구현

세번째 네번째 값이 _value, _feeSmt 이며 둘을 합치면 2²⁵⁶비트의 표현형을 넘어가 값이 0으로 오버플로우가 발생 조건문을 손쉽게 통과

조건문을 통과했으니, 잔액보다 더 큰 값인 8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff을 보낼 수 있게 되어버렸고, 이 값을 10진수로 바꾸면 65133050195990359925758679067386948167464366374422817272194891004451135422463가 되는데, 이는 해커가 허공에서 만들어낸 토큰의 수량과 정확하게 일치

초기부터 SafeMath 라는 함수를 만들어 사칙연산을 수행했음. 요즘 개발되는 컨트랙트 중 SafeMath를 사용하지 않는 경우는 매우 드물다. 매우 초보적인 엔지니어이거나, 오류의 가능성을 알고도 일부러 했다고 볼 수 있음

if(balances[_from] < _feeSmt.add(_value) ) revert(); //safeMath library를 이용한 올바른 코딩 패턴

정리

  1. 초보 스마트 컨트랙트 엔지니어가 개발을 진행
  2. 기본적인 코드 감사를 하지 않음
  3. 거래소는 함량 미달의 코인을 무차별 성장

아마존 AWS 블록체인 서비스 제공, 대중화 이끌어 낼까

  • 하이파레저 패브릭과 이더리움 기반의 허가형 블록체인을 손쉽게 설정할 수 있는 'AWS 블록체인 템플릿' 서비스 공개
  • 어플리케이션 개발자들은 많은 비용이 드는 작업증명 블록체인 시스템을 구축하지 않고도 다양한 어플리케이션 운영 테스트 가능

2018-04-27 메모

부자 아빠 가난한 아빠

  • 서민이 돈에 대해 가진 마음가짐과 태도 : 자기가 돈이 없는 것에 자기합리화를 시작하며 애써 돈이 중요하지 않다고 주장
  • 부자는 돈을 좋아하고, 존중, 중요시함 그리고 문제가 생기면 상황을 탓하지 않고 문제를 어떻게 해결할지 궁리

2018-04-30 메모

Kyber Network

결제 시스템으로써의 카이버

  • 결제 시스템에 카이버 네트워크 거래소를 연동시키면, 고객이 어떤 결제를 하건 판매자는 자신이 원하는 화폐로 결제를 받을 수 있음
  • 환전 솔루션 활용 사례1 : WAX 게임 아이템 거래 블록체인 플랫폼
  • 환전 솔루션 활용 사례2 : 이더렌드(ETHlen)는 스마트 컨트랙트를 사용한 탈중앙화 방식의 대출 플랫폼

향후 과제

  • 서로 다른 블록체인 간 거래 지원(Cross-chain Trading)
  • 전 세계 사람들이 참여하는 다양한 리저브 생태계를 만드는 것

양자 컴퓨팅이 블록체인을 위협할 거라고? 지금 걱정하기에는 이르지만 준비는 해야

  • 현행 양자 컴퓨팅 기술만 보면, 지금의 암호기술에 문제를 일으키기까지는 적어도 20년 걸릴 것 같다.
  • 양자 컴퓨터가 모든 암호화를 깨지 않는다. 단지 일부분만을 깨는데 그 일부분이 지금 시점에서 우리가 사용하는 것의 대부분인 상황?
  • 커다란 변화를 유발할 요인은 '토폴로지 양자 컴퓨터'다. 이것이 실현되면 다가올 미래를 크게 앞당길 것
  • 홀로체인 위에다 평범한 컴퓨팅 파워 대신에 양자 컴퓨터상의 "magic"이 뒷받침해주는 "quantum holo"를 구축할 수 있을 것이다.

AWS 블록체인 플랫폼

https://aws.amazon.com/ko/blogs/aws/get-started-with-blockchain-using-the-new-aws-blockchain-templates/

VS code 소개

MS에서 제공하는 크로스 플랫폼 에디터로 다양한 언어를 서포트 하며, IntelliSense와 Git 기능, 그리고 Extension을 이용한 확장 기능을 제공

2018-05-02 메모

미국 증권감독위원회(SEC) 제도금융권 안에서 가상화폐 관리

  • 미국 최고의 금융감독기관인 SEC가 가상화폐에 대한 무조건적인 규제와 퇴치보다는 합법적으로 활용할 수 있도록 밝힘
  • 암호화폐 및 ICO가 미국의 증권법에 따라 추진될 수 있도록 하는 방안을 마련해야

결론

  1. 지금 암호화폐 ICO는 유가 증권임으로 주식시장에서 다뤄야 한다.(거래소에서의 거래는 불법)
  2. 즉, ICO 코인들은 증권으로 분류하며 리플, 이오스 같은 코인들은 암호화폐가 아닌 주식이다.

2018-05-11 메모

로켓인터넷과 블록체인 비즈니스

암호화폐와 블록체인은 아직 미성숙한 기술. 실제로 쓰임새가 많이 않고, 사용자들도 지극히 기술 친화적인 사람들이다. 그래서 대부분의 논의도 Go-to-market 전략보다는 기술적 한계점 같은 논의에 집중되어 있다.

블록체인 시스템을 만들고, 이끌고 있는 사람들 살펴보면 '잘 만들면, 고객은 따라올거야.' 라고 믿는 경향이 있음.

이더리움은 비탈릭 부테린이 비행기에서 거의 살다시피 하면서 전세계에 이더리움을 알리기 위해 전 세계를 돌아다니고, 이더리움 재단 또한 블록체인 커뮤니티를 키워내기 위해 노력중.

블록체인 기술이 근본적으로 오픈소스라는 걸 고려하면 경쟁자들은 다른 이의 코드를 더욱 적극적으로 베끼기 시작할 것.

지금까지 일어난 사건을 되집어 보자.

  1. 라이트코인이 비트코인을 포크해서 생겨남.
  2. 바이트 코인 포크 -> 비트모네로 포크 -> 모네로
  3. DAO 해킹 사태로 이더리움 포크 발생 -> 이더리움 클랙식
  4. 비트코인 포크 -> 비트코인 캐시. 커뮤니티, 코드 베이스, 원장, Hash power 등이 쪼개짐
  5. 이더리움팀이 Z캐시 팀과 협업해 SNARKs를 이더리움에 추가. 이더리움에 Z캐시 방식의 익명성이 더해짐
  6. 이더 델타 -> 포크 델타
  7. 비트코인 프라이빗이 Z클래식과 비트코인을 포크해서 생겨남. SNARKs를 비트코인 원장에 추가하였음
  8. 이더리움의 경쟁자인 헤데라 해시 그래프가 이더리움 개발 커뮤니티와 공조하기 위해 이더리움 가상 머신을 채택
  9. 모네로에서 2번의 포크가 일어났고, 모네로 V와 모네로 클래식이 생겨났음
  10. 이더리움의 경쟁자인 EOS는 막대한 양의 이더리움을 시장에 쏟아내면서 이더리움의 가격 상승에 압박을 가하고 있음
  11. WAS는 자체 체인인 WAX 체인을 만들기 위해, EOS 소프트웨어를 포크했음
  12. 여러 블록 프로듀서들이 EOS체인을 내놓을 것임. 그중 몇몇은 EOS ERC20 토큰 분배를 충실히 지키지 않을 것
  13. 사람들이 벌써 이더리움 플라즈마 체인에서 EOS 소프트웨어 사용을 논의하고 있음

공공연히 알려진 사례만 추려도 이 정도. 베끼기, 포킹, 훔치기는 계속해서 늘어나고 있음.

오픈소스 코드가 원작자의 허락 없이 복제될 수 있다는 것을 고려해보면, 오직 '네트워크 효과를 빠르게 구축하는 것'만이 중요함. 고투마켓 전략 + 실행 그들의 가장 큰 강점이라고 말할 수 있는 프로젝트는 드물다.

이러 일이 현실에서 일어난다면?

  1. 디피니티가 만든 'Threshold relay'가 확장성 문제를 멋지게 해결한 최고의 컨센서스 모델이라고 가정한다면, EOS는 그들의 DPos 컨센서스 알고리즘을 걷어내고, Threshold relay로 대체해버릴지도 모름. 쉬운 일은 아니지만 아주 불가능한 일도 아니다.
  2. 한 스테이블 코인이 유의미한 성과를 거두기 시작한다. 큰 규모의 상거래에 본인들의 스테이블 코인을 적용하려고 하며 가장 이상적인 '유통/영업' 파트너 스퀘어에게 접근한다. 이제 스퀘어는 시장에서 검증된 코드와 경제학 모델을 냉큼 베껴서 그들의 스테이블 코인을 출시한다.
  3. 텔레그램이 터무니없는 130장 짜리의 백서를 내놓는다. 암호화폐가 겪고 있는 주요한 기술적 한계를 모두 해결하겠다고 주장한다. 하지만 텔레그램은 사실 어떤 것도 직접 개발할 필요가 없다. 이 문제를 푸는 팀들의 오픈소스 기술을 하나씩 가져와서 텔레그램 앱에다 합치면 됨.
  4. 3번의 텔레그램을 페이스북, 스냅책, 안드로이드, iOS로 바꿔 본다.

이미 시장에서 압도적 존재감을 가진 '선수'들과 경쟁하는 것은 무척이나 어렵다.

몇 년 더 지나면, 많은 팀들이 자신들이 직접 짠 코드를 그대로 베낀 경쟁자들에 의해 시장에서 밀려날 것이다. 이미 로켓인터넷이라는 선례가 있듯이, 로켓인터넷은 미국에서 성공하는 팀들을 지켜보고 있다가 유럽에 똑같은 모델을 들고 진출했고 이는 잘 먹혔다.

시장과 고객이 필요로 하는 제품을 만들었다는 직감이 드는 순간, 바로 시장에 제품을 쏘아 넣을 수 있도록 고투마켓 전략을 미리부터 준비해놓아야한다.


Okex : 4ZRS73TJUO7RTDQB


2018-05-24 메모

  • 우리은행 '지주사'전환.

단기적으로는 차세대 전산시스템 안정화에 우선 순위를 두겠지만, 중장기적으로는 블록체인 사업에 힘을 보탤 것.

  • KT 인젠트와 '블록체인 기반 전자문서관리시스템'사업 협력

  • 메디블록 퀀텀 떠나 자체 플랫폼 구축

블록체인 기반 의료 정보 플랫폼 메디블록이 퀀텀을 떠나 자체 블록체인 플랫폼을 구축한다. 이를 위해 새로운 ERC20 기반 토큰을 발행해 기존 토큰 보유자들에게 에어드롭을 통해 나눠줄 계

  • 프랑스 경제부장관 "암호화폐 생태계 육성 적극지지"

프랑스를 유럽에서 가장 뛰어난 블록체인과 암호화폐의 혁신지로 만들고 싶

  • 말콤 턴불 호주총리 '블록체인맨'으로 나선 까닭

말콤 턴불 호주 총리가 정부 운영 전반에 블록체인 기술 적용을 검토 중. 주요 국가 정상 중 선제적으로 '블록체인 정부'를 주창.

2018-06-15 메모

Mist 실행 시 geth와 swarm을 자동으로 다운로드

pure 나 view 는 트랜잭션을 발생하지 않고 블록체인의 정보를 조회한다.

throw(); 이후에 수행한 함수에 대해서도 가스를 지급 revert(); 전 까지 수행한 함수에 대한 가스를 지급

이더리움은 floating 포인트 연산이 없음

Mist에서 CA로 이더를 전송하려면 transfer(), fallback 함수 사용해야

GET, SET value 기본

contract myFirst { string name; uint age;

event First(
    string name,
    uint age
);

function getVal() view public returns (string, uint) {
    //--------------------------
    // 1. please enter the get code
    //--------------------------
	return(name, age);

}

function setVal(string _name, uint _age) public {
    //--------------------------
    // 2. please enter the set code
    //--------------------------
	name = _name;
	age = _age;
    //------------------------------------
    // 3. please enter the trigger-event code
    //------------------------------------
	First(name, age);
}

}

ABI 인터페이스를 HTML에 붙인다.

EOA는 unlock 후 2분이 지나면 lock 상태가 된다.

Quorum Block Explorer ( Spring Boot, cakeshop 참고)

bootnode 란 부트스크랩 노드으로

0x090ea4287c044fd08b48847793617e25507262cf

geth attch rpc:http://localhost:8545

set PATH=c:\etherstudy\go-ipfs;%PATH%

$ ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[" *"]" $ ipfs daemon

https://steemit.com/bitcoin/@sigmoid/2bapgg