반응형

암호화폐의 특징 중에 거래의 익명성이 있다. 이는 거래하는 당사자가 누구인지 알 수 없다는 점이다. 하지만, 일반적인 암호화폐가 완전히 '익명'을 보장하는 것은 아니다.  

암호화폐 거래를 위해서는 주소가 필요한데, 개인정보를 넣지 않더라도 언제든지 새로운 주소를 만들어 사용할 수 있다. 하지만 모든 거래들은 블록체인 탐색기를 통하여 추적이 가능하고, 계속해서 추적하다 보면, 그 주소가 누구의 것인지 추측할 수 있게 된다. 즉, 익명이지만 그 익명이 누구인지를 추측할 수는 있다는 것이다. 

이런 아쉬움을 해소해주는 암호화폐가 있고, 대표적으로 모네로(Monero)와 대쉬(Dash)를 꼽을 수 있다. 

암호화폐의 익명성을 강조하다 보면, 그 익명성을 이용해서, 불법거래에 사용될 수 있다는 우려를 피할 수는 없다. 하지만, 어떤 개인이 얼마나 많은 자산을 가지고 있는 지를 모두에게 알려줄 필요는 없다. 또한, 사업자라면 얼마나 많은 고객과 거래하는 지, 얼마나 수입이 있는 지와 같은 것들은 모두 민감한 내용들이다. 이 모든 것들이 공개되는 것은 개인정보 보호 차원에서 또 다른 우려가 될 것이다. 

암호화폐의 익명성으로, 중앙의 권력에 의해서 모든 개인의 프라이버시가 침해 당하지 않는 세상을 기대해 볼 수 있겠다.

반응형
반응형
채굴을 하기 위해서는 채굴 프로그램, 마이너가 필요하다.
대부분 마이너는 GPU를 사용하게 되는 데, 효율을 낮기는 하지만 CPU만으로도 채굴을 할 수 있다.
대표적인 CPU 마이너 프로그램을 소개한다.

명칭 : Pooler CPU Miner
지원비트 : 32 bit, 64 bit
지원운영체제 : Windows, Linus, iOS
홈페이지 : https://sourceforge.net/projects/cpuminer/files/
채굴 이용 하드웨어 : CPU 전용 (GPU가 없는 경우 유용함)
채굴 가능한 알고리즘 :  scrypt (Litecoin, Degecoin), sha256d (bitcoin, peercoin), scryptN 

매번 복잡한 명령어를 치기 보다는, 배치파일을 만들어서 사용하는 것이 편리하다 
run.bat 을 아래와 같이 만들면 된다.

minerd -a scrypt -o stratum+tcp://ltc.pool.minergate.com:3336 -u test@test.com -p x -t 1
pause


여기서, ltc.pool.minergate.com은 마이닝풀 중에서 한 곳이다.
혼자서 채굴을 하는 것은 가능성이 너무 낮기 때문에, 마이닝풀(mining pool)에 가입해서 채굴해야 한다.
대표적인 마이닝풀을 소개한다.
 
miningpoolhub.com
minergate.com

 

반응형
반응형

모네로 블록체인 네트워크에 참여하기 위해서는 자신의 컴에 모네로 지갑과 데몬을 설치해야 한다. 네트워크에 참여하기 위한 필수요소는 데몬이다.

이 데몬은 컴에 블록체인은 다운받아 네트워크에 있는 최신의 블록체인과 동기화를 유지한다. 어디선가 새로운 블록이 생기면, 수시도 동기화를 해서 모네로 블록체인을 최신의 상태로 유지해 준다.

컴에 이 데몬을 설치하기 위해서 하나 이상의 지갑이 필요하다.

모네로 앱을 https://web.getmonero.org/downloads/ 에서 다운로드 받을 수 있다.

다운로드 받아 설치하면 하나의 지갑을 만들게 된다. 그리고 데몬이 시작되어 블록체인을 동기화 하기 시작한다.

블록체인 동기화 상태는 화면의 왼쪽 아래에 표시된다.

이 동기화 작업은 생각보다 오랜 시간이 걸릴 수도 있다. 컴의 성능과 네크워크의 성능에 따라 달라질 수 있다.

아래 화면은, 동기화를 완료한 상태에서 다시 시작한 화면이라서, 2개의 블록만은 동기화하고 바로 최신 상태를 유지할 수 있는 것이다.

아래 그림은 모네로 데몬을 실행되고 있는 화면이다.

반응형
반응형

하나의 큰 파일을 작은 크기(10MB) 크기로 잘라서 여러개 파일로 저장하는 기능이다.

-------------------------------------

import os

def file_split(filepath1, filename1):
    # 예: 10MB
    size_limit = 1024*1024*10
    with open (filepath1 + filename1, 'rb') as fi:
        i = 0
        b = fi.read(size_limit)
        while b != b'':
            with open (filepath1 + filename1 + '.' + str(i), 'wb') as fo:
                fo.write(b)
                fo.close()
            i = i + 1
            b = fi.read(size_limit)
        fi.close()

------------------------------------------

여러 개 파일로 나누어서 저장된 파일을 다시 하나의 큰 파일로 이어 붙이는 기능이다.

------------------------------------------

def file_join(filepath1, filename1):
    filepathname = filepath1 + filename1
    with open(filepathname, 'wb') as fo:
        i = 0
        while os.path.exists(filepathname + '.' + str(i)) :
            with open(filepathname + '.' + str(i), 'rb') as fi:
                fo.write(fi.read())
            i = i + 1
        fo.close()

--------------------------------------------

테스트를 수행한다.

--------------------------------------------

if __name__ == "__main__" :
    file_split('d:/dev/', '큰 파일.pdf')
    file_join('d:/dev/', '큰 파일.pdf')

 

 

반응형
반응형

파이썬에서 GUI 프로그램을 만들기 위해서 필요한 GUI 도구들을 알아본다.

 

1. Tkinter

Tkinter는 Tcl/Tk에 대한 파이썬 Wrapper로서 Tcl/Tk를 파이썬에 사용할 수 있도록 한 Lightweight GUI 모듈이다. Tcl은 Tool Command Language의 약자로서 일종의 프로그래밍 언어이며, Tk는 크로스 플랫폼에 사용되는 일종의 GUI 툴킷이다. Tkinter는 타 GUI 프레임워크나 툴킷에 비해 지원되는 위젯들이 부족하고 UI도 그렇게 예쁘지 않다는 단점이 있지만, Python 설치시 기본적으로 내장되어 있는 파이썬 표준 라이브러리이기 때문에 쉽고 간단한 GUI 프로그램을 만들 때 활용될 수 있다.

Tkinter는 파이썬에 기본 내장되어 있기 때문에 별도로 설치할 필요가 없다. Tkinter를 사용하기 위해서는 tkinter 모듈을 import 하면 된다.

 

2. PyQt

PyQt는 Qt의 Python Language Binding 중의 하나이다. Qt는 C++로 작성된 크로스 플랫폼 프레임워크로 The Qt Company에서 작성한 프로그램이다. PyQt를 사용하면, 동일한 파이썬코드를 사용하여 윈도우즈, Mac, 리눅스에서 모두 동작하는 GUI 프로그램을 작성할 수 있다. PyQt4와 PyQt5가 있으며, PyQt4는 더이상 지원되지 않는다고 한다.

GtDesigner 라는 강력한 UI 디자인 도구를 제공하는 장점이 있다. PyQt는 오픈소스로서 개인용으로는 무료이지만 상업용으로는 License를 구입해야 한다. 

 

3. PySide

PyQt4와 유사한 Python Qt 바인딩이며, 크로스 플랫폼을 지원한다. 

PyQt4와 거의 비슷한 PySide는 오픈소스로서 상업용으로도 무료이다. 하지만, PySide는 오픈소스를 지속적으로 관리하는 부분이 소홀한 만큼 상업용 프로젝트에는 부담스러울 수 있다. LGPL을 따른다. 

 

4. PyGTK

리눅스 환경에 잘 맞으며, 윈도우즈에서는 돌리기에 좀 불편한 편이다. GUI 디자인 도구로 Glade를 제공한다. Tkinter에 비해서는 기능이 많은 편이며, LGPL 라이센스 정책을 따른다.

 

5. wxPython

크로스-플랫폼을 지원하과 각 플랫폼에 어울리는 위젯을 제공한다. Tkinter에 비해 기능이 충실한 편이다. wxGlade와 같은 것 등의 GUI 디자인 도구를 제공한다. 

GPL과 유사한 Wxwidgets 라이선스 정책을 따른다.

 

6. Kivy

Kivy는 Windows, MacOSX, Linux, Android iOS 및 Raspberry Pi와 같은 여러 플랫폼을 지원한다. 오픈 소스이며 툴킷에는 20 개 이상의 위젯이 제공됩니다. 네이티브 위젯이 아닌 OpenGL ES 2를 통해 렌더링되므로 운영 체제 전반에 걸쳐 모양이 균일하다. Kivy를 사용하여 Android 및 iOS 용 멀티 터치 모바일 앱을 제작할 수도 있다고 한다. 게임을 만들때 좋은 GUI 라이브러리이다. MIT 라이선스 하에서 무료로 사용할 수 있다. Kv lang 이라는 별도의 개발언어로 보다 간략하게 화면을 개발할 수 있다. 이 개발언어를 보다 편리하게 사용할 수 있도록 designer가 제공된다.

 

 

반응형
반응형

스텔라루멘(XLM)

스텔라는 은행 시스템이 미흡한 개발도상국의 금융 소외 계층을 포함하여 개인들에게 저렴하고 편리한 금융 서비스를 제공하고자 하는 결제 네트워크 입니다. 스텔라 네트워크에는 앵커라는 중개자들이 스텔라 합의 프로토콜 (SCP, Stellar Concensus Protocol)을 기반으로 거래를 체결합니다. SCP 합의 알고리즘과 앵커 시스템으로 사용자들은 0.00001 XLM 이라는 낮은 수수료로 3~5초 만에 송금과 결제 서비스를 이용할 수 있습니다. 루멘은 스텔라 네트워크에서 연결 통화로서의 기능을 하며, 서로 다른 화폐들간의 송금 및 결제를 빠르고 안전하게 할 수 있게하는 자산입니다.

 

공식 웹사이트: https://www.stellar.org/

 

반응형
반응형

요즘 정치 및 사회 전반적으로 크게 떠오르고 있는 단어가 하나 있으니 바로 암호화폐가 아닌가 싶습니다. 암호화폐에 대한 관심이 날이 갈수록 커지면서 다양한 암호화폐가 만들어지고 없어지고 있습니다. 지금 시중에서 거래되고 있는 암호화폐를 보면 가히 입이 다물어지지 않을 정도로 그 종류도 많고 제대로 알기가 무척 어렵습니다. 이런 엄청난 종류의 암호화폐는 초보자들로 하여금 더욱 더 투자를 어렵게 합니다. 많은 사람들은 암호화폐의 대부 격인 비트코인에만 익숙할 뿐, 특별히 관심 및 투자를 하고 있지 않는 한 다양한 종류의 암호화폐를 제대로 알고 있는 사람은 많지 않습니다.

그런 분들을 위해 준비했습니다. 비트코인 외에 주목할만한 암호화폐에 대해 하나씩 알아보도록 합시다.

 

1.    리플(XRP)

리플은 오픈코인에 의해 개발된 것으로 실시간으로 일괄 정산시스템과 환전 및 송금 네트워크를 갖춘 것을 가장 대표적인 특징으로 하고 있습니다. 리플(XPR)은 원래 은행 간의 이체 서비스를 지원하기 위해 개발된 암호화폐로서 글로벌 네트워크를 통한 실시간 거래 및 자금 추적 기능을 제공하여 전세계적으로 큰 인기를 끌고 있습니다. 마지막으로 무엇보다도 가장 큰 장점은 다른 암호화폐와 비교하였을 때 최상위에 해당하는 투명성과 저렴한 비용에 있습니다. 리플(XRP)과 같은 경우는 은해 및 결제서비스 제공자 및 디지털 자산 교환 업체들이 주로 이용하는 것으로 잘 알려져 있습니다.

 

2.    라이트코인(Litecoin)

라이트코인은  암호화폐와 동일하게 오픈소스 암호화폐로서 가장 큰 특징으로는 상대적으로 저렴한 비용에 소매업자간의 신속한 국제 거래를 보장한다는 것에 있습니다. 이 암호화폐의 이름에서도 잘 알아볼 수 있듯이 주로 실생활에서의 사용을 겨냥하고 있습니다. 이 코인의 탄생 비화를 알아보면, 사토시 나카모토가 만든 비트코인의 공개 소스(오픈소스)를 참조하여 구글의 전 직원이 개발해 냈다고 합니다. 물론 일부 기능을 수정하기는 했지만 그 시초가 비트코인에 있다는 것이 매우 흥미롭게 비춰집니다.

 

3.    이더리움(ETH)

이더리움(ETH)은 출시 이래 비트코인에 이어 줄곧 세계 2위에 랭크되고 있는 암호화폐입니다. 최근에는 비트코인 캐시에 그 자리를 넘겨줬는데 그럼에도 불구하고 암호화폐 시장에서는 여전히 적지 않은 영향력을 끼치고 있는 암호화폐 중 하나입니다. 무엇보다도 이더리움(ETH)이 시장에서 긍정적인 평가를 받고 있는 이유는 바로 암호화폐 이상의 활용 가능성을 꾸준히 제시하고 있다는 것에 있습니다. 이더리움(ETH)이 가지고 있는 가장 큰 특징 중 하나는 스마트 계약과 분산 어플리케이션을 채택하고 있다는 것입니다.

 

4.    비트코인캐시(Bitcoin Cash)

비트코인에서 떨어져 나와 만들어진 비트코인캐시(Bitcoin Cash)는 비트코인 주위에서 채굴자와 개발자간의 복잡한 잡음 및 갈등에 의해 탄생된 것으로 이는 기본적으로 비트코인의 관련 기술의 불협화음에 의해 빚어진 것으로 잘 알려져 있습니다. 비트코인은 기본적으로 용량의 한계가 항상 문제점으로 부각되어 왔는데 수요보다 적은 용량으로는 차고 넘치는 거래를 감당할 수 없었기 때문입니다. 이에 따라 중국 최대 채굴장과 거래소를 운영하는 중국 업체 중 하나인 비아비티시의 주주인 비트메인의 주도하에 비트코인캐시가 개발 및 운영되고 있습니다.

여기서 한 가지 의문점으로 다가오는 것이 중국은 법적으로 모든 암호화폐 거래가 불법으로 규정되어 있는데 어떻게 중국 거래자 및 업체가 성행할 수 있는 것일까요? 아이러니하게도 현재의 기술은 모든 규제에 걸리지 않도록 다양한 방법으로 응용되고 있습니다. 예를 들어, 중국의 거래자들은 VPN 우회 기술을 이용하여 해외 거래소에서 규제망 없이 암호화폐 거래에 참가하고 있으며 업체들 또한 해외에 설립되어 국내 규제망의 적용 아래 놓여있지 않습니다.

이처럼 중국인들의 거대한 자본과 거래수에 힙입어 비트코인캐시는 그 전망이 나날이 밝은 것으로 알려져 있습니다.

 

5.    모네로(XMR)

그 다음으로 소개해드릴 암호화폐는 모네로(XMR)입니다. 모네로가 다른 암호화폐와 비교하여 볼 때 가지고 있는 가장 큰 장점은 무엇보다도 개인 정보 보호 및 추적 불가능성에 있습니다. 여기에는 링 시그니처 또는 링 서명이라는 특별한 기술이 적용되어 있는데요. 이 기술을 이용하면 거래 참여자의 암호화된 서명을 다른 서명으로 버퍼링할 수 있어 외부에 노출이 되지 않습니다. 이 밖에도 모네로(XMR)가 가지고 있는 특징을 하나 둘씩 살펴보면 보안 기능에 초점을 맞추고 있다는 것을 쉽게 알아볼 수 있습니다. 몇 가지 예를 들어보자면 다음과 같습니다. 모네로가 가지고 있는 기능 중 하나인 스텔스 주소(Stealth Address)는 외부인이 지갑 주소 또는 개인 열쇠 중 하나를 안다고 하더라도 여전히 익명성이 보장되는 구조로 설계되어 있습니다. 이 밖에도 링 기밀 거래(Ring Confidential Transaction)’이라는 것이 있는데 이는 그 이름에서도 알 수 있듯이 모네로 암호화폐에 최상위 보안 기술이 적용되어 있음을 잘 나타내줍니다.

 

이처럼 리플에서부터 모네로에 이르기까지 총 5개의 전도유망한 암호화폐에 대해 알아보았습니다. 이번 기회를 통해 단순히 비트코인에만 익숙했던 분들도 보다 다양한 암호화폐에 대해 알아볼 수 있었으면 합니다

 

반응형
반응형

파이썬은 엄청나게 많은 패키지를 제공한다. 파이썬을 설치하면 기본적으로 함께 설치되는 패키지도 있지만, 좀더 고급 기능이 필요하거나, 기본에서 제공하지 않는 다양한 패키지를 손쉽게 설치하는 방법을 제공한다.

패키지를 설치하는 첫 번째 방법은 pip 명령어로 설치하는 것이다. 쉽고 일반적인 방법이다.

> pip install <pi 이름>

 또는 기본적인 파이썬 실행방법으로 해도 된다.

> python -m pip install <pi 이름>

 여기서 pi 이름은 전체 파이썬 패키지 중에서 구분하기 위한 명칭인데, 이것은 pypi.org 에서 확인할 수 있다. pi Package index를 의미한다. 이 명령을 실행하면, 설치하고 싶은 패키지와 그 패키지가 필요로 하는 추가적인 패키지들을 알아서 다운로드 받아 설치해 준다. 패키지들 간에 의존하는 버전들이 좀 복잡할 수 있는데, 이런 부분들을 자동으로 처리해 주기 때문에 편리하다.

네트워크 환경에 따라서, pip 명령어가 필요한 패키지를 자동으로 다운로드 받는 과정에서 SSL 관련 오류가 날 수 있다.

Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate : [SSL CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)

이런 경우, <Python 설치경로>\Lib\site-packages\pip\_vendor\requests 에 있는 session.py을 수정해야 한다. session.py 파일에서 self.verify = True self.verify = False로 변경하여 저장하고 다시 pip install 명령을 실행하면 된다.

두 번째 방법은 파이썬 휠(Wheel)을 다운로드 받아서 직접 설치하는 것이다. 이 패키지들 간의 의존관계, 그리고 정확한 패키지 버전들을 모두 확인해서 직접 설치하는 방법이다. 특별한 이유가 없다면 추천하지 않는 방법이지만 알아둘 필요가 있다.

 

 

 

필요한 휠 파일을 다운로드 받기 위해서 pypi.org에 접속하여 패키지를 검색하면, 패키지의 설명과 다운로드를 제공한다.

 

검새결과
패키지 설명
패키지 다운로드

 

다운로드 하기 위해서 제공되는 여러 개 파일 중에서 파이썬의 버전과 플랫폼(윈도우, 32비트 또는 64비트 등)을 확인하고 내려 받아야 한다. 예를 들어, 파이썬 3.7버전은 cp37, 윈도우는 win, 64비트는 amd64를 선택해서, wxPython-4.0.6-cp37-cp37m-win_amd64.whl 파일을 내려 받아야 한다. 내려 받은 휠 파일은 역시 pip install 명령어로 설치한다. 설치하는 패키지가 필요로 하는 추가적인 패키지가 이미 설치되어 있어야 한다. 그렇지 않다면 오류가 나도 필요로 하는 버전을 확인해서 먼저 설치해 주어야 한다.

> pip install wxPython-4.0.4-cp37-cp37m-win_amd64.whl

출처: https://bombook.tistory.com/47 [봄북:티스토리]

반응형

+ Recent posts