Bitcoin Suspected to Be NSA or CIA Project

Kaikkee sitä lukeeki :o http://www.ibtimes.co.uk/bitcoin-suspected-be-nsa-cia-project-1460439

Moinen salaliittoteoria olisi kyllä ihan uusi juttu näissä piireissä ;D Onhan esim. japanilaisten nimien kirjoitusasussa sukunimi ensin, tyyliin Nakamoto SAtoshi. Vaikka tietysti teorian esittäjältä sopii kysyä: are you Sirius? josta taas tulee jotenkin mieleen Malmi ja sen louhinta.

Olisi mielenkiintoista saada tänne jonkun koodaamisesta hyvin perillä olevan henkilön lausunto siitä,
onko avoimeen lähdekoodiin mahdollista piilottaa takaovi ilman että kukaan muu sitä löytää.

[quote=“katlisa5963, post:3, topic:2209”]Olisi mielenkiintoista saada tänne jonkun koodaamisesta hyvin perillä olevan henkilön lausunto siitä,
onko avoimeen lähdekoodiin mahdollista piilottaa takaovi ilman että kukaan muu sitä löytää.[/quote]

on mahdollista mutta tässä tapauksessa bitcoinin koodin on nähnyt jo niin moni että olisi jo huomattu :smiley:

Vastauksesi lukeutuu nähdäkseni kvanttimaailmaan, jossa voi samanaikaisesti olla ja ei olla ::slight_smile:

[quote=“katlisa5963, post:5, topic:2209”][quote author=mig91 link=topic=2438.msg18804#msg18804 date=1407626816]
on mahdollista mutta tässä tapauksessa bitcoinin koodin on nähnyt jo niin moni että olisi jo huomattu :smiley:
[/quote]

Vastauksesi lukeutuu nähdäkseni kvanttimaailmaan, jossa voi samanaikaisesti olla ja ei olla ::)[/quote]

luin kysymyksesi vähän tarkemmin ja vastaus on ei. en usko että tuollainen on mahdollista

[quote=“katlisa5963, post:3, topic:2209”]Olisi mielenkiintoista saada tänne jonkun koodaamisesta hyvin perillä olevan henkilön lausunto siitä,
onko avoimeen lähdekoodiin mahdollista piilottaa takaovi ilman että kukaan muu sitä löytää.[/quote]
Periaatteessa ei ole mahdollista – tätä voi miettiä yleisemminkin matematiikan/filosofian kautta. Ihmisten kehittämä hyvin määritelty järjestelmä jne.

Käytäntö on tietysti paljon sotkuisempi. Bitcoinin kokoisessa softassa on niin paljon koodia, että harva jaksaa käydä sellaista ajatuksella läpi. Tietoturvakriittisissä järjestelmissä on tapana auditoida koodia, eli joku kolmas osapuoli käy koodia rivi riviltä läpi ja selvittää, mitä se oikeasti tekee. Käytännössä tämäkin on aika harvinaista, koska vaatii paljon aikaa. Pätevillä koodaajilla lienee parempaakin tekemistä.

Tässä ei vielä edes oteta huomioon sitä, miten ovelasti takaovi yritetään piilottaa. Vaikka koodia tutkisi kuinka fiksu ja kokenut koodaaja tahansa, on aina mahdollista, että joku muu on keksinyt jotain ovelampaa. Ohjelmoinnissa on kuitenkin niin valtavia mahdollisuuksia tehdä sama asia eri tavoin. Voi esim. kirjoittaa koodia joka muokkaa itseään, kuten jotkut virukset tekevät vältelläkseen torjuntaohjelmia.

IOCCC-kilpailussa haetaan vuosittain tällaisia ovelia menetelmiä, sitä kautta löytyy paljon mielenkiintoisia esimerkkejä. (Edit: Underhanded C Contest sopii aiheeseen vielä paremmin.)

On myös mahdollista, että lähdekoodi on täysin viaton, mutta kääntäjässä on pahiskoodia, joka asettaa takaoven valmiiseen ohjelmaan.

Tällaisen selvittäminen on toki ihan oma juttunsa, mutta noin yleisemmin voisi todeta, että myös suljettua, konekielistä ohjelmaa voi tutkia. Monesta kaupallisestakin softasta on löydetty takaovia erilaisilla analyysimenetelmillä. Voidaan esim. tutkia verkkoliikennettä tai muistin käyttöä tarkemmin.

Auditoitavan koodin määrästä tulee sellainenkin ongelma, että kun eri ihmiset analysoivat aina tietyn osan, niin kukaan ei oikein tiedä mitä kokonaisuus tekee. Koodin eri osien väliseen kommunikointiin voidaan piilottaa vaikka mitä. Tämä on oikeastaan laajempikin ongelma kaikissa softaprojekteissa, joihin osallistuu useampia ihmisiä. Virheitä tulee kun ei ymmärretä kokonaisuutta, vaikka jokainen hoitaisi oman tonttinsa puhtaasti.

Tästä voisi vielä palata matematiikkaan, jonka sovellusta kaikki ohjelmointi on. Gödelin epätäydellisyyslauseen mukaan matematiikka ei voi todistaa itseään oikeaksi – voidaan todistaa vain rajattuja väitteitä. Ajatus on hieman sama kuin se, että ihminen ei voi ymmärtää aivojensa toimintaa täydellisesti, koska siihen tarvittaisiin hieman tehokkaammat aivot. Tässä valossa on ymmärrettävää, että mikä tahansa suuri ohjelmistoprojekti voi sisältää yllättäviä sivuvaikutuksia. Se on kuitenkin eri asia kuin tietoisesti suunniteltu sivuvaikutus, ja kuten tieteessä, jos joku sellaisen keksii, on vain ajan kysymys milloin joku toinenkin sen löytää.