Bitcoin Forum
August 20, 2019, 01:27:23 PM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Tools for creating and verifying provably fair games  (Read 985 times)
kripod
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
February 10, 2017, 07:22:54 PM
 #1

Recently, I came across the idea that most provably fair game algorithms could be generalized and implemented as well-tested (and peer-reviewed?) micropackages.

The project can be viewed at https://github.com/kripod/provably-fair

I would appreciate any kind of contributions, including but not limited to feature requests, documentation improvements, and reports about potential security issues.
1566307643
Hero Member
*
Offline Offline

Posts: 1566307643

View Profile Personal Message (Offline)

Ignore
1566307643
Reply with quote  #2

1566307643
Report to moderator
1566307643
Hero Member
*
Offline Offline

Posts: 1566307643

View Profile Personal Message (Offline)

Ignore
1566307643
Reply with quote  #2

1566307643
Report to moderator
1566307643
Hero Member
*
Offline Offline

Posts: 1566307643

View Profile Personal Message (Offline)

Ignore
1566307643
Reply with quote  #2

1566307643
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1566307643
Hero Member
*
Offline Offline

Posts: 1566307643

View Profile Personal Message (Offline)

Ignore
1566307643
Reply with quote  #2

1566307643
Report to moderator
1566307643
Hero Member
*
Offline Offline

Posts: 1566307643

View Profile Personal Message (Offline)

Ignore
1566307643
Reply with quote  #2

1566307643
Report to moderator
dicedicedice
Newbie
*
Offline Offline

Activity: 25
Merit: 0


View Profile
February 10, 2017, 09:25:56 PM
 #2

Hello, kripod and everyone here!

What is the practical purpose of such packages? Is it a thing for players or for developers? For casino of for whom?
I prefer your idea, because I'm going to create my own provably fair games. But I can't use your code as is, because it is practically useless for me as a developer.

Another problem, that I will as a developer never trust your implementation, if it would contain such strange code: https://github.com/kripod/provably-fair/blob/master/packages/primedice/src/index.js#L22

The original provably fair dice game just use few bits from hash and converts it into "the hidden" random number, which isn't known to anybody before "dice roll".

Your idea looks very optimistic, when you say that such algorithms could be generalized. The theory behind "provably fair" games takes it's roots from cryptography and math problems called "Mental Poker" and "Coin flipping by telefone". It took years to design and to find proven solution for such problems.

For OpenSource project, if you expect some contributions get done by the community, please create at least the road map of your project, or fill the issues list with features/ideas you want to be implemented, explain your idea and motivation.

Hopefully my answer is helpful ))
shield132
Hero Member
*****
Offline Offline

Activity: 1204
Merit: 542


In bit we sler, Bitsler


View Profile
February 11, 2017, 07:40:50 AM
 #3

For provably fair, software support isn't alway enough. For example big companies for provably fair system are using Quantis which is a family of hardware random number generators (RNG) which use the fundamentally random nature of quantum optics as a source of true randomness. It's good that you are going to make open source project about provably fair system but it needs improve.

kripod
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
February 11, 2017, 06:32:02 PM
 #4

Thank you for the honest reviews and tips! Smiley

What is the practical purpose of such packages? Is it a thing for players or for developers? For casino of for whom?
I prefer your idea, because I'm going to create my own provably fair games. But I can't use your code as is, because it is practically useless for me as a developer.

The packages are mainly targeted for developers who are interested in provably fair technologies. End-users can use the code to verify their bets, while game owners can integrate standardized, peer-reviewable packages for their implementations.

Another problem, that I will as a developer never trust your implementation, if it would contain such strange code: https://github.com/kripod/provably-fair/blob/master/packages/primedice/src/index.js#L22

Originally, I was planning to implement the method as described on the official PrimeDice page, but I decided to code a matching implementation with better performance. The code I used should definitely be more commented, though.

For OpenSource project, if you expect some contributions get done by the community, please create at least the road map of your project, or fill the issues list with features/ideas you want to be implemented, explain your idea and motivation.

That's a great idea indeed, issues should be created for several games (e.g. blackjack and poker, but the latter seems to be hard and comes with compromises), algorithms (e.g. shuffling) and vendors.

For provably fair, software support isn't alway enough. For example big companies for provably fair system are using Quantis which is a family of hardware random number generators (RNG) which use the fundamentally random nature of quantum optics as a source of true randomness. It's good that you are going to make open source project about provably fair system but it needs improve.

Supporting custom random number providers would be a good idea, although implementing a generic interface for them needs further thoughts.
dicedicedice
Newbie
*
Offline Offline

Activity: 25
Merit: 0


View Profile
February 12, 2017, 12:57:08 AM
 #5

What I see in this area, that we need very accurate, clean to understand and to implement specifications for "provably-fairness".
If you can generalize provably fairness, please try to make such specifications! It's better than code, because to make code and to make reference implementation you can ask software communities.

Specifications, describing entire aspects of communication of parties during some games or some activities, where "provably-fairness" exist.

For example, in cryptography there are well-known buddies Alice, Bob and Victor. There is a load of beardy math behind them. And they love to hang out as true crypto anarchist. They do strange things and draw for us great math problems, having practical purpose in lots of areas of human activities far beyond just numbers and integral arithmetics. Lots of cryptography protocols described and specified using the story. But try to find easy to read and to implement specs, or at least some visualizations. But nobody ever seen Alice at least... *joke*

If a provably-fairness would keep looking as strange as Alice with Bob, we won't get much.

Mentioning Primedice is not a good idea. You contribute to the brand mentioning them, but if you try some boundary cases, then you will see that they are not `so fair'. No, I believe that they aren't scammers or what.
RGBKey
Hero Member
*****
Offline Offline

Activity: 840
Merit: 629


rgbkey.github.io/pgp.txt


View Profile WWW
February 12, 2017, 03:47:14 AM
 #6

I made this page about 2 years ago, but the code on the github page might be of some help to you.

http://rgbkey.github.io/verify/
kripod
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
February 12, 2017, 10:52:19 AM
 #7

What I see in this area, that we need very accurate, clean to understand and to implement specifications for "provably-fairness".
If you can generalize provably fairness, please try to make such specifications! It's better than code, because to make code and to make reference implementation you can ask software communities.

That is a great idea, I think that besides the API references, there should be "plain English" (non-technical) introductory texts, and more details for advanced users/adopters. Thank you for the clarification of your idea in PM, I would be thankful whether you could publish the details of it by creating an issue on GitHub, so we can have an open discussion about it.

Mentioning Primedice is not a good idea. You contribute to the brand mentioning them, but if you try some boundary cases, then you will see that they are not `so fair'. No, I believe that they aren't scammers or what.

Primedice may not be the only vendor to be implemented. As RGBKey told us about existing open-source implementations, I think there are many implementation opportunities available. I chose Primedice as the first implementation because of their great attitude towards provably fair gaming projects like this.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!