Unifyroom(UNFY)というアルトコイン

暗号通貨
スポンサーリンク

はじめに

2024年3月8日にリリースされたUnifyroomという新しいアルトコインについて紹介します。

最近マイニングしている

私は最近、このUNFYのマイニングを始めました。このUNFYコインの仕様は、以下の通りです。(bitcointalkより抜粋)

UNFY DETAIL SPECIFICATIONS:

Algorithm : YescryptR32 [CPU]
Difficulty Retarget : Every block using DGW (Dark Gravity Wave)
45% Masternode
45% Miners
10% Developer
Block Time : 120s
Masternode Collateral : 20,000
Coin Reward : 200 UNFY
Max Supply : 210,000,000 (210 Million)
Ticker : UNFY
Premine: 1,000,000 UNFY (promotion and exchange initial listing fee)

久しぶりにYescryptR32のアルゴリズムを見ましたが、主にCPUでマイニングされるものの、GPUでもマイニングが可能な点が興味深いですね。

chainparams.cppを見てみよう

まずは、chainparams.cppを見てみましょう。

コメント部分はこんな感じですね

// Copyright (c) 2010 Satoshi Nakamoto
// Copyright (c) 2009-2020 The Bitcoin Core developers
// Copyright (c) 2014-2023 The Unifyroom Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

masternodeの仕組みがあるので、Dash系からのフォークだと思うのですが、跡が無いですなぁ。。。

pszTimestampの値について

const char* pszTimestamp = "antemortem and postemortem";

「postemortem」は「postmortem」のスペルミスかもしれませんね。でも、ブロックチェーンの不変性のおかげで、このようなミスも歴史の一部になりますね。

nPowTargetSpacingの値

consensus.nPowTargetSpacing = 120; // Unifyroom: 2.5 minutes

コメントには2.5分と記載されていますが、2分間隔ですね。

base58Prefixesの値

// Unifyroom addresses start with 'U'
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,68);
// Unifyroom script addresses start with '7'
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,16);
// Unifyroom private keys start with '7' or 'X'
base58Prefixes[SECRET_KEY] =     std::vector<unsigned char>(1,204);

[PUBKEY_ADDRESS] と [SECRET_KEY] に設定してある値を使ってアドレスを生成するには

$ ./vanitygen -X 68 -Y 204 UNFY39

で、UNFY39から始まるアドレスが生成できます

https://blog.ukkey3.space/改めて-vanitygen-でお気に入りのアドレスを作成しようの記事を参考にしてねん

nMasternodePaymentsStartBlockの値

マスターノードの開始ブロック番号は4321のようです。

consensus.nMasternodePaymentsStartBlock = 4321; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock

現在(2024/3/17)のブロック高は、6974なので、すでに稼働している感じですね、Explorerで確認すると 49のマスターノードが動いているようです


この90UNFYがマスターノード報酬ですね。オイシイ報酬だけど、マスターノードを立てる担保が20,000UNFYも必要なのよねぇ(汗)

validation.cppについて

ブロック報酬の詳細は、validation.cpp内に記述されています。

static std::pair<CAmount, CAmount> GetBlockSubsidyHelper(int nPrevBits, int nPrevHeight, const Consensus::Params& consensusParams, bool fV20Active)
{
    double dDiff;
    CAmount nSubsidyBase;
    CAmount nSubsidy;

    nSubsidyBase = 200;
    nSubsidy = 200;
    
    if(nPrevHeight == 0){
        nSubsidy = 1000000;
    }

    // yearly decline of production by ~7.1% per year, projected ~18M coins max by year 2050+.
    for (int i = consensusParams.nSubsidyHalvingInterval; i <= nPrevHeight; i += consensusParams.nSubsidyHalvingInterval) {
        nSubsidy = nSubsidy/2;
    }

    CAmount nSuperblockPart{};
    // // Hard fork to reduce the block reward by 10 extra percent (allowing budget/superblocks)
    // if (nPrevHeight > consensusParams.nBudgetPaymentsStartBlock) {
    //     // Once v20 is active, the treasury is 20% instead of 10%
    //     nSuperblockPart = nSubsidy / (fV20Active ? 5 : 10);
    // }

    nSubsidy = nSubsidy * COIN;
    nSuperblockPart = 0;

    return {nSubsidy - nSuperblockPart, nSuperblockPart};
}

ブロック報酬の基本は200UNFYですが、最初のブロック(プレマイン)では100万UNFYが報酬として設定されていますね。

マスターノードの報酬については、GetMasternodePaymentに記述があります。ブロック報酬の45%で計算されていますね

CAmount GetMasternodePayment(int nHeight, CAmount blockValue, bool fV20Active)
{

    CAmount ret = 0;

    int nMnCountEnabled = deterministicMNManager->GetListAtChainTip().GetValidMNsCount();
    int mnMinimal = Params().GetConsensus().DIP0003MinimumCount;
    LogPrintf("[ kampretMnValid ] masternode enable %d -- masternode minimal  %d \n", nMnCountEnabled, mnMinimal);
    if(nMnCountEnabled < mnMinimal) {
        
        ret = 0;
        return ret;
    }

    ret = 0.45 * blockValue;
    return ret;
}

恐らくですが~
マスターノードの数(GetValidMNsCount())が10(DIP0003MinimumCount)より少ない場合は、マスターノードの報酬は0になるかと思います

さいごに

今回の記事を書きながら Unifyroom のマスターノードを立ててみたいなと思った。
私が持ってるマスターノードはUkkeyCoin除いて2つあります。SWAMP Coin01Coinなのですが、報酬があまり無いんですよねぇ。
マスターノードの数が、SWAMP Coinの場合、275ノードで、01coinだと、2749ノードもあるから、順番回ってこないかねぇ
いったん解体するかなぁ
そして、UNFYのマスターノードを立ててみたいですね

リンク情報

改めて vanitygen でお気に入りのアドレスを作成しよう
bitcointalk
github

SWAMP Coin
01Coin

コメント