2018-11-01 05:28:57
Hey guys, I am Ruben. I've been running the Bitcoin Meetup in Seoul for nearly 5 years, and I recently gave a presentation at Scaling Bitcoin in Tokyo (Statechains, L2 scaling). @Truise summoned me here to ask some questions about this project, since I am a pretty strong ICO/altcoin skeptic and he likes the project, so here I am :slightly_smiling_face:
Ruben Somsen
2018-11-01 05:30:04
Skeptical is usually a good starting point
Fireduck
2018-11-01 05:30:22
I agree :slightly_smiling_face:
Ruben Somsen
2018-11-01 05:31:49
@Fireduck, what motivated you to create a new coin? And what do you think makes SNOW stand out from what's already out there?
Ruben Somsen
2018-11-01 05:33:27
I have been involved in Bitcoin for quite a while and appreciated it as novel concept but thought some things could be done differently with the benefit if things we have learned since then.
Fireduck
2018-11-01 05:34:16
There are a few things that make it stand out, the snow PoW method using large data files, the multiple signing algorithm support. Discarding OP codes as an unneeded complication for a currency.
Fireduck
2018-11-01 05:34:52
My thought on that is either go full smart contract like ethereum or keep it simple (addresses only)
Fireduck
2018-11-01 05:35:00
So snowblossom is on the simple side there
Fireduck
2018-11-01 05:36:10
OK, so would it be fair to say you consider snowblossom superior in some meaningful ways, so therefore you think it should exist and people should use it?
Ruben Somsen
2018-11-01 05:37:10
(maybe not entirely clear: I don't mean to say you think it is superior in every way, just some)
Ruben Somsen
2018-11-01 05:37:28
Absolutely. I think the codebase is a lot simpler, which is important for a long term cryptocurrency. It should be understandable by as wide of a group as possible.
Fireduck
2018-11-01 05:38:12
There are also small but important refinements, like the UTXO root hash in every block
Fireduck
2018-11-01 05:38:22
OK, interesting argument. Allowing more people to understand the code.
Ruben Somsen
2018-11-01 05:38:25
makes it much easier to prove answers given to lite clients are full and correct.
Fireduck
2018-11-01 05:39:31
Speaking of doing things differently from bitcoin, it stood out to me that you kept the halving schedule, despite it being pretty widely criticized for being too severe. It surprised me that you didn't go with a more gradual curve.
Ruben Somsen
2018-11-01 05:40:04
I thought about that, but in the end I wanted to keep that simple and the halving is simple
Fireduck
2018-11-01 05:40:38
I honestly don't think it was important. I think having a total cap is important, but I don't think the schedule really matters.
Fireduck
2018-11-01 05:40:54
Plus I am not an altcoin expert, so I don't know what things people have argued to death already. :wink:
Fireduck
2018-11-01 05:41:22
I see, that's a pretty strong commitment to simplicity. Halving does seem to be quite a shock to mining, but it seems the difficulty adjustment is faster for your coin, so I guess that helps.
Ruben Somsen
2018-11-01 05:41:58
yeah, the difficulty is important and I think my per block difficulty adjustment is a good improvement
Fireduck
2018-11-01 05:42:11
and is needed for the snowfield jumps
Fireduck
2018-11-01 05:42:33
Regarding multiple signing, why do you consider this an advantage? I can think of both up and downsides.
Ruben Somsen
2018-11-01 05:42:53
Part of the advantage there is long term, like decades long term.
Fireduck
2018-11-01 05:42:56
To make sure I understood correctly: you mean different types of cryptography can be used to make signatures.
Ruben Somsen
2018-11-01 05:43:17
Eventually, some things are going to be broken or weakened and it is good to give the control to the users
Fireduck
2018-11-01 05:43:23
about which signing algorithm to use
Fireduck
2018-11-01 05:43:39
Have you thought about the potential downsides?
Ruben Somsen
2018-11-01 05:43:57
also having a multiple algorithm system makes it easier to add new algorithms as appropriate (like for post quantum)
Fireduck
2018-11-01 05:44:12
oh yeah, any node not having access to bouncy castle is going to be rather hard
Fireduck
2018-11-01 05:44:26
because a validating node needs to understand them all to validate transactions
Fireduck
2018-11-01 05:44:35
bouncy castle?
Ruben Somsen
2018-11-01 05:44:51
a crypto library, very popular in java and c++
Fireduck
2018-11-01 05:45:53
I believe it is already quite easy to add new algorithms to most coins as a soft fork, so I am not sure if there would be a big difference in that regard.
Ruben Somsen
2018-11-01 05:46:43
I can't really speak to that. I imagine they would have to add a field for signature type to transactions and such, but yeah, probably not too hard.
Fireduck
2018-11-01 05:47:28
Some other downsides I can think of are that most people will end up using the cheapest signature type, rather than the most secure one. And a loss of privacy for using non-standard signature types. And it makes optimizing the cryptography and signature aggregation more difficult.
Ruben Somsen
2018-11-01 05:47:54
batch validation won't work across different signature types, for instance
Ruben Somsen
2018-11-01 05:48:16
batch validation would be using some sort of acceleration like gpu?
Fireduck
2018-11-01 05:49:12
No, for instance, say you have 10 signatures. You can check them all simultaneously and you will learn whether they are all correct or whether one of them failed, but you won't know which one.
Ruben Somsen
2018-11-01 05:49:46
This is faster than individual checking, at the loss of some accuracy that doesn't really matter since you need everything to be valid.
Ruben Somsen
2018-11-01 05:50:18
alright. You could batch the things that are the same algorithm and that would be most things, at least at this point
Fireduck
2018-11-01 05:50:27
yeah
Ruben Somsen
2018-11-01 05:51:17
I've also changed how the signing is done, if you have multiple inputs that need the same public key, there is one signature for the transaction rather than one per input (which I think bitcoin does)
Fireduck
2018-11-01 05:51:33
so it makes a sweep transaction for a bunch of things sent to a single address much smaller
Fireduck
2018-11-01 05:51:55
Right, but this assumes address reuse, which is considered bad practice
Ruben Somsen
2018-11-01 05:52:12
sure, one of those things up to users
Fireduck
2018-11-01 05:52:35
Schnorr signatures will end up with the same space saving, without loss of privacy
Ruben Somsen
2018-11-01 05:53:11
It's also considered bad practice to give financial incentives to ruining your own privacy, because it also ruins the anonymity set of others who wish to be private
Ruben Somsen
2018-11-01 05:54:25
So the lack of opcodes is interesting. I do like the simplicity, kind of like what mimblewimble ended up with, but you're also closing the door on second layer protocols like Lightning.
Ruben Somsen
2018-11-01 05:55:28
Yeah. As someone who wrote an electrum server and had to deal with trying to resolve op codes to addresses in some sort of sensible way I thought it was a good compromise.
Fireduck
2018-11-01 05:56:10
also it was my impression that a lot of early bitcoin bugs related to op code interpretation and I was trying to avoid that
Fireduck
2018-11-01 05:56:40
I'd really love to make a full on smart contract supporting system, but that would be a separate project
Fireduck
2018-11-01 05:58:12
But doesn't that clash with your stated objective of making something better? It sounds like the limitations of what you think you can realistically accomplish are at odds with that.
Ruben Somsen
2018-11-01 05:58:38
In my experience, simpler is often better.
Fireduck
2018-11-01 05:58:52
I do think it's reasonable to limit the bitcoin scripting language even further.
Ruben Somsen
2018-11-01 05:59:21
I'm certainly not trying to cover every use case, that would be madness
Fireduck
2018-11-01 06:00:04
but there are lots of room to do interesting things without op codes, but by adding extra data to transactions or transaction outputs
Fireduck
2018-11-01 06:00:36
like the output locking and for benefit of work I have for my channels project
Fireduck
2018-11-01 06:00:47
if that data is interpreted in some script-like fashion then you're back to opcodes haha
Ruben Somsen
2018-11-01 06:01:01
true
Fireduck
2018-11-01 06:01:05
channels project?
Ruben Somsen
2018-11-01 06:01:23
https://docs.google.com/document/d/18H70nQZVXh5Mw96dj5sUswICj6VKqwtrMjHTatB6ESs/edit
Fireduck
2018-11-01 06:01:43
It would be a distributed data framework for social platforms
Fireduck
2018-11-01 06:01:49
in very early phase
Fireduck
2018-11-01 06:02:10
Cool, I'll read through that later
Ruben Somsen
2018-11-01 06:02:36
Is it platform agnostic, or does blossom specifically need to be altered to work with it?
Ruben Somsen
2018-11-01 06:03:08
The intersection point with snowblossom is the idea of locking an output for some time period in order to provide some backing to a social identity
Fireduck
2018-11-01 06:03:33
So an account with 1000 SNOW locked up for 2 years is probably not a spammer. Might be an asshole, but not a spammer.
Fireduck
2018-11-01 06:04:19
OK, that does sound like it could be built on top of any crypto.
Ruben Somsen
2018-11-01 06:04:32
yeah, just needs an ability to lock and mark
Fireduck
2018-11-01 06:04:49
so in snowblossom I added output locking and a way to note an address it is locked for
Fireduck
2018-11-01 06:04:50
yeah, I was going to ask, does that mean timelocks are supported?
Ruben Somsen
2018-11-01 06:05:13
only on transaction outputs
Fireduck
2018-11-01 06:05:23
so you can make an output that can't be spent for some time
Fireduck
2018-11-01 06:05:41
later I plan on supporting them on transactions as well, to make a transaction that can't be confirmed until some time
Fireduck
2018-11-01 06:05:50
You should consider supporting relative timelocks. That combined with Schnorr will make you fully compatible with Lightning.
Ruben Somsen
2018-11-01 06:06:19
relative to what? Sorry, I am out of loop on lightning.
Fireduck
2018-11-01 06:06:40
No worries, relative to when the transaction got confirmed on the blockchain.
Ruben Somsen
2018-11-01 06:06:48
ah, interesting
Fireduck
2018-11-01 06:07:01
yeah, that would be easy
Fireduck
2018-11-01 06:07:13
Yup, it's a small step from absolute timelocks.
Ruben Somsen
2018-11-01 06:07:27
currently support block height and clock time
Fireduck
2018-11-01 06:08:04
If simplicity is your goal maybe eliminate clock time haha
Ruben Somsen
2018-11-01 06:08:26
time is kind of a malleable concept in blockchains
Ruben Somsen
2018-11-01 06:08:27
gotta include it for mining difficulty adjustments so might as well use it
Fireduck
2018-11-01 06:08:33
yeah, I know
Fireduck
2018-11-01 06:08:34
true
Ruben Somsen
2018-11-01 06:09:19
So what about funding, because that is usually where altcoin incentives become problematic.
Ruben Somsen
2018-11-01 06:09:43
Even if you have good intentions, there are many people willing to inject capital in your innocent project to use it for their not so innocent pump.
Ruben Somsen
2018-11-01 06:10:42
I can't prove it, but I have good intentions. :wink: Of course, someone could pump and dump this thing and I have no idea how to stop that.
Fireduck
2018-11-01 06:11:06
I guess I'd just say I am in the long haul and anyone thinking about putting in money should think in those terms.
Fireduck
2018-11-01 06:11:41
I'm really excited about UTXO headers. I feel built in light clients are extremely important to any actual scale. With improvements, it might be possible to add anonymity and privacy as well, even on public nodes.
I've sat there day in and day out helping people setup electrum light wallets and bitcoin wallets in many contexts. It's really hard to seriously manage blockchain data and security for most people.
Clueless
2018-11-01 06:12:47
Have any investors approached you and asked about options to somehow obtain a chunk of coins?
Ruben Somsen
2018-11-01 06:13:24
Only on <#CB40FDCF9|trade> and not specifically asked me
Fireduck
2018-11-01 06:13:57
most people interested in going in seem to setup mining rigs and don't say anything but it is hard to tell
Fireduck
2018-11-01 06:14:10
Is there any funding you have been able to receive so far?
Ruben Somsen
2018-11-01 06:15:03
I haven't sold any of my coins. I've in fact bought some on qtrade once that launched.
Fireduck
2018-11-01 06:15:22
So I haven't received anything for this project, other than the tips people have set in their mining pools
Fireduck
2018-11-01 06:15:59
Will you be able to continue without funding?
Ruben Somsen
2018-11-01 06:16:15
absolutely
Fireduck
2018-11-01 06:16:27
That's always a good position to be in
Ruben Somsen
2018-11-01 06:16:29
it isn't like we are hiring anyone, except of course the guy we are having make the android wallet
Fireduck
2018-11-01 06:16:39
and that isn't a huge chunk
Fireduck
2018-11-01 06:16:45
Who is 'we' in this context?
Ruben Somsen
2018-11-01 06:16:56
Zac (clueless) and I
Fireduck
2018-11-01 06:17:17
Ah I see, so it's the two of you doing the coding? I thought it was just you
Ruben Somsen
2018-11-01 06:17:21
We have one other member who has been in from the start but he is super busy doing volunteer computer science teaching so he is a ghost
Fireduck
2018-11-01 06:18:10
Almost all of the code has been me. Tyler (the ghost) has done a bit. Zac is mostly helping with other things, like organization, community management and installation scripting
Fireduck
2018-11-01 06:18:18
he is working on a python client as well
Fireduck
2018-11-01 06:18:47
Gotcha
Ruben Somsen
2018-11-01 06:19:22
So long term how do you want things to turn out? Because if you do get successful people will be knocking on your door asking for favors.
Ruben Somsen
2018-11-01 06:20:23
Personally, I've done pretty well with Bitcoin so am already fairly successful.
Fireduck
2018-11-01 06:20:51
Long term, I'm not really sure. Mostly I want to do work that people care about and gets used.
Fireduck
2018-11-01 06:23:30
Why did you not join some decent existing projects like mimblewimble? Do you prefer working freely on your own thing?
Ruben Somsen
2018-11-01 06:24:32
I really enjoy doing my own thing. It was also a fun challenge. There are lots of bits of code that are pretty tricky in a cryptocurrency.
Fireduck
2018-11-01 06:24:45
If i joined another project, they probably would have already done all the fun parts.
Fireduck
2018-11-01 06:25:46
Yeah, I can relate to the desire to build your own thing from scratch.
Ruben Somsen
2018-11-01 06:26:05
OK so the final topic I have for you is mining.
Ruben Somsen
2018-11-01 06:27:23
As you know it's incredibly hard to make something ASIC resistant. If you ever gain a decent level of success I think you can probably forget about mining with regular hardware.
Ruben Somsen
2018-11-01 06:27:58
sure. I am hoping to disprove that, but we shall see.
Fireduck
2018-11-01 06:28:42
Is this a domain you are particularly knowledgeable in? Even if you're good in software, hardware is a whole different ball park.
Ruben Somsen
2018-11-01 06:29:30
It is not. I have a hypothesis and no one has told me I am way off yet.
Fireduck
2018-11-01 06:30:09
My hypothesis is that no ASIC will be able to do random access on bulk data more cost effectively than consumer SSD/NVME or consumer RAM.
Fireduck
2018-11-01 06:30:33
Since gamers love those things, so with the gaming market the price will always be decent for those things.
Fireduck
2018-11-01 06:31:02
Well we've already seen the opposite happen. Gamers were unable to buy graphic cards haha.
Ruben Somsen
2018-11-01 06:31:35
ha, true.
Fireduck
2018-11-01 06:32:19
But firstly, it seems ram beats out ssd
Ruben Somsen
2018-11-01 06:32:38
is it even worth talking about ssd?
Ruben Somsen
2018-11-01 06:33:02
yes, once the field is large enough were ram mining isn't common then SSD will be the thing
Fireduck
2018-11-01 06:33:27
That was the plan anyways. I don't know how it will play out of course.
Fireduck
2018-11-01 06:34:06
but why wouldn't I just add more ram as you increase the field (is this a hard fork btw?)
Ruben Somsen
2018-11-01 06:34:43
RAM gets very expensive very fast. You could build a 128gb machine for about $2k.
Fireduck
2018-11-01 06:34:47
ram is like an ASIC with higher up front cost but faster 'hashing' no?
Ruben Somsen
2018-11-01 06:34:52
A 256gb machine would be way more than double that price.
Fireduck
2018-11-01 06:35:14
I mean you gotta think custom hardware here, not consumer hardware
Ruben Somsen
2018-11-01 06:35:33
is a specialized machine going to outcompete consumer hardware
Ruben Somsen
2018-11-01 06:35:39
sure. And that might end up being what happens, I could see someone making custom boards and filling them with DDR4
Fireduck
2018-11-01 06:36:21
Does it count as specialized if you have a network attached cluster of consumer hardware?
Fireduck
2018-11-01 06:37:08
In a practical sense, it probably does since someone would be purchasing this stuff for mining
Fireduck
2018-11-01 06:38:09
I made software that does that, it works surprisingly well due to how the 4k read limitation on almost all block devices works out: https://wiki.snowblossom.org/index.php/Mining/Tuning#Arktika
Fireduck
2018-11-01 06:39:42
The argument I've seen made against chia is that the cost isn't electricity, so instead the cost moves to efficiently producing and adding more hardware
Ruben Somsen
2018-11-01 06:40:26
you'll end up with data centers filled with more and more hardware, up to the point that the value of the coin supports adding more cost effectively
Ruben Somsen
2018-11-01 06:41:10
so whereas bitcoin mining clusters around cheap electricity, this will cluster around cheap production
Ruben Somsen
2018-11-01 06:41:26
The counter argument here is the magnitude of differences between custom and consumer.
Fireduck
2018-11-01 06:42:04
A DDR4 machine going all out will probably max out at around 10 MH/s depending on memory bus.
Fireduck
2018-11-01 06:42:22
A good nvme will get you 100 KH/s on a reasonable computer
Fireduck
2018-11-01 06:42:31
which is only 100x slower
Fireduck
2018-11-01 06:42:49
which seems like a lot, by compare a 15TH/s bitcoin asic miner to a 100 MH/s GPU.
Fireduck
2018-11-01 06:42:55
Much bigger difference there
Fireduck
2018-11-01 06:42:57
well I assume the mining algo is parallel, no?
Ruben Somsen
2018-11-01 06:43:19
each round is sequential, you can do many in parallel of course
Fireduck
2018-11-01 06:43:25
not sure if that answers what you were asking
Fireduck
2018-11-01 06:43:55
I mean why does a memory bus limit matter if you can just use two
Ruben Somsen
2018-11-01 06:44:31
Because you can only get so fast in and out of a memory chip, whatever it is
Fireduck
2018-11-01 06:44:51
also, you need the entire field available to whatever processor is running a PoW attempt
Fireduck
2018-11-01 06:45:28
so yeah, you can optimize for memory bandwidth but there will still be some sort of limit
Fireduck
2018-11-01 06:46:14
OK well this is as far as my knowledge goes
Ruben Somsen
2018-11-01 06:46:36
honestly, I am not a hardware design expert
Fireduck
2018-11-01 06:46:42
so I could really be wrong
Fireduck
2018-11-01 06:46:46
I am looking forward to finding out
Fireduck
2018-11-01 06:46:52
Yeah, you might want to hit up David Vorick
Ruben Somsen
2018-11-01 06:47:20
He's recently made it painfully clear that Grin is not quite as ASIC resistant as they were hoping
Ruben Somsen
2018-11-01 06:47:23
https://www.grin-forum.org/t/comments-on-the-proof-of-work-update-by-vorick-summarized/742) and the topic was focused mostly around the Proof of Work update(Proof of work update) suggested by the Grin dev team. This post will try to summarize the main points that were brought up during the conversation. This post will not go into the technica...
Ruben Somsen
2018-11-01 06:48:30
Thanks for taking the time to answer my questions, Fireduck. I hope things work out for you.
Ruben Somsen
2018-11-01 06:48:48
Thanks for asking them, it makes me feel like we might have something here.
Fireduck
2018-11-01 06:49:59
Haha, well I just hope you're ready for the path ahead. It's hard not to get side-tracked in this pump-and-dump world.
Ruben Somsen
2018-11-01 06:50:31
I've been in bitcoin for a long time, I can ride out whatever comes
Fireduck
2018-11-01 06:50:40
it should be fun
Fireduck
2018-11-01 09:55:39
@Fireduck @Ruben Somsen a single consumer machine will not break 10MH/s, it’s only a factor of 10 difference there
Rotonen
2018-11-01 15:00:50
What I want is something like a raspberry pi with a SATA or m.2
Fireduck
2018-11-01 15:10:20
^^i think this is the best idea. Doesn't really look like theres anything out there yet, but maybe in a few months from ODROID
offmenu
2018-11-01 15:15:10
The cool thing is that the cpu doesn't need to be fast enough to max out the storage, it can share over network
Fireduck
2018-11-01 16:40:44
@Fireduck i’ve been pipedreaming of these, but outlook not good
https://www.crowdsupply.com/traverse-technologies/five64 Quad-core ARM64 Networking Platform with Mainline Linux Support
Rotonen
2018-11-01 17:01:07
@Rotonen so what stats do you think would be useful to report or chart?
Clueless
2018-11-01 17:24:54
none
Rotonen
2018-11-01 23:06:58
@mjay where'd you have your testnet faucet at and did that have any instructions for the uninitiated?
Rotonen
2018-11-01 23:07:36
it is just a box on that page
Fireduck
2018-11-01 23:07:42
easy as eating pancakes
Fireduck
2018-11-01 23:08:21
now the hard bit is how to get someone completely uninitiated to have a both testnet node and a testnet wallet to play with
Rotonen
2018-11-01 23:08:36
unless you ship a testnet .bat and .conf for both
Rotonen
2018-11-01 23:09:21
i'm starting to lean towards the site needing a 'getting started' section pointing people to try it out on the testnet
Rotonen
2018-11-01 23:11:41
I can include a testnet .bat and .conf easily. Thought about doing so this morning, but I'm trying to not over-complicate things for anyone.
Clueless
2018-11-01 23:14:56
i think that's not possible with a pile of bats command line client
Rotonen
2018-11-01 23:15:17
i don't know how widely known the concept of a testnet is to people at large
Rotonen
2018-11-01 23:16:00
I think we should use testnet for user education
Fireduck
2018-11-01 23:16:28
No one should touch real crypto without playing with testnet first
Fireduck
2018-11-01 23:17:18
I agree
Clueless
2018-11-01 23:19:29
@Fireduck now that'd be on you to actually do a site which pushes people that way
Rotonen
2018-11-01 23:19:51
True
Fireduck
2018-11-01 23:20:21
i can only imagine you swinging between 'oh fuck' 'meh' and 'pff', mostly on the latter ends of that spectrum
Rotonen