Live data from Hacker News

Tinychain: a pocket-sized implementation of Bitcoin

github.com

31–40 of 45 posts

Re: Tinychain: a pocket-sized implementation of Bitcoin

#34

Earlier quoted context omitted.

I agree, Ethereum needs better reading material. I bought an Ethereum book by Henning Diedrich and it's pretty light to be honest.

What are the top (say, three) things you'd like to learn from such a book? I agree, insides on the Ethereum tech (like how their proof of work relates to smart contract state, where the DAG fits in) are very brief / difficult to digest at some points. Ethereum is elegant in many ways - for example, strengthening security by rewarding the linking of orphan blocks in the network. I think there's a need for some better…

I think it should assume the reader is fairly educated on what Bitcoin is, as most newcomers to Ethereum are probably coming from the Bitcoin space, and then differentiating the two coins.

- What makes it potentially more powerful than Bitcoin?

- What are Ethereum Dapps/smart contracts good for and what are they not good for? There are definitely limitations to coding apps on a distributed network where every node has the code

- Developer intro

There's a lot of marketing gimmicky material out there jumping on the buzz word train ("Distributed! Consensus! OSS!") without offering any real value. Something with real substance that is presented effectively would be awesome

Re: Tinychain: a pocket-sized implementation of Bitcoin

#35
post #23

Earlier quoted context omitted.

In my toy blockchain implementation, I just went with two constraints: 1) every timestamp must be strictly larger than the one of the previous block (this makes difficulty calculation easier) 2) timestamps may not be in the future (except for a little wiggle room for unsynchronized clocks) My reasoning was roughly as follows: Miners are incentivized to pick very large timestamps, because the longer it takes to mine X…

Your method is easily exploited by a malicious miner. Clocks across the network are going to have some inherent amount of skew. By forcing blocks to have incrementing timestamps and also by refusing to accept blocks in the future, you have made it easy for me as a miner to commit abuse. Instead of picking the exact current time, I will pick a time that is as far in the future as the network allows (taking full advant…

Yes, if the next block by an honest miner is very quick it will pick a timestamp of (wrong_timestamp + 1) instead of the actual time, but after a few blocks they will certainly able to use the correct time again.

But even if all miners decide to do as you say and always pick a date slightly in the future but inside the wiggle room, all that they achieve is a one-time very slight difficulty decrease, but by the next difficulty adjustment that's already lost because by then both the start date and end date of the period are offset by the same amount into the future.

Re: Tinychain: a pocket-sized implementation of Bitcoin

#36
post #31

There should be one of those awesome-* Github repos with a list of lightweight, readable implementations of various protocols/technologies.

I just created it: https://github.com/jchampemont/awesome-implementations

If it gets important enough, I'll send it to the awesome list repository.

Feel free to contribute guys!

Re: Tinychain: a pocket-sized implementation of Bitcoin

#37
post #31

There should be one of those awesome-* Github repos with a list of lightweight, readable implementations of various protocols/technologies.

I just created it: https://github.com/jchampemont/awesome-implementations If it gets important enough, I'll send it to the awesome list repository. Feel free to contribute guys!

Ahhhhh - missed you by 1 minute... :) https://github.com/mathiasrw/LRIP

Re: Tinychain: a pocket-sized implementation of Bitcoin

#38

Earlier quoted context omitted.

I just created it: https://github.com/jchampemont/awesome-implementations If it gets important enough, I'll send it to the awesome list repository. Feel free to contribute guys!

Ahhhhh - missed you by 1 minute... :) https://github.com/mathiasrw/LRIP

[deleted]

Re: Tinychain: a pocket-sized implementation of Bitcoin

#39

Earlier quoted context omitted.

I just created it: https://github.com/jchampemont/awesome-implementations If it gets important enough, I'll send it to the awesome list repository. Feel free to contribute guys!

Ahhhhh - missed you by 1 minute... :) https://github.com/mathiasrw/LRIP

Haha it was a close call!

Re: Tinychain: a pocket-sized implementation of Bitcoin

#40
post #6
post #5

Earlier quoted context omitted.

Couldn't you just do everything in UTC?

I'm not sure how that solves anything, since UTC would have the same issues as a UNIX timestamp.

I'd assume the correct thing to do is a vector clock, where each blocks time stamp is nothing more than a offset from the previous blocks.

It's easy to get most machines in agreement with how long a second is, but it's very very hard to get all nodes in agreement to what the exact time is.

So skip it entirely.

Post reply on HN