Bitcoin Forum
May 08, 2024, 12:32:37 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: peer-to-peer poker site?  (Read 131 times)
coderZev (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
August 03, 2021, 12:03:27 AM
 #1

Hi is it possible to use blockchain technology to build a peer-to-peer poker site where players buy the chips using crypto? Normally you have a server that keeps track of the cards, the stacks, the actions, etc. But to have each move work like a transaction would be too slow as the game requires instant results. Perhaps there is a different way this can be achieved?
If you see garbage posts (off-topic, trolling, spam, no point, etc.), use the "report to moderator" links. All reports are investigated, though you will rarely be contacted about your reports.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715171557
Hero Member
*
Offline Offline

Posts: 1715171557

View Profile Personal Message (Offline)

Ignore
1715171557
Reply with quote  #2

1715171557
Report to moderator
1715171557
Hero Member
*
Offline Offline

Posts: 1715171557

View Profile Personal Message (Offline)

Ignore
1715171557
Reply with quote  #2

1715171557
Report to moderator
1715171557
Hero Member
*
Offline Offline

Posts: 1715171557

View Profile Personal Message (Offline)

Ignore
1715171557
Reply with quote  #2

1715171557
Report to moderator
vjudeu
Hero Member
*****
Offline Offline

Activity: 678
Merit: 1561



View Profile
August 03, 2021, 06:52:13 AM
 #2

Yes. Players don't have to buy any chips, they could use Bitcoin directly. By locking coins in 2-of-2 multisig channels inside Lightning Network, transactions could be instant. So, if you think about payments, that's not a big deal.

The main problem is that in centralized servers there is one non-player party that knows everything. In P2P it has to be no such party and that's the main problem. For example: how to shuffle your deck? If you have two decks, then each player can shuffle cards independently and then the other player will select, which card should be taken. By using HD wallets it is easy to prove that nobody was cheating. But if there is one deck shared by both players, then it becomes tricky. The first player picks some random card. The second player have to pick some card randomly and have to be 100% sure that it's not the same card as the first player, but cannot know, which card was picked. Also, that second player has to know its own card to decide how to play.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
coderZev (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
August 04, 2021, 02:46:19 AM
 #3

since there is no server and therefore no dealer, I can see how this can be an issue. But how about this: just like in a home game, the players take turns dealing  - the player who has the button is the dealer - and then why not have a "dealer bot" hard coded in the app, and the dealer bot deals out cards to everyone at the table when its their turn to deal. all the data of the game gets distributed to all the players, except that the data that they're not supposed to see gets encoded for the players who are not supposed to see it, and decoded for the players who are supposed to see it. would that work?
limikael
Member
**
Offline Offline

Activity: 67
Merit: 42



View Profile WWW
August 04, 2021, 11:48:55 AM
 #4

If one of the players is the dealer and deals the cards there is a problem because then the dealer knows the cards of the other players. Because the dealer is also participating in the game. It could be encrypted in some clever multi-party way so that the dealer doesn't know the cards, but then it could also be encrypted in the same way in a client-server scenario, so having a player be the dealer doesn't really achieve anything. There is a good explanation in this video:

https://www.youtube.com/watch?v=mthPiiCS24A

In this scenario all the cards are encrypted with the keys from all the players, so it is only when all players agree that a card can be relieved. This would work in theory, but only as long as the players are fair enough to provide the encryption keys when a card is to be dealt. A player can easily sabotage the game if he has bad cards and doesn't want to play them.

Another possibility would be if the game is actually happening as a smart contract on a blockchain, and the card dealing happens as transactions. This wouldn't really be possible either, because smart contracts are executing far too slow for that.

This is as far as I have gotten in my thinking. I'm sure there is a solution, but I haven't figured it out yet.

sunsilk
Hero Member
*****
Offline Offline

Activity: 2912
Merit: 620



View Profile
August 06, 2021, 12:12:44 PM
 #5

That's possible.

If you look into the world of NFT games, they're having their own token which can be bought through their own platform and have it exchanged. So that's really plausible with what you've got in your idea and you'll have to set an integrated exchanger which allows poker players to exchange their chips so that they can sit into those tables that you'll set.

The drawback is that you need to have those tables to be able to be seated by players and you need to attract players first if it's a peer to peer.

BitMaxz
Legendary
*
Offline Offline

Activity: 3248
Merit: 2965


Block halving is coming.


View Profile WWW
August 06, 2021, 07:41:24 PM
 #6

Actually, your plan looks the same as what NFT games do, if you are planning then you would need other altcoins to develop your own game. Most of the NFT games are in Binance Chain but you can also check Tron and Matic chain.

I would like to add this site below to find a game that you can use as a reference to build your own P2P poker site.

https://dappradar.com/rankings/category/gambling

And also you will need to learn about smart contracts, solidity, and how to build a sample of the blockchain-based game you can find it from this link below then start building your poker NFT game.

- https://github.com/BlockchainLabsNZ/awesome-solidity
- https://github.com/bkrem/awesome-solidity

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
limikael
Member
**
Offline Offline

Activity: 67
Merit: 42



View Profile WWW
August 08, 2021, 05:02:57 AM
 #7

Sorry if my knowledge of NFTs and smart contracts is limited, but as far as I understand they wouldn't be the right thing for something like a poker game. NFTs represent assets that can be bought, sold and used in a game (such as a digital cat for CryptoKitties). But poker is not played with "tokens" in this way. Also, if we would use a smart contract for each turn in the game, the turns would need to take a minimum of 15 seconds, because this is the block time for ethereum. IMO this is too slow for a poker game, players want to act faster than this. It would also be prohibitively expensive to play the game if we need to make an ethereum transaction for each turn. I think what would be needed is something like the Internet Computer (DFINITY) or Cartesi. These platforms allow decentralised computation that can be verified by a blockchain, but they don't run on a blockchain themselves. The result is that they can run decentralised computation that runs at "regular computer speed". There is actually poker engine under development on top of Cartesi here: https://github.com/cartesi/poker.

Reading my reply I realise that it might come across a bit "smart ass". It is not my intention. It might be the case that NFTs and smart contracts are the perfect things for decentralised poker, but I just don't understand how. If this is the case, please explain more!
coderZev (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
August 09, 2021, 02:39:15 PM
 #8

If one of the players is the dealer and deals the cards there is a problem because then the dealer knows the cards of the other players. Because the dealer is also participating in the game. It could be encrypted in some clever multi-party way so that the dealer doesn't know the cards, but then it could also be encrypted in the same way in a client-server scenario, so having a player be the dealer doesn't really achieve anything. There is a good explanation in this video:

https://www.youtube.com/watch?v=mthPiiCS24A

In this scenario all the cards are encrypted with the keys from all the players, so it is only when all players agree that a card can be relieved. This would work in theory, but only as long as the players are fair enough to provide the encryption keys when a card is to be dealt. A player can easily sabotage the game if he has bad cards and doesn't want to play them.

Another possibility would be if the game is actually happening as a smart contract on a blockchain, and the card dealing happens as transactions. This wouldn't really be possible either, because smart contracts are executing far too slow for that.

This is as far as I have gotten in my thinking. I'm sure there is a solution, but I haven't figured it out yet.



In a "heads up" situation it's not an issue because failing to unlock would be considered a fold and the opponent would get the pot. If there are more than 2 players, it can still result in a fold, and then the only advantage in doing that would be that the next hand would start right away thus saving him time.  So you can write the app so that doing this would result in a penalty, say, having to sit out x number of hands before he can play again, and also a loss of "karma" and the behavior can even be spelled out in the bio for all to see, thus making it less desirable for people to want to play with him.

A perhaps worse issue would be if a player suddenly loses connection before unlocking.
fastlight
Member
**
Offline Offline

Activity: 70
Merit: 14


View Profile
August 09, 2021, 03:00:27 PM
 #9

Not P2P , but it works : https://xmr.poker/en/join

Please tells when a true p2p random verifiable software is ready, call me in Smiley.

there is on ETH, but I have lost the link (sry).
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!