Author

Topic: Paribu - Teknik İnceleme (Read 208 times)

newbie
Activity: 20
Merit: 1
September 26, 2018, 09:32:52 AM
#1
Borsa Teknik İncelemeleri - Paribu Cheesy
https://image.ibb.co/m61UU9/on.png
Bu konuda borsaların yazılım mimarileri, yazılım dilleri , kullandıkları teknolojilere ve satın aldıkları hizmetlere değinmek istedim. Forumda yeni değilim fakat bazı özel sebeplerden dolayı paylaşımlarımları bu hesap üzerinden devam ettireceğim. İncelememin kayda değer olduğunu ve CEH sertifikalı yazılımcı olduğumu belirtmek isterim.

Borsa incelemelerini seri halinde paylaşacağım…
Verdiğim bilgilerde iddialıyım. Konu tartışmaya açıktır. 
Konu sırasına önce Paribu ile başlamak istedim…
 
Programlama Dili: PHP - Paribu bir çoğumuzun bildiği üzere php dili ile yazılmış.
Aslına bakarsanız yazılmamış geliştirilmiş bir sistemdir.
Laravel framework çatısı altında micro framework olarak geliştirilen Lumen’i kullanmaktadır.
Laravel’in tercih sebebi birçok servise ve teknolojiye hızlı adaptif olmasındandır.
Php en iyi en iyi frameworklerindendir. Şu sıralar web sanatçılarının framework’ü olarak ilk sırada .
Framework ün laravel olduğu bariz ortadadır. Oluşan sessionlar laravel_session adı altında ve laravel standartları çerçevesinde oluşmaktadır. Sisteme yapılan geliştirmeler, sistem çıktıları ve kullandıkları hizmetler laravel desteğini doğrudan sunmasa da paket olarak sunan uygulamalardır.
https://image.ibb.co/ekRJNU/session.png
Veri Tabanı: Mysql
DB de Primary anahtar int yerine char olarak uniqid()  kullanmaktalardır.
Muhtemelen cluster mimaride çalışmaktadır.

Cache DB: Redis.
Kullanıcılara sundukları verinin hızına bakılırsa kesinlikle redis tir.
Aynı zamanda authentication v.s işlemler için kullanıcıda auth session haricinde bilgi tutmuyorlar.
Sunucu diskinde barındırmakta hız açısından çok mantıksız olurdu.
Laravelin redis ile olan desteğinide göz önünde bulundurunca redis kullandıkları emin olabiliriz.

Socket katmanı: Socket.io + Pusher
(Pusher 3. Parti Socket kanallı veri dağıtım servisidir.)
(Socket.io Sunucu ve client tarafında anlık iletişimi sağlamak ve bunun için hemen hemen her tarayıcı ile ve çok farklı protokollerle çalışmayı hedeflemiş olan bu yapıdır.)
Yani paribu sunucusundan çıkan her socket verisi pusher sunucularından kullanıcılara dağıtılmaktadır.
İşlem girdileri post olarak yapılmaktadır. Yani veriyi anlık görseniz bile siz x miktarda btc satın almak istediğinizde verinin sunucuya ulaşması maximun 3 saniyeye kadar çıkabilir.
Pusher kullandıklarından dolayı jitter oranı fazla.
Aynı zamanda ufak bi hatadan dolayı detaylı incelendiğinde sunucu ip si buluna biliyor. Bu ufak hatayı düzeltmeleri dileğiyle Smiley
hatayı bulurlarsa kendilerine söyleyeceğim detay Pusher da böyle durumlar hep mümkün.
Laravel echo server güzel bir alternatif olabilir.
Hızdaki jitter kaybı ve güvenlik açısından.
Cloudflare in socket desteği ile de mükemmel olabilir.
 https://image.ibb.co/crESGp/socket.png
Mail hizmeti: Mandrill
Laravel in kullanıldığında entegre hizmet paketleri içindedir.
Kaliteli bir servistir.
SMTP authentication yoktur.
Json formatındaki veri mandrill’e gönderilir ve mandrill vastası ile kullanıcıya e-posta gönderilir.
Böylece sunucu ip sinin ortaya çıkması engellenir.
İletinin spam a düşmemesi için gerekli txt kayıtları cloudflare üzerinden dns e eklenmiş.
Gelen kutusu hizmeti için yandex kurum servisi kullanıyorlar. (Ben Google a tercih ederdim 5 dolar vermemek için değmez hayal edin yapalım demiş Google bu konuda)
Mx kayıtları da bu yönde.
 https://image.ibb.co/mTdnGp/mailinbox.png
 https://image.ibb.co/dLyXhU/mx.png
 https://image.ibb.co/dJfdNU/txtspf.png
Görsel arayüz: Yine Laravel ile entegre gelen Vue.js dir. Vue.js kullanıcı arabirimleri oluşturmak için kullanılan açık kaynak bir JavaScript iskeletidir. Var olan JavaScript kütüphaneleri ile birlikte kullanılabildiği için AngularJS ve React gibi rakiplerine karşı tercih edilebilmektedir ancak Tek Sayfa Uygulamaları yazmak için de kullanılabilmektedir. Lodash javascipt library sini iskelete ek olarak kullanmaktalardır. Tasarımları kendilerine özgürdür.
CDN: Cloud Flare Bildiğiniz gibi DNS sunucular istemcilerden gelen istekleri ilgili sunuculara yönlendirir. CloudFlare sitenin DNS sunucusu görevini üstlendikten sonra siteye gelen ziyaretçileri analiz ederek olası saldırıların önüne geçmeyi, sunucudaki trafiği azaltmayı, hatta sitenize bot koruması eklemeyi dahi sağlar. Bunlara ek olarak statik içerik cache lenmesi ve cdn hizmeti verir. Cloudflare in sunduğu hizmetleri aktif olarak kullanmakta ve name server yapısı itibari ile cloudflare in 5.000 dolarlık paketini aldığı belli olmakta.

SSL: GeoTrust EV SSL
Parayı kıymışlar 995$ digicert’ten EV SSL almışlar. https://www.digicert.com/secure-site-ssl/ev-ssl/
 
 https://image.ibb.co/d9AOp9/ssl.png

Cüzdan sunucuları: Herhangi bir RPC haberleşmesi yok. İşlemler el ile onaylanıyor. Yani sıcak cüzdana gelen transaction id ve tutar kopyala paribu admin panele yapıştır ile işliyor.
Çıkışlarda aynı şekilde sisteme düşen çekme isteklerindeki adresi kopyala yapıştır olarak çalışıyor.
TL geçidi: Banka entegrasyonları var para girişlerinde ama yine de elle kontrole edip onay veriyorlar. Çıkışlarda cüzdan sunucularında mantığı işletiyorlar. Bence olması gerek girişleri her türlü otomatiğe bağlasın. Çıkışlarda elle işlem yapsınlar. Yani admin panelden adresi kopyalayıp sıcak cüzdan dan yada banka dan parayı öyle çıksın.
Bu arada veri tabanlarında sıcak cüzdanda oluşturdukları adreslerin havuzu var. Yani 100 bin adres var sıcak cüzdanda yalnızca public adresleri sistem üzerinde biri para yatırmak için adres talep ettiğinde havuzdaki public adreslerden biri atanıyor. O yüzden defalarca hacklenmesine rağmen kimsenin parasını çalınmıyor. Yoksa defalarca kez hacklendi kripto bazlı para çıkışı yapamayan saldırganlar başım ağrımasın parada çalamıyorum diye uğraşmadı. Smiley
RPC ile para girişi kontrolünüde muhtemelen yapamadılar ondan yok…




Benim aklıma gelip incelediğim genel parçalar bu şekilde. İstekler gelirse ekleme yapacağım.
Jump to: