이더리움 지갑 비번찾기 (mist 비번분실 key파일 암호분실 지갑 비번찾기)


이더리움의 지갑 암호를 분실하는경우가 의외로 많이 있습니다.


필자역시 비번을 분실해서 7달동안 고생하였죠..


그러다가 python 으로 연구를하다보니 찾을수있는 가능성을 보았습니다.



물론 본인의 머리에서 나온 비밀번호가 아닐경우는 절대 불가능합니다.


남의 key를 가지고 비번을 찾기를 시도한다면 거의 불가능하다고 보셔야합니다.



아찔한 화면입니다.. 도저히 기억해내려고 해도 기억나지도 않습니다.



필자의 방법은 이러합니다.




geth 의 경우 account 기능을 통하여 비번을 대입할수가 있습니다.


자 그렇다면. 내가 가지고있는 모든 비밀번호를 조합하여 경우의수의 배열로 대입을 시도한다면??


예를들어 비밀번호가 !apple2222* 라고 해보겠습니다.


그런데 나는 앞에 특문을 했던게 기억이 납니다. 그렇다면 !,@,#,$,* ~~~ 등등 의 앞에 경우의수와

2번째에는 apple banana orange 등의 본인이 자주쓰는 비밀번호 단어들과

뒤에숫자또한 본인이 자주쓰는 패턴 1111,2222,3333 등등 이고

마지막도 특수문자를 넣었던 기억이 난다 가정했을때  !,@,#,$,* ~~~


차례대로 배열로 대입시킨다면 나올수있는 모든 경우의수의 암호를 대입해볼수있습니다.

자 모두 대입해보겠습니다.






이렇게 암호를 찾게됩니다.  본인이 생각했던 경우의수는 물론 이것보다 훨씬많겠죠.


직접입력하다보면.. 끝이없습니다. 이렇게 프로그램으로 코딩해서 진행한다면 어느정도 찾을수있는 가능성이 있습니다.


저도 이렇게 찾게되었고. 이러한 가능성이 있기에 비번을 잃어버리신분들이 있다면.


해당프로그램을 판매할수도 또는 제가 직접 프로그램을 돌려드릴수도 있습니다.



본인이 어떠한 password 힌트를 가지고 있지않다면 절대 불가능합니다. 

예를들어 첫글짜는 a 대문자는 확실하고 두번째는 B로시작하는 단어중에 하나였고 세번쨰는 숫자 1~99999 까지중 하나이며 마지막에 특수문자이다 

이런식의 대략적인 범위가 나와야만 대입이 가능합니다.

무차별하게 돌려서 찾는것은 절대로 불가능합니다.


양자컴퓨터가 나온다면 모르겠습니다만. 현재까지로선 그러합니다.


저처럼 비밀번호 분실로 고생하셨던분이 있으면 연락주시기 바랍니다.


메일주소 0petabyte@gmail.com 입니다 앞에 숫자0입니다. 

이더리움을 통해 코인 프리세일 참여하기!

(해당방법은 개인지갑 설치와 동일합니다)

 

(참고로 하였던 edgeless 를 예로 들어 하겠습니다)

 

 

1. 미스트를 설치한다.

https://github.com/ethereum/mist/releases

주소로 가시어 다운로드후 설치하시면 됩니다.

 

2. 다운받은후 압축을 풀어 Mist 파일을 실행하여 설치는 진행한다.

 

3. 설치후 처음실행시 비밀번호를 입력하고 나면 아래와 같은 창이뜬다.

왼쪽 하단의 다운로드가 끝나야.. 지갑컨트랙트를 추가할수 있다

(해당시간이 좀 오래 소요됩니다.. 백신 실시간감시 끄시면 더 빠름니다)

 

 

4. 지갑의 경우 하기와 같이 수수료가 빠져나가는 지갑이 있고.

전송할때 쓰는 지갑이 있다.. Etherbase 의 경우가 다른 주소로도

전송될수 있을지는.. 저도 안해봤으니.. 궁금하면 소량으로 한번 해보시길..

 

거래소(코인원,코빗,빗썸 등등) 에서 하기의 주소로 ETH를

보내면 받아집니다.

 

 

 

5. ETH가 준비되었다면 이제 토큰 주소를 추가해보자.

http://www.icocountdown.com/ 이곳에서 프리세일 임박한

토큰을 노린후. 저는 방금 하였던..edgeless 를 예로 들겠습니다.

 

https://edgeless.io/en/ 사이트에 접속하여

 

아래쪽의 Contribute 를 클릭

 

 

상기의 내용을 확인후 아래의 화면이 나오면

이제 주소를 획득하였다.

주소는 0x362bb67f7fdbdd0dbba4bce16da6a284cf484ed6

 

자이제 미스트로 가서 전송할준비를 하여보자.

 

먼저 토큰을 추가.

 

추가이후 하였으면. 이제 ETH전송만 하면 끝이다..

 

전송이 되었는지 확인하는 방법은.. 본인 지갑의.아래쪽을 보면

하기와 같은 정보가 있다.

 

 

저는 코인구매를 이제 막 시작한.. 초보입니다..

 

모르시는분들 많으셔서 짧은 지식으로나마 제가 아는것만 기재하였고

틀렷던 부분이 있을순 있으나.. 저는 이방법으로 구입을 하였습니다.

 

잘못된부분이 잇다면 댓글로 알려주시기 바랍니다 ^^

 

혹시 본인이 Mist 를 설치한후..

 

ETH 보내기를 실험해보실것이면..

0x0B1465e52a1D2F75B4E4B95cBB6e7Cc45E65620D

 

제주소로 테스트로 보내보셔도됩니다 ^^ (강요 아닙니다)

 

항상 어디에 보내실때 먼저 소액만 보내셔서 먼저 테스트 하세요.

 

 

 

그럼 읽으시느라 수고 많으셧습니다...

 

 

이더리움이란?


이더리움소개이더리움비전

코인을 주고 받거나 이후 스마트 컨트랙을 사용하기  위해서는 반드시 지갑이 있어야 합니다.

지금까지 코어프로그램의 개발에 집중되어 있었기 때문에 일반인들이 사용할 수 있는 그래픽환경의 지갑프로그램은 상대적으로 개발이 늦어졌습니다.

지금소개하는 버전 (0.5.1 베타 9) 역시 아직 베타버전이며, 이번 농가버전에 발 맞추어서 기본기능만 넣어서 출시한 것입니다.

다음주에 하드포크가 성공적으로 끝난후 여러가지 추가적인 기능이 업데이트된 0.6 버전이 출시될 것입니다.

이전 버전을 쓰던 사람은 반드시 새 버전으로 업데이트해야 하드포크이후 싱크가 계속 이루어질 수 있습니다.


이더리움 GUI 지갑은 일명 Mist 라고도 불리며, 이더리움 브라우저라고도 불리웁니다. 이 프로그램은 블럭체인을 직접 관리하는 보다 하위레벨의 프로그램인 eth(c++ 버전)와 geth (go 버전) 를 기반으로 해서 그 위에서 사용자에게 보다 편리한 그래픽 인터페이스를 제공하려는 목적으로 만들어졌습니다.


이더리움 지갑 패키지안에는 해당 버전에 상응하는 eth 와 geth 를 포함하고 있고, 이더리움 지갑을 실행하면 자동으로 geth 를 백그라운드로 돌리게 되어 있습니다. 물론 지갑에서 geth 를 돌리지 않고 별도로 geth 를 실행시킬 수 있으며, 만일 geth 가 이미 작동중이면 이더리움 지갑은 이미 작동중인 geth를 사용하게 됩니다.


eth 와 geth는 기본적으로 같은 기능을 하지만, 개발된 언어가 다른 이더리움의 블럭체인을 관리하는 코어 프로그램입니다.  공식적으로는 geth 가 표준입니다. 다만 마이닝에는 eth 의 c++ 패키지 (지금은 web3라고 부릅니다) 에 포함된 ethminer를 씁니다.



자 그럼 이제 본격적으로 지갑을 인스톨해봅시다.  윈도우를 기준으로 설명합니다.


(1) 일단 최신 버전을 다운받아 봅시다.


https://github.com/ethereum/mist/releases


거기서 가장 최근 버전중 자신의 윈도우에 맞는 버전을 다운로드합니다.

현재 윈도우 버전은 Ethereum-Wallet-win64-0-5-1.zip 입니다. 하지만 이보다 더 상위버전이 있을시 그 버전을 다운받습니다.


(2)  적당한 디렉토리에 압축을 풀고 

Ethereum-Wallet,exe

를 실행합니다.


다음과 같은 화면이 뜨면서 geth 노드를 백그라운드로 실행합니다. 이 때 peer 를 찾는데, 여기서 시간이 너무 걸려서 못찾으면, 시스템 시간이 자동으로 인터넷 타임서버에 싱크되고 있는지 확인하기 바랍니다.



run-geth.png



(4)

성공적으로 노드가 실행되면 환영 화면으로 넘어갑니다.

테스트넷을 선택하지 말고 'Start Using Ethereum" 을 선택합니다.


mainnet.png


(5) 이더리움 프리세일에 참가해서 받은 파일이 없으면 스킵합니다.



skip.png



(6) 패스워드를 설정합니다.

이 패스워들 잃어버리면 영원히 코인을 회복할 수 없습니다. 반드시 종이에 적어서 별도의 장소에 보관하세요. 나중에 패스워드 잃어버렸다는 포스팅을 다시는 보지 않기를 바랍니다.

password.png


(6) 지갑에서 이더를 비트코인주고 바로 살 수 있는데,  안 사봐서 좋은 가격에 사지는지 잘모르겠음.

그냥 패스...


buyether.png


(7)  기본 셋팅이 끝나고 나면 블럭체인을 다운받고 싱크해야 하는데, 주변에 빠른 peer 들이 있으면 2 시간안에 싱크가 끝날 수도 있고, 하루이상이 걸릴 수도 있습니다.  만일 너무 오랜시간동안 다운 받은 블럭수가 늘어나지 않거나 peer 수가 0 이면 프로그램을 껃다가 재시작해보기 바랍니다.


donwload-block.png


(8) 체인이 싱크되지 않은 상태에서 재시작하면 다음과 같이 싱크가 계속 이루어지고 있다는 것을 보여줍니다.


download-bc.png


(9) 싱크가 완료되고 블럭을 데이타베이스에 제대로 입력되면 지갑화면이 로딩됩니다.

지갑 메뉴에서 Accounts--> Backup --> Account 를 누르면 다음의 디렉토리가 열립니다.

keystore 라는 곳에 암호화된 각 주소별 프라이빗 키가 보관되어 있습니다. 이 폴더 전체를 별도의 USB 스틱에 복사하고 안전한 장소에 보관하세요.

절대 생략하면 안됩니다.  암호와 마찬가지로 이 프라이빗키가 컴퓨터 고장등으로 분실되면,  코인은 영구히 복구할 수 없습니다.

지금까지 거의 모든 다른 코인지갑 출시 때 마다 항상 패스워드나 프라이빗 키를 잃어 버려서 고생하는 사람들을 봐왔습니다.

만일 새로운 주소를 지갑에 더하면 이 주소에 해당하는 키가 새로 생성되어 keystore 에 보관됩니다. 따라서 백업도 새로 받아야 합니다.

 


private-key.png


(10) 각 메뉴들을 눌러보고 확인보세요. 뭐가 있는지 한번쯤 둘러 보십시요.


geth-node.png


현재 Geth 1.3.5 (첫번째 농가버전) 이 백그라운드로 돌고 있다는게 나옵니다.


main-net.png


네트워크은 메인 네트워크에 물려 있는지 확인합니다. 테스트 네트워크에 물려놓고 다른데서 이 지갑주소로 코인보내면 못 받습니다.


(11) 코인 주고 받기는 더 이상 설명이 필요없을 만큼 단순명쾌합니다. 직접 해보세요.


(12) 컨트랙 사용방법은 별도의 포스팅에서 다루겠습니다.


(13) 지난번 포스팅에서 미리 geth를 다운받아서 블럭체인을 싱크하라고 말씀드렸는데, 이렇게 미리 싱크해놓았다면 지갑이 별도의 싱크없이 바로 시작될 겁니다.


(14) 별도로 geth를 다운 받지 않았더라도, geth.exe 가 지갑 패키지 하위디렉토리에 있습니다.

resources > node 에 있습니다.  평소에 지갑을 실행해 놓고 있지 않더라도, 

콘솔에서 그냥  

geth console

이라고 치세요.   그럼 geth가 돌면서 블럭체인은 계속 싱크됩니다. 또한 console 입력을 제공하기 때문에,  gui 프로그램을 돌리지 않고도 사용가능하며, 더 많은 기능들을 직접 실행시킬 수 있습니다. 여기에 대해서도 다음 기회에.


(15) 다른 웹사이트 등에서 만든 지갑주소를 옮겨 오기 위해서는, 그 사이트에서 프라이빗 키를 암호화되지 않은 상태로 다운받아서 

geth import  키파일 이름

하면 지갑으로 가져 올 수 있습니다.  만일 다른 컴퓨터에 있는 이더리움 지갑 (geth, mist) 이 생성한 암호화된 프라이빗 키가 있으면 그냥 이 키 파일을 (9)에서 이야기 한 keystore에 카피해서 넣어놓으면 자동으로 인식됩니다.


(16) geth 를 사용해 솔로 마이닝하는 것에 대해서도 별도 포스팅을 하겠습니다.


(17) 메뉴에 Developer > Toggle Developer Tool 이 있는데, 브라우저에서 자바스크립 코딩해본 사람이면 이게 뭔지 딱 감히 잡힐 겁니다.

여기서 이더리움의 기본적인 모든 객체들을 전부 자바스크립으로 엑세스 가능하게 되어 있습니다. Dapp 개발할때 아주 요긴하게 씁니다. 


(18) 이더리움을 처음 접하면, 뭔가 프로그램들이 왜 그리 많은지 대단히 복잡해보이고, 각각의 쓰임이 어떻게 다른지 가능하기도 매우 힘듭니다.

그 이유중의 하나는 이더리움의 처음부터 여러가지 개발언어를 동시에 지원하겠다는 포부에서 출발했기 때문입니다.

메인 언어만 3가지입니다. C++, Go, Python 여기다 Java 나 Javascript 버전도 있고, 비슷비슷한 기능들이 각 언어별로 구현되어 있습니다.

처음에는 C++ 이 가장 앞서나갔는데, 현재는 Go 버전이 표준입니다. Python 은 스크립팅하기가 좋아서 주로 프로토타입구성과 테스트용이 현재 가장 많이 쓰는 용도이고 비탈릭이 제일 좋아하는 언어입니다., C++ 는 역시 성능이 가장 뛰어나서, 마이닝은 C++ 버전의 ethminer 를 씁니다. 그런데 C++ 최고 개발자가 올 1월에 떠났습니다. 무슨 사연인지는 ... 자바스크립은 프론트 쪽 Dapp 개발의 필수품이고 이것만으로 거의 대부분의 기능구현이 됩니다.


=============


위의 예제에 사용된 제 이더리움 지갑주소입니다. 테스트로 이더 보내셔도 됩니다. ㅋㅋㅋ 돌려 드린다는 보장은 없습니다.


0x2d19FDE5B4Cac4e1AfA54ee749C368C68c18316c



======

업데이트


오늘 보니까 이 지갑에 어느 분인가가 이더를 보내오셨더군요.  감사합니다.

그런데 지갑내에 트랜잭션 히스토리 보는 페이지를 못찾겠군요. 결국 외부 사이트에서 조회했습니다.

https://www.etherchain.org/account/0x2d19FDE5B4Cac4e1AfA54ee749C368C68c18316c#txreceived


history.png



출처: https://www.ddengle.com/blockchain/1124434


땡글 atomrigs님의 글입니다.

이더리움 백서.pdf

이더리움 백서입니다.


1. 이더리움이란?
이더리움은 개발자들이 차세대 분산 어플리케이션을 만들어 낼 수 있도록 하는 프로그램 언어이자 플랫폼이다. 에테리움의 암호연료(크립토휴얼)인 에테르는 분산네트워크의 어플리케이션에 파워를 제공한다.
이더리움은 거의 모든 것 – 투표, 도메인 이름, 재정 교환, 크라우드펀딩, 회사 경영, 각종 계약과 협약, 지적 재산, 심지어 하드웨어 집적에 힘입어 스마트 재산 등 – 에 대한 암호화, 분산화, 안전화, 상거래에 사용될 수 있다.
이더리움은 비트코인을 가능케 한 분산합의(distributed consensus)의 개념을 가져다 썼다.

왜 이더리움인가?
오늘날 우리가 사용하는 서비스는 공통점이 있는데 그것은 중앙집중식이다. 예를 들어 은행에 돈을 입금하면 우리는 은행이 정직하고 안전하고 또 독립적인 감사를 받을 것을 믿는다. 페이스북에 사진을 올리거나 드롭박스에 중요한 서류를 올리는 것도 마찬가지이다. 이런 모델은 오류가 있다는 것이 계속해서 증명이 되지만, 지금껏 사용되는 것은 ‘신뢰가 필요없는’ 시스템을 구축하는 것이 너무 복잡하고 비싸기 때문이다.

이더리움으로 구축된 어플리케이션은 사용자가 개인정보나 재정에 대해 개발자를 신뢰할 필요가 없다. 이더리움은 위의 문제를 해결할 뿐 아니라 이전에는 볼 수 없었던 새로운 종류의 어플리케이션을 가능하게 한다.

Philosophy
Agility (민첩성)
물론 하위 VM언어나 어드레스 시스템 같은 상위 구조를 변경하는 것에 대해서는 엄격하게 결정할 것이지만, 에테리움 프로토콜의 세부사항은 확정되어 있는 것이 아니다.
개발 과정의 후반부에 실행될 연산 테스트에서 알고리즘이나 언어 스크립트에 대한 변경이 발견되면 확장성이나 안전성이 크게 증가할 것이다. 그러한 기회가 되면 프로토콜은 분명히 바뀔 것이다.

Simplicity(단순성)
이더리움은 모든 사람에게 개방된 프로토콜이다. 어떤 프로그래머라도 그들이 이미 익숙한 언어를 사용하여 이더리움 앱스와 스마트 콘트랙드를 쓸 수 있을 것이다. 프로그래머들은 특정개인이나 그룹이 프로토콜에 대한 영향을 최소화하기 위하여 스펙을 비교적 쉽게 시행할 수 있다. 이더리움 프로토콜은 가능한 단순하게 만들어지고, 최적화는 복잡하게 만들기 때문에 큰 유익이 없는 한 포함시키지 않는다.

Universality(일반성)
이더리움은 “특징(feature)”을 가지고 있지 않다. 대신, 이더리움은 분산 네트워크에서 생각할 수 있는 어떤 프로그램을 만드는데 사용할 수 있는 스크립트 언어를 제공한다. 이것은 재정이나 스마트 계약을 훨씬 넘어서는 결과를 가진다. 클라우드에서 실행되고 언제나 감독되고 신뢰할 수 있는 소프트웨어라면 어떤 종류의 문제를 해결할 수 있을지 생각해 보라. 이것이 사용자가 그들의 재정과 개인정보를 스스로 콘트롤하고 충돌이 없는 네트워크의 일부로서 투표기계, 건강시스템, 교통항법장치등을 개발할 수 있도록 해 준다.

Modularity(모듈화)
이더리움 프로토콜의 각기 다른 요소는 가능한한 모듈화되고 독립성을 유지하도록 설계된다. 개발 단계에서 한 군데에서의 작은 프로토콜 변경이 전체 기능이 정상적으로 동작하면서도 가능하게 되어야 한다. 동작 보장 알고리즘, 패트리샤 트리, RLP 같은 신기술은 별도의 라이브러리로 적용되어야 하며 이더리움에서 모든 기능이 다 필요하지 않더라도 모든 기능을 갖추어야 한다. 이더리움의 개발은 전체 암호화 화폐 시스템 환경에 도움이 되어야 한다.

Non-Discrimination(비차별성)
프로토콜은 특정한 사용 범주를 제한하거나 배제하여서는 안된다. 프로토콜에서의 통제 메커니즘은 바람직하지 않은 어플리케이션을 통제하는 것이 아니라 위험요소만을 통제하도록 해야 한다. 예를 들어, 연산에 드는 비용을 댈 의지가 있는 한 이더리움 상위에서 무한 루프를 돌릴 수 있어야 한다.

이더(Ether)에서 만들어 낼 수 있는 것
화폐를 창출하고 주식을 발행할 수 있다.
콘트랙트 이더리움의 주요 블록이다. 콘트랙트는 분산 이더리움 네트워크 안에 내재하는 컴퓨터 프로그램이며, 에테르 발란스와 메모리와 코드로 구성되어 있다. 콘트랙트에 거래내용을 전송할 때마다 콘트랙트는 데이터를 저장하고 다른 콘트랙트와 상호작용하는 등의 코드를 실행한다.
콘트랙트는 중앙의 통제나 소유권없이 네트워크에 의해 유지된다. 콘트랙트는 모든 프로그래머들에게 바로 친숙해질 수 있는 언어로 씌여져 있고 이더리움의 암호연료인 이더(ether)에 의해 동작된다.
(출처 : http://ethereum.org )

2. multi2multi – 이더리움(Ethereum)(1)
분산네트워크 에서 peer,pod,node라는 용어로 1대1의 네트워크 관계를 의미 하였다면, 이더리움은 다수(multi)대다수(multi)라고 할수 있어요. 아직 공식 운영이 시작되지 않았지만 관심도는 뜨겁네요. 하지만 일반인이 이해하고 실용화 되기 까지는 상당한 시일이 들것 같군요. 웹2.0이 지금의 인터넷 문화를 만들어냈듯이, 비트코인2.0은 앞으로의 새로운 인터넷 문화를 만들어 낼것입니다. 상세한 내용은 제가 쓰고 있는 블로그를 참고 하세요.
* 한국 이더리움 커뮤니티
-> http://ethereum.or.kr
21bUd0151b8trbxaixe2v_x1r1y

3. multi2multi – 이더리움 정보(2)
* 공식홈피: http://ethereum.org
* 오픈소스: https://github.com/ethereum
* 이더리움 백서: http://bit.ly/ethereumwp(한글판: http://bit.ly/ethereumwpkr)
* 한국이더리움포럼: http://forum.ethereumkorea.org
* 참고글(m2m) : http://atomrigs.blogspot.kr/2014/12/blog-post.html?m=1
->블럭체인2.0블로그: http://atomrigs.blogspot.kr/?view=classic
* 이더리움 프로젝트 모음(56개)
-> https://docs.google.com/spreadsheets/d/tHuTn24A0rOOzusoUBQBEHg/htmlview?pli=1
-> IBM과 삼성 프로젝트 : http://www.bloter.net/archives/218404
1fhUd01512s5sr9hl416i_qvgmbf

+ Recent posts