반응형

출처:https://www.ddengle.com/trading/664314


암호화 코인은 다수의 유저가 블럭체인이라는 일종의 거래장부를 서로 공유함으로써 코인의 보안을 확보하고 새로운 코인을 발행하게 됩니다. 이 때 코인을 나누어주는 방법에 따라 대표적으로 PoW (proof of work) 방식과 PoS (proof of stake) 방식으로 나누어집니다.

PoW 방식은 쉽게 이야기하면 숙제를(암호화 코드를 해시) 받아서 그걸 푼 정도("Work") 에 따라 코인을 나누어 주는 방법이고, PoS 는 기존에 가지고 있는 코인의 양에 따라("Stake") 새코인을 나누어주는 방법입니다. 

빗코와 라이코를 비롯한 다수의 코인들이 PoW에 기반하고 있는데, 마이닝 또는 채굴을 한다는 게 바로 이들 PoW 코인들을 캐는 겁니다. 이런 코인들은 초기에 많은 사람들이 채굴을 하면서 네트웍의 분산에 성공하고 초기 마이닝 커뮤니티 중심으로 유저베이스를 만들어 내는데 성공할 수 있었습니다.

하지만 점차 전문채굴기를 중심으로 고가의 장비경쟁이 채굴시장의 대세를 이루면서 대규모 제조업자 또는 투자자에 의해 암호화 코인의 기반인 분산화된 네트웍의 유지가 위협을 받는 상황이 생기고 마이닝에 소비되는 장비와 에너지 소모에 대한 비판적 분위기는 PoS 가 도입되는 계기를 마련합니다.

PoS 는 마이닝 하드웨어 경쟁이 필요없다는 큰 장점이 있지만, 반대로 초기 코인의 유포가 공평하지 못하고, 제한된 유저그룹안에 머물 가능성이 많다는 한계가 있었습니다.

이런 장단점들를 통합한 하이브리드 모델들이 나왔지만 기술적으로 PoS 와 PoW를 동시에 진행하면서 네트웍 안정성을 확보하는 것에 어려움을 맞게되면서, 현재나오는 복합형은 PoW 와 PoS 를 동시에 유지하는게 아니라 초기 일정기간은 PoW 로 많은 마이너들이 캘 수 있도록 하고, 그 이후는 순수 PoS로 전환함으로써 PoS 장점을 유지하고자 하는 모델들이 주류를 이루고 있습니다.


한편 전문채굴기가 빗코의 암호화 방식인 SHA256 를 넘어서서 라이트코인의 방식인 Scrypt로 확장됨에 따라 이런 전문 채굴기가 채굴하기 어려운 새로운 암호화 방식의 Pow 또는 Pow / Pos 복합 모델들이 등장하기 시작했습니다.
X11 은 다크코인이 제일 먼저 도입한 암호화 방식이고, 여러 다른 새로운 방식중 아주 인기있는 방식입니다.


하드포크라는 것은 어떤 코인에 치명적인 버그가 있거나, 핵심 알고리듬의 변화가 필요해서 기존지갑과의 호환성 단절을 감수하고 새지갑을 만드는 겁니다. "포그"라는 건 보통 오픈소스에서 개발에서 참여하기 위해 자신만의 특정 카피폰을 만드는 것인데, 여기에 "하드"가 붙는 것은 기존의 소스와 호환성이 단절된다는 것을 의미합니다. 하드포크가 된 카피본이 존재하는 상황에서 기존판을 한쪽에서 계속 사용하게 되면 두개의 호환불가능한 블럭체인이 존재하게 되고 이는 곧 그 코인의 파탄을 의미합니다. 그렇기 때문에 하드포크는 모든 풀과 사용자들의 지갑을 한꺼번에 다 업데이트해야 되는 대규모 작업이 됩니다.

반응형
반응형

출처:https://steemit.com/kr/@twinbraid/74kjhu



포크


포크(fork)는 나이프와 포크할때 그 포크가 맞습니다


포크로 내용을 콕 찝어서 가져온다는 의미죠
한마디로 복사입니다

그렇게 복사로 끝나는게 아니라
보통 복사한 시점에서 원본과 복사본이 다른길을
걷게 됩니다

예를들어
사장님이 장부를 만들었습니다
장부를 쓰다가 불법사업을 계획하게 됩니다
그래서
이전까지 쓰던 장부를 복사해서
또 하나의 장부를 만듭니다
그 시점까지는 내용이 똑같지만
이후로 하나는 정상적인 사업내용 나머지 하나는
불법 사업내용으로 장부의 버전이 달라지고 내용도
다르게 채워져 나가게 됩니다

여기서 또 하나의 장부를 만드는 시점을
이중장부 포크라고 합니다

위의 예시와 같이
백업용이 아니라 이후의 내용은 다르게 채워나갈
이른바 다른 버전으로 쓸 의도로 포킹해오는거죠

소프트 포크



소프트 포크는 어감 그대로 부드럽게 살짜기
달라집니다.

감수성 예민한 순수소설이
덜 예민하게 바뀌는 수준으로

독자는 그 변화를 알아채기 힘들정도고
굳이 해석의 방향을 달리할 필요없이
이전같이 읽으면 됩니다

코인으로 치면 굳이 지갑프로그램 업뎃을 안해도
보내기,받기 같은 간단한 기능은
아무 문제없이 사용할 수 있는 것이죠

하지만 소설작가만은 분명 이전과 다르게 써야하므로
반드시 업데이트를 해야합니다
즉, 블록을 발행하는 채굴자들의 채굴방법은
소프트 포크에 맞춰 업데이트해야만 합니다

그리고 블록체인 자체는 이전 것을 그대로 이어나갑니다

그래서
사용자들의 기능이 블록체인에 반영되게 건드리지는 않지만
채굴규칙등이 변경되어 블록체인에 소소하게 영향을 주는
(단 블록에 기록이 바뀐다던지 하는게 아니라
채굴자 프로그램에 해커주소를 막는 필터링 추가 같은 거)

업데이트들을 소프트 포크라고 합니다

하드 포크



개빡시게 달라집니다
감수성 예민한 순수소설이
사이버펑크 디스토피아풍의 맛간 소설로 바뀌는 수준입니다

이렇게되면 독자는 뭘 읽는건지 멘붕에 빠집니다
그러므로 읽을려면 일단 약을 한사발 한후에 읽어야됩니다
이전과 같은 마인드로는 못 읽는다는 거죠

즉 사용자나 채굴자나 무조건 강제업뎃해줘야합니다

보통 블록체인의 기록방식부터해서 블록체인에 대해
커다란 변경이 있는만큼 블록체인 자체를 포크해서
복사한 새로운 블록체인으로 접속을 변경합니다

그래서
여러규칙의 심한 변동으로 인해 사용자, 채굴규칙
모두 변하게 되어 블록체인 자체를 바꿔줘야 할 정도의
큰 업데이트를 하드 포크라고 합니다

하드 포크로 인한 블록체인 나뉨 개념


만약 게임서버 혹은 카카오톡 같은 거라면
업데이트와 동시에 서버에서
사용자의 프로그램 버전을 검사합니다

그리고 그 버전이 자신들이 권장하는 버전이 아니라면
접속자체를 끊어버립니다

하지만 블록체인의 경우 그런 통제권력이 없이
사용자들이 만들어나가는 것이기 때문에
이전버전을 쓰더라도 그것을 막을 수가 없습니다

예를들어 학교를 옮긴다고 하면
학생들은 강제로 이전학교를 버리고 학교를 옮겨야됩니다

하지만 같이 노는 그룹이 있는데
모이는 곳을 다른 놀이터로 옮긴다고 하면
'난 여기서 놀거야' 라는 사람들이 나올수가 있습니다

대부분의 경우
다수의 사람이 새놀이터로 옮겨가므로
이전 놀이터는 자연스럽게 폐허(...)가 됩니다

하지만
그룹이 나뉘어져버리는 경우가 있습니다

새로운 블록체인으로 못가겠다 이거죠
코인은 블록체인에 기록되기 때문에
블록체인이 다르면 기록내용도 달라집니다
잔고라던지.. 거래라던지..

결국 갈라진 블록체인은 코인 역시 갈라지게 됩니다

그렇게 해서 생긴게 바로
이더리움 클래식입니다.

이름에 클래식이 붙은 이유가
하드포크 이전의 예전 블록체인을 그대로 쓰기 때문이죠

맺음


비트코인이 이번에 제법 큰 하드포크를 한다고 합니다

큰 변화가 일어날 수 있다는군요
현재는 저도 몬소린지 모르겠지만 공부해보고
이해가 되면 한번 적어보도록 하겠습니다

여튼 모두 잘 대비하시길 바랍니다



출처: https://www.ddengle.com/bitcoindeveloper_voted/1588253



암호화폐에서 소프트 포크(soft fork)와 하드 포크(hard fork)라는 말이 많이도 등장합니다.

아래는 소스가 공개된 암호화폐에서 소프트 포크와 하드 포크의 차이를 알려줍니다.

 

소프트 포크와 하드 포크는 둘다 버전 업그레이드하는 것을 말합니다. 

하지만, 블럭체인에 포크가 생기는지 여부에 따라서 소프트 포크와 하드 포크를 나눕니다.

 

 

1) softfork

아래의 그림과 같이, 소프트 포크는 신 버전과 구 버전을 동시에 사용해도 문제가 없는 버전 업그레이드를 하는 것입니다.

구체적으로, 소프트 포크는 블럭체인에 포크가 발생하지 않게 이루어지는 버전 업그레이드이다.

따라서 구 버전을 사용해도 정상적인 사용이 가능합니다.

 

1.1) 조치사항

마이너는 반드시 소프트 포크, 즉 신 버전으로 업그레이드를 해야 합니다.

일반 유저는 소프트 포크를 하지 않아고, 구 버전을 사용해도 정상적으로 동작합니다.

 

 

1.png

 

 

 

2) hardfork

 

아래의 그림과 같이, 하드 포크는 반드시 신 버전으로 업그레이를 해야 합니다.

구체적으로, 블럭체인에 포크가 발생을 하기 때문에 강제적으로 신버전으로 업그레이드를 해야 합니다. (강제 업데이트 버전임)

블럭체인에 영구적인 포크가 발생하면, 비주류 블럭체인에 참여가 적어서 도태되도록 하는 방법을 사용해야 합니다.

 

2.1) 조치사항

마이너와 유저 모두 신 버전으로 버전 업그레이드를 반드시 해야 합니다.

하드 포크는 일반 유저가 반드시 버전 업그레이드를 해야하는 강제 업그레이드 버전을 말합니다.

 

 

2.png

 

읽어볼만한 사이트: 

1) https://gist.github.com/gavinandresen/2355445

2) https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork

 

그림 소스: https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork

 

 

3) 문제

비트코인 블럭의 현재 거래제한 사이즈는 1MB인데요.

이 사이즈를 1MB 이상, 즉 예로 10MB로 높이는 버전 업그레이드는 소프트 포크일까요 아니면 하드 포크일까요?

 

답: 하드 포크 

 

참고1 : https://en.bitcoin.it/wiki/Block_size_limit_controversy

참고2 : 비트코인의 거래제한 사이즈: MAX_BLOCK_SIZE = 1000000

(거래제한 사이즈는 main.h파일에 기록되어 있네요..

https://github.com/bitcoin/bitcoin/blob/d3cb2b8acfce36d359262b4afd7e7235eff106b0/src/main.h )

반응형
반응형

출처: http://gauryan.tumblr.com/post/22510276952/%EB%8B%A4%EB%A5%B8-%EA%B3%84%EC%A0%95%EC%9C%BC%EB%A1%9C-%EB%AA%85%EB%A0%B9-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0


다른 사용자 계정으로 명령을 실행할 수 있는 방법이 다양하게 있는데, 그 중 가장 많이 사용되는 방법을 나열하면 아래와 같다.

$ su - 아이디 -c "명령어1; 명령어2; 명령어3"
$ sudo -u 아이디 "명령어"
$ ssh 아이디@호스트 "명령어"

위와 같은 방법으로 하면 간단하게 실행할 수 있는데, 환경변수가 제대로 먹지 않아서 실행이 안되는 경우가 있다. su, ssh 의 경우, 환경변수를 .bashrc 에 넣어두면 안되고, .profile 이나 .bash_profile 넣어야 된다.

sudo 의 경우는 환경변수 보다는 보안적인 이유로 특정 디렉토리에 있는 파일만 실행되도록 설정되어 있다. /etc/sudoers 파일을 열어서 아래와 같은 부분을 찾아서, 자신이 실행하고자 하는 파일이 존재하는 디렉토리를 포함시켜주면 된다.

Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"


반응형
반응형

출처: http://blog.naver.com/kdi0373/120176838278



R.java 란 외부소스를 관리하는 클레스 입니다. "

 

안드로이드 프로젝트를 실행할 경우  종종 R.java가 사라지는 경우가 있다.

보통 R.java 또는 그 상위 폴더인 gen을 강제 삭제 하여도 android sdk가  

자동 생성을 해주는데  최악의 경우 재생성이 안될 경우가 있다.

초보자인 경우 구글링을 하면서 몇시간을 삽질 해본 후 프로젝트를 새로 만들 경우가 많다. 

총 5가지의 해결 방법을 말해 줄려고 한다. 

 

 

 

※ res 란?  : R.java는 res 디렉토리에 있는 모든 자료들에 대한 명세서 이면서 res에서 자원이 추가 및 삭제 할때 마다 자동 갱신이 된다.

 

1. drawable : 이미지 파일 이다. (png, jpg, ......)

2. layout : Activity의 레이아웃을 정의하는 XML파일 이다.

3. values : 데이터를 표현하는 XML파일 이다.

   1) styles.xml : 스타일

   2) demens.xml : 크기

   3) strings.xml : 문자열

   4) colors.xml : 색상

   5) arrays.xml : 데이터 배열

 4. /res/xml : 임의의 XML 파일 이다.

 5. /res/raw : 디바이스를 직접 복사하는 임의 파일 

 

 

트라우마 ㅋㅋㅋㅋㅋㅋㅋ :

위에 보면 gen 디렉토리 안에 BulidConfig.java 클레스만 있지 R.java 파일이 없다.  

 

 

1. 첫 번째 방법 : Clear 한후  -> 프로젝트 우 클릭 -> Refresh

 

 

 

2. 두 번째 방법 : 프로젝트 우클릭 -> Properties -> Java Bulid Path

   -> Android 버전을 최상위로 한 후 확인 -> Clear -> Bulid

 

 

3. 세 번째 방법 : Clear -> 이클립스 재실행

 

 

4. 네 번째 방법 : 프로젝트 우클릭 -> Properties -> Android -> 최상의 버전 선택  

    -> 확인 -> F5 

 

 

5. 다섯 번째 방법 : /res 디렉토리 안에 있는 하위 자원들 중에 파일명을  

   대문자로 생성한 것이 있을 경우 다 소문자로 변경하자. 

   대부분 drawable파일에서 이미지 파일을 대문자로 만들었을 경우가 많다. 

   ※ 한글자라도 대문자가 있어서는 안된다.  

 


반응형

+ Recent posts