[KMD] 비트코인 라이트닝 네트워크를 이용한 포커 게임 만들기!!! (CHIP and a Chair)
안녕하세요, goldenman 입니다.
먼저 대문을 이벤트로 제작해주신 @carrotcake 작가님께 감사의 말씀드립니다.
얼른 받은 대문이미지 첫개시해봅니다 ^^
(carrotcake님의 웹툰과 코인연재만화는 정말 재밌습니다! 다들 가셔서 보시고 팔로우/보팅해주시면 작가님께 큰 힘 되겠습니다)
요즘 supernet 이 열일하네요.
이틀연속 뉴스를 올려주다니 ㅎㅎㅎ
참고로 개인적으로 KMD에 투자를 하다보니 관련 뉴스를 번역 포스팅하고 있습니다.
기존 투자자분들이나 관심있으신 분에게 도움이 되었으면 하는 마음으로요 ^^
SuperNET에서는 2017 로드랩 중 하나로 blockchain기반의 Poker game을 만드는 것을 목표로 하고 있습니다.
이번 뉴스는 바로 그 포커 게임에 대한 개발진행 사항을 공유해주는 소식입니다.
이번 뉴스의 원문은 아래 링크 참조하시면 됩니다.
CHIP and a Chair - Let’s use Bitcoin’s Lightning Network to create a Poker Game
https://www.supernet.org/en/resources/updates/chip-and-a-chair-let-s-use-bitcoin-s-lightning-network-to-create-a-poker-game
자, 그럼 달려보겠습니다!
++ 번역 시작 ++
CHIP and a Chair - Let’s use Bitcoin’s Lightning Network to create a Poker Game
칩 그리고 의자 - 비트코인 라이트닝 네트워크를 이용해서 포커게임을 만들어보자
우리는 비트코인을 포크(fork)하여 CHIPS을 만들어냈습니다. 이 새로운 프로젝트는 Komodo 생태계의 내부 구성요소 그 이상을 차지합니다.
CHIPS는 우리 생태계 내에서 세그윗(Segwit)과 비트코인 라이트닝 네트워크(Lighting Network)를 이용하는 유일한 코인이 될 것입니다. 이 기술은 소액결제(micropayment)를 지원하는데 있어서 탁월합니다.
CHIPS를 위한 별도의 ICO는 하지 않을 것입니다만, 개발하고 테스트하는 과정에서 적극적으로 참여해주시는 분들을 찾고 있습니다.
다른 많은 카지노와 포커게임에서도 CHIPS를 이용하게 될 것입니다.
Pangea 포커를 위해 게임에 사용할 칩을 개발할 방법을 찾고 있었는데, 라이트닝 네크워크(LN)이 매우 매력적인 솔루션으로 다가왔습니다. 하지만, LN은 최신의 BTC기술에 포함되어 있었기 때문에 테스트가능한 환경을 위해 비트코인 0.14버전을 포크해야했습니다.
프로젝트 초기에 만들어둔 문서를 참조해주십시오; 이후 약간 변경된 부분도 있습니다.
Privatebet(BET- 코모도에 연동되는 자산체인)은 일반적인 분산화 게이밍 플랫폼을 구현해내고 게임중 배팅결과에 따른 내부자산을 위해 CHIPS를 이용하게 될 것입니다. 하지만, 세부적인 계획은 최종적으로 마무리 될때까지는 변경 될 수 있습니다.
카지노 게임은 비교적 빨리 끝나기 때문에 CHIPS의 시장 가격이 매우 빠르게 변하지 않는 한, 사람들은 게임 내에서 사용할 CHIPS를 구입하고, (게임후에도) 거의 동일한 가격에 BarterDEX를 통해 되살 수 있습니다. 어쩌면 CLTV(역자주-Combined Loan-to-Value;담보대출개념)로 얼마간의 시간동안 가격변동을 제한시킬 수도 있습니다.
Pangea 포커를 위한 딜링 테이블 세트
LN에 관한 다양한 질문과 이슈가 알려진 이후, 한동안 멀티시그는 적합해보이지 않은듯 했습니다. 그래서, 테이블 베팅을거래하는 다른 방법이 필요했지요.
제가 제안하는 방법은 다음과 같습니다 :
각각의 테이블에는 "딜러"가 있는데, 이는 CHIPS를 관리하도록 책임지는 노드입니다. 외부적으로, 각각의 딜러는 몇몇 중재자들과 함께 최대 XXX KMD를 보증해주게 됩니다.
테이블에 참여한 각 플레이어들은 독립적으로 자신의 CHIPS를 가지고 있지만, 지불할 수 있는 채널을 딜러에게 열어두어야 합니다.
딜러는 참여한 각각의 플레이어에게 지불가능한 채널을 열어주게 되는데, 이는 각 플레이어의 채널로부터 연결된 평균 CHIPS 갯수의 N배만큼은 최소한으로 딜러가 보유하고 있어야 함을 의미합니다.
한 게임 할때마다, LN 지불절차가 딜러에게 전달됩니다. 각 게임이 끝나면, 딜러는 우승자에게 상금을 전달해 줍니다.
딜러가 요청된 지불을 제대로 수행하지 못하게 되더라도, 중재자에 의해 보증금으로부터 적절한 금액이 전달될 것입니다.
딜러는 제한된 보증금으로 여러 게임을 주최하거나, 가진것 이상의 보증금을 소유하려는 행위등의 딜러리스크가 존재합니다. 그래서 딜러의 평판이 필요한데, 이를 통해 사람들은 게임에서 안전하게 배팅할 수 있게 하는 요소가 될 것입니다.
초기 단계에부터 이런것들은 문제될 것이 아니었고, 결국 LN 계정이 컨트롤하는 멀티시그(블록체인)를 취할 수 밖에 없었습니다.
Pangea 포커 프로젝트의 배경
SuperNET팀이 Pangea 포커를 처음부터 준비한 것은 아니었습니다. 오리지널 프로젝트는 지난 하락장 동안에 기술적인 문제를 겪으며 무산되었습니다.
저 또한 제가 해야할 일에 지장을 주지 않는 범위내에서 추가적인 개발을 해야한다는 것에 동의합니다. 이 서비스는 약 2년전에는 GUI도 있었고 동작하는 알파버전도 발행되었었지만, NXT와 KMD dPoW, 공증노드, pax, 5% 이자, 해커의 공격, LP 노드, BartetDEX 그리고 다른 여러일들이 중간에 있었습니다.
어쨌든, 표준 포커에 필요한 것보다 많은 수 (최대 255)와 더 많은 플레이어 (32 ~ 64)를 처리하기 위해 분산화 된 카드 셔플링 및 처리를 일반화했습니다. 일반화된 게임 플랫폼은 Privatebet(BET assetchain)아래 구현될 것이며, 이는 JUMBLR가 60%의 지분을 가지고 있습니다. 그래서 이는 지금 시점과 직접적인 관련이 있다고 할 수 있습니다.
아직 로우레벨의 프로토콜을 마무리하는 중이지만, 테스트 프로그램으로 랜덤한 수의 플레이어와 카드를 윗면 또는 아랫면으로 섞고 나누어주는 랜덤한 사이즈의 덱을 만들어내는 것은 아주 잘 되고 있습니다. 프로토콜은 외부적으로 생성된 암호화된 덱을 가지는데 이는 매번 플레이어가 셔플링하는 때 결정되는 셔플이 합쳐진 덱입니다. ("마지막 플레이어"가 셔플하는 것을 방지하는 수행 단계가 포함됨)
이것은 수행단계( commitment step)이후 플레이어가 셔플한 것을 드러내기 전까지는 아무도 카드의 순서를 알 수 없다는 것을 의미합니다. 이후, 모든 플레이어는 암호화된 덱의 순서는 알 수 있을 것입니다. 하지만 암호화 되어 있죠. 암호 해독 (및 플레이어 분리 문제 해결)을 위해 각 카드를 처리 할 때 (Shamir의 비밀 공유를 사용하는) MofN 샤드가 다른 플레이어에 의해 대상 플레이어에게 보내 지므로 카드를 얻은 플레이어 만 볼 수 있습니다. 만일 그것이 앞면이 보이는 카드라면, 이는 단지 모든 플레이어에게 복호화 되어 보여지고, 각 카드가 유효하고 전체 데크에 체크섬이 있는지 확인하여 각 카드가 실제로 데크에 있는지 확인할 수 있습니다.
이 시점에서, 로우레벨 프로토콜은 대부분의 유즈케이스들, 특히 카드를 사용하지 않는 룰렛, 슬롯머신, 크랩을 비롯한 대부분의 카지노 게임을 충족시켜줍니다. 고액이 오고가는 포커에서는 플레이어와 결탁하는 외부 덱 생성자의 작은 공격적 요소가 존재합니다. 하지만 이런 경우에도, 결탁한 플레이어가 비공개 카드를 보는 것이 허용되지만, 어떤 경우에는 오히려 이점으로 작용하기도 합니다. 저에게는 아무도 결탁하지 않거나 덱 생성자가 어떤 카드인지 알 수 있도록 만들 방법이 있습니다만, 그것은 작업량이 꽤 많은 편이고 접속이 끊긴 플레이어를 복구하는 방법까지 포함되어 있습니다. 그래서 우선 다른 파트를 먼저 해결하고자 합니다.
여전히, 일반화된 게임을 진행하는 상태 머신을 통합하는 문제가 최우선이지만, 이러한 개발을 기반으로 한 각각의 게임과 게임 평가자에게 일어날 수 있는 전체 이벤트 목록을 만드는 것도 중요합니다. 말로 표현하기는 쉽지만, 개념적으로 굉장히 지루한 작업이며 그 부분에 대해서 저는 걱정하지 않습니다.
제가 지금 하고있는 것은 베팅을 어떻게 다룰 것인가 하는 것입니다. 온라인 포커에서 플레이어들은 놀라우리만치 빠릅니다. 블록체인의 속도는 말할 필요도 없이 코인 컨펌은 게임을 계속하기에 너무나 느립니다. 다양한 방법들을 연구하면서 LN을 조사한 결과 매우 유망한 것으로 나타났습니다. 이것을 실험하기 위해, 내가 원하고자 하는 변화를 실현시킬 수 있는 새로운 비트코인을 포크해야합니다. 그래서 CHIPS를 만들었지요. 또한 C 기반 노드의 요소를 포크하였으며 CHIPS에서 동작하게 하였습니다. 아직 최소한으로 이야기만 드리고 있을 뿐, 아직 실제로 p2p 트랜잭션은 해보지는 않았습니다.
까다로운 문제는 플레이어가 현재 게임이 진행되는 중에 알수없는 결과에 돈을 걸어야 한다는 점입니다. 누가 이 돈을 관리할까요? 만일 멀티시그라면, N-M 플레이어가 접속을 끊어버리면 어찌 되겠습니까? 플레이어가 패배하면 연결되어 있어도 금전적 손해를 보게 됩니다. 한가지 방법으로 플레이어가 게임을 떠날 때 MofN 목적지를 더 작게 만드는 것이 있지만, 그 모두는 더 오래 걸리고 더 복잡한 방법입니다.
LN 코드가 Privatebet 플랫폼에 통합되면, 즉각적인 베팅 프로세스가 가능해지고 출납기능과 결합됩니다. 이는 모든 BarterDEX내의 통화에도 활용될 수 있을 것으로 봅니다. 한가지 중요한 질문은 LN이 직접 MofN이 가진 주소를 지원하는가 입니다. 제가 지금 LN 설계를 이해하기로는 불가능해보이지 않습니다만, 초기 구현에서 이미 동작하리라고는 기대하지 않으므로 LN에 그러한 기능들을 추가해야 할 것입니다. 기존의 LN 기능들을 사용하는 또다른 방법은 테이블상에 금액들을 안전하게 보호하고 플레이어들이 게임 결과에 따라 서명할 수 있게하는 “딜러” 노드를 가지는 것입니다. 이 경우, CHIPS를 원래의 통화로 변환하는 것은 MofN 서명 또는 다른 어떤 분쟁 해결법에 따라 달라질 수 있습니다. 아직 해결해야할 문제들이 남아있군요.
현재로서는, LN이 명시적으로 할 수 있는 것과 할수 없는 것을 더 잘 이해하고 그에 따라 CHIPS를 Privatebet에 통합시키는 방법을 마무리해야합니다. 한가지 흥미로운 아이디어는 CHIP를 시장가에 따라 다른 화폐로 구매할 수 있게 하고 다양한 화폐로 되돌릴 수 있게 하는 것입니다. 그렇게 하면 게임을 하면서도 코인을 사고팔수 있게 됩니다.
++ 번역 끝 ++
단순 포스팅을 위한 번역은 적당한 의역이나 오역에 대한 검토가 부족합니다.
해서 읽으실 때 큰 내용 이해를 위주로 봐주시고,
오류에 대한 지적을 해주시면 본 글로부터의 보상에서 일정 부분을 바운티드리도록 하겠습니다.
꼬릿말
간단한 아마추어 번역이 필요하시면 스팀챗으로 연락주세요 :-)
※ 제 모든 포스팅은 외부로 허락없이 퍼가실 수 없습니다. (단순 링크는 무제한 허용)
제 글이 읽을만한 가치를 지녔다고 생각된다면?!
FOLLOW 그리고, ↓↓↓ 아래 !!!VOTE UP!!! 부탁드립니다 ^^ ↓↓↓

????????????????????????????????????
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
재미있는 뉴스네요 :) 오랜만에 goldenman님 글에 댓글 남기고 갑니다!
오랜만에 뵙네요, jaiken님!
최근에 Pangea 에 대한 안좋은 소문이 좀 있었나봐요. 망했다느니...등등...
굳이 제임스가 잘난척(?)하면서 구구절절 기술적 얘기까지 적은걸보면 말이죠 ^^
대문 이미지와 포스팅이 너무 잘 어울리네요~
한방을 노리는 남자 같은 ㅎㅎㅎ
스팀 다이스에 지친 우리에게 포커가 넘어온다면 또 어마어마한 사람들이 물리겠네요...
스팀까지는 오랜 시간이 걸릴수도 있겠지만요 ㅋㅋㅋㅋ
그쵸? 썸네일 비율도 딱 맞는 것이 넘나 좋네요!!!
이제야 스티밋에 맞는 옷을 입은 제 포스팅이 되었습니다....음화홧!!!!!!
포커가 다이스보다 판이 크지요. 한 번 기대해보십시다 ^^
유익한 정보 감사합니다~