ریشه اعتماد بیتکوین

معماری امنیت سنتی مبتنی بر یک مفهوم به نام ریشه اعتماد است که یک هسته قابل اعتماد است که به عنوان پایه ای برای امنیت کل سیستم یا نرم افزار مورد استفاده قرار می گیرد. معماری امنیت در اطراف ریشه اعتماد یک سری از دوایر متحدالمرکز ، مانند لایه های پیاز، را ایجاد می کند که اعتماد را به خارج از ریشه توسعه می دهند. هر لایه بر پایه لایه داخلی قابل اعتمادتر با استفاده از کنترل دسترسی، امضاهای دیجیتال، رمزگذاری و دیگر اولویت های امنیتی ایجاد می شود. از آنجا که  سیستم های نرم افزاری پیچیده تر شده اند، احتمالا حاوی اشکالاتی هستند که باعث آسیب پذیر شدن آنها می شود. در نتیجه هرچه یک سیستم نرم افزاری پیچیده تر می شود، برقراری امنیت آن سخت تر می شود. تصویر کلی ریشه  اعتماد، اطمینان می دهد که بیشترین  اعتماد در بخش ساده تر سیستم قرار می گیرد و  کمترین آسیب پذیری را دارد، در حالی که نرم افزار پیچیده تر در اطراف آن لایه بندی شده است. این معماری امنیتی در مقیاس های مختلف تکرار می شود، ابتدا ریشه ای  اعتماد در داخل سخت افزار یک سیستم واحد ایجاد می شود، سپس آن ریشه اعتماد را از طریق سیستم عامل به سرویس های سیستم سطح بالا گسترش می دهند و در نهایت در بسیاری از سرورها دوایر متحدالمرکز اعتماد گسترش می یابد.
معماری امنیتی بیتکوین متفاوت است. در سیستم بیتکوین، سیستم تجمیع، یک سند عمومی قابل اعتماد را ایجاد می کند که به طور کامل غیر متمرکز است. یک  بلاک چین که به درستی تایید شده، از تشکیل بلاک به عنوان ریشه اعتماد استفاده می کند، و یک زنجیره اعتماد تا بلاک کنونی می سازد. سیستم های بیتکوین می تواند و باید از بلاک چین به عنوان ریشه اعتماد خود استفاده کنند. هنگام طراحی یک برنامه پیچیده بیتکوین که شامل خدمات در بسیاری از سیستم های مختلف می شود، بایستی با دقت معماری امنیتی را بررسی کنید تا اطمینان حاصل شود که اعتماد قرار داده شده است. در نهایت تنها چیزی که باید به صراحت مورد اعتماد قرار گیرد، بلاک چینی کاملا معتبر است. اگر برنامه شما صراحت یا به طور ضمنی از هر چیزی به غیر از بلاک چین برای اعتماد استفاده کند، باید نقطه ای از نگرانی را به عنوان نقاط آسیب پذیری معرفی کرد. یک روش خوب برای ارزیابی معماری امنیتی برنامه شما این است که هر یک از مولفه های منحصربه فرد را در نظر بگیرید و یک سناریوی فرضی را که در آن مولفه کاملا به خطر می افتد و تحت کنترل یک بازیگر مخرب قرار می گیرد، ارزیابی کنید. هر یک از اجزای نرم افزار خود را به نوبت تست کنید، اگر یک جزء به خطر افتاد، تاثیرات آن بر امنیت عمومی را ارزیابی کنید. اگر زمانی که اجزای سازنده به خطر افتاد، نرم افزار شما دیگر امن نبود نشان می دهد که شما به طور ضمنی اعتماد به آن جزء را نادیده گرفته اید. یک برنامه بیتکوین بدون آسیب پذیری باید فقط نسبت به نشانه گذاری مکانیسم تجمیع بیتکوین آسیب پذیر باشد. معنای آن این است که ریشه اعتماد آن بر اساس قویترین بخش معماری امنیت بیتکوین است.
نمونه های متعددی از مبادلات بیتکوین به این نکته اشاره دارند که معماری و طراحی امنیتی آنها حتی تحت دقیق ترین نظارت ها شکست خوردند. اگر چه پیاده سازی های متمرکز به طور صریح در مولفه های متعددی در خارج از بلاک بیتکوین، مانند کیف پول گرم، پایگاه داده های اسناد متمرکز، کلید های رمزگذاری آسیب پذیر و غیره سرمایه گذاری کرده اند. بدتر از همه، در اغلب موارد این اجزاء مورد اعتماد حتی کنترل های ابتدایی امنیتی نیز نداشتند.