[수정] [코인 깃허브 점검] Segwit2x (B2X) 코인 스캠이라는 이야기가 돌고 있습니다

in kr •  7 years ago  (edited)

안녕하세요. 스팀잇에는 처음 가입 후 글을 올려 봅니다.

저는 코인에 투자를 할 때 최소한 소스 코드와 백서를 찾아 보면서 스캠인지 아닌지, 최소한 개발진이 개발 역량이 있는지 아닌지를 확인합니다. 백서나 사이트에는 온갖 미사여구를 붙여, 현재의 기술력으로는 개발이 불가능한 기능들을 늘어놓아 투자자들을 현혹하는 경우가 아주 많습니다. 아인스타이늄이 그랬고, 비트코인 플래티넘 하드 포크가 그랬었죠. 두 코인 모두 소스 코드를 한 번이라도 확인해 보면 개발 역량/개발 의지가 없다는 걸 알 수 있었습니다. 불행히도 개발자가 아닌 경우 소스 코드를 보고 스캠인지 아닌지를 판단하기는 쉽지 않은 일입니다. 따라서 지속적으로 소스 코드를 확인하고 비개발자이신 분들에게 조금이나마 도움이 되도록 글을 계속해서 써 보도록 하겠습니다.

이번 글에서는 Segwit2X 혹은 B2X 코인을 분석해 보고자 합니다. 공식 사이트는 http://b2x-segwit.io/ 입니다. 역시 슬로건은 Together we will create the perfect Bitcoin! 라고 하고 있네요. 어떤 하드포크던 슬로건은 거기서 거기인 것 같습니다. 각자 자신의 비트코인 포크가 최고의 비트코인이라고 주장합니다. 소스 코드 저장소는 https://github.com/SegwitB2X/bitcoin2x 입니다.

비트코인 소스 코드에서 포크한 이후의 커밋들입니다. 현재까지 총 12개의 커밋을 했고, 그 중 11개의 커밋이 3일 전에 이루어졌습니다. 각자의 커밋 내역을 확인해 보니 소스 코드를 적절하게 잘 수정한 것을 알 수 있습니다. 그 중 예시를 보면 다음과 같습니다:

src/net_processing.cpp
 @@ -2874,15 +2874,21 @@ bool PeerLogicValidation::ProcessMessages(CNode* pfrom, std::atomic<bool>& inter
  
      msg.SetVersion(pfrom->GetRecvVersion());
      // Scan for message start
 -    if (memcmp(msg.hdr.pchMessageStart, chainparams.MessageStart(), CMessageHeader::MESSAGE_START_SIZE) != 0) {
 +    auto messageStartValid = memcmp(msg.hdr.pchMessageStart, chainparams.MessageStart(), CMessageHeader::MESSAGE_START_SIZE) == 0;
 +    if (!messageStartValid && useFlexibleHandshake)
 +        messageStartValid = memcmp(msg.hdr.pchMessageStart, chainparams.BitcoinMessageStart(), CMessageHeader::MESSAGE_START_SIZE) == 0;
 +    if (!messageStartValid) {
          LogPrintf("PROCESSMESSAGE: INVALID MESSAGESTART %s peer=%d\n", SanitizeString(msg.hdr.GetCommand()), pfrom->GetId());
          pfrom->fDisconnect = true;
          return false;
      }
  
      // Read header
      CMessageHeader& hdr = msg.hdr;
 -    if (!hdr.IsValid(chainparams.MessageStart()))
 +    auto headerValid = hdr.IsValid(chainparams.MessageStart());
 +    if (!headerValid && useFlexibleHandshake)
 +        headerValid = hdr.IsValid(chainparams.BitcoinMessageStart());
 +    if (!headerValid)
      {
          LogPrintf("PROCESSMESSAGE: ERRORS IN HEADER %s peer=%d\n", SanitizeString(hdr.GetCommand()), pfrom->GetId());
          return fMoreWork;

아인스타이늄 소스 코드나 비트코인 플래티넘 소스 코드에는 이 정도의 소스 코드 수정이 없었습니다. 이 부분만 보고 정확히 판단하기는 힘들지만 개발자는 비트코인의 동작 원리를 이해하고 입맛에 맞게 수정할 정도의 개발 역량을 가지고 있다고 판단됩니다.

그렇게 커밋 내역을 쭉 확인하다가, 수상한 소스 코드를 발견했습니다. https://github.com/SegwitB2X/bitcoin2x/commit/08220e2a3c8ba8f53801302a8b7b6d6da5a39645 내역을 보시면 확인하실 수 있는데, 특정 주소로 200만개의 코인을 넣어 둔 것을 확인할 수 있었습니다. 아래에 두 개 더 있는데, 아마 테스트넷에 적용한 코드로 보입니다. 메인넷에서 실제 사용 가능한 코인은 200만개입니다.

현재 B2X의 선물 거래 가격은 코인마켓캡 기준, 0.04077080 BTC 선에서 거래되고 있습니다.

저 지갑의 개인 키를 가지고 있는 사람 (아마 B2X의 개발자이겠지요) 은 단순히 계산해도 81541.6 BTC를 가지게 되는 겁니다. 문제는, Premine 코드가 추가되어 있다는 사실은 공식 홈페이지에는 아무런 언급이 되어 있지 않다는 점입니다. 아무리 코인판이 사기라지만, 아무리 생각해도 개발자가 한 탕 챙기려는 속셈을 가지고 하드포크를 진행한다는 생각을 지울 수가 없습니다. 비트코인 골드의 경우에는 Premine 하여 개발비를 충당한다고 커뮤니티에 알렸지만, 이번 코인은 커뮤니티에 전혀 알리지도 않았고 소스 코드로만 Premine 여부가 존재한다는 것이 문제점이라고 생각합니다.


추가적으로 이 코인에 대해 조사해 보았는데, 스캠 코인이라는 이야기가 돌고 있습니다. https://www.reddit.com/r/BitcoinScamCoins/search?sort=new&restrict_sr=on&q=flair%3ASegWit2X 에서 각자 확인해 보시고 각자 판단해 보시면 될 것 같습니다

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @youngminz, this post is the forth most rewarded post (based on pending payouts) in the last 12 hours written by a Dust account holder (accounts that hold between 0 and 0.01 Mega Vests). The total number of posts by Dust account holders during this period was 5520 and the total pending payments to posts in this category was $1211.77. To see the full list of highest paid posts across all accounts categories, click here.

If you do not wish to receive these messages in future, please reply stop to this comment.

깃헙 확인이 개발진 스캠여부를 판단하는 데 큰 도움이 되고있는 것 같습니다. 빗골 경우에도 아예 프리마인을 진행하여 개발비로 충당한다고 했으나, 차이점은 언급을 했냐 안했느냐가 되겠네요.

b2x premine이라는 키워드로 구글 검색을 해 봤을 때, 전부 비트코인 골드 관련 글만 나오는 걸 보니 전혀 알려지지 않은 정보이고 소스 코드 상으로만 남아 있는 정보인 것 같습니다.

Congratulations @youngminz! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

좋은글 잘보고갑니다
즐겁게 스팀잇 하시기 바랍니다
감사합니다

감사합니다 :)

Following you! +UP