Author

Topic: [ANN] Raycoin (RAY) First Ray Tracing Proof-of-Work - Mine with RTX 2080/70 GPUs (Read 1682 times)

newbie
Activity: 1
Merit: 0
Hello!!! is still this great project running? I'd love getting rid of ASICS!!!

Thanks a lot for the effort!!
legendary
Activity: 1456
Merit: 1014
The source code to Raycoin is now available!


any Progress with the Linux Daemon?

I decided not to go through with it, as a simple proxy the security model didn't make sense. Exchanges and block explorers will need to communicate with the Raycoin JSON-RPC API running on a Windows machine with a RTX 2060 or better.

are you still developing Raycoin, or have you stopped working on it?
jr. member
Activity: 39
Merit: 10
The source code to Raycoin is now available!


any Progress with the Linux Daemon?

I decided not to go through with it, as a simple proxy the security model didn't make sense. Exchanges and block explorers will need to communicate with the Raycoin JSON-RPC API running on a Windows machine with a RTX 2060 or better.
legendary
Activity: 1456
Merit: 1014
short update, at least the electrum Server is working again, so looks like at least someone is still having an eye on that Server...
legendary
Activity: 1456
Merit: 1014
It looks like this Project is dead ;( Electrum Server stopped working and no sign of Life from DEV since almost 1 Month.
legendary
Activity: 1456
Merit: 1014
Updated Raycoin with a user-friendly installer -- includes mining shortcuts, startup options and wallet address / multi-GPU settings.

any Progress with the Linux Daemon?
jr. member
Activity: 39
Merit: 10
Updated Raycoin with a user-friendly installer -- includes mining shortcuts, startup options and wallet address / multi-GPU settings.
newbie
Activity: 1
Merit: 0
Nodes

Please message me to get added to this list.

Last Edit:   01/19/19 at 01:50:39 PM

Code:
76.71.214.244
83.135.200.215
89.245.86.62

hero member
Activity: 1092
Merit: 507
btcstakes.com
Any updates with Raycoin? Very interested.... Smiley
jr. member
Activity: 39
Merit: 10
Electrum wallet up now, it does not require a RTX card but if you have one it will use RTX to hash, otherwise it falls back to trusting hashes from official servers. You can see in the network panel whether it is hashing (Trust Hashes = disabled).
hero member
Activity: 1138
Merit: 523
Finally a developer who effing gets it  Grin Grin Grin
jr. member
Activity: 39
Merit: 10
Electrum wallet pre-release is up now

EDIT: full version up now
legendary
Activity: 1134
Merit: 1001
sr. member
Activity: 1050
Merit: 295
Came for the usual YAF (Yet Another Fork) bashing, wounded up reading the entire thread post (quite usual for even assets I hold) even when I realized my 1070 can't cut it. Wounded up learning a whole lot more on how Ascii miners work.
jr. member
Activity: 39
Merit: 10
Dont work for me , i have 2x 2080  on windows 10 x64, click on raycoind.exe , i see only cmd , and after some time have this

Hmm, I'll try rebuilding the index to see if there are any issues with the current chain.

Also, are they over/under clocked? Try removing all OC. Also, update to the latest drivers.

Delete your /AppData/Roaming/Raycoin folder and try again.

EDIT: rebuilt the index and it's fine
legendary
Activity: 1134
Merit: 1001
Dont work for me , i have 2x 2080  on windows 10 x64, click on raycoind.exe , i see only cmd , and after some time have this :



.
jr. member
Activity: 39
Merit: 10
As for ordinary wallet users, is there a / going to be a light wallet implementation without GPU requirements?

Yes I'm working on getting Electrum set up now. If you have a RTX card then it will use the included Raycoin DLL to verify hashes, otherwise it will request hashes from trusted Electrum servers.
jr. member
Activity: 158
Merit: 5
One question that came up is for pools, many pools run on VPS software without GPU's so setting up pools would require capable GPU's.

As for ordinary wallet users, is there a / going to be a light wallet implementation without GPU requirements?

jr. member
Activity: 39
Merit: 10
Setup and mining Raycoin! Is there a GUI wallet client or how can check the total of coins mined? Thanks!

Hey thanks. Every block you mine shows up in your raytraces.log, so an easy way to see the number mined is by starting RaycoinViewer and looking at how many entries there are in your log.

It takes 100 blocks for your mined coins to show up in your balance, but the client is a carbon copy of bitcoin (so that I can merge in bitcoin updates) so you can get your balance with:

./raycoin-cli getbalance

You can see all of your immature coins with:

./raycoin-cli listtransactions

You can see all commands with:

./raycoin-cli help

There is no GUI yet, but I was thinking of porting Electrum.
sr. member
Activity: 476
Merit: 250
The big fish
Setup and mining Raycoin! Is there a GUI wallet client or how can check the total of coins mined? Thanks!

Also, I created an unofficial Raycoin Discord Server here:

If the main developer wants to join, I will demote myself and make him Admin so that it can be the official discord server.

jr. member
Activity: 39
Merit: 10
Got a few miners on the Raycoin blockchain now! Everything appears to be working as tested. Any RTX owners here?
jr. member
Activity: 39
Merit: 10
After much work I finally released the Raycoin v1.0 blockchain, check out the main post and download it and join me mining!
full member
Activity: 893
Merit: 135
Bitcoin is not a currency or asset. Its a MOVEMENT
something unique, i am an amd guy so will wait for what is developing here.
jr. member
Activity: 39
Merit: 10
That will make this coin quite hard to get listed on an exchange id say. I doubt anyone is running a windows server with a 2070+ in it. But that also makes it even more interesting!

EDIT: Yep, block explorers and exchanges will need to communicate with a Windows machine that has a 2060+
newbie
Activity: 214
Merit: 0
Great project, looking forward  a pleasant cooperation, we want to list you coin on our exchange. A great start, search MXshine! or  marketing email


We invite you to bring your project to our exchange, Altmarkets is a Cryptocurrency 6,000 members and over 100 coins listed. Focusing on lower-tier altcoins we push each coin listing with social media announcements as well as to our growing social channels.

Our BCT Announce: https://bitcointalksearch.org/topic/exchange-altmarkets-a-cryptocurrency-exchange-wwwaltmarketscc-4687148
Discord Channel: https://discord.gg/p4NwBdE

Request a listing with us via the above thread / announce post or visit http://www.altmarkets.cc - We aim to reply within 24 - 48 hours.

Thanks I'll contact you in a few weeks when the cryptocurrency is released.

I recommend that exchanges have a Windows server with a RTX 2080/70 to run raycoind, otherwise you would be "flying blind" not being able to verify block hashes yourself and could only connect to officially trusted servers which have the necessary hardware. For hash verification the cheaper 2070 will likely be the better option as the speed should be identical, but that remains to be tested.


That will make this coin quite hard to get listed on an exchange id say. I doubt anyone is running a windows server with a 2070+ in it. But that also makes it even more interesting!
jr. member
Activity: 39
Merit: 10
Great project, looking forward  a pleasant cooperation, we want to list you coin on our exchange. A great start, search MXshine! or  marketing email


We invite you to bring your project to our exchange, Altmarkets is a Cryptocurrency 6,000 members and over 100 coins listed. Focusing on lower-tier altcoins we push each coin listing with social media announcements as well as to our growing social channels.

Our BCT Announce: https://bitcointalksearch.org/topic/exchange-altmarkets-a-cryptocurrency-exchange-wwwaltmarketscc-4687148
Discord Channel: https://discord.gg/p4NwBdE

Request a listing with us via the above thread / announce post or visit http://www.altmarkets.cc - We aim to reply within 24 - 48 hours.

Thanks I'll contact you in a few weeks when the cryptocurrency is released.
newbie
Activity: 182
Merit: 0
We invite you to bring your project to our exchange, Altmarkets is a Cryptocurrency 6,000 members and over 100 coins listed. Focusing on lower-tier altcoins we push each coin listing with social media announcements as well as to our growing social channels.

Our BCT Announce: https://bitcointalksearch.org/topic/exchange-altmarkets-a-cryptocurrency-exchange-wwwaltmarketscc-4687148
Discord Channel: https://discord.gg/p4NwBdE

Request a listing with us via the above thread / announce post or visit http://www.altmarkets.cc - We aim to reply within 24 - 48 hours.
jr. member
Activity: 39
Merit: 10
Parameter -gpu works. But GPU doesn't work (GPU support tensor cores and ray tracing, according to official description)
Hardware: TITAN V
Software: Win10 x64, Nvidia driver version 411.70
What the problem could be?

You have the old version of windows, for DXR you need the latest Windows October Update and a driver later than 416.16. October Update was actually pulled due to bugs and will be back next week.

Also, TITAN V doesn't have RT cores anyway, it probably won't run on your system without emulation (which can't be used for mining). Sad
legendary
Activity: 1162
Merit: 1000
wow,maybe you are the nvidia sellers ::)what devition need? only rtx2080?

Yes only RTX 2080 Ti / 2080 / 2070.

There is already a coin that can be mined with the Nvidia RTX series, maybe a year or two more years the series 10 will no longer be used to mine coins.
full member
Activity: 405
Merit: 136
wow,maybe you are the nvidia sellers ::)what devition need? only rtx2080?

Yes only RTX 2080 Ti / 2080 / 2070.

Could you post help section with parameters of RaycoinViewer starting?
Can I start the viewer on the PC with different GPUs both supported Ray tracing and Not supporting ?

Okay, use -gpu , ex. -gpu 1, default is 0.

Parameter -gpu works. But GPU doesn't work (GPU support tensor cores and ray tracing, according to official description)
Hardware: TITAN V
Software: Win10 x64, Nvidia driver version 411.70
What the problem could be?
jr. member
Activity: 39
Merit: 10
wow,maybe you are the nvidia sellers ::)what devition need? only rtx2080?

Yes only RTX 2080 Ti / 2080 / 2070.

Could you post help section with parameters of RaycoinViewer starting?
Can I start the viewer on the PC with different GPUs both supported Ray tracing and Not supporting ?

Okay, use -gpu , ex. -gpu 1, default is 0.
full member
Activity: 405
Merit: 136
wow,maybe you are the nvidia sellers ::)what devition need? only rtx2080?

Yes only RTX 2080 Ti / 2080 / 2070.

Could you post help section with parameters of RaycoinViewer starting?
Can I start the viewer on the PC with different GPUs both supported Ray tracing and Not supporting ?
jr. member
Activity: 39
Merit: 10
wow,maybe you are the nvidia sellers ::)what devition need? only rtx2080?

Yes only RTX 2080 Ti / 2080 / 2070.
newbie
Activity: 40
Merit: 0
wow,maybe you are the nvidia sellers ::)what devition need? only rtx2080?
full member
Activity: 702
Merit: 102
I am the Kung Fury...
I've seen that's not mineable atm but, can i mine with 1070 too?

Unfortunately no. There is GPU emulation for DXR ray tracing called the "Fallback Layer" but it doesn't match Turing's RT cores exactly (there are a myriad of ways to construct a hierarchy and intersect rays/triangles and all sorts of edge cases), it's likely that the Fallback Layer can't reproduce some if not most hardware mining results so I didn't bother supporting it.

I'll consider supporting the emulator so that those with non-Turing GPUs can at least play with it, but it's kind of a low priority at the moment.

Really sad about this...Sad
jr. member
Activity: 39
Merit: 10
I've seen that's not mineable atm but, can i mine with 1070 too?

Unfortunately no. There is GPU emulation for DXR ray tracing called the "Fallback Layer" but it doesn't match Turing's RT cores exactly (there are a myriad of ways to construct a hierarchy and intersect rays/triangles and all sorts of edge cases), it's likely that the Fallback Layer can't reproduce some if not most hardware mining results so I didn't bother supporting it.

I'll consider supporting the emulator so that those with non-Turing GPUs can at least play with it, but it's kind of a low priority at the moment.
full member
Activity: 702
Merit: 102
I am the Kung Fury...
I've seen that's not mineable atm but, can i mine with 1070 too?
jr. member
Activity: 39
Merit: 10
this very interesting project, its really sounds new with a different kind of POW. good luck to this project.

Thanks for displaying my images, they are enormous though.
jr. member
Activity: 228
Merit: 1
GPTCash Weekly Airdrop: https://discord.gg/RWPEsRa
Today I'm releasing a preview of Raycoin, this release is a mining sandbox and visualization of the Ray Tracing Proof-of-Work algorithm. The viewer will be used to browse successful hashes in your mining log and on the blockchain.

Raycoin will be a vanilla Bitcoin derivative with PoRT (Proof of Ray Tracing) for ASIC resistance. Integration into Bitcoin (bitcoind) is underway as of today, I'll provide more details of the Raycoin cryptocurrency later on release day. For now I'd appreciate if prospective miners download the viewer and report any bugs:

Raycoin-v0.5.zip (VirusTotal Clean)

Official Website (just a forum for now): http://ray-coin.com

Requirements:

- Latest Windows 10 October update
- Nvidia RTX 2080/70 GPU (Turing)


Screenshot of the viewer:



Description of the Ray Tracing Proof-of-Work:

- rays are cast out into a randomized field (seeded from the block) of faceted spheres which reflect the rays chaotically (like a disco ball)
- each sphere has a random label (4 bytes), when a ray hits a sphere its label is concatenated to the ray's string
- 32 such labels in each ray's string are hashed together using blake2s on the GPU
- if the hash is less than the target then a block is found, and the XY screen coordinate of the successful ray is stored in the high 20 bits of the nonce for verification
- there is one additional constraint: the ray must travel a certain depth into the field, after which the motion is deemed chaotic enough (over 99% of rays pass this test)
- rays that exit the field wrap around to the origin with a small perturbation to their orientation


Ray Tracing consumes 96% of the frame time with hashing just 2%, so this Proof-of-Work is dominated by Ray Tracing and thus ASIC-resistant. You can verify this yourself in the viewer by disabling hashing and enabling the profiler in the Engine Tuning menu.

Here you can see the labels and the hit count, the ray stops at hit #32:



The Engine Tuning menu can be used to customize the viewer appearance, here the specular and ray intensities have been cranked up so that the scene sparkles:





this very interesting project, its really sounds new with a different kind of POW. good luck to this project.
newbie
Activity: 14
Merit: 0
Any plans to support 1070s?
Will test when/if its released
jr. member
Activity: 39
Merit: 10
Ummm, this is neat-o. How long have you been developing this?

Thanks, about a month, ever since I got my 2080 Ti, I forked over a pretty penny to be able to work on this.  Undecided
legendary
Activity: 1517
Merit: 1042
@notsofast
Ummm, this is neat-o. How long have you been developing this?
jr. member
Activity: 39
Merit: 10

Raycoin-1.0-setup.exe (dev key / sig / VirusTotal Clean) (source)

GUI Wallet: electrum-ray-3.2.3-setup.exe (sig / VirusTotal Clean) (source / server)

Raycoin is a vanilla Bitcoin derivative with PoRT (Proof of Ray Tracing) for ASIC resistance.

http://ray-coin.com

https://discord.gg/YtZzbzp

Requirements:

- Latest Windows 10 October update
- Nvidia RTX 2080/70/60 GPU (Turing)



Max Supply: 21,000,000 RAY
Block Time: 10 minutes
Block Reward: 50 RAY
Founder's Reward: 9.9% for the first 4 years (4.95% of the max supply)
(goes towards the further development of Raycoin)

Raycoin:
- to get started mining run the Raycoin - mine shortcut on your desktop / start menu
- mining doesn't quite run at full speed so that your desktop can be more usable, to run at full speed or run slower in the background use the other mining shortcuts in your start menu
- by default mining uses addresses generated from Raycoin's command-line wallet which is not easy to use, to mine to an address from your electrum wallet edit MINING_ADDRESS with the settings shortcut, also any existing rewards can be exported to your electrum wallet using the export shortcut
- to mine with multiple GPUs edit GPU_COUNT with the settings shortcut

Raycoin Viewer:
- Raycoin Viewer is a ray trace hash visualizer, mining sandbox, and mining log viewer for your successful hashes and daily best hashes
- to visualize the genesis hash, copy and rename genesis-raytraces.log to /AppData/Roaming/Raycoin/raytraces.log and run Raycoin Viewer
- supports HDR when enabled in windows display settings
- supports game controllers ('A' button acts like the SHIFT key)
- on multi-GPU systems you can select which GPU to use with -gpu , ex. -gpu 1, default is 0
- you can specify the data directory with -datadir , ex. -datadir C:\\Temp\\Raycoin

Raycoin Command-Line:
- to mine manually open Raycoin Console or shift-right-click in the Raycoin folder and select open powershell window here and run the command: ./raycoin-cli generate
- to stop mining: ./raycoin-cli stopgenerate (first press CTRL+C to take back control of the shell window)
- to allow your desktop to be more usable while mining try sleeping momentarily: ./raycoin-cli generate 0 1000 (or mine slowly: ./raycoin-cli generate 0 100000)
- for more options see: ./raycoin-cli help generate
- on multi-GPU systems you can select which GPU to use with -gpu=, ex. -gpu=1, default is 0

Motivation:
The original idea of Bitcoin is that it's decentralized because the hashing could be done at home on consumer-available hardware, then ASICs came along making the home computer useless and threatening to centralize hashing power with privately held chip designs. Ray tracing is a rendering method that is going to become more dominant as the game industry shifts over to it from "rasterization", the current method. If the hash for your cryptocurrency is based off ray tracing hardware (RTX) then that goes a way towards ensuring the best hashing chips will always be in the hands of gamers / consumers, instead of companies like Bitmain who just accumulate wealth and have direct and private access to the top silicon foundries like TSMC.

There have been attempts to circumvent this issue like the "Dagger" proof-of-work used in Ethereum, but now even for Ethereum there are ASICs on the market and future designs that are claimed to be nearly 10x faster/cheaper than consumer available GPUs. This is because Dagger, a simplistic hash focused on memory usage, does not properly stress the GPU's logic/cache/memory layout and capabilities.

Description of the Ray Tracing Proof-of-Work:

- rays are cast out into a randomized field (seeded from the block) of faceted spheres which reflect the rays chaotically (like a disco ball)
- each sphere has a random label (4 bytes), when a ray hits a sphere its label is concatenated to the ray's string
- 32 such labels in each ray's string are hashed together using blake2s on the GPU
- if the hash is less than the target then a block is found, and the XY screen coordinate of the successful ray is stored in the high 20 bits of the nonce for verification
- there is one additional constraint: the ray must travel a certain depth into the field, after which the motion is deemed chaotic enough (over 99% of rays pass this test)
- rays that exit the field wrap around to the origin with a small perturbation to their orientation

In a full mining frame (1024x1024 RTs) Ray Tracing consumes 94% of the frame time (~40ms) with hashing just 4%, so this Proof-of-Work is dominated by Ray Tracing and thus ASIC-resistant. You can verify this yourself in the viewer by disabling hashing and enabling the profiler in the Engine Tuning menu.

Verification of a block hash requires only a single Ray Trace (1 RT) and takes about 1ms on my 2080 Ti, with the vast majority of that time spent in the GPU randomizing the field of spheres (not ray tracing). So verifying a blockchain as large as Bitcoin's would take only ~10 minutes.

ASIC Resistance:
One question that remains then is how difficult would it be to create a Ray Tracing ASIC?

1. For 100% accuracy, the biggest hurdle that the ASIC designers face is that they must reverse engineer RTX and use the exact same hierarchical building / traversal and ray-triangle intersection algorithm, capturing the ordering and the myriad of edge cases. If the ASIC design differs by even a single logic gate then some hashes will not be reproducible. As an example of the complexity of this, Microsoft's Fallback Layer for non-RT GPUs is about 10000 lines of code vs. a hash which is typically only 100 lines -- a ray tracer is significantly more complex than a hasher.

2. A likely strategy however would be to design a 99% accurate ray tracer that does not capture the ordering and edge cases and then rely on a low-end RTX chip for hash verification – after 32 hits, such a tracer would still be correct 70% of the time. To combat this, Raycoin will be "memory hardened" by using a random generator to perturb the millions of vertices so that the optimal ray tracing strategy is to store them as the ray can strike anywhere, consuming multiple GB of expensive memory and ensuring a 10x upper limit on cost/performance efficiency (this will be finalized once the low-end RTX chips memory limits are known). Furthermore, it may prove difficult to achieve that 10x efficiency over consumer RTX which is purpose-built for ray tracing, especially going forward as it becomes the dominant rendering method and we get more than 1 RT core per SM (streaming multiprocessor).

3. Which of the few high-end foundries would agree to manufacture such a chip that steps all over Nvidia's Ray Tracing IP and patents?

PoRT Visualizer:
Here you can see the labels and the hit count, the ray stops at hit #32:




The Engine Tuning menu can be used to customize the viewer appearance, here the specular and ray intensities have been cranked up so that the scene sparkles:




The visuals can be confusing so here's some pointers:
- the large arrow (yellow or red) is the ray starting point and direction
- the smaller arrows show the ray after it has exited the field and wrapped back around to the starting point to continue tracing
- if you fly outside of the field, you can see what the ray sees when it wraps around, turn off Shade Last Miss Only in the Engine Tuning menu to make this background more apparent

Future Work:
Raycoin utilizes only the RT cores to ward off ASICs, but assuming a ray tracing ASIC could eventually be designed (and patent infringements avoided) the next step would be to extend PoRT to utilize the whole SM (streaming multiprocessor) via a randomly generated shader that operates on each ray's unique string of labels. This can be done by including the shader compiler with Raycoin and using the hash of each block as a seed to generate HLSL code. The code could not be completely random as it must adhere to SM strengths, executing coherently among groups of rays in a fixed time while preserving the randomness of the string, but having semi-arbitrary shaders compiled as a proof of work step would be fundamental towards mitigating significant (4x or more) ASIC efficiencies, forcing them to look more like the general purpose SM. This changing code would be entering territory dominated by FPGAs, but they are complex to design, expensive commercially, and would be slower to synthesize their logic gates compared to the compiler. These shaders would perform random floating point / integer math with reads/writes across the register file and deep data dependencies, cache and texture reads, warp-level (inter-thread) operations, coherent and well-predicted flow control, all tuned to typical GPU pipelines and parameters. The amount of work done by this shader on each ray would be determined by the size of the whole SM relative to the RT core, ensuring that an ASIC could not have a more optimal density of components.
Jump to: