Bitcoin Forum
April 26, 2024, 04:22:02 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 »  All
  Print  
Author Topic: [ANN]🌀 Blur Network(BLUR) 🌀 | PoW Cryptonight-Dynamic | CPU/Solo Mining | DPoW  (Read 41166 times)
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 12:01:31 PM
Last edit: February 09, 2023, 06:47:11 PM by blurnetwork
Merited by Stratobitz (5), xandry (2), thang long (1)
 #1


Please download the latest release: Blur v0.1.9.9.6 'Radiance' on our GitHub releases page.

Blur was recently featured on the MineYourBiz podcast with Seth Estrada!
Tune in to hear our lead developer Biz, chat about crypto, privacy, BLUR, DPoW and much more!

Please see the following pages for the releases:

Command-Line Interface:
https://github.com/blur-network/blur/releases
Blur Network CLI Tools Snap Package:

Or install with: snap install blur

Graphical Wallet:
https://github.com/blur-network/blur-network-gui/releases
Blur Network Graphical Wallet Snap Package:

Or install with: snap install blur-wallet




Current Development Efforts

Currently, we are working on bringing Komodo's Delayed Proof of Work into compatibility with Monero-derived codebases.  You can follow the progress made so far at the following repository: https://github.com/blur-network/dpow-blur, and at the following project board: https://github.com/orgs/blur-network/projects/1 (However, the project board has not been updated in a while).  Our goal is to get our codebase into a state where we are completely interoperable with KMD's (and by extension BTC/ZEC's) ecosystem.  This means that capabilities such as cross-chain clusters and direct interaction between chains will be possible in a similar manner to the inter-chain interactions that are currently seen in KMD's ecosystem.
  
The Blur Network is expanding to a multi-chain model! You can read about where things are headed here.



Social Media





Markets





Command-Line Interface Tools/Wallets:







Graphical User Interface Wallets:




Quick Links:
Website: Blur Network - The Private Cryptocurrency
Block Explorer: Blur Network Block Explorer
Real-Time Emission Monitor: Blur Network Supply
CoinMarketCap Page:Blur on CoinMarketCap
Daemon Documentation:Blurd-RPC Docs
Wallet Documentation:Blur-Wallet-RPC Docs
Source Code: Github Source
Official Subreddit:Blur Network on Reddit
Twitter:Follow The Blur Network
Discord:Official Discord Server
(Discord is the Preferred Contact Method for Blur Network)
Telegram:Official Telegram Chat
Roadmap:Blur Network Roadmap




Coin Metrics:
Total Supply: 9,223,300 BLUR ( + Tail Emission of 2.0 BLUR/block )
Circulating Supply (Real-time):http://explorer.blur.cash/supply
Pre-Mine: 360,000 = 3.9% of Supply hardcoded as block reward for first mined block
Algorithm: Custom Cryptonight-Dynamic ( CPU-advantage )
Block Time: Target = 60 seconds
Block Reward: Decreasing from roughly 4.5 BLUR per block currently
Decimal Places: Twelve ( 12 )
Emission Profile: Blur Network Emission Spreadsheet


Seed Nodes:
Node 1: 51.79.66.123:52541
Node 2: 51.79.66.36:52541
Node 3: 51.79.64.184:52541
Node 4: 66.70.189.131:52541
Ports: P2P= 52541 | RPC = 52542



1714148522
Hero Member
*
Offline Offline

Posts: 1714148522

View Profile Personal Message (Offline)

Ignore
1714148522
Reply with quote  #2

1714148522
Report to moderator
1714148522
Hero Member
*
Offline Offline

Posts: 1714148522

View Profile Personal Message (Offline)

Ignore
1714148522
Reply with quote  #2

1714148522
Report to moderator
1714148522
Hero Member
*
Offline Offline

Posts: 1714148522

View Profile Personal Message (Offline)

Ignore
1714148522
Reply with quote  #2

1714148522
Report to moderator
In order to achieve higher forum ranks, you need both activity points and merit points.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714148522
Hero Member
*
Offline Offline

Posts: 1714148522

View Profile Personal Message (Offline)

Ignore
1714148522
Reply with quote  #2

1714148522
Report to moderator
1714148522
Hero Member
*
Offline Offline

Posts: 1714148522

View Profile Personal Message (Offline)

Ignore
1714148522
Reply with quote  #2

1714148522
Report to moderator
1714148522
Hero Member
*
Offline Offline

Posts: 1714148522

View Profile Personal Message (Offline)

Ignore
1714148522
Reply with quote  #2

1714148522
Report to moderator
mySmile
Jr. Member
*
Offline Offline

Activity: 462
Merit: 1


View Profile
July 01, 2018, 12:03:28 PM
 #2

Russian translation reserved
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 12:10:51 PM
Last edit: October 20, 2019, 03:58:04 AM by blurnetwork
 #3

Please note that this specific post is now VERY outdated, as we have moved to our own novel algorithm, and gone through a few upgrades within CN-Dynamic (our algorithm)


CNAv1 is known to be vulnerable to pool-creation with some simple mods. That being the case, does Blur intend to fight against pools or to embrace them and keep the GPU resistance?


Pool resistance was not the objective with the algorithm changes... more so, a welcomed byproduct of them.  Pooled hashing is something that will become a part of the project further down the line, with a limit on poolsize based on % of net hash.  This achieves the goal of decentralization without exposing miners to the unbalanced "luck" of solving for the correct block hash ... Although, luck and randomness are *technically* more fair.

As someone who is not intimately familiar with how the cn-Adaptive algo works, would you be able to give a simplified explanation of how the algo manages to be GPU and pool resistant?

Definitely.  It's really not all that complex, to be honest. Explaining it can be, though.   NERVA's implementation currently adds a few more layers for randomness.  We'll be adding some of that on our own in the next network update which should be this week sometime.  Essentially, the algorithm runs a base number of iterations in the cryptonote algorithm... then dynamically adds an additional number of iterations (which differs each block) to that base number.  That dynamic portion is based on the previous block's height.  The way it is written, the iterations in a block cycles up and then back down to make a pattern of difficulty that looks like a sawtooth.  



if you notice hashrate gradually increasing, before dropping sharply, and then repeating the cycle... this is why.

There are two files that hold the algorithm's nuts and bolts, as they are present in BLUR's algorithm currently. These two files that we are going to look at, are located at the following locations in the source code:

Code:
blur/src/crypto/slow-hash.c
and
Code:
blur/src/cryptonote_basic/cryptonote_format_utils.cpp

The slow-hash.c file has a few pieces of information that are important and differentiate CN-Adaptive from other variants of cryptonight.  The first of which is on line 46:
Code:
#define MEMORY         (1 << 20) // 1MB scratchpad

As annotated, this parameter defines the scratchpad size for the algorithm's rounds of iterations. A 1MB scratchpad is also seen in Cryptonight-Light.  This size allows for less iterations in a round, and fits within the cache of lower end CPUs, enabling older hardware to still mine somewhat effectively.  

Now within the cryptonight algorithm, there is an added parameter in CN-Adaptive, for iterations.  This parameter defined as iters, and you can find the implementation on Line 570 of the same slow-hash.c file:

Code:
void cn_slow_hash(const void *data, size_t length, char *hash, int variant, int prehashed, size_t iters)

As well as lines 645-662:

Code:
    if(useAes)
    {
        for(i = 0; i < iters; i++)
        {
            pre_aes();
            _c = _mm_aesenc_si128(_c, _a);
            post_aes();
        }
    }
    else
    {
        for(i = 0; i < iters; i++)
        {
            pre_aes();
            aesb_single_round((uint8_t *) &_c, (uint8_t *) &_c, (uint8_t *) &_a);
            post_aes();
        }
    }

This variable "iters" calls out to a function in the second file I mentioned, to determine its value in the block being mined.   So head over to blur/src/cryptonote_basic/cryptonote_format_utils.cpp if you're following along.  

Within that file, on lines 891-901, you'll find the calculations for the number of iterations.  Before elaborating on the code, I would like to note that in its current state this code could be optimized with a GPU.  However, you  would still need a CPU present in some form, to direct the GPUs hashpower.  BLUR's goal is being too resource intensive for GPU/ASIC miners to pursue.  In its current state, and at the current value of BLUR... this has sufficed.  However, we are hardforking to a new implementation shortly, for the purpose of maintaining that as the project grows.

With that said, on lines 891-901 of cryptonote_format_utils.cpp we have:

Code:
  //---------------------------------------------------------------
  bool get_block_longhash(const block& b, crypto::hash& res, uint64_t height)
  {
    blobdata bd = get_block_hashing_blob(b);
    int cn_variant = b.major_version >= 5 ? 1 : 0;
int cn_iters = b.major_version >= 6 ? ( b.major_version >= 7 ? 0x40000 : 0x20000 ) : 0x80000;
    cn_iters += ((height + 1) % 1024);
    crypto::cn_slow_hash(bd.data(), bd.size(), res, cn_variant, cn_iters);
    return true;
  }
  //---------------------------------------------------------------

The lines here that we are primarily looking at, are the ones that declare and calculate the variable "cn_iters". Starting with the first mention (where we calculate the base number of iterations):

Code:
int cn_iters = b.major_version >= 6 ? ( b.major_version >= 7 ? 0x40000 : 0x20000 ) : 0x80000;

The code above breaks down into two parts...

Code:
 b.major_version >= 6 ? (x) : (0x80000)
and
Code:
 b.major_version >= 7 ? (0x40000) : (0x20000)

The "x" variable in the first part, is simply swapped out for the entire "second part" in the actual code.  For the purposes of explaining, its easier to break it apart this way.  The "?" symbol in C++ is what's known as a ternary operator. It essentially serves as an "if" statement directed by the ">=" operators that come before it, in this instance.

So it means to say "If the block version number (hardfork version) is greater-than-or-equal-to 6, define the iterations as the value on the left-hand side of the colon.  If it is not, define as 0x80000 or the value following the colon.  

The number 0x80000 is in hexidecimal, and translates to the human-readable number (in decimal format) 524288, for our base # of iterations.  Assuming we are above block version 5... we then move to the next conditional statement
Code:
 b.major_version >= 7 ? (0x40000) : (0x20000)
.  

We use the same logic here, to say if we are on block version 7 or higher, we use 0x40000 or 262144 for the base amount of iterations.  If we are not (i.e. less than 7 but greater than 5), we use 0x20000 or 131072 for the base number.  Now, ONTO THE DYNAMIC PART.  That's much simpler:

So far we have iterations (for current hardfork) = 262144 + (dynamic portion). The dynamic part is found on line #897, directly after the calculation for the base number:

Code:
cn_iters =+ ((height +1) % 1024)

This means to say: "Add to the base number of iterations, the calculated value for the function (current block height) Modulo (1024).  A modulo just means divide the height by 1024, and look at your remainder.  That remainder is actually then the solution to the equation.  So, (1025) % 1024 would equal 1. Just the same, (2047) % 1024 would equal 1023, because 2047 = 1024 + 1023...


blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 12:29:36 PM
Last edit: August 27, 2019, 09:02:05 PM by blurnetwork
 #4

[reserved]
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 12:35:39 PM
 #5

res
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 12:47:49 PM
 #6

res
Caztiel
Sr. Member
****
Offline Offline

Activity: 773
Merit: 255


View Profile
July 01, 2018, 12:49:22 PM
 #7

Need Pool + Link to Miner
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 01:17:00 PM
 #8

reserved
tradingdisaster
Full Member
***
Offline Offline

Activity: 307
Merit: 100

0xb58D6E68944e195420843fA98c4A3481a5914282


View Profile
July 01, 2018, 01:27:31 PM
 #9

Hm, what's the novel thing here? We already got a lot of CPU-only coins lately, snowblossom, Deft...

Any real-world usecase you are targeting that would make the coin interesting to non-miners to buy and hold?
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 01:31:31 PM
 #10

Hm, what's the novel thing here? We already got a lot of CPU-only coins lately, snowblossom, Deft...

Any real-world usecase you are targeting that would make the coin interesting to non-miners to buy and hold?

This is a cpu-only variant of the cryptonight algorithm.  RingCT signatures on a cpu-only coin are only implemented by NERVA, aside from this project.  Cryptonote coins lack that aspect of design, otherwise.
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 01:44:10 PM
 #11

res
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 01:57:27 PM
 #12

RESERVED
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 02:37:54 PM
 #13

res
brjameng
Sr. Member
****
Offline Offline

Activity: 742
Merit: 250



View Profile
July 01, 2018, 02:41:59 PM
 #14

It's good to know that this coin is mine able using CPU.
But one question, will it disturb the usage performance on the computer while the mining process is working?
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 05:29:04 PM
 #15

resoived
AlanMilano
Newbie
*
Offline Offline

Activity: 129
Merit: 0


View Profile
July 01, 2018, 05:35:13 PM
 #16

Good! I quite like the coin that can resist GPU and ASIC. Because that can bring a fair amount of justice to the user (if there is no ICO).
Low supply is also a strong point of BLUR, only exploited through CPU with low supply will guarantee value for BLUR.
I will be involved in exploiting with 3 CPUs on different computers.
Wish you success-BLUR!
Cryptobel-NL
Jr. Member
*
Offline Offline

Activity: 344
Merit: 1

Creative Creator


View Profile WWW
July 01, 2018, 07:30:21 PM
 #17

Here you go for the Dutch translation:
https://bitcointalk.org/index.php?topic=4579588

My address:
bL49dzHNctMGLbtMYmqSPBFPHhbMhY9Rg6YMTDt9acwxDbRqxRDw8VnG7j6NG75B4F1KT9bpqbSJt1e uFRqQzYLU1fvK6QuLd

◼◼ The Future of Payroll
◼ Make Every Day Payday (http://workchain.io)
blurnetwork (OP)
Jr. Member
*
Offline Offline

Activity: 209
Merit: 9

The Blur Network


View Profile WWW
July 01, 2018, 11:42:14 PM
 #18

reserved
tippytoes
Sr. Member
****
Offline Offline

Activity: 1988
Merit: 275


View Profile
July 01, 2018, 11:54:28 PM
 #19

Good! I quite like the coin that can resist GPU and ASIC. Because that can bring a fair amount of justice to the user (if there is no ICO).
Low supply is also a strong point of BLUR, only exploited through CPU with low supply will guarantee value for BLUR.
I will be involved in exploiting with 3 CPUs on different computers.
Wish you success-BLUR!

Hoping that the team will not be discouraged in developing this coin til it's already stable. Most of the projects are abandoned after quite some time. If the team is ready for the crypto battle, then, this might be of something as the supply is quite low.
sth0901
Newbie
*
Offline Offline

Activity: 65
Merit: 0


View Profile
July 02, 2018, 12:27:24 AM
 #20

reserved
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 »  All
  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!