Bitcoin Forum
June 09, 2024, 10:01:41 PM
Welcome,
Guest
. Please
login
or
register
.
News
: Latest Bitcoin Core release:
27.0
[
Torrent
]
Home
Help
Search
Login
Register
More
Bitcoin Forum
>
Local
>
中文 (Chinese)
>
媒体
>
谈谈区块链(33):企业级区块链应用的公有链解决方案
Pages: [
1
]
« previous topic
next topic »
Print
Author
Topic: 谈谈区块链(33):企业级区块链应用的公有链解决方案 (Read 151 times)
guanzhipqoue910
(OP)
Member
Offline
Activity: 77
Merit: 10
⇾
谈谈区块链(33):企业级区块链应用的公有链解决方案
April 07, 2017, 08:37:29 PM
#1
说到区块链的企业级应用,大家首先想到是IBM主导的hyperledger fabric项目和有微软、intel、摩根等大企业参与的企业以太坊(Enterprise Ethererum)项目。
企业以太坊联盟刚刚成立,其产品发布还有待时日。hyperledger fabric 1.0 alpha则已经发布。我有幸参与了国内最早一批应用hyperledger进行企业级区块链的设计和开发。不幸的是,我觉得它不好,非常的不好。我们似乎走在了一条错误的道路上,fabric的设计者也似乎走在了一条错误的道路上。
Snip20170407_2
问题一:不区分应用系统和区块链系统
fabric的设计没有区分应用系统和区块链系统。fabric试图在引导大家将应用系统区块链化,将原先可简单解决的问题复杂化。例如一个供应链系统,我们称之为应用系统,它已经存在,在区块链技术被应用之前已经大规模存在。我们现在来改造它,或者重新设计,让其具有区块链的特性。fabric给我们的方案会引导我们将大部分业务逻辑放进chaincode,使得整个系统变成一个区块链系统。这是非常错误的,原因有三:
区块链的运行效率很低;
区块链的存储消耗高,查询效果很差(尽管fabric 1.0支持结构化查询,如:CouchDB,但相比传统的,如:mysql,其效率低一个数量级);
系统过于复杂,且没有必要。
问题二:endorsement的设计似是而非
fabric 1.0的endorsement policy的设计只在理论上工作,实际情况下运行效果很差。例如,一个供应链区块链系统涉及到3家企业,我们分别部署1个peer(同时是endorse peer和commit peer)在各自的机房(或云系统),我们的policy定义为必须同时获得这3个peer的endorsement。当一个交易发生时,我们的请求需要通过网络穿越公网进入各自的机房(或云系统),然后和各个peer进行交互,获取endorsement。而这其中的延迟非常不确定,可能很大,会导致各种交易失败的情况发生。
问题三:channel的设计让人又爱又恨
fabric 1.0中的channel设计似乎是一个很棒的功能,可以让不同企业间的商业隐私得到极大的保护。但是它却是不完整的,或者很难使用的。因为不同channel间不能交互,很多数据需要在多个不同的channel间共享,我们要么将冗余数据写入不同的channel,要么将系统设计成颗粒度很细,让不同的peer加入到多个channel中。无论何种方式都是在将简单问题复杂化。让系统变成更加复杂,和更加容易出错。
问题四:用docker执行chaincode设计粗糙
没有像以太坊里设计有EVM,而只是用docker来执行chaincode,其设计相当粗糙,而且会有很多运行过程中发生的问题。这点非常易于理解,不用多说。
以上说得都是fabric设计中的问题,那么如果用enteth会不会就没有问题了呢?很显然,我偏爱以太坊。企业级以太坊(enteth)会很大程度上解决以上的问题。但是并不全部,而且不能解决的是一个核心问题:我们为什么要用区块链?
区块链唯一的作用,是为了解决信任问题。提供一个防篡改、无抵赖、公开透明(这点在企业应用中不一定适用)的交易和商业环境。
在我们的供应链例子中涉及到三家企业A、B、C。不管是fabric的方案还是enteth的方案,只能在ABC之间保证数据一致性。但是现在A篡改了数据,BC因为手上有所有数据的副本,可以轻松地证明A的篡改行为。这时A请来了黑客,攻入了BC系统,将BC系统里的数据副本也一并篡改。攻入BC系统的难度远远小于劫持公有链中(如以太坊)51%的算力的难度。
实际上,在现实的商业环境中,很多系统都是由强一方提供,如A,帮助BC部署其区块链系统。在这样的环境中区块链的防篡改特性难以生效。
另外,基于fabric或enteth的区块链方案在部署和运行时也存在诸多问题。一般很难有多家企业共同开发一款区块链系统,通常由其中一家企业或者某个第三方软件公司提供。因为缺乏相应的知识,相关企业很容易被软件提供商留下后门,这点让区块链不可篡改的特性得不到安全的保障。
介于以上问题,笔者认为,基于共有链(如以太坊)的企业级应用解决方案将是未来的一个方向(至少是个必要的补充)!
设计思路:
将企业级区块链应用中,需要用到区块链的地方抽离出来,逻辑上分成应用系统和区块链系统,而用公有链(如以太坊)实现其区块链功能。
这样设计的优点有很多,如:
应用系统、区块链系统分离,最大程度复用原有系统的功能和特性;
利用公有区块链的网络安全强大、不可篡改等特性保证区块链功能;
设计简单、费用极低;
公有链解决企业问题,也将面临很多挑战,主要的挑战有如下几点:
挑战一:企业级应用的隐私问题
企业级应用涉及到商业、用户数据,系统需要大量的保密安全措施,不可公开泄漏到网络上,解决这一问题有2个可选方案:
加密,只将加密数据存在在公有网络上;
两级分离,只将头部信息,数据hash值存储在公有网络上,将真实数据存储在安全的企业环境中。
挑战二:公有链网络费用的问题
使用公有网络,如以太坊存储企业区块链,将面临着较高的网络费用,尤其涉及到大量存储时。解决的方案有2个:
只存储企业区块链的头部信息(类似于比特币的SPV),将区块内容放在非常便宜的企业数据环境中;
剪裁功能,对于历史无用数据可以实施备份存储和剪裁。
下面笔者给出两个方案建议:
方案一:基于以太坊的企业应用解决方案
在以太坊智能合约中维护企业区块链的头部信息; -〉网络安全、防篡改
企业区块链区块内容放在二级存储(安全的企业存储环境中);-〉企业信息隐私保护,省钱
对于历史头信息进行剪裁;-〉省钱
关联以太坊地址和企业身份;-〉不可抵赖
方案二:基于字节雪球(byteball)的企业应用解决方案
用字节雪球的存储功能,形成企业区块链;-〉网络安全、防篡改;
对于敏感信息加密存储,安全级别较高的放在二级存储;-〉隐私保护;
关联雪球地址和企业身份;-〉不可抵赖
雪球费用相对较低,存储空间大,未来将是以太坊方案的一个很好补充,也可和以太坊方案结合使用;
以上方案是笔者根据其经验和知识的总结和思考。我相信已经走在了绝大多数人的前面。也欢迎有兴趣的企业联系,尝试实现以上方案,以作为这块领域的实践探索!
Pages: [
1
]
Print
Bitcoin Forum
>
Local
>
中文 (Chinese)
>
媒体
>
谈谈区块链(33):企业级区块链应用的公有链解决方案
« previous topic
next topic »
Jump to:
Please select a destination:
-----------------------------
Bitcoin
-----------------------------
=> Bitcoin Discussion
===> Legal
===> Press
===> Meetups
===> Important Announcements
=> Development & Technical Discussion
===> Wallet software
=====> Electrum
=====> Bitcoin Wallet for Android
=====> BitcoinJ
=====> Armory
=====> Mycelium
=====> Hardware wallets
=> Mining
===> Mining support
===> Pools
===> Mining software (miners)
===> Hardware
=====> Group buys
===> Mining speculation
=> Bitcoin Technical Support
=> Project Development
-----------------------------
Economy
-----------------------------
=> Economics
===> Speculation
=> Marketplace
===> Goods
=====> Computer hardware
=====> Digital goods
=======> Invites & Accounts
=====> Collectibles
===> Services
===> Currency exchange
===> Gambling
=====> Games and rounds
=====> Investor-based games
=====> Gambling discussion
===> Lending
=====> Long-term offers
===> Securities
===> Auctions
===> Service Announcements
=====> Micro Earnings
===> Service Discussion
=====> Web Wallets
=====> Exchanges
=> Trading Discussion
===> Scam Accusations
===> Reputation
-----------------------------
Other
-----------------------------
=> Meta
===> New forum software
===> Bitcoin Wiki
=> Politics & Society
=> Beginners & Help
=> Off-topic
=> Serious discussion
===> Ivory Tower
=> Archival
===> Корзина
===> CPU/GPU Bitcoin mining hardware
===> Chinese students
===> Obsolete (buying)
===> Obsolete (selling)
===> MultiBit
-----------------------------
Alternate cryptocurrencies
-----------------------------
=> Altcoin Discussion
=> Announcements (Altcoins)
===> Tokens (Altcoins)
=> Mining (Altcoins)
===> Pools (Altcoins)
=> Marketplace (Altcoins)
===> Service Announcements (Altcoins)
===> Service Discussion (Altcoins)
===> Bounties (Altcoins)
=> Speculation (Altcoins)
-----------------------------
Local
-----------------------------
=> العربية (Arabic)
===> العملات البديلة (Altcoins)
=====> النقاشات
===> إستفسارات و أسئلة المبتدئين
===> التعدين
===> النقاشات الأخرى
===> منصات التبادل
=> Bahasa Indonesia (Indonesian)
===> Marketplace (Bahasa Indonesia)
===> Mining (Bahasa Indonesia)
===> Altcoins (Bahasa Indonesia)
===> Trading dan Spekulasi
===> Ekonomi, Politik, dan Budaya
===> Topik Lainnya
=> Español (Spanish)
===> Mercado y Economía
=====> Servicios
=====> Trading y especulación
===> Hardware y Minería
===> Esquina Libre
===> Mercadillo
=====> Mexico
=====> Argentina
=====> España
=====> Centroamerica y Caribe
===> Primeros pasos y ayuda
===> Altcoins (criptomonedas alternativas)
=====> Minería de altcoins
=====> Servicios
=====> Tokens (Español)
=> 中文 (Chinese)
===> 跳蚤市场
===> 山寨币
===> 媒体
===> 挖矿
===> 离题万里
=> Hrvatski (Croatian)
===> Trgovina
===> Altcoins (Hrvatski)
=====> Announcements (Hrvatski)
===> Off-topic (Hrvatski)
=> Deutsch (German)
===> Anfänger und Hilfe
===> Mining (Deutsch)
===> Trading und Spekulation
===> Projektentwicklung
===> Off-Topic (Deutsch)
===> Treffen
===> Presse
===> Altcoins (Deutsch)
=====> Announcements (Deutsch)
===> Marktplatz
=====> Auktionen
=====> Suche
=====> Biete
=> Ελληνικά (Greek)
===> Αγορά
===> Mining Discussion (Ελληνικά)
===> Altcoins (Ελληνικά)
=====> Altcoin Announcements (Ελληνικά)
=====> Altcoin Mining (Ελληνικά)
=> עברית (Hebrew)
=> Français
===> Actualité et News
===> Débutants
===> Discussions générales et utilisation du Bitcoin
===> Mining et Hardware
===> Économie et spéculation
===> Place de marché
=====> Échanges
=====> Produits et services
=====> Petites annonces
===> Le Bitcoin et la loi
===> Wiki, documentation et traduction
===> Développement et technique
===> Vos sites et projets
===> Hors-sujet
===> Altcoins (Français)
=====> Annonces
=> India
===> Mining (India)
===> Marketplace (India)
===> Regional Languages (India)
===> Press & News from India
===> Alt Coins (India)
===> Buyer/ Seller Reputations (India)
===> Off-Topic (India)
=> Italiano (Italian)
===> Guide (Italiano)
===> Progetti
===> Discussioni avanzate e sviluppo
===> Trading, analisi e speculazione
===> Mercato
=====> Mercato valute
=====> Beni
=====> Servizi
=====> Esercizi commerciali
=====> Hardware/Mining (Italiano)
=====> Gambling (Italiano)
===> Accuse scam/truffe
===> Mining (Italiano)
===> Alt-Currencies (Italiano)
=====> Annunci
===> Raduni/Meeting (Italiano)
===> Crittografia e decentralizzazione
===> Off-Topic (Italiano)
=> 日本語 (Japanese)
===> アルトコイン
=> Nederlands (Dutch)
===> Markt
===> Gokken/lotterijen
===> Mining (Nederlands)
===> Beurzen
===> Alt Coins (Nederlands)
===> Off-topic (Nederlands)
===> Meetings (Nederlands)
=> Nigeria (Naija)
===> Politics and society (Naija)
===> Off-topic (Naija)
=> 한국어 (Korean)
===> 대체코인 Alt Coins (한국어)
=> Pilipinas
===> Altcoins (Pilipinas)
=====> Altcoin Announcements (Pilipinas)
===> Pamilihan
===> Others (Pilipinas)
=> Polski
===> Tablica ogłoszeń
===> Alternatywne kryptowaluty
=====> Nowe kryptowaluty i tokeny
=====> Tablica ogłoszeń (altcoiny)
=> Português (Portuguese)
===> Primeiros Passos (Iniciantes)
===> Economia & Mercado
===> Mineração em Geral
===> Desenvolvimento & Discussões Técnicas
===> Criptomoedas Alternativas
===> Brasil
===> Portugal
=> Русский (Russian)
===> Новички
===> Бизнес
=====> Барахолка
=====> Обменники
===> Идеи
===> Кодеры
===> Майнеры
===> Политика
===> Трейдеры
===> Альтернативные криптовалюты
=====> Токены
=====> Бayнти и aиpдpoпы
===> Хайпы
===> Работа
===> Разное
===> Oбcyждeниe Bitcoin
=====> Новости
=====> Юристы
=> Română (Romanian)
===> Anunturi importante
===> Offtopic
===> Market
=====> Discutii Servicii
===> Minerit
===> Tutoriale
===> Bine ai venit!
===> Presa
===> Altcoins (Monede Alternative)
=====> Anunturi Monede Alternative
=> Skandinavisk
=> Türkçe (Turkish)
===> Bitcoin Haberleri
===> Pazar Alanı
===> Madencilik
===> Ekonomi
===> Servisler
=====> Fonlar
===> Proje Geliştirme
===> Alternatif Kripto-Paralar
=====> Madencilik (Alternatif Kripto-Paralar)
=====> Duyurular (Alternatif Kripto-Paralar)
===> Konu Dışı
===> Yeni Başlayanlar & Yardım
===> Buluşmalar
=> Other languages/locations
Loading...