Post by oscarakesson on Apr 26, 2018 15:17:07 GMT 1
Hej, funderade lite om hur Konsensus egentligen uppstår.
Konsensus som jag förstått det är när tillräckligt många noder tycker att en branch är korrekt, om två stycken olika branches skapas kommer den branch som flest noder tycker är rätt att "överleva" längst när fler och fler noder också tycker att det är ett bra block, och därmed fortsätta bygga på block över de redan godkända blocken.
Men vad händer om någon(snarare några) skulle sätta ihop massor av nodes för att sabotera?
Tar man de tre största mining poolerna: BTC.com (30.5%), AntPool (11.8%), ViaBTC (10.1) för en total procentenhet av 52,4%, skulle de i teorin kunna mine'a fram giltliga men "falska" block, och ett problem med det, utöver att det är falska block blir att det i teorin skulle vara bättre att vara på deras sida eftersom de har majoriteten av miningnodsen på sin sida. De kan då (om jag förstått allt rätt) skapa ett consensus som är "fel". När det nu också är så att många av dessa kryptovalutor är decentraliserade, vart skulle man vända sig för att rätta till detta? Jag tänker också anta om säg två till mining pooler ansluter sig till denna räd: SlushPool 9.4% och BTC.TOP på 7.5% så har vi istället 69.3% av all miningkraft, på felaktiga block, då lär ju absolut andra hoppa på den branchen av block istället för den "riktiga" som då bara är runt 30%.
Nu är detta inte speciellt troligt eftersom man behöver en otroligt stor mängd datakraft, troligen så pass mycket att det inte lär hända på ett bra tag, men risken finns fortfarande, och att bara anta att alla noder "gör rätt ifrån sig" kan bli rätt problematiskt i framtiden. Utan en centraliserad plats man kan fråga vad som är rätt eller vilka nodes som inte ger bra information hur ska man då veta vad/vem man ska lita på när det kommer olika information från olika noder?
Hur säkert är egentligen konsensus i en blockkedja om man vill lägga på nya block, eller spendera coins flera gånger eller liknande.
Skulle man inte kunna använda smart contracts för att delvis skapa "ett eget" konsensus inom kontraktet och via detta också skapa en centraliserad punkt för valutan inom sitt eget smart contract? Detta kanske förstör poängen med mycket av det som lockar många till kryptovalutor men kanske är ett sätt att komma runt om folk försöker "attackera" blockkedjan ofta. Vad tror ni?
Konsensus som jag förstått det är när tillräckligt många noder tycker att en branch är korrekt, om två stycken olika branches skapas kommer den branch som flest noder tycker är rätt att "överleva" längst när fler och fler noder också tycker att det är ett bra block, och därmed fortsätta bygga på block över de redan godkända blocken.
Men vad händer om någon(snarare några) skulle sätta ihop massor av nodes för att sabotera?
Tar man de tre största mining poolerna: BTC.com (30.5%), AntPool (11.8%), ViaBTC (10.1) för en total procentenhet av 52,4%, skulle de i teorin kunna mine'a fram giltliga men "falska" block, och ett problem med det, utöver att det är falska block blir att det i teorin skulle vara bättre att vara på deras sida eftersom de har majoriteten av miningnodsen på sin sida. De kan då (om jag förstått allt rätt) skapa ett consensus som är "fel". När det nu också är så att många av dessa kryptovalutor är decentraliserade, vart skulle man vända sig för att rätta till detta? Jag tänker också anta om säg två till mining pooler ansluter sig till denna räd: SlushPool 9.4% och BTC.TOP på 7.5% så har vi istället 69.3% av all miningkraft, på felaktiga block, då lär ju absolut andra hoppa på den branchen av block istället för den "riktiga" som då bara är runt 30%.
Nu är detta inte speciellt troligt eftersom man behöver en otroligt stor mängd datakraft, troligen så pass mycket att det inte lär hända på ett bra tag, men risken finns fortfarande, och att bara anta att alla noder "gör rätt ifrån sig" kan bli rätt problematiskt i framtiden. Utan en centraliserad plats man kan fråga vad som är rätt eller vilka nodes som inte ger bra information hur ska man då veta vad/vem man ska lita på när det kommer olika information från olika noder?
Hur säkert är egentligen konsensus i en blockkedja om man vill lägga på nya block, eller spendera coins flera gånger eller liknande.
Skulle man inte kunna använda smart contracts för att delvis skapa "ett eget" konsensus inom kontraktet och via detta också skapa en centraliserad punkt för valutan inom sitt eget smart contract? Detta kanske förstör poängen med mycket av det som lockar många till kryptovalutor men kanske är ett sätt att komma runt om folk försöker "attackera" blockkedjan ofta. Vad tror ni?