❶ 如何防範p2p存在的風險
風險一,資質風險。
網貸不同於金融機構,金融機構是「凈資本」管理,無論是銀行還是信託公司都要有自己的注冊資本,其注冊資本少則幾個億,多則十幾個億甚至幾十個億,且注冊資本不是用來經營的,而是一種擔保、是一種「門檻」。但由於網貸公司門檻低,政府尚沒有出台指導性意見,平台軟體幾千到幾萬都可以買到,很多在民間借貸欠款很多的人,買了個平台虛擬借款人、虛擬抵押物品,以高利率吸引投資人投資。高利率一般都是年利息最少為30%,個別平台達到了50%到70%。
風險二,管理風險。
P2P網路借貸,指的是投資個人通過網路平台把資金借給資金需求個人,看似簡單,其實是一個比銀行及其它金融機構都要復雜的模式。P2P網貸屬於新興產業,是金融行業的創新模式,其發展歷程不過幾年,市場並沒有達到成熟的地步。很多投資人及借款人都沒有正確對待這種金融產品,只是沖著高收益而去,而資金需求者則奔著套現而去。作為網貸公司本身,由於開設的初衷只是為了牟利,其組織架構中缺乏專業的信貸風險管理人員,不具備貸款風險管理的知識、資質,因此很難把握和處理好平台運營過程中所出現的問題,產生大量的壞賬,最終只能倒閉。
風險三,資金風險。
作為一家P2P網貸平台,投資人的資金流向也是至關重要的,不少網貸平台不僅沒有採取第三方資金管理平台,還可以動用投資人的資金,特別是一些網貸平台出現平台的老總自己借款從平台借款幾千萬,用於企業經營,達到自借自用,風險無人控制也無人承擔,其背後隱藏著巨大的資金風險只能落在投資人的頭上,這也是成為不少平台能出現跑路的原因。而目前最為安全的做法則是將投資人的資金置於第三方支付平台進行監管,作為平台要嚴控其動用投資人資金,唯有這樣才能給投資人的資金增加保障。
風險四,技術風險。
信息技術的進步,常引發新的、更多形式的安全威脅手段與途徑,隨著網貸行業的蓬勃發展,各平台多為購買模板,在進行技術改造時不能保證完全成熟和完善,存在安全隱患,而平台老總不重視技術,寧可花費幾十萬搞營銷也不肯重視技術,從而極大地影響計算機系統運行的穩定性。技術漏洞的存在,導致惡意攻擊風險不斷。如電腦黑客入侵等,攻擊平台、修改投資人賬戶資金、虛擬充值真提現等問題開始逐步顯現。特別是由於網貸屬於新興業務,相關的法律法規條文非常缺乏,黑客大肆攻擊、要挾平台事件頻繁出現,嚴重影響了平台的穩定運行。
❷ P2P是什麼
一.P2P(Peer-to-peer)概述
P2P是Peer-to-peer的縮寫,指的是點對點的意思,P2P作為一種邊緣技術,受到
眾多的關注,特別是近幾年,在互聯網上其發展勢頭是令人驚訝的,下面我就P2P作一下簡單的描述:
美國是計算機的發源地,眾多計算機的相關理論由美國最早提出,相關技術也由美
國最早實現;P2P也不例外,當18歲的Shawn Fanning開發出一個叫Napster的軟體時,不久便引起互聯網的一次巨大的震動,同時在社會上也引起強烈的反響,P2P概念也就應運而生了,它不僅僅是一種軟體架構,也是一種社會模式的體現。它的出現也引發了人們對現有某些社會模式的思考(就好比當強奸成為不可避免時,不如試著去享受,同樣當盜版成為不可避免時,我們該怎麼辦,呵呵,題外話了^-^)。
P2P歷經坎坷發展到現在,各方面技術也較成熟,現在P2P在應用上最廣泛便是網
格計算和資源共享(原則上網格計算也包括在資源共享內,因為資源共享本來就包括計算機中所有資源如處理器的共享,我們現在常用的資源共享也就是現有P2P軟體所實現的也就是硬碟資料共享而已),網路上流行的P2P軟體的架構手段主要有兩種:集中式和分布式。
集中式:便是利用伺服器作為媒介使各個分散的節點(用戶)能互相聯系,生成各種服務響
應各節點的業務需求,各節點一旦建立聯系,便可互相共亨對方資源,這種方 式可使各節點定位比較容易,易於搜索,查找,使各節點間容易建立比較固定
的關系,使得在此平台上開發進一步的應用更加易於推廣;但這種方式對服務
器性能要求也很高,應用系統功能越強大,對伺服器的要求就越高,比如搜索,
在此方式下如要提高搜索的命中和降低搜索的冗餘,則必須提高結點對伺服器
的請求次數,增加了伺服器資源的消耗;在這種架構中可以利用技術手段使得
某些大節點分擔一些伺服器的功能,從而降低伺服器的負荷。
分布式:每個節點即做伺服器又做客戶端,這種方式非常靈活,
此P2P網路內的任一節點便可與此網路進行資源互享,事實上,這種方式宏觀來看應屬於Peer-to-Net(PTN),任何一個節點只是此網路的一個組成部分,任何一個節點只是從此網路上獲取資源,它可以在一個公司或企業內部無需額外配置而實現一個企業內部P2P系統,這此方式搜索功能強大而靈活,能夠體現出P2P的本質;由於架構的原因,此方式節點定位能力極差,無法使節點之間產生比較固定的關系,搜索能力雖然靈活強大,但冗餘較大,如果技術手段處理不好很容易產生廣播風暴,引起網路資源的大量消耗,且些架構的技術實現難度極大,在國外特別是美國,此種架構應用較為廣泛;原因之一便是網路環境因素,之二便是社會因素;國內網路環境較為復雜,最為突出的便是區域網問題,這種復雜的網路環境對這種架構的技術要求就更加重要了,再有就是社會因素也使得國內的P2P趨向的集中式的架構模式。
在P2P中最核心的技術便是搜索功能,誰能在搜索功能上領先一籌,誰就能在P2P領域技術上領先一步,而P2P搜索功能的實現又依賴於一個好的架構模式,所以一個好的P2P架構可以決定一個P2P軟體在技術上的優勢;然而P2P的發展又不僅僅依賴於技術,比如說黃色問題,這是技術所難以解決的,之所以P2P軟體上的黃色資源在P2P系統上所佔比例(A)遠遠大於社會上的黃色內容所佔社會內容的比例(B),這應屬於一個不合理的現象,一個優秀的P2P軟體件要想發展壯大就必定把A控制在B的附近。
P2P作為一種概念,有著廣闊的應用前景,在技術日臻完善的今天,相信不久的將來
便會成為一種成熟的平台概念,而我們現在要做的便是盡力去推動它的發展,不斷完善現有的P2P理論基礎,不斷完善現有技術手段,
二.BT屬於P2P軟體,P2P只佔用用戶的帶寬,不佔用硬碟,而且只用於視頻直播流,不會復制、傳輸、修改用戶電腦的文件,所以不會對用戶的硬碟造成危害,也不會威脅到用戶的安全。
❸ 關於P2P技術的網路安全
P2P文件共享系統的實現分析
摘 要:系統Qt P2P file-sharing System (QPS)是利用Qt開發的P2P文件共享系統。QPS採用P2P中的混合模式,此模式結合了集中目錄式和純分布式兩者的優點,在實現上具有簡易性,在共享度上具有很強的擴展性。QPS的最大特點是加入了策略。這種策略能限制一些用戶只下載而不共享資源的行為。策略的引入是為了鼓勵用戶與其他人分享自己的資源,而不僅僅是索取。入策略的QPS不僅能比較有效的限制只下載不分享的行為,而且對系統的壽命也有相當程度的提高。�
關鍵詞:文件共享;P2P;策略;Qt��
C/S式架構造就了一批著名的門戶網站,如雅虎,新浪等。這些網站容易受到黑客的親睞後果是服務崩潰。C/S式架構只有一個伺服器或服務機群,伺服器一旦崩潰,它提供的服務也將停止。而P2P式架構卻正好相反,它沒有伺服器(相對C/S架構而言)或伺服器是分布的,一個伺服器崩潰了,其他的伺服器照樣能提供服務。這種架構能有效的抵抗DDOS攻擊,它的安全性有很可靠的保障。另外,採用P2P式架構的網路資源共享系統不但大大的減輕了單個伺服器的負擔,而且也提高了很大的安全性。人們也可以通過這種架構建立自己的信息天地,與其他的人分享自己的資源。�
1 系統設計實現的重點與難點�
系統QPS在Linux上用Qt開發,系統設計原理和策略都並不復雜,但這不代表系統的實現也是簡單的。對於系統的整個實現來說,有三個地方是最重要的,也是比較難的。先介紹系統運行流程:�
(1)Group-leader peer運行,並連接上其他的任意某個Group-leader peer;�
(2)Ordinary peer連接(登陸)某個Group-leader peer,並把所資源表發送個Group-leader peer;�
(3)Group-leader peer將已連接的其他PC的資源表發送給此ordinary peer;�
(4)Ordinary peer瀏覽資源並選擇下載或則向Group-leader peer發送資源搜索請求;�
(5)Group-leader peer將資源表中符合搜索的資源所在ordinary peer的IP發給請求ordinary peer,同時向其他以連接的Group-leader peer發送搜索請求,其他的Group-leader peer將資源IP反饋,收到反饋後再發送個搜索ordinary peer;�
(6)Ordinary peer從獲得的資源表中選擇下載,即與另一個ordinary peer建立連接,下載完畢後斷開連接。�
從上面的過程可以看出,系統共有三個通信鏈路,分別是:�
(1)Group-leader peer與Group-leader peer之間的通信;�
(2)ordinary peer與Group-leader peer之間的通信;�
(3)ordinary peer與ordinary peer之間的通信。�
三個通信鏈路上的信息都是不一樣的。因此,必須給三個通信鏈路都制定相應的通信協議。QPS不是多線程的,因此對每個通信套接字來說,都必須知道對方的套接字。這在實現上也存在一定的難度,這個是由開發工具而帶來的。最後一個難度是NAT穿透問題。為了解決不同區域網間的通信,這個問題的解決是必須的。由於開發硬體環境的限制,現版本的QPS本沒有考慮這個問題。也就是說,實現的版本是區域網內的。在此,需要指出的是,NAT的問題並沒有違背QPS的目的。首先,QPS只是當前的一個版本,以後可能會進一步完善;再者,在將來IPv6的推出就自然而然的解決了不同區域網內通信這一問題。�
2 實現過程�
針對上節的三個通信鏈路,必須要設計好三個通信協議。先看下QPS中需要傳輸的各種信息。如圖1:�
通信鏈路上的信息表示的意義如下:�
Download request:文件下載請求信息;�
File data:文件數據;�
Local share list:本地的共享信息列表,包括文件名,文件大小,下載次數等;�
Share list:Group-leader peer上的共享信息列表;�
Search message:文件搜索信息,包括文件名及搜索跳數;�
Search result:返回的搜索結果,包括文件名和文件所在IP;�
Other leader msg:其他leader peer上的信息,包括連接ordinary peer數目和文件數量等;�
Local share msg:和other leader msg一樣。�
(1) 數據結構定義。�
為了實現以上三個通信協議,首先規定了一些數據結構,以區別不同的通信信息。個種數據結構如下:�
#define FILEINFO 1//文件信息�
#define SHAREINFO 2//共享列表信息�
#define DOWNLOAD3//下載請求信息�
#define SEARCH4//文件搜索信息�
#define LEADERINFO 5//Group-leader peer信息�
#define FILEDATA6//文件數據�
#define MAX_SIZE (2048*10) //文件數據的大小�
typedef struct�
{�
int type;//表示是何種信息,下同�
ULONG size; //文件大小�
ULONG downloadTimes; //文件下載次數�
char name〔100〕; //文件名�
}FileMsg; //文件信息結構體�
typedef struct�
{�
int type;�
ULONG size;//文件大小�
ULONG downloadTimes;//文件下載次數�
char ip〔20〕;//文件所在IP�
char name〔100〕;//文件名�
}ShareMsg; //共享信息列表結構體�
typedef struct�
{�
int type;�
ULONG size; //文件大小�
ULONG seek;//文件數據塊在文件中的位置
char name〔100〕;//文件名�
}DownloadMsg;//下載請求結構體�
typedef struct�
{�
int type;�
ULONG tips; //文件搜索跳數�
char name〔100〕; //文件名�
}SearchMsg; //文件搜索結構體�
typedef struct�
{�
int type;�
ULONG connectedNumber;//連接數量�
ULONG fileNumber; //文件數目�
char ip〔20〕;//Group-leader peer的IP�
}LeaderMsg;//Group-leader peer信息結構體�
typedef struct�
{�
int type;�
ULONG seek;//文件數據塊在文件中的位置�
ULONG bytes; //buff中的實際位元組數�
ULONG size; //文件大小�
char name〔100〕;//文件名�
char buff〔MAX_SIZE〕;//文件數據�
}FileData;//文件數據結構體�
(2)信息傳輸函數的聲明。�
void uploadShareList(const FileMsg& file);//upload local share list to leader�
void download(const DownloadMsg& msg);//download file data�
void search(QString fileName, UINT tips);//search a file�
void downShareList();//download other peers' share list from leader�
void otherLeadersInfo();//get other leaders' info through the connected leader�
void searchBack();//seach result back, read it�
void uploadFile(int sock);//upload the file data that downloader requested�
void receiveList(int sock);//receive peer's share list�
void sendShareList(ComSocket* socket); //send share list to peer -> socket�
void sendOtherLeaderInfo(ComSocket* socket);//send other leaders' info to peer�
void sendLeaderInfo(ComSocket* socket);//send leader's info to some leader�
void search(int sock);//received search request from peer�
void remoteSearch(SearchMsg msg);//send search to logoned leader�
void leaderSearch(int sock);//received leader's search request�
void searchBack();// received search result from leader�
以上函數是根據上面的數據結構而聲明的。每個函數都有一個對應的數據結構。這些函數是整個系統的核心。�
設計了解決通信問題的數據結構和函數的聲明後,剩下需要做的便是具體編碼,將聲明的函數加以實現,最後測試其是否正確便真正意義上的解決了上面敘述的難點問題,也是核心問題。�
(3)用戶介面。�
QPS只給用戶提供了簡單的操作介面,但我相信這是足夠的。具體的用戶介面如下:�
連接選擇:讓用戶選擇想要連接的Group-leader peer。�
上傳數目設置:為了限制上傳量,保障用戶的系統資源(CPU,網路帶寬等)。�
搜索設置:讓用戶輸入文件名及搜索跳數。�
下載選擇:雙擊文件名即可下載該文件。�
共享目錄設置:讓用戶選擇想要共享的目錄�
下載目錄設置:讓用戶選擇下載文件放置的路徑�
除了上述用戶可以直接操作的介面外,還有些介面是用戶不可操作的。這些介面是用來顯示當前系統的運行情況。比如,下載顯示用來顯示當前正在下載的文件,包括下載速率,已下載文件的大小等;而下載完成列表顯示的則是系統自啟動以來下載的所有文件列表。對於許多的其他文件共享系統來說,它們都有豐富的介面,盡可能的讓用戶使用更簡便。QPS的設計和實現的主要目的是在原理和策略上挖掘網路資源,使得網路資源能夠盡可能的廣泛共享。因此,在界面上只做了基本的介面。�
(4)配置文件。�
為方便用戶的各項設置,QPS中也有許多的配置文件。這些配置文件在系統運行時會被自動的讀取,相應的變數會被賦值。用戶改變某個設置後,這項設置同樣會被寫入到配置文件中,並在下次運行時被讀取。這類配置文件典型的是下載目錄和共享目錄的設置。系統運行時,會找到當前共享目錄路徑,並獲取該目錄下文件信息。還有一類配置文件是可作為用戶輸入的文本文件。比如leaders.dat這個文件就是用來讓用戶輸入可以選擇連接的Group-leader peer IP的。記錄文件被下載次數的配置文件對用戶來說是不可更改的,這是為了防止用戶惡意修改此文件以獲得totalValue,達到少共享文件就可以下載大量文件的目的。�
文件共享系統QPS是在上面敘述的四點上一步一步加以實現的,其中也有考慮不全的地方,反反復復經過了幾次修改。在提供基本功能上,工作重點都放在協議的實現上。由於Qt開發平台沒有對網路程序提供豐富的介面,許多的介面不得不自己一步一步實現並測試正確性。在這點上,對QPS的實現確實用相當大的影響。當然,這帶來的好處是二次開發比較簡便,因為上層的介面都是已經實現了的,正確性很高。�
參考文獻�
〔1〕�陸正中,馬進德,石正貴等.JBuilder 9軟體開發項目實踐〔M〕.北京:清華大學出版社,2005:240-261.〔2〕�James F.Kurose,Keith W.Ross。計算機網路——自頂向下方法與Internet特色〔M〕.北京:高等教育出版社,2005:136-145.�
〔3〕�Robert Flenner等,Java P2P技術內幕〔M〕. 北京:電子工業出版社,2003:200-235.�
〔4〕�許斌. JXTA——Java P2P網路編程技術〔M〕. 北京:清華大學出版社,2003:1-256.�
〔5〕�Oaks,Traversat,Gong. JXTA技術手冊〔M〕. 北京:清華大學出版社,2004:23-78.