TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Tendermint – The completely decentralized consensus engine

123 pointsby strzalekabout 10 years ago

12 comments

teraflopabout 10 years ago
The obvious question for anything that claims to solve Byzantine consensus is: what about Sybil attacks? If you rely on 2&#x2F;3 of all nodes to be honest, but you open up the network for anyone to join, what stops me from creating a million fake &quot;nodes&quot; and outvoting everyone else?<p>So far I&#x27;ve only skimmed the white paper, but I didn&#x27;t see any response to this problem. (If the answer is &quot;good guys can make lots of fake nodes too&quot; then you&#x27;re creating a computational arms race that will inevitably lead to just as much wasted effort as proof-of-work.)<p>There&#x27;s also the minor practical issue that every node has to do an amount of computation and network traffic that&#x27;s linear in the total number of <i>other</i> nodes, meaning the total workload grows quadratically with the size of the network.
评论 #9140491 未加载
评论 #9139671 未加载
评论 #9140602 未加载
评论 #9139647 未加载
评论 #9141252 未加载
评论 #9143152 未加载
jaekwonabout 10 years ago
Hi HackerNews!<p>We&#x27;re using TM consensus to create something more interesting than just a crypto &quot;currency&quot;, so the website and github hasn&#x27;t been updated in a while. But the algorithm is still sound (as far as we know) and we&#x27;re looking forward to launching soon!
fortytw2about 10 years ago
I have to agree with the whitepaper, &quot;Tendermint is awesome. The future is now.&quot; It seems like a marked improvement over proof-of-work style blockchains.
wwsculleyabout 10 years ago
Is this another fork of Ripple?<p><a href="https://wiki.ripple.com/Forks" rel="nofollow">https:&#x2F;&#x2F;wiki.ripple.com&#x2F;Forks</a>
评论 #9141442 未加载
kushtiabout 10 years ago
I&#x27;m a member of ConsensusResearch group <a href="https://github.com/ConsensusResearch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ConsensusResearch</a> . We made some simulation tools around (Nxt-like) proof-of-stake consensus algo &amp; published some papers around them.<p>One the possible improvements to proof-of-stake we&#x27;re willing to investigate now is proof-of-stake + proof of-activity hybrid, where proof-of-activity is implemented like noted in PoW+PoA paper <a href="http://eprint.iacr.org/2014/452.pdf" rel="nofollow">http:&#x2F;&#x2F;eprint.iacr.org&#x2F;2014&#x2F;452.pdf</a>. From my personal point of view TenderMint is also about kinda PoS+PoA hybrid but implemented in another way. Do you Tendermint folks have simulation tools or may be even stricter models around your consensus algo to play with?
评论 #9145029 未加载
peterwwillisabout 10 years ago
<i>&quot;We believe that the future is comprised of many interconnected-but-sovereign blockchains that serve different purposes for a variety of communities.&quot;</i><p>They&#x27;re building a securities market?
评论 #9141180 未加载
jkotabout 10 years ago
I am bit skeptical to this deposit method.<p>Large stock can easily control perhaps 10% of all coins. I think that might be enough to cause fork. Reward is huge, risk low (declare hack and go bankrupt).
评论 #9141644 未加载
jerguismiabout 10 years ago
At least the claims about Bitcoin sound like bullshit<p>&quot;Security difficult to quantify — depends on extrinsic factors&quot;<p>Nope, the security is very easy to quantify in Bitcoin - you know that there is certain amount of processing power behind a single block. As your transaction goes into the blockchain, you can be pretty damn sure that won&#x27;t be reversed, once enough computing power is behind it.<p>&quot;Blockchain forks often — difficult to build applications upon&quot;<p>Nope, bitcoin blockchain forks very rarely. Where is this claim pulled from?
评论 #9139971 未加载
评论 #9142938 未加载
评论 #9141967 未加载
jshererabout 10 years ago
Can anybody elaborate on the destruction of coins? Sounds dangerous...<p>&quot;If the validator causes the blockchain to fork while its coins are locked in bond, all of its coins are destroyed. This means that as long as you sync your blockchain with the network periodically you never have to trust a central checkpoint.&quot;
评论 #9139688 未加载
lappaabout 10 years ago
Critique follows<p>&gt;They propose a modification to the Bitcoin protocol such that it can tolerate colluding groups that control up to 1&#x2F;4 of the mining power – less than the previously assumed bound of 1&#x2F;2 of Byzantine mining power which requires an honest mining majority that follows the prescribed protocol.<p>Selfish mining is tolerable but unideal. It is a bit misleading to claim that 25% block withholding attacks are as critical as 51% attacks.<p>&gt;Users keep an account in the system, where the user’s account is identified by the user’s public key or address.<p>Promoting address reuse isn&#x27;t a good idea.<p>&gt;When a validator signs duplicitously, a short evidence transaction can be generated by anyone with the two conflicting commit-vote signatures<p>The assumption that an attacker will tell you he is attacking isn&#x27;t a very strong one.<p>&gt;A user can avoid long-range attacks by syncing their blockchain periodically within the bounds of the unbonding period.<p>This security assumption means means that no one can safely join the network and perform an initial sync. It isn&#x27;t explained how they prevent long range attacks, but it can be assumed that they do it through disallowing reorgs.<p>Disallowing reorgs allows another consensus breaking attack. The entire purpose of reorgs is to maintain consensus, so if an attacker can create a blockchain of length bond-period, they can trick you so you don&#x27;t achieve consensus with the &quot;main&quot; blockchain.<p>Another thing that is worrying about this whole idea is that 2&#x2F;3 of validators must come to consensus on what block to use. If you choose a block and broadcast your signature, you cannot sign again. So how do the validators solve the Byzantine Generals Problem? How do they determine which block they will sign? They could go with the first block they see, but that leaves you open to sybil attackers running many nodes and sending validators different blocks in order to trick them into splitting their vote. These are the fundamental problems that consensus systems are meant to solve, consensus systems shouldn&#x27;t have to have a 2nd consensus system to support itself.<p>&gt;There are three types of votes: a prevote, a precommit and a commit<p>It seems the paper is attempting to solve the previously mentioned problem, however the most fundamental explanation for the problem with this is explained by Byzantine Generals Problem. The problem essentially involves you sending a message of &quot;I&#x27;m ready to attack&quot; back and forth, but because you cannot know they received the message, you cannot attack. If they reply with a &quot;okay, we got the message&quot; message, they don&#x27;t know that you received the message, so they don&#x27;t know whether to attack. Whether there is 1 back and forth, 3 as in a &quot;prevote to attack&quot;, a &quot;precommit to attack&quot; and a &quot;commit to attack&quot;, or 100 back and forths, you aren&#x27;t achieving consensus, you&#x27;re skirting the issue.<p>The next few sections explain the mechanism, but not how it actually solves Byzantine Generals Problem. with additonal assumptions based on things that require consensus including &quot;If there are less than 1&#x2F;3 in Byzantine voting power and at least one good validator decides on a block B, then no good validator will decide on any block other than B&quot;<p>&gt;Each round has a designated proposer chosen in round-robin fashion such that validators are chosen with frequency in proportion to their voting power<p>If the pseudo-random seed for the next round validators is information that can be decided by &quot;previous&quot; (or not so previous) validators, a validator can choose themselves. With a high number of validators, it may take a few thousand blocks for, say, a 3% stakeholder to randomly be selected for a sufficient number of votes to choose the next seed, but once they have ground[1] their first block and made themselves a majority of validators, they can repeat over and over and control the blockchain.<p>&gt; Say that some good validators locked on block B and round R, and some good validators locked on block B0 at round R0, where R &lt; R0. In this case the proof-of-lock from R0 included in a proposal by a good validator will eventually unlock those validators locked on R allowing the consensus process to continue.<p>This &quot;solution&quot; helps prevent 33% deadlocks, I agree, however now you can seed your stakegrinding attack with an incredibly small validator&#x2F;voter %. Depending on the parameters of the system, you may only need to become a validator once to control the entire blockchain forever.<p>The system of voters has somewhat <i>obscured</i> it, but stake grinding[1] is still a major problem, in fact, it is probably the simplest and cheapest attack vector on the system defined in this paper.<p>In conclusion, this system has severe sybil problems, consensus problems, centralizations problems (in that one person could control the entire blockchain cheaply), structure problems (address reuse) and usability&#x2F;security assumption problems (no one can safely sync with the network after the first bonding period is up?).<p>[1]Stake grinding is the process of changing data in a block to create a large number of new seeds (sometimes billions or trillions) until the seed designates you as the &quot;winner&quot;, or in this case majority of validators.
评论 #9141669 未加载
评论 #9141822 未加载
hurinabout 10 years ago
<i>If the validator causes the blockchain to fork while its coins are locked in bond, all of its coins are destroyed. This means that as long as you sync your blockchain with the network periodically you never have to trust a central checkpoint.</i><p>This sounds very bogus. I&#x27;d like to see some algorithm details. Most likely it&#x27;s just an excuse for another pyramid scheme.
curiouslyabout 10 years ago
say you want to create a cryptocurrency but you want miners spending their electricity and computing power on something productive, or some transferrable state which can be consumed by another crowd of people.<p>what would it take and how would you go about building it? This seems like what tendermint is doing?