Bitcoin Forum
December 14, 2024, 04:45:19 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 »  All
  Print  
Author Topic: [ANN] [VELD] - Veldspar - A new type of coin, trying to solve different problems  (Read 4391 times)
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 05, 2018, 10:56:21 PM
Last edit: August 06, 2018, 01:03:03 AM by editfmah
 #1

Announcing  Veldspar, thinking differently and more co-operatively.

Purpose:
To think about block chain currencies differently (in this case to try to solve the issues that currently affect coin systems in production).
To use PoW & PoS to good affect. The PoS actually being the amount in hash power you apply to the network.

The concept (still in development as problems are discovered and overcome):
There are two parallel parts to the chain;

  • the ORE to be mined
  • the traditional transactions block chain

To mimic real life (resource based / effort based), there is ORE to mine, but this does not go away, you can mine this forever trying to find tokens. Once found the miner can claim that token as theirs and it will be entered into the block chain as the originating owner of that token. The token value is based on a likelihood gate, and then what is essentially a pattern match against a table of magic beans.  Exponential value based on complexity resulted in too many low value tokens and the network can only ever work well with a good mix of denominations.

Because ORE can be mined forever, hash rate will be spread across the entire block chain not just used to crack a single block. Miners may wish to mine only a single block of ORE for many months, trying to find the highest possible value token they can, before moving onto a new one.

Tokens are defined as addresses describing the position within the ore they were found in, and a reproducible path to the discovery of the pattern. Once a token has been found, it is submitted to the network with the miners’ details and an agreed timestamp (by consensus). If that miner was the first to find that token then it is written into the ledger, and that token is created, and its journey starts.

The block chain itself is signed/sealed on a fixed time basis, so every X seconds the all of the outstanding transactions in arrears will be selected, signed and entered into the chain. Once this has been done, the hash for the block is distributed to all connected nodes, and the originating nodes will receive other nodes' hashes. Then quorum is established. If the hash you supply is outvoted by a significant proportion of the other nodes, then that block is not written to the local store, and instead a copy of the transactions is gained from several sources, compared, and the process is run again.

Benefits?
Distributed
Block chain itself is just transactions, so small and fast to synchronise
ORE system, means hash rate is distributed across entire chain, therefore stopping anyone smashing the network with nicehash/asic rigs.
No fixed reward and no fixed supply. Only a likelihood of reward/total supply, based on the amount of effort used to mine the ore. This stops early adopters from getting anything more than late adopters, because they are not rewarded for being first other than the low value easy tokens.
ORE does not need to be stored on all nodes, but transactions will. This will allow for space limited installations of nodes.
You are not fighting other miners, your effort is directly rewarded with wealth. People who apply more hash-rate get proportionally more reward.

Downsides?
Low value tokens will be extremely numerous, so sending large transaction may have many 1000's of tokens within it.
As above, tokens mimic real word money, in that you can have T0.01, T0.20 & T1.00, but you could not send T0.30 to someone as you do not have the denomination to do so. The network would have to try to distribute large and small tokens to make sure there was always enough "change" to have transactions succeed.

Tokens?
Tokens are described as the positional information of their location within the ore, the method used to generate it, and the value signature.

And example would be:

<height><algorithm><value><add1>..<add n>

Which looks, for a 64bit token with 8 paths, like:

00000001-0000-00000001-00046411-00005839-0002C3CD-000B5BA9-00010B6F-00002AEA-0007E24D-000EC5F6

Algorithm
This would be an enumeration of 0-65534 possible algorithms ... Becoming ever more CPU intensive to derive more value from the find, allowing for deprecation and replacement over time.

The tokens should be hard to find, but very fast to validate, as the nodes will be required to validate all the finds, so they can be incorporated into the ledger at a point in the future.

Economy
This is tricky, as it mimics real world resource availability and therefore there are no fixed emissions of tokens, it is purely what is found in the ore provided, which is of course entirely random.

Fairness
As it is impossible (or at least not-likely) for developers to pre-mine the token, other than "knowing" about the coin first, there is no fixed pay-out, only a reward for effort applied so this should reduce the amount of bag holding that early adopters have traditionally amassed.  You also never loose out to other miners with far more horsepower.

Sequential mining is discouraged as you will be likely to find blocks which have already been claimed, therefore, randomised mining of the ore would yield the best possible return for effort.

Mining
So mining, consists of finding tokens within the ore. By default, a block of ore is 1mb of data. The miner has to try 8 x 64 byte sections of that ore, using one of 2 initial methods (prepend & append), then one of 4 hash algorithms will be used to try to find a valid token. This gives possibilities to try of approximately 1.19^58 combinations. But with there being up to 65534 algorithms, all operating on the same block of ore the possibilities are numerous. Ore blocks follow a different release schedule, so may well be every 10k blocks, or 100k.

Transparency
This is a tricky one for me to really wrap my head around, personally I love the idea of entirely anonymous currencies free from the outside snooping on what you have. But in a fair and balanced society, everyone should be held to account for what they hold. As only when something is free and open can trust be established. Also, if you are looking to create a crypto currency that is welcomed with open arms by payment providers and governments, a certain amount of auditing must be possible whist still allowing some anonymity.

This will be a tricky problem to solve as you wish to balance the two, and ensure you are protecting both sides but still allowing the network to be entirely independent and beyond the control of any single individual or agency.

Method
There will be two data structures underlying the chain.

The blockchain itself, containing <Blocks>, tied together with SHA512 hash of all it's transactions + previous block hash
Ledger, the in/out record for all tokens in the chain. Ownership can be established by looking at the last allocation of a token, and tested before spending that token. Also, registration of a token can be tested by the non-existence of an existing allocation for that token.
Because there will be no proof of work for the blockchain, we must secure it via consensus. With the seed nodes being authoritative whilst the network size is insufficient or quorum cannot be achieved.

Consensus is based (due to timing anomalies) on transactions being submitted to the network with a target block membership, which is far enough in the future to ensure it’s distribution around the network in sufficient time (say at least 1 min). Then when the next block is due to be produced the nodes will gather the outstanding transactions for the block, order the transactions by their identifier and hash them, then hash that result against the previous block.

The node will then send this final hash around to other nodes to gain consensus, each node will record the number of hits/misses of that hash it receives and write that into the blockchain as a record of the network quorum for that block. In the case where there is significant disagreement, then the seed nodes become authoritative, although this should never happen or be inconsequentially irregular as to not be a problem.

In the case where a node becomes outnumbered in it’s resolution of a block, it will not commit that block into the store, and will instead ask another node (likely a seed node) for all it’s transactions for a block, then re-process that block and check the hash now matches the consensus and if it passes then write the block into the datastore.

Roadmap:
v0.1.x - Initial seed node created, mining active, wallets created, no replication to other nodes.
v0.2.x - Live replication, p2p to other nodes, Seed nodes authoritive on token registration and spends
v0.3.x - Quorum introduced, seed nodes no longer authoritive unless 50/50 decision requires adjudication.
v0.4.x - Introduce ledger compaction, only allocation and previous allocation required to be kept past a certain point.

When does it go live?

Monday 6th August 2018, 0:00.

But there is no point rushing to be first, as there is no reward for being first over last (unless my calculations are wrong!).

Why release alpha?

Because this codebase needs the feedback and the mining to test all the concepts:

Where is the project

https://github.com/editfmah/Veldspar

Why does it only work on Mac & Ubuntu

Because this is a prototype and the miners & wallet will be ported to JavaScript at some point soon so people can use the network, and the Nodes will be made available to Windows at some point in the future as well.

I will try to answer any questions on here, but bear in mind this is Alpha and until we hit version 0.4.xx I wouldn't take it too seriously as there will be plenty of dev work to do.  So far there is a simple miner, wallet & node service.

Support and talk
https://discord.gg/95VHjn3

Many thanks.
noobwhosuckatlife
Full Member
***
Offline Offline

Activity: 406
Merit: 101



View Profile
August 05, 2018, 10:57:02 PM
Last edit: August 05, 2018, 11:09:12 PM by noobwhosuckatlife
 #2

Looks really really interesting!
The only downer --- no Windows support atm Sad

WELCOME TO MY MINE

WE ARE MINING DIAMONDS

WE AINT GONNA STRIP MINE

WE DONT HAVE TO FITE MOBS
tsik
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile
August 05, 2018, 11:54:48 PM
 #3

can't unzip the virtualbox image. please reupload nevermind
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 05, 2018, 11:59:15 PM
 #4

can't unzip the virtualbox image. please reupload nevermind

You will need to do a git pull and update the software as it will have the wrong seed which was changed to reset the service for the launch.
hankrules
Hero Member
*****
Offline Offline

Activity: 673
Merit: 500


View Profile
August 06, 2018, 12:13:50 AM
 #5

Does the daemon need to be running for the miner to run?  The daemon keeps crashing when I run the miner...

Code:
Veldspar Daemon v0.0.1
---------------------------
Database connection opened
Blockchain created, currently at height 0
Generating Ore
[INFO] Starting HTTP server  on 0.0.0.0:14242
Illegal instruction (core dumped)

            ▄▄████▄▄
        ▄▄██████████████▄▄
      ███████████████████████▄▄
      ▀▀█████████████████████████
██▄▄       ▀▀█████████████████████
██████▄▄        ▀█████████████████
███████████▄▄       ▀▀████████████
███████████████▄▄        ▀████████
████████████████████▄▄       ▀▀███
 ▀▀██████████████████████▄▄
     ▀▀██████████████████████▄▄
▄▄        ▀██████████████████████▄
████▄▄        ▀▀██████████████████
█████████▄▄        ▀▀█████████████
█████████████▄▄        ▀▀█████████
██████████████████▄▄        ▀▀████
▀██████████████████████▄▄
  ▀▀████████████████████████
      ▀▀█████████████████▀▀
           ▀▀███████▀▀



.SEMUX
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
  Semux uses .100% original codebase.
  Superfast with .30 seconds instant finality.
  Tested .5000 tx per block. on open network
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
tsik
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile
August 06, 2018, 12:23:52 AM
 #6

Does the daemon need to be running for the miner to run?  The daemon keeps crashing when I run the miner...

Code:
Veldspar Daemon v0.0.1
---------------------------
Database connection opened
Blockchain created, currently at height 0
Generating Ore
[INFO] Starting HTTP server  on 0.0.0.0:14242
Illegal instruction (core dumped)


same problem, miner also gives error.
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 06, 2018, 12:26:36 AM
 #7

Does the daemon need to be running for the miner to run?  The daemon keeps crashing when I run the miner...

Code:
Veldspar Daemon v0.0.1
---------------------------
Database connection opened
Blockchain created, currently at height 0
Generating Ore
[INFO] Starting HTTP server  on 0.0.0.0:14242
Illegal instruction (core dumped)


Nope, daemon not needed until v0.2.0 so probably a couple of weeks at this rate.
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 06, 2018, 12:28:27 AM
 #8

Does the daemon need to be running for the miner to run?  The daemon keeps crashing when I run the miner...

Code:
Veldspar Daemon v0.0.1
---------------------------
Database connection opened
Blockchain created, currently at height 0
Generating Ore
[INFO] Starting HTTP server  on 0.0.0.0:14242
Illegal instruction (core dumped)


same problem, miner also gives error.

Miner should have given a different error, the node was offline because we found the first bug with people sending tokens in.  This has been patched and put live again, so it should work.

If you are running software that is not working (or in the VM supplied), then you will need to rebuild from source again.
tsik
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile
August 06, 2018, 12:42:29 AM
 #9

ok, mining now. thanks
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 06, 2018, 12:51:49 AM
 #10

ok, mining now. thanks

cool, this is really early days so ironing out a couple of bugs as we go.  Mining works offline too, so you should see a message if we take the service down and then it will submit the finds again once it's back up.  Nothing should ever be lost.
tsik
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile
August 06, 2018, 12:57:15 AM
 #11

ok, mining now. thanks

cool, this is really early days so ironing out a couple of bugs as we go.  Mining works offline too, so you should see a message if we take the service down and then it will submit the finds again once it's back up.  Nothing should ever be lost.

Ok, awesome. What is the highest token reward? I like that it varies, but i'm curious about range.
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 06, 2018, 01:04:54 AM
 #12

ok, mining now. thanks

cool, this is really early days so ironing out a couple of bugs as we go.  Mining works offline too, so you should see a message if we take the service down and then it will submit the finds again once it's back up.  Nothing should ever be lost.

Ok, awesome. What is the highest token reward? I like that it varies, but i'm curious about range.

for now it's 50.00, which is 5000 units.  We can actually change the denomination without breaking anyone's spoils so far.  There may be bigger denominations with the introduction of a second algo, which is much harder, but that will be based on feedback and performance.
chixka000
Hero Member
*****
Offline Offline

Activity: 910
Merit: 500



View Profile
August 06, 2018, 08:53:27 AM
 #13

It was very interesting, but it is a pity that there is no support for Windows. I like your concept, it seems fair. so the first one and the last one was equal opportunity.
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 06, 2018, 09:01:41 AM
 #14

It was very interesting, but it is a pity that there is no support for Windows. I like your concept, it seems fair. so the first one and the last one was equal opportunity.

It's not quite equal, but with 1.19^58 possible combinations to test, you are unlikely to find much that other people have found.  And then new Ore is released at fixed intervals too, so as a block of ore gets depleted, a new one is created.

I am investigating learning enough javascript to create a wallet and miner.  But might just be easier to do it in C for windows as it translates fairly easily.
elr01
Member
**
Offline Offline

Activity: 238
Merit: 13


View Profile
August 06, 2018, 12:33:21 PM
 #15

Hello, I'm trying your alpha :
Code:
...
Found token! @2018-08-06 12:30:09 +0000 Ore:0 method:0 value:0.5
Token Address: 00000000-0000-00000032-000F92B8-00061284-0004D37B-000CDE...
Token successfully registered with Veldspar node.
...

What to do from here ?
How can we get the network and mining information ?
tsik
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile
August 06, 2018, 12:50:45 PM
 #16

you can open simplewallet and check your balance after some time
elr01
Member
**
Offline Offline

Activity: 238
Merit: 13


View Profile
August 06, 2018, 01:00:59 PM
 #17

I can see my incoming tokens, thanks.
Code:
Processing block 388 of 388
Incoming token added to your wallet with a value of 0.01
Incoming token added to your wallet with a value of 0.1
Processing block 389 of 389
Incoming token added to your wallet with a value of 0.01
Incoming token added to your wallet with a value of 0.05
Incoming token added to your wallet with a value of 0.1
Incoming token added to your wallet with a value of 1.0
Processing block 390 of 390
Incoming token added to your wallet with a value of 0.1
Incoming token added to your wallet with a value of 0.1
Incoming token added to your wallet with a value of 0.5
Incoming token added to your wallet with a value of 10.0
Incoming token added to your wallet with a value of 20.0

Anything to test with the daemon ?
editfmah (OP)
Copper Member
Jr. Member
*
Offline Offline

Activity: 87
Merit: 5


View Profile
August 06, 2018, 01:25:53 PM
 #18

Hello, I'm trying your alpha :
Code:
...
Found token! @2018-08-06 12:30:09 +0000 Ore:0 method:0 value:0.5
Token Address: 00000000-0000-00000032-000F92B8-00061284-0004D37B-000CDE...
Token successfully registered with Veldspar node.
...

What to do from here ?
How can we get the network and mining information ?

The next release of the node has a network statistics output,  showing what has been found,  what denominations etc.  I will post a link to the JSON api on here when it’s gone up.
tsik
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile
August 06, 2018, 04:15:56 PM
 #19

Hello, I'm trying your alpha :
Code:
...
Found token! @2018-08-06 12:30:09 +0000 Ore:0 method:0 value:0.5
Token Address: 00000000-0000-00000032-000F92B8-00061284-0004D37B-000CDE...
Token successfully registered with Veldspar node.
...

What to do from here ?
How can we get the network and mining information ?

The next release of the node has a network statistics output,  showing what has been found,  what denominations etc.  I will post a link to the JSON api on here when it’s gone up.

I upgraded to 0.0.3 and it seems that i'm finding way less tokens. Metrics are nice, but rewards have decreased.
hankrules
Hero Member
*****
Offline Offline

Activity: 673
Merit: 500


View Profile
August 06, 2018, 04:46:00 PM
 #20

Here is a veldspar discord channel i just created if anybody would like to join: https://discord.gg/w63huZ

            ▄▄████▄▄
        ▄▄██████████████▄▄
      ███████████████████████▄▄
      ▀▀█████████████████████████
██▄▄       ▀▀█████████████████████
██████▄▄        ▀█████████████████
███████████▄▄       ▀▀████████████
███████████████▄▄        ▀████████
████████████████████▄▄       ▀▀███
 ▀▀██████████████████████▄▄
     ▀▀██████████████████████▄▄
▄▄        ▀██████████████████████▄
████▄▄        ▀▀██████████████████
█████████▄▄        ▀▀█████████████
█████████████▄▄        ▀▀█████████
██████████████████▄▄        ▀▀████
▀██████████████████████▄▄
  ▀▀████████████████████████
      ▀▀█████████████████▀▀
           ▀▀███████▀▀



.SEMUX
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
  Semux uses .100% original codebase.
  Superfast with .30 seconds instant finality.
  Tested .5000 tx per block. on open network
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
█ █
Pages: [1] 2 3 4 5 6 7 »  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!