Mi az a zárt forráskód?
A zárt forráskódú szoftver kódja nem nyilvános. Csak a készítő vagy egy kiválasztott csapat tekintheti meg, módosíthatja vagy oszthatja meg. Képzelj el egy széfből elővett titkos receptet, amelynek az ételét te is megkapod, a receptet viszont nem.
„A zárt forráskód mindig biztonságosabb, mert a támadók nem láthatják a kódot.” Ez nem egészen így van. A titkosságon alapuló védelem segíthet, de a valódi biztonságot a tervezés, az auditok és a reagálási tervek adják.
Hogyan működik a zárt forráskód?
Képzelj el egy kriptotárcát, amelyet egy alkalmazásáruházból töltesz le. A kezelőfelületet látod, a belső működését viszont nem. A frissítések akkor jelennek meg, amikor a cég kiadja őket, te pedig minden verziónál megbízol az aláírásukban.
- 1. lépés: A csapat egy privát kódtárban írja a kódot, majd elkészíti a buildet.
- 2. lépés: Aláírják a buildet, és közzéteszik a weboldalukon vagy egy alkalmazásáruházban.
- 3. lépés: Telepíted, megbízva a márkában, az auditokban és az engedélykérésekben.
- 4. lépés: A hibákat a háttérben javítják, majd a következő frissítéssel adják ki.
- 5. lépés: Nem hozhatsz létre belőle saját változatot, és nem ellenőrizhetsz minden kódsort, ezért a bizalom is része az üzletnek.
Ennyi az egész: egyszerű, mégis nagyon elterjedt folyamat.
Miért fontos a zárt forráskód?
Zárt forráskód esetén az átláthatóságot kényelemre és gyorsaságra cseréled. Ez néha letisztultabb felhasználói élményt jelent, máskor viszont egy fekete dobozban bízol meg. Dönts tudatosan.
- Előny: Egyértelmű tulajdonosi viszonyok, gyorsabb termékfejlesztés és kevesebb utánzó.
- Nézőpont: A nyílt kód növelheti az átláthatóságot, míg a zárt kód védheti a cég szellemi tulajdonát.
- Jelentősége: Találkozhatsz vele tárcákban, exchange-ekben, bridge-ekben, sőt validátorkliensekben is.
Mielőtt zárt forráskódú tárcát használnál, nézz utána, végeztek-e rajta megbízható auditokat, működik-e hibajavítási jutalomprogram, és hogyan kezelte a csapat a korábbi exploitot. A korábbi viselkedésből következtethetsz a jövőbeli reakciókra.
A zárt forráskód főbb jellemzői
Általában a következőkkel jár:
- Irányítás: Csak a szolgáltató módosíthatja vagy teheti közzé a kódbázist.
- Hozzáférés: Bináris fájlokat kapsz, nem a teljes kódot, amelyet elolvashatsz vagy sorról sorra futtathatsz.
- Audit: Az ellenőrzések privátak vagy megbízás alapján végzettek, és olykor csak korlátozott részleteik nyilvánosak.
- Bizalom: A cégre, a frissítési szervereire és az aláírókulcsaira hagyatkozol.
- Adatok: Az állítások gyakran jobb adatvédelmet ígérnek, de mindig ellenőrizd, milyen telemetriai adatokat gyűjtenek.
Változatok
A zárt megoldások nem egyformák. Néhány gyakori változat:
- Proprietary: Teljesen zárt, a kódot soha nem teszik közzé.
- Forráskód-megtekintés: Elolvashatod a kódot, de nem használhatod fel szabadon.
- Nyílt mag: Bizonyos részek nyíltak, a prémiumfunkciók kódja viszont zárt.
- Csak auditálásra: A kódot titoktartási megállapodás (NDA) keretében megosztják az auditorokkal, a felhasználókkal azonban nem.
A zárt forráskód nem jelent automatikusan rosszat vagy tökéletest. Egy kompromisszumokkal járó választásról van szó, ezért mérlegeld a bizalmat, a múltbeli teljesítményt és a kockázattűrésedet.
Példa
Egy nagy, centralizált exchange mobilalkalmazása zárt forráskódú, ezért nem ellenőrizheted, hogyan tárolja a munkameneted adatait, vagy miként védi az API-kulcsokat.
Érdekesség
A hardvertárcákról szóló viták gyakran hevesek, mert a vezető gyártók megosztottak a kódolás filozófiáját illetően. A Ledger zárt forráskódú firmware-t használ, míg a Trezor inkább a nyílt forráskód híve. Ugyanaz a cél, egészen más hozzáállás.
Összefoglalás
Röviden: a zárt forráskódért cserébe lemondasz a kód átláthatóságáról, és nagyobb irányítást kapsz. Döntsd el, hogy ez a bizalmi ugrás beleillik-e az általad használt rendszerbe, és megéri-e a pénzed védelmében.