Tanıtım belgesi

Joy Token - blockchain üzerinde kumar

Özet

Joy Gaming teknolojisi küçük geliştiricileri, yazılım evlerini, büyük casinoları ve oyuncuları birbirine bağlamak için özgün bir çözüm sunar. Hem oyuncuları güçlendiren hem de geliştiricilerin ve casinoların riskini düşürmesine yardım eden bir kumar ekosistemi oluşturur.

Güven ve şeffaflık eksikliği online kumar endüstrisinde bir sorundur. Oyuncular, küçük sitelerde daha "ilginç oyunlar" sunulsa bile, itibarlı casinoları kullanma eğilimindedirler, çünkü doğal olarak oyuncular güvendikleri casino markalarına yönelirler. Joy Gaming'in teknolojisi, kumar endüstrisinde güveni geliştirmeye yardımcı olacak şeffaf blockchain-tabanlı bir sistemdir. Joy Gaming'in teknolojisi kullanıcıların, şeffaf ve kod tarafından yönetilen bir ortamda oynamalarına olanak verir. Bu oyuncuların ve geliştiricilerin oyunların adilliğine güvenmesine olanak verir. İnnovatif RNG oluşturucu aracılığıyla, oyuncular, oyunların adil ve güvenli olduğundan emin olur. Geliştiriciler, casinolar ve işletmeler, likidite paylaşımı ve adil tahsis gerçekleştiren bir ekosistemden faydalanır. Geliştiriciler ile casinoları birbirine bağlayarak, Joy Gaming'deki tüm katılımcıların fayda sağlayabileceği optimal bir çözüm bulmayı hedefliyoruz.

Tanıtım

Mevcut kumar pazar yeri

Mevcut Kumar ekosistemi, büyük ölçüde itibar tarafından sürdürülmektedir - arttırılmış reklamlar ile inşa edilen bir itibar. Oyuncu elde etmek ve elindekileri tutmak amacıyla, casinoların marka farkındalığı aracılığıyla güven ve itibar oluşturmak için büyük miktarlar harcaması gerekmektedir. Bu ek olarak, büyük casinolar, oyun geliştirimini kontrol etmektedir. Oyuncular bu casinolara güvenmeye zorlanıyor, ve şeffaflık eksikliği yüzünden oyuncular bahislerini takip edemiyorlar ve her bahsin meşruluğunu değerlendiremiyorlar.

Daha küçük geliştiricilerde oyun gelirlerinden kendilerine küçük bir yüzde ödendiği için ve anında gelir ve büyük kumar platformlarına erişim eksikliği gibi yeni oyun yayınlarken karşılaştıkları zorluklardan dolayı mağdur oluyorlar.

Joy Gaming çözümü

Joy Gaming'in çözümü blockchain-tabanlıdır ve geliştiricilerin, doğrudan blockchain yerine akıllı kontratlar aracılığıyla arka-ucunda çalışan oyunlar geliştirmelerine olanak verir. Tüm sonuçlar blockchain içinde kaydedildiğinden, dolandırıcılık önemli derecede azalmaktadır. Ayrıca oyuncular, geliştiricilerin oyunları, blockchain'de tanımlandığı gibi çalıştırdıklarını doğrulayabilirler. Dahası, oyun geliştiricileri ve yazılım evleri, oyunların doğrudan erişim sunmak için casinolar gibi likidite sağlayıcılarına bağlanabilir ve entegre olabilirler. Ek gelir ve arttırılmış oyun innovasyonundan hem casinolar hem de geliştiriciler faydalanır. Herhangi bir sitenin itibar eksikliği blockchaine kaydedilen oyunların kuralları ve altyapısıyla giderilebilir (oyunların Joy Gaming ağında hayata geçmeden önce onay sistemine ek olarak).

Teknoloji

Smart Kontratlar

Joy Gaming ağı, blockchaindeki her şeyi kayıt altına almak ve garanti etmek için merkezsizleştirilmiş smart kontratlara dayanır. Blockchain araclığıyla, Joy Gaming'de gerçekleşen her şeyi denetleyebiliyoruz. Oyunları oynayan kullanıcılar, gerçek zamanlı olarak sonuçları ve ağın ödüllerini görüntüleyebilirler. Para yatırımlarının casino hesabına yapıldığı geleneksel casinoların aksine, kullanıcıların JoyToken cüzdanları üzerinde her zaman kontrolü olacaktır (ve para çekimleri daha basit ve daha hızlı gerçekleştirilecektir).

Platformumuz, Blockchain tabanlı ekosistem olarak Ethereum ağını kullanacaktır. Ethereum ağı, iyi yapılandırılmış, topluluk tarafından kabul edilmiştir ve tam Turing dil özelliğiyle kullanılmaktadır. Bazı gecikme süreleri olsa da, aşağıda sunulan orta-alanlı merkezsizleştirilmiş çözüm bu gecikme süresini önemli oranda azaltabilir.

Otonom Acenta (ör Smart Kontrat) kullanımı, kumarcı ve Platform arasındaki herhangi bir menfaat çatışması merkezi olmayan bir şekilde yönetileceğinden ve denetleneceğinden sistemde güven (tröst) inşa eder. Tüm işlemler, herkesin her zaman oyunların adilliğine erişimini ve doğrulamasını sağlayan Smart Kontratlar aracılığıyla yapıldığından herhangi bir üçüncü kişinin dahil olması gerekmez.

Joy Gaming çatısı

Teknoloji çatımız temelde üç ana bileşenden oluşmaktadır: Blockchain Katmanı, Oyun Uygulamaları (arka/ön uç) ve Rastgele Sayı Oluşturucusu (RNG). Arka/ön uç oyunları veritabanlarında çalışacaktır, ancak oyuncu ve Platform arasında uyuşmazlığa yol açabilecek tüm parçalar Smart Kontratlar kullanılarak Blockchain üzerinde merkezsizleştirilecek ve denetlenecektir.

Yukarıdaki figür onaylanmış oyun uygulamalarıyla Joy Gaming Rastgele Sayı Oluşturucusu arasındaki bağlantıyı canlandırmaktadır.

Blockchain Katmanı

Blockchain katmanının üç işlevi vardır: token yönetimi, oyun sonucu idaresi, ve Rastgele Sayı Oluşturucusu'nun denetlenebilirliğinin sağlanması.

Token Yönetimi

Geleneksel online casinolarda, Üye casinonun oyunlarını oynayabilmek için casinoya para gönderir. Bu, potansiyel dolandırıcılık için fırsat oluşturur. Joy Gaming bu problemi Blockchain teknolojisini kullanarak çözmektedir. Tüm oyuncu bakiyeleri her oyuncunun kendi JoyToken cüzdanında saklanır. Oyuncu bahis yaptığında, para, bahsin sonucunu merkezi olmayan bir şekilde yöneten Smart Kontratlara gönderillir. Blockchain kullanımı casinonun (Ör. Joy Gaming Platformu) oyuncunun parası üzerinde hiçbir zaman kontrolü olmaması anlamına gelir.

Özetleyecek olursak:

Oyun Sonucu İdaresi

Her oyuncu bahsinde, Smart Kontrat kullanılır. Smart Kontrat sistemin tüm parçalarının sunduğu (Oyun kodu, RNG, oyuncu girdisi) bilgileri yönetecektir. Akıllı kontrat, sonrasında oyunun sonucunu doğrulayacak ve oluşturulmuş kontrat kurallarına göre bakiyeyi doğru kişiye otomatik olarak paylaştıracaktır.

Örnek olarak, Oyuncu A rulette bir bahis yapar.

  1. Miktar, otomatik olarak rulet kontratına gönderilir
  2. Ruletin o turu için oluşturulan rastgele sayı Smart Kontrat içinde kopyalanır ve kaydedilir. (Not: oyunda önemli olan (RNG ve oyun geçmişi) her şey Smart Kontrat'a kaydedilir).
  3. Oluşturulan rastgele sayıdan faydalanarak, Oyun kodu sonucu Smart Kontrat'a gönderir
  4. Sonrasında kazanan otomatik olarak miktarı alır. Oyuncu kaybederse, para Geliştirici ve Platform idaresi arasında bölüştürülür. Bu paylaştırmanın pazarlığı geliştirme aşamasında yapılır ve oyuncu kaybettiğinde otomatik olarak uygulanır.
  5. Sonrasında, oyuncu süreci yeniden başlatıp, oynamaya devam etmeyi yada oyun oturumunu bitirmeyi seçebilir.

Ağda bir oyuna kaydolurkenki Demo Kodu

Aşağıdaki kod, Joy Gaming ağında oyuna kaydoluşu canldırmaktadır. Kayıt tamamn Ethereum ağı aracılığıyla yapılır, böylece katılımcılar kolayca kontratın ağ tarafından resmi bir şekilde onaylandığını doğrulayabilirler. Bu demoda oyunun Joy Gaming ağına kaydedileceği GameRegistry() fonksiyonunu görüyoruz. (Not: Geliştiriciye verilecek miktar, setPlatformShare(uint256newShare) aracılığıyla da belirlenebilir).

    contract GameRegistry is Ownable {
        using SafeMath for uint256;
        address public tokenAddress;
        address[] public gameList;
        uint256 public decimals = 5;
        uint256 public platformShare = 5 * 10**(decimals.sub(2));
        address public controller;
        mapping(address => bool) public gameRegistered;
        event ControllerTransfer(address originalController, address currentController);
        event PlatformShareUpdate(uint256 originalShare, uint256 newShare);
        event GameRegistered(address game);
        event GameDelisted(address game);


        function GameRegistry(address _tokenAddress) {
            owner = msg.sender;
            controller = owner;
            tokenAddress = _tokenAddress;
        }

        function setController(address newController) public onlyOwner {
            require(newController != address(0) && newController != controller);
            ControllerTransfer(controller, newController);
            controller = newController;
        }

        function setPlatformShare(uint256 newShare) public onlyOwner {
            require(newShare < 10**decimals);
            PlatformShareUpdate(platformShare, newShare);
            platformShare = newShare;
        }

        function createGame(string _name, uint256 _payoutRate) public {
            address newGame = new Game(_name, msg.sender, this, tokenAddress, payoutRate);
            require(!gameRegistered[newGame]);
            gameList.push(newGame);
            gameRegistered[newGame] = true;
            GameRegistered(newGame);
        }

        function delistGame(address game) public onlyOwner {
            require(gameRegistered[game]);
            gameRegistered[game] = false;
            GameDelisted(game);
        }

        function registerGame(address game) public onlyOwner {
            Game g = Game(game);
            require(!gameRegistered[game]);
            gameRegistered[game] = true;
            gameList.push(game);
            GameRegistered(game);
        }

        function getGameRegistered(address game) public constant returns (bool registered) {
            return gameRegistered[game];
        }
    }
    

Rastgele Numara Oluşturucusu (RNG) Denetlenebilirliği

Kumar endüstrisinin kilit parçası RNG'nin doğrulanabilirliğidir. Geleneksel durumlarda, RNG oluşturucuları genellikle oyunları sunan şirket tarafından idare edilir. Ancak, bizim durumumuzda, bu tamamen merkezsizleştirilmiş ve kanıtlanabilir şekilde adil olacaktır. Bunun nedeni her oyunun Ethereum ağı smart kontratıyla bağlantılı RNG oluşturucusuna dayanan özel inşa edilmiş algoritmada gerçekleşecek olmasıdır. Bu konu, daha detaylı olarak Sarma Aşaması ve Ödeme Süreci'nde anlatılmıştır.

Oyun Uygulaması (Arka & Ön-Uç Yönetimi)

Oyun uygulama kodları sunucularımızda yada IPFS/Sia/Storj ağıyla sunulacaktır. Oyun sonucu sonrasında Smart Kontrat'a bağlanacaktır. Sonrasında, oyun sunucuları oyun durumunu IPC aracılığıyla JSON RPC kullanarak Blockchain'e sunacaktır. Tüm oyun sonuçları anında mevcut olacağında kullanıcı deneyimi Blockchain'in kullanımı/mevcudiyetinden etkilenmeyecektir. Bu özellik, sürecin tamamen şeffaf ve merkezsizleştirilmiş olduğunu temin ederken, kullanıcı deneyiminin geleneksel oyuna yakın olmasını sağlar. Oluşturulan rastgele sayıda tam denetlenebilirlikle her oyun koduna Blockchain'den erişilebilecektir.

Blokchain Bilgisine Dayalı Rastlantısallık

Temel nokta oyunlarımızın blockchain üzerinde faydalanabileceği merkezsizleştirilmiş bir RNG üretici bulmaktır. Mevcut çözüm rastgele sayılar oluşturmak için Blok üretim bilgisinden (mevcut blokun, ve devamının timestampi, Nonce'ı, Hash'i gibi) faydalanmaktadır. Bu sayılar her ne kadar, madenciler tarafından üretilse de bir madencinin Ethereum Ortak Ağı'ndaki oyunun sonucunu başarıyla değiştirmesi pek mümkün değildir. Bunun nedeni, madencinin ortak ortam rekabetinde (yaklaşık 14 saniye) Blok'u bir kaç defa çıkaracak maden gücüne sahip olması gereksinimidir ve şu şekilde gerçekleşir:

  1. Madenci Ortak Ethereum Blockchain ortamında madencilik sürecinde rekabet eder
  2. Madenci nounce'ı bulur ve artık ödülünü alabilir
  3. Madenci nounce ve oyunun kazanma şartlarına karşı oluşturulan Blok bilgisini kontrol eder
  4. Eşleşirse, madenci sonucu yerleştirir
  5. Eşleşmemesi halinde, madenci önceki maden ödülünü unutarak, uyan başka bir nounce bulmak için maden sürecine tekrar başlar

Bu metod, her ne kadar yüksek derecede güvenilir olsa da, bunu reddetik, çünkü potansiyel manipulasyona hiç bir şekilde alan sunmayacak bir model arıyorduk.

RANDAO (tamamen merkezsizleştirilmiş rastgele sayılar üretmeyi hedefleyen, merkezi olmayan otonom bir kuruluş) oldukça ilginç bir imkandı, ancak henüz uygulanmak için yeterince olgunlaşmamıştı. Joy Gaming, tamamen merkezsizleştirilmiş rastgele sayıların geliştirilmesini desteklemektedir ve RANDAO'ya çalışmak için zaman harcayacağız, çünkü tamamen olgunlaşması ve güvenilir olması halinde, geliştirme planımızla tam olarak örtüşüyor.

Merkezsizleştirilmiş RNG sayıları oluşturma - Çevik Yaklaşım

Rastgele oluşturucu şu sorunları çözmelidir:

Önerilen çözüm:

Sayıların rastlantısallığı, gerçek olmayan rastgele sayı dizileri oluşturan ve dış dünyadan gelen veri girdilerinin eklenmesiyle değişen (ör platformda, Forex'teki ve kripto para birimi alım satım verisindeki oyuncu hareketlerinden, vs.) eşleşik oluşturma algoritmasıyla yerine getirilecektir. Bu verisetleri, beklenmeyen davranırı ve sürekli mevcut olmalarından dolayı kullanılmaktadır. Bu çözüm, kısa sürede, kullanıcı deneyimini etkilemeden tüm rastgele sayıları sağlayabildiğinden lisanslama gereklilikleriyle uyumludur. RNG modelimizi güçlendirmek amacıyla, Blockchain teknolojisini kullanarak işlem üzerinde her sayıyı kazma yoluyla çifte doğrulama gerçekleştirelecektir. Böylece Joy Gaming'in sayıları herhangi bir şekilde manipüle etmesi imkansız olacaktır.

Joytoken teknolojisi:

Oyun operasyonları

Ekosistemin faydaları ve yapısı

Blockchain üzerinde çalışarak, kullanıcılar, paralarının nereye gittiğini ve sonuçların adil olarak oluşturulup oluşturulmadığını kolayca saptayabilirler. Kullanıcı deneyimi birinci önceliğimizdir ve geniş çeşitlilikte oyunlar, güçlü güvenlik, ve güvenilirlik sunulacaktır.

Kullanıcı faydalarına ek olarak, geliştiriciler Joy Gaming ağı üzerinde çalışarak büyük likidite havuzundan ve ek itibardan faydalanırlar. Oyunlar blockchain üzerinde ve şeffaf olduğundan, geliştiriciler kolaylıkla kullanıcının oynadığı oyunları "kanıt"layabileceklerdir. Geliştirici, sağlıklı bir denetim mekanizmasının varlığından haberdar bir şekilde casinolara bağlanacak ve oynanan oyunlardan komisyon alacaktır. Geliştiriciler, Kumar endüstrisinde çok önemlidir. Joy Gaming'de onları anlıyoruz ve pazarlama sürecinde onlara adil ödül, tam destek, ve daha geniş oyuncu kapasitesi anlamında en iyi deneyimi sunmak için çalışacağız.

Oyunların başarısını temin etmek amacıyla, Joy Gaming, geliştiricilere Joy Gaming ekosistemi dahilinde destek sağlamaktadır.

Geliştiricilere destek şu konularda sağlanır:
Geliştiriciler sadece oyun geliştirme ile ilgilenmelidir, kalan şeyleri Joytoken hallecektir.

Blockchain içerinde dengeyi bulmak

Söz konusu online kumar girişiminde çalışmak olduğunda kullanıcı deneyimi çok önemlidir. Joy Gaming, oyun deneyimi hızıyla online kumar endüstrisinde blockchainin kullanımıyla birlikte gelen merkezsizleştirme arasındaki doğru dengeyi bulabilmek için çok çalışmıştır.

Mevcut durumda Ethereum'un karşılaşabileceği olası sorunlar

Ethereum Blockchain'i veriyi hızlıca işlemek için optimal sistem değildir, çünkü maden süreci İş Kanıtı her 14 saniyede bir gerçekleşmektedir. Dahası, Ethereum büyük miktarlarda veri saklamak için yapılmamıştır (ağın her katılımcı noduna Blockchain'in kopyalandığını varsayarak). Bu nedenle, her noktada tamamen merkezsizleştirilmiş bir sistem - RNG'den oyuna kadar - en iyi seçenek olmayacaktır. Bunun nedeni belirgin gecikme zamanının olması ve oyuncuların oyun sonuçlarını almak için dakikalarca beklemek istememesidir. Ayrıca, büyük miktarda veriyi yöneten ve doğrusal olmayan mantık işleyen Smart Kontratlar pahalıdır.

GAS fiyatı

Ethereum, GAS fiyatını temelde kötü niyetli kişilerin ortak ağın verimliliğini düşürmek için büyük sayıda kontrat oluşturabildiği "DDos benzeri saldırıları" önlemek için çıkarmıştır. Bu şekilde, GAS sık sık fiyatlarını değiştirerek Smart kontrat talebinin isabetli şekilde kullanımını hedeflemektedir.

Özet:

Joy Gaming platformu optimal oyuncu deneyimini sunmak için hız ile merkezsizleştirme arasında uygun bir denge sağlar. Platformda sunulan her oyun merkezsizleştirmenin şu özellikleriyle uyumlu olacaktır:

Her ne kadar, her oyun farklı geliştirici tarafından sunulacak olsa da, Joy Gaming ekibinin, Geliştirmecilerin hız ve merkezsizleştirme gerekliliklerimize uyduklarından emin olacakları bir oyun kabul süreci (6.5. bölüme bakınız) olacaktır. Bu gerekliliklere uymayan oyunlar platformda sunulmayacaktır. KYC sürecine, sadece doğrulanmış Joy Gaming oyuncularının platformu kullanmasına izin verilen ek bir oyuncu ekleyebiliriz, böylece daha yüksek seviyede adil oyun ve yasal uyumluluk temin edebiliriz.

Blokchain Entegrasyonu Mimarisi ve Senaryoları

Daha önce açıklandığı üzere, tüm oyunların teknik özellikleri iki gereklilikle uyumlu olmalıdır: Blockchain'in kullanımından doğan gecikmeleri minimize etmesi ve merkezsizliğinden faydalanması.

Aşağıdaki genel Oyun Mimarisi, güvenlik, merkezsizleştirme ve hız konularında Joy Gaming Platform gereklilikleriyle uyuşmaktadır. Dört ana bileşen vardır:

Süreç bir kaç aşamaya bölünmüştür:

Yükleme Aşaması

Yükleme Aşaması boyunca her bahiste doğrulama işlem süresini önlemeye çalışırız, bu blockchain tarafından doğan gecikmeleri minimize eder ve kullanıcı hızını önemli ölçüde etkiler.

Bu gerekliliği gerçekleştirebilmek için, oyun yüklenirken ve ayarlanırken kullanıcıdan parayı Oyun Smart Kontrat'ına göndermesi istenir.

Bu Süreçte oyunun yüklenmesi Blokchain smart kontratının hazırlanması onbeş saniye gerektirir. Bu sürece sadece ve sadece, kullanıcı KYC süreciyle kontrol edilmiş ve doğrulanmış ise izin verilir. Onaylanmamış oyuncuların smart kontrata para göndermesi mümkün olmayacaktır ve otomatik bir hata mesajı onları KYC sürecinden geçmeleri yönünde yönlendirecektir (daha fazla detay bölüm 15'tedir).

Oyun başlatma süreci

Smart kontrata aktarılan coin miktarı WS (Cüzdan Sunucusu)'ye müşterinin başlangıç cüzdan değeri olarak yerleştirilir. GS (Oyun Sunucusu), Platform aktörü'nün (geliştirici, platform, müşteri) parasının değerinin oyun sonucuna göre arttığı yada azaldığı bir önbellek- gibi sistem olarak görülebilir.

Her Müşteri bahsi sonucu belirlemek için GS (Oyun Sunucusu) ile iletişime geçer.

  1. WS geçici cüzdanlar oluşturur - müşteri cüzdanının miktarı yükleme aşamasında yatırılan miktar kadar olacaktır. Müşteri'nin cüzdanına yükleme aşamasında müşterinin yatırdığı miktarın aynısının başlangıç miktarı olarak işlendiğinden emin olmak için smart kontrata çifte kontrol gerçekleştirilir.
  2. Kullanıcı bir bahis yapar (örnek olarak, rulet oyununda 5 JoyToken KIRMIZI'ya konuldu).
  3. Bahis, GS'ye iletilir ve RNG kullanılarak işlenir (bu Blockchain'de denetlenir). Oyun sonucuna göre, WS'nin cüzdanları (Müşteri, Platform ve Geliştirici) bu doğrultuda güncellenir.
  4. bu süreç kullanıcının bakiyesi olduğu sürece ve oynamayı kesmek istemediği sürece tekrarlanır.

Ağ'da oyun çalıştırmak için demo smart kontrat

    function Game(string _name, address _owner, address _registryAddress, address _ tokenAddress, uint256 _payoutRate) {
            name = _name;
            owner = _owner;
            registryAddress = _registryAddress;
            registry = GameRegistry(registryAddress);
            tokenAddress = _tokenAddress;
            token = ERC20(tokenAddress);
            payoutRate = _payoutRate;
            isActive = true;
            decimals = registry.decimals();
        }
        function activate() public onlyOwner {
            isActive = true;
            GameActivated();
        }

        function deactivate() public onlyOwner {
            isActive = false;
            GameDeactivated();
        }

        function ownerDeposit(uint256 amount) public onlyOwner {
            require(amount > 0);
            require(token.transferFrom(owner, this, amount));
            ownerAvailableDeposit.add(amount);
        }

        function ownerWithdraw(uint256 amount) public onlyOwner {
            require(amount > 0 && amount <= ownerAvailableDeposit);
            ownerAvailableDeposit.sub(amount);
            require(token.transfer(owner, amount));
        }

        function playerJoin(uint256 initialDeposit) public whenActive {
            require(!playerInGame[msg.sender]);
            uint256 potentialPayout = getPayout(initialDeposit);
            require(potentialPayout.sub(initialDeposit) <= ownerAvailableDeposit);
            ownerAvailableDeposit = ownerAvailableDeposit.sub(potentialPayou sub(initialDeposit ));
            playerInGame[msg.sender] = true;

            if (initialDeposit > 0){
                playerCurrentGameDeposits[msg.sender] = initialDeposit;
                require(token.transferFrom(msg.sender, this, initialDeposit));
            }
            PlayerJoined(msg.sender);
        }

        function announceResult(address player, uint result) public onlyController {
            require(playerInGame[player]);
            require(result <= uint(GameResult.draw));
            playerInGame[player] = false;
            GameResult gameResult = GameResult(result);
            if (gameResult == GameResult.win) {
                require(resolvePlayerWin(player));
            } else if (gameResult == GameResult.loss) {
                require(resolvePlayerLoss(player));
            } else {
                require(resolveDraw(player));
            }
            GameResultAnnounced(player, result);
        }

        function resolvePlayerWin(address player) private returns (bool success) {
            uint256 payout = getPayout(playerCurrentGameDeposits[player]);
            playerCurrentGameDeposits[player] = 0;
            if (payout > 0)
                playerDeposits[player] = playerDeposits[player].add(payout);
            return true;
        }

        function resolvePlayerLoss(address player) private returns (bool success) {
            uint256 playerDeposit = playerCurrentGameDeposits[player];
            playerCurrentGameDeposits[player] = 0;
            uint256 payout = getPayout(playerDeposit);
            uint256 platformShare = playerDeposit.mul(registry.platformShare()).div(10**registry.decimals());
            require(platformShare < playerDeposit);
            if (platformShare > 0)
                platformDeposit = platformDeposit.add(platformShare);
            uint256 profit = playerDeposit.sub(platformShare);
            ownerAvailableDeposit = ownerAvailableDeposit.add(payout.sub(playerDeposit)).add(profit);
            return true;
        }

        function resolveDraw(address player) private returns (bool success) {
            uint256 playerDeposit = playerCurrentGameDeposits[player];
            playerCurrentGameDeposits[player] = 0;
            uint256 payout = getPayout(playerDeposit);
            if (playerDeposit > 0)
                playerDeposits[player] = playerDeposits[player].add(playerDeposit);
            ownerAvailableDeposit = ownerAvailableDeposit.add(payout.sub(playerDeposit));
            return true;
        }

        function playerWithdraw(uint256 amount) public {
            require(amount > 0 && amount <= playerDeposits[msg.sender]);
            playerDeposits[msg.sender] = playerDeposits[msg.sender].sub(amount);
            require(token.transfer(msg.sender, amount));
        }

        function platformWithdraw(uint256 amount) public {
            require(msg.sender == registry.owner());
            require(amount > 0 && amount <= platformDeposit);
            platformDeposit = platformDeposit.sub(amount);
            require(token.transfer(msg.sender, amount));
        }

        function getPayout(uint256 deposit) private constant returns (uint256 payout) {
            return deposit.mul(payoutRate).div(10**decimals);
        }
    }
    

Sarma Aşaması ve Ödeme Süreci

Kullanıcı dilediği zaman doğrudan kullanıcı dostu ön- uç aracılığıyla oyun oturumunu sonlandırabilir ve sarma aşamasını başlatabilir. Sarma süreci şunlardan oluşur:

  1. Kullanıcının bırakma talebi GS'ye ve WS'ye iletilir.
  2. GS, oturumun geçmiş dosyasını oluşturur, dosya sonrasında Hashlenir.
  3. WS cüzdanlarının en son güncellenmiş miktarı Hash ile birlikte smart kontrata gönderilir.
  4. Gönderilen bilgiye göre, smart kontrat durumunu değiştirir ve ödemeyi Blockchain üzerinde gerçekleştirir.

Oyun Kabul Süreci

Yaklaşımımızın bir çok geliştiriciyi ve oyun teklifini çekeceğine inanıyoruz.

Oyun kabul sürecini verimli ve platformumuzla bağlantılı hala getirmek amacıyla, tüm yeni oyun teklifleri şu şekilde işlenir:

  1. Kodun denetlenmesi - uzmanlarımız her şeyin güvenlik ve yasal gerekliliklerimizle uyumlu olduğundan emin olur.
  2. Oyunun çeşitli metriklerde test edilmesi - süre, güvenlik, maliyetler, blockchain entegrasyonu, kullanıcı deneyimi, vs. 1. ve 2. Adımdaki sonuçlar başarılı olursa, teklif edilen oyun entegrasyon sürecinden geçer.
  3. Smart Kontrat geliştirimi.
  4. Geliştirilen Smart Kontrat'ın testi ve güvenlik denetimi.
  5. Oyunun platformda faaliyete geçmesi.

Oyun Joy Gaming ağına konulduktan sonra, her şey sistem içinden entegre edilir. Geliştiricinin ek likiditeye ihtiyaç duyması halinde, kolayca oyunu sunmak isteyen casinolar havuzuna erişebilecektir. Başka teknik sorunlar olması halinde, destek ekibimiz, geliştiriciye en hızlı çözümü bulmasında yardım edecektir.

Örnek ödeme smart kontratı

    uint256 playerDeposit = playerDeposits[player];
        playerDeposits[player] = 0;
        uint256 payout = getPayout(playerDeposit);
        uint256 platformShare = playerDeposit.mul(registry.platformShare()).div(10**registry.decimals());
        require(platformShare < playerDeposit);
        if (platformShare > 0)
            require(token.transfer(registry.owner(), platformShare));
        uint256 profit = playerDeposit.sub(platformShare);
        ownerAvailableDeposit = ownerAvailableDeposit.add(payout.sub(playerDeposit )).add(profit );
        return true;
    

Geliştirici, kontratında, oyunun çalıştırılmasından elde edilecek karlardan pay almayı seçebilir. Bu platformShare değişkeninde belirtilir. Casino tarafından oyunun her çalıştırılışında, geliştirici karlardan küçük bir pay alacaktır. Tüm bunlar, doğrudan smart kontrat içinde kodlanır böylece oynanan oyun ile ödeme arasında bekleme oluşmaz.

Blockchain Entegrasyon süreci örneği - Icy Cash Splash

Örnek kod Joytken'ın işlevselliğini ve uygulanışını göstermek için tanıtım belgesine eklenmiş olsa da, cial kaynağına aşağıdaki github bağlantısından ulaşılabilir: https://github.com/JoyPlatform/joy-contracts. Bu kod, geliştirme bakış açısından yaklaşımımıza tam görünürlük ve anlaşılmak vermek için açıklanacaktır. Herhangi bir sorunuz olması halinde, lütfen dilediniz zaman iletişim kanalından ekibimizle iletişime geçiniz.

Ethereum'un arkasındaki Blockchain Teknolojisi

Ethereum hazır piyasa oyun teknolojisi değildir çünkü hala hız ve ölçeklendirilebilirlik ile ilgili çözülmesi gereken sorunları vardır. Bu bölümde, girişimimize değer katabilecek ve geliştirme planımıza entegre edilebilecek iki ek teknolojiyi sunacağız.

IOTA: DAGların kullanımıyla merkezsizleştirme (Yönlendirilmiş çevrimsiz grafikler)

IOTA yeni innovatif, merkezsizleştirilmiş bir yaklaşımdır. Blockchain ekosisteminde değildir, bunun yerine tangle konseptini ortaya çıkarmıştır. Tangle tam olarak blockchain'in bloksuz halidir ve konsensus sürecini sistemin esas parçası yapmaktadır.


Bu innovasyon, Kumar endüstrisine oyun değiştirici özellikler sunuyor:

Bahis piyasası için tek olumsuz yanı işlem doğrulama süresidir. Ancak, işlem süresi doğrudan aktif katılımcı sayısından etkilenmektedir (kendi işleminizi doğrulatmak için diğer iki doğrulamaya katılmanız gerekmektedir). Böylelikle, fazla sayıda kullanıcı işlem süresini düşürecektir (şu an 2-3 dakika arasındadır). Buna ek olarak, IOTA ağı, hala beta sürümünde ve ücretsiz işlem özelliği büyük miktarda kullanıcı çekeceğe ve işlem doğrulama süresini düşüreceğe benziyor. Bu ekosistemin potansiyelinin sınırları yok, ve gelişimini takip ediyoruz ve yakın zamanda oyun entegrasyonunu test etmeyi umuyoruz. [1]

Depolamanın merkezsizleştirilmesi ve sunum

Blockchain teknolojisi eriyi depolamak için yapılmadığından merkezsizleştirilmiş depolama açık bir pazar. Sia [2], IPFS [2], ve Storj [3] bu piyasa için ana rakiplerdir. Genel fikir, kullanıcıların merkezsizleştirilmiş bir ortamda yönetilen verileri saklaması yada mevcut depolama özelliklerini kiralamasına izin vermektir.

Örnek olarak, dünyada bir çok kişi kullanılmayan depolama alanlarına sahiptir. Yukarıdaki bahsedilen rakipler, veriyi sabit disklerin kiraya verdikleri için ödüllendirilmeyi bekleyen bir katılımcı ağında yüksek seviyede güvenlikle verileri depolamayı teklif ederler. Kişi 1 gigabit döküman depolamak isterse, döküman bir çok parçaya ayrılacaktır ve her parça şifrenelecektir. Sonrasında, bu şifrelenmiş parçalar kopyalanacak ve her katılımcının sabit diskine dağıtılacaktır.

Bu modelin gücü, dosyaya tek erişim yolu, dökümanı elinde bulunduranın özel anahtarına sahip olmaktır. Bu da ağdaki katılımcıların tümündeki tüm şifrelenmiş parçaları bulmak imkansız olacağından, imkansızdır. Bu, oldukça makul bir fiyata güçlü güvenlik sunar ve sık kullanılan merkezi sistemlerden sadece biraz daha pahalıdır. Bu teknoloji çok hassas verilerin herhangi bir kullanıcının bilgisayarı üzerinde saklanmasına olanak vermektedir çünkü kiralayan ile kullanıcı arasındaki her şey kripto para birimi ödemesi aracılığıyla yönetilir.

11.3. bölümde gösterildiği üzere, kullanıcının yolculuğunun tam takip edilebilirliğini sağlamak için müşterinin Oyun oturumu hashini blockchain ortamında saklamayı seçtik. Modelimizde merkezsizleştirilmiş saklamanın kullanılması geçmişin güvenliğini temin edecek ve büyük güvenilirlik sağlayacaktır, çünkü sistemde artık merkezi başarısızlık noktası olmayacaktır.

Joy Gaming daha ileriki geliştirmelerinde bu çözümü kullanarak potansiyel entegrasyon düşünmektedir.

Ortak katılımı

Yeni casino işleticileri sık sık oyuncu likiditesiyle ilgili sorun yaşamaktadır. Ayrıca, büyük ortaklıklar, geliştiricler tarafından küçük başlangıç oyunlarıyla uğraşmak istememektedir çünkü bunlar genellikle oyuncular tarafından az tercih edilmekte ve düşük kar oranlarına sahip olmaktadır. Bu nedenle, büyük ortaklıklar, belli bir alım satım geçmişi olana kadar küçük geliştiricilerle uğraşmak konusunda tereddütlüdürler. Bu küçük geliştiriciler belli aralıklarla ödeme aldığından ve bu gerçek zamanlı olarak yapılmadığından, sık sık nakit sorunu çekerler. Joy Gaming bu sorunu oyun-başına-ödeme modeliyle kolayca çözmektedir. Oyuncu her oyun oynadığında, ödemeler, oyundaki ilgili katılımcılara yapılmaktadır. Bu, geliştiricileri, yeni ve innovatif operasyonlara cesaretlendirecek, küçük bir geri bildirim döngüsüyle çevik bir ekosistem temin edecektir.

ICO, KYC Yönetimi ve Gereksinimleri

Yasal uyumluluğumuzu yerine getirmek için, her yatırımcıyı yatırımıyla bağdaştırıyoruz. Alım miktarları 10.000 USD üzerinde olan tüm katılımcılar kimlik belgelerinin (resmi kimlik belgesi, pasaport ya da sürücü belgesi) bir kopyasını da içeren temel doğrulama prosedürüne tabi olacaktır. Bu süreç, güvenilir bir KYC yönetim şirketi olan JUMIO tarafından yönetilecektir.

Oyun Erişimi, KYC Yönetimi ve Gereksinimleri

Düzenleyici kurumlarla uyumluluk sağlamak için KYC uygulanabilir. Bu durumda, oyuna erişebilmek için, her Müşteri'nin başarılı bir şekilde KYC sürecinden geçmesi gerekmektedir. Her başarılı KYC kontrolünün sonrasında, Müşteri Cüzdanı'nın Ortak Anahtarı sistemimize eklenir. Müşteri'nin ortak anahtarı eklendikten sonra müşteri ekosistemimizi kullanabilir. Oyuncular sonrasında, ortak blockchain üzerinde kolayca durumlarını görebilir ve oyun geçmişlerini inceleyebilirler.

Örnek olaylar

Yazılım geliştirme şirketi

Avent, online kumar oyunu yaratmak isteyen bir yazılım geliştirme şirketidir. Endüstriyi değiştirecek harika bir fikirleri vardır. Ancak, Avent henüz piyasa test edilmediğinden casinolar Avent'le çalışmamak istememektedir. Avent kendi özel online oyununu işletebilir, ancak bu birden çok sorunla gelecektir. Öncelikle, Avent'in kendi özel yüksek bahisli oyunlarını sunmak için sermayesi yoktur. İkincisi, kullanıcılar bilinmeyen bir şirkete güvenmekte tereddüt edeceklerdir. Buna ek olarak, kullanıcılar kredi kartı bilgilerini tüm bakiye üzerinde kontrol sahibi olacak 3. bir kişiye vermekten rahatsız olacaklardır. Bu da Avent'in kendi innovatif kumar oyunlarında kar etmesini çok zorlaştıracaktır.

Joy Gaming, bunu iki şekilde çözmektedir. Öncelikle, Avent'in oyunlarını Joy Gaming ağı üzerinde çalıştırması halinde, büyük sayıda likidite sağlayıcısına (ör casinolar) gösterim sağlayacaklar ve bu herhangi bir likidite sorununu çözecektir. İkincisi, smart kontratların şeffaf ve sabit doğası ve güvenilir RNG oluşturma algoritması, potansiyel kullanıcıları, Avent'te oynanılan oyunların adil olduğuna ikna edecektir. Son olarak, tüm işlemler doğrudan kullanıcının cüzdanından gerçekleştirildiğinden, bakiyelerine her zaman erişimleri olacak ve Avent'i daha çok denemeye meyilli olacaklardır. Avent artık hiç olmadığı kadar fazla müşteriye ulaşabilir ve ek innovatif oyunlar geliştirme üzerine daha çok odaklanabilir.

Kullanıcı

Kullanıcılar artık, onların artan sayıda üçüncü kişilere güvenmesini gerektiren, bir çok farklı casino ve oyun odasında gezinmek zorunda kalmaktan bıkmıştır. Joy Gaming, tüm işlemlerin görünür, kuralların blockchain içinde sabit, ve geliştiricilerinin doğrulanmış olduğunu temin eder. Bu nedenle, kullanıcı Joy Gaming ağında oynadığı oyunların tamamının doğrulanmış ve güvenli olduğundan emin olabilir. Kullanıcının cüzdanından oyun başlatılana kadar bakiye çıkmadığından, kullanıcı bakiyesinin güvende olduğundan emin olur.

Casinolar

Casinolar, kullanıcı çekmek ve oyunlarının kalitesini arttırmak için sürekli yeni yollar aramaktadırlar. Casinolar, oyunlar bağımsız yürütmek için gerekli uzmanlığa, sermayeye ve likiditeye sahiptir. Maalesef, casinolar doğrudan rastgele oyunları ekleyemezler. Bunun neden yeni geliştirilmiş oyunların sıklıklar toplu piyasa tarafından kabul edilmemesidir. Joy Gaming ağı bir çözüm getirmiştir. Yeni, heyecanlı ve deneysel oyunlar yaratan geliştiriciler doğrudan casinolarla sözleşmelere girebilirler. Bu durumda, smart kontratta casinolar likidite sağlayıcı olurlar, ve kullanıcı her oyun oynadığında, casino, geliştiriciye bir komisyon öder. Kazan-kazan senaryosudur.

Token Satışı

Token

JoyTokenlar, Ethereum ağında ERC20 token'ı olarak satın alıma mevcut olacaktır. ERC20 token'ıyla ilgili şu an ki sorun: tokenınızı Smart Kontrata göndermeniz halinde, aktarımı yapabilmek için "onay + aktarma form"unu kullanmanız gerekir. Ancak, tokenınızı harici bir adrese göndermeniz halinde "aktarma" fonksiyonunu kullanmanız gerekir. Maalesef bu fonksiyonları kullanırken hata yapmanız halinde para kaybolacaktır.


ERC20 token arayüzü için örnek kod
    contract ERC20 is ERC20Basic {
      function allowance(address owner, address spender) public constant returns (uint256);
      function transferFrom(address from, address to, uint256 value) public returns (bool);
      function approve(address spender, uint256 value) public returns (bool);
      event Approval(address indexed owner, address indexed spender, uint256 value);
    }
    

Bu sorunun farkındayız ve bunun, müşterilerimizin başına gelmemesi için çalışıyoruz. Yeni ve gelişim aşamasında olan ERC223 standardına yükseltmeyi planlıyoruz (tamamen geliştirildikten sonra). ERC223, yukarıda açıklanan senaryoda devreye giren ve paranın otomatik olarak müşteriye geri yollanmasını sağlayan yeni bir özelliğe sahiptir.

Faydalar

JoyTokenlar'ın bir çok farklı kullanım alanı bulunmaktadır. En basit şekliyle, JoyTokenlar oyuncuların Joy Gaming ağında oyun oynaması için kullanılabilir. Ağ, masrafsız ödül sistemi, garantili ödemeler, başka türlü edinilemeyecek ortaklıklar sunar ve potansiyel dolandırıcılığı önler ve ödeme işlem ücretlerini düşürür.

Casinolar ve oyun geliştiricileri için, tokenlar oyunları işletmek için ve oyunculardan ödeme almak için güvenli ödeme metodu olarak kullanılabilir. Casinolar, tüm geliştiriciler gerçek zamanlı ortaklık ödemeleri garanti edebilir, bu suretle yeni casino işleticileri şu en sadece en büyük markalarca yapılabilen aşırı karlı ortaklık anlaşmalarını karşılayabilirler.

Daha büyük casinoların oyunlarına "arka" çıkmasına dayanan daha ükçük oyun geliştiricileri için, tokenlar oyunu sunmak için itibar ve işleyen bir sermaye sağlayan casinolardan komisyon almak için kullanılabilir.

Tüm meşru tarafların güvenliği açısından, sabit smart kontratlar ve tokenlarla birleştirildiğinde, ağdaki dolandırıcılık ortadan kaldırılır.

Genel olarak, tokenların değeri Joy Gaming ağındaki hizmetleri kullanmak isteyen kullanıcıların ödemeyi kabul ettikleri miktara göre belirlenecektir.

Token satışı yapısı

Kabul edilen ödeme metodları: ETH, BTC, Banka Transferi

Hard-cap: JoyToken satışı hard-cap'i 46 340 000 USD'dir.

Soft-cap: JoyToken satışı soft cap'i 1 000 000 USD'dir.

Zaman aralığı: Yaklaşık 20 Mart 2018'de başlayarak 31 gün sürecektir yada daha önce tüm tokenların dağıtılması halinde, tüm tokenların dağıtıldığı tarihte bitecektir.

Aşırı talep: JoyToken sunumu 46 340 000 USD'den fazla toplaması halinde, token satışı ivedilikle kapatılacaktır. Aşırı talep olasılığı bulunmaktadır. Böyle bir durumda, artan bakiye miktarı token satışının kapanmasından itibaren 15 gün içinde iade edilecektir. Lütfen böyle bir durumda faiz ödenmeyeceğini aklınızda bulundurunuz.

Başarısızlık: Token satışı soft-cap'e ulaşamazsa, başarısız token satışı olarak kabul edilecektir. Sunum iptal edilecektir ve gönderilen miktarlar token satışının kapanışından itibaren 15 gün içinde iade edilecektir. Lütfen böyle bir durumda faiz ödenmeyeceğini aklınızda bulundurunuz.

Diğer riskler: Token satışında, diğer token satışı dökümanlarını tamamlayan Özel Yerleştirme Bildirisi'nde (PPM) açıklanmış olan çeşitli diğer riskler mevcuttur. Bu risklere; benzer tokenların hisse senedi olarak görülmesi ve kayıt yada serbestlik gerektirmesi gibi SEC'in mevcut pozisyonu, tokenların değerinde potansiyel kayıp, tokenların tekrar satılamaması, Joy Gaming ağının geliştirilememesi, ve teknoloji risklerinin yaşanabilmesi dahildir ancak bunlarla sınırlı değildir. Okuyucuya, herhangi bir yatırım yapmadan önce risklerin daha detaylı açıklaması için PPM'i okuması, yatırım kararı vermeden önce bir danışmana danışması konusunda uyarılmıştır.

Token Dağıtımı

Ön satış %20 140,000,000
ICO'da Satılan* %30 210,000,000
Ödül havuzu (VIP vs) %10 70,000,000
Platformda satılan %23 161,000,000
Kurucu ekip, 24 ay satım yasağı %12 84,000,000
Elçiler, Fon Toplama Masrafları %3 21,000,000
ICO ikramiyeleri %2 14,000,000
Toplam 100% 700,000,000

*Satılmayan tokenler bir yıl boyunca kilitlenecek.

Ekip

CEO

Andrew MacDonald

Temel mavi-çip şirketlerinde Perakende ve Online oyun çalışmalarında 20 yılın üzerinde deneyime sahiptir. Bireysel oyuncular üzerinde odaklanarak pazarlama alıkoyma tekniklerini başarıyla uygularken, iş büyümesini teşvik etmek için kaliteli oyun sunumları temin etmiştir. Güçlü veri odağıyla, hevesli bir sorungidericidir.

CMO

Mike Leys

30 yıl pazarlama sektörü dahil olmak üzerinde 34 yılın üzerinde profesyonel deneyime sahiptir. Tüm dünyada online ve offline pazarlamanın ve eticaretin tüm alanlarında bilgisi ve katılımıyla kıdemli yönetici ve kıdemli pazarlama uzmanıdır. iGaming, eğlence, mobil, perakende, finansal hizmetler sektör deneyimleri arasındadır. iGaming sektöründe 2005'ten beri - başarıyla kaliteli oyuncuları çekerek çeşitli online oyun sitesi başlatmıştır.

CTO

Steve Giordano Imbroll

10 yıl Yazılım Geliştirme deneyimi, 7 yıl İşletme Zekası, Bankacılık ve Finans deneyimi. a.o, Sony, Uber & PKR Teknolojileri için yüksek yetenekli ürün geliştiricisidir. Çeşitli departmanlardan gelen çoklu taleplerde profesyonel sihirbazdır. Şirket performansının karışıklıklarını çözmede uzmandır. Son zamanlarda Gaming ve Kıymetli Evraklarla ilgilenmektedir.

Yol haritası

HAZİRAN 2017
OP: 500.000 çekirdek yatırım
EKİM 2017
OP: Endüstriden ve blockchainden danışmanlar
KASIM 2017
OP: Joy Gaming Kuruluşu Kuruldu
OUT: Blockchain Expo'da Konuşma
ARALIK 2017
TECH: Smart Kontratlar kullanılarak Demo Slot Makinesi
OP: Kumar Geliştirme Lisansı Uygulaması
TECH: Geliştiriciler için Joy Gaming Platformu'nun Başlatılması
TECH: Kod denetimi
MARCH 2018
OP: Token Satışı
NİSAN 2018
OP: Token Satış Denetimi
HAZİRAN 2018
TECH: Oyunlar Playcosmo'da
AĞUSTOS 2018
TECH: Sabit Oranlı Masa Oyunlarına Genişletme
OP: Daha Fazla Platforma & Doğrudan Operatörlere Entegrasyon

Referanslar

[1] https://iota.org/IOTA_Whitepaper.pdf

[2] https://www.sia.tech/whitepaper.pdf

[3] https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf

[4] https://storj.io/storj.pdf

[5] https://bitcoin.org/bitcoin.pdf

[6] https://github.com/ethereum/wiki/wiki/White-Paper

İçindekiler